---
updatedAt: 2025-05-21T09:37:30.000Z
agentTools:
  projectIndex: https://toursolver.readme.io/llms.txt
---

# Add orders to operational planning

This service will NOT trigger message (email/sms) sending

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "servers": [
    {
      "url": "https://api.geoconcept.com/tsapi",
      "description": "Production",
      "variables": {}
    }
  ],
  "info": {
    "contact": {
      "email": "support@nomadia-group.com",
      "name": "Nomadia Group",
      "url": "https://www.nomadia-group.com/contact/"
    },
    "description": "Web APIs for TourSolver.",
    "title": "TourSolver API",
    "version": "2.0"
  },
  "tags": [
    {
      "description": "Publish routes on the mobile app, add visits, follow the fulfillment, etc",
      "name": "Fulfillment"
    }
  ],
  "paths": {
    "/addOrdersToOperationalPlanning": {
      "post": {
        "description": "This service will NOT trigger message (email/sms) sending",
        "operationId": "addOrdersToOperationalPlanning",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOperationalOrdersRequest"
              }
            },
            "application/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddOperationalOrdersRequest"
              }
            },
            "text/xml": {
              "schema": {
                "$ref": "#/components/schemas/AddOperationalOrdersRequest"
              }
            }
          }
        },
        "responses": {
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AddOperationalOrdersResult"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AddOperationalOrdersResult"
                }
              },
              "text/xml": {
                "schema": {
                  "$ref": "#/components/schemas/AddOperationalOrdersResult"
                }
              }
            },
            "description": "ToursolverServiceResult with success or error message"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "servers": [
          {
            "description": "Production",
            "url": "https://api.geoconcept.com/tsapi",
            "variables": {}
          }
        ],
        "summary": "Add orders to operational planning",
        "tags": [
          "Fulfillment"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AddOperationalOrdersRequest": {
        "type": "object",
        "description": "list of orders to be added",
        "properties": {
          "orders": {
            "type": "array",
            "description": "List of orders",
            "items": {
              "$ref": "#/components/schemas/OperationalOrder"
            }
          }
        }
      },
      "AddOperationalOrdersResult": {
        "type": "object",
        "properties": {
          "errCode": {
            "type": "string",
            "description": "Error code",
            "enum": [
              "0",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "10",
              "11",
              "12",
              "13",
              "14",
              "100",
              "101",
              "102",
              "103",
              "104",
              "105",
              "106",
              "107",
              "108",
              "109",
              "110",
              "111",
              "112",
              "113",
              "114",
              "115",
              "116",
              "200",
              "201",
              "300",
              "301",
              "400",
              "401",
              "500",
              "501",
              "502",
              "600",
              "601",
              "602",
              "603",
              "604",
              "1000",
              "1001",
              "1002",
              "1003",
              "1004",
              "1006",
              "1007",
              "1008",
              "2000",
              "2001",
              "2002",
              "2003",
              "2004",
              "2005",
              "2006",
              "2007",
              "2008",
              "2009",
              "2010",
              "2011",
              "2021",
              "2022",
              "2023",
              "2024",
              "2025",
              "2026",
              "2027",
              "2028",
              "2029",
              "2030",
              "2031",
              "3000",
              "3001",
              "3002",
              "4000",
              "4001",
              "4002",
              "5000",
              "5001",
              "5002",
              "5003",
              "6000"
            ]
          },
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OperationalOrder"
            }
          },
          "status": {
            "type": "string",
            "description": "OK or ERROR",
            "enum": [
              "OK",
              "ERROR"
            ]
          }
        }
      },
      "Data": {
        "type": "object",
        "properties": {
          "dataItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DataItem"
            },
            "xml": {
              "name": "DataItem"
            }
          },
          "detailSet": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetailSet"
            },
            "xml": {
              "name": "DetailSet"
            }
          }
        }
      },
      "DataItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "xml": {
              "name": "Id"
            }
          },
          "label": {
            "type": "string",
            "xml": {
              "name": "Label"
            }
          },
          "name": {
            "type": "string",
            "xml": {
              "name": "Name"
            }
          },
          "onCancelHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnCancelHandling"
            }
          },
          "onCreateHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnCreateHandling"
            }
          },
          "onEndHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnEndHandling"
            }
          },
          "onPlanningHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnPlanningHandling"
            }
          },
          "onRejectHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnRejectHandling"
            }
          },
          "onStartHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "OnStartHandling"
            }
          },
          "possibleValues": {
            "$ref": "#/components/schemas/PossibleValues"
          },
          "standardHandling": {
            "type": "string",
            "default": "writable",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "StandardHandling"
            }
          },
          "taskTypes": {
            "$ref": "#/components/schemas/TaskTypes"
          },
          "type": {
            "type": "string",
            "enum": [
              "string",
              "multiLine",
              "number",
              "date",
              "checkBox",
              "url"
            ],
            "xml": {
              "name": "Type"
            }
          },
          "value": {
            "type": "string",
            "xml": {
              "name": "Value"
            }
          }
        },
        "required": [
          "id",
          "label",
          "type"
        ]
      },
      "DetailSet": {
        "type": "object",
        "properties": {
          "displayMode": {
            "type": "string",
            "default": "application",
            "enum": [
              "none",
              "table",
              "form",
              "all",
              "application"
            ],
            "xml": {
              "name": "DisplayMode"
            }
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetailSetField"
            },
            "xml": {
              "name": "Fields"
            }
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DetailSetItem"
            },
            "xml": {
              "name": "Items"
            }
          },
          "kind": {
            "type": "string",
            "xml": {
              "name": "Kind"
            }
          },
          "title": {
            "type": "string",
            "xml": {
              "name": "Title"
            }
          }
        },
        "required": [
          "kind",
          "title"
        ]
      },
      "DetailSetField": {
        "type": "object",
        "properties": {
          "access": {
            "type": "string",
            "enum": [
              "writable",
              "readonly",
              "mandatory",
              "unvisible"
            ],
            "xml": {
              "name": "Access"
            }
          },
          "datatype": {
            "type": "string",
            "enum": [
              "filler",
              "quantity",
              "date",
              "logical",
              "url"
            ],
            "xml": {
              "name": "Datatype"
            }
          },
          "id": {
            "type": "string",
            "xml": {
              "name": "Id"
            }
          },
          "kind": {
            "type": "string",
            "xml": {
              "name": "Kind"
            }
          },
          "label": {
            "type": "string",
            "xml": {
              "name": "Label"
            }
          },
          "name": {
            "type": "string",
            "xml": {
              "name": "Name"
            }
          },
          "possibleValues": {
            "$ref": "#/components/schemas/PossibleValues"
          }
        },
        "required": [
          "datatype",
          "label",
          "name"
        ]
      },
      "DetailSetItem": {
        "type": "object",
        "properties": {
          "deleteAction": {
            "type": "boolean",
            "default": false,
            "xml": {
              "name": "DeleteAction"
            }
          },
          "id": {
            "type": "string",
            "xml": {
              "name": "Id"
            }
          },
          "isActive": {
            "type": "boolean",
            "xml": {
              "name": "IsActive"
            }
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string",
              "xml": {
                "name": "Values"
              }
            },
            "xml": {
              "name": "Values"
            }
          }
        },
        "required": [
          "id"
        ]
      },
      "GeocodeInfos": {
        "type": "object",
        "description": "Address and position info",
        "properties": {
          "address": {
            "type": "string"
          },
          "addressComplement": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "geocodeAddressLine": {
            "type": "string"
          },
          "geocodeCity": {
            "type": "string"
          },
          "geocodePostalCode": {
            "type": "string"
          },
          "geocodeType": {
            "type": "integer",
            "format": "int32"
          },
          "postcode": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "score": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "ImminentOperationalOrderData": {
        "type": "object",
        "description": "Customer satisfaction data",
        "properties": {
          "satisfaction": {
            "$ref": "#/components/schemas/ImminentOrderSatisfaction"
          }
        }
      },
      "ImminentOrderSatisfaction": {
        "type": "object",
        "properties": {
          "comment": {
            "type": "string"
          },
          "rating": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "OperationalOrder": {
        "type": "object",
        "properties": {
          "achievementComment": {
            "type": "string",
            "description": "Achievement comment"
          },
          "achievementEnd": {
            "type": "string",
            "format": "date-time",
            "description": "Achievement end date and time"
          },
          "achievementEndLat": {
            "type": "number",
            "format": "double",
            "description": "Achievement end latitude"
          },
          "achievementEndLon": {
            "type": "number",
            "format": "double",
            "description": "Achievement end longitude"
          },
          "achievementStart": {
            "type": "string",
            "format": "date-time",
            "description": "Achievement start date and time"
          },
          "achievementStartLat": {
            "type": "number",
            "format": "double",
            "description": "Achievement start latitude"
          },
          "achievementStartLon": {
            "type": "number",
            "format": "double",
            "description": "Achievement start longitude"
          },
          "appointmentChanged": {
            "type": "boolean",
            "description": "True if customer requested a Time window change after slot notification or visit canceling"
          },
          "appointmentFixed": {
            "type": "boolean",
            "description": "True if order has been rescheduled manually in fulfillment tab in UI"
          },
          "averageFuelConsumption": {
            "type": "number",
            "format": "double"
          },
          "canceledByCustomer": {
            "type": "boolean",
            "description": "True if order has been canceled by customer (requesting a new time slot)"
          },
          "canceledByUser": {
            "type": "boolean",
            "description": "True if order has been canceled or refused by user through the mobile app"
          },
          "customerId": {
            "type": "string",
            "description": "Customer id (if using customer tab in UI)"
          },
          "data": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "fulfillment report data"
            },
            "description": "fulfillment report data"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Planning day"
          },
          "distance": {
            "type": "number",
            "format": "double",
            "description": "Distance from previous stop"
          },
          "documentUrls": {
            "type": "array",
            "description": "List of documents urls",
            "items": {
              "type": "string",
              "xml": {
                "name": "docRef"
              }
            }
          },
          "end": {
            "type": "string",
            "format": "date-time",
            "description": "Planned end date and time"
          },
          "etaOrderData": {
            "$ref": "#/components/schemas/ImminentOperationalOrderData"
          },
          "etaOrderId": {
            "type": "string"
          },
          "followUpShortLink": {
            "type": "string"
          },
          "fuelType": {
            "type": "string"
          },
          "geocode": {
            "$ref": "#/components/schemas/GeocodeInfos"
          },
          "globalScanItemsStatus": {
            "type": "string",
            "description": "Global scan status",
            "enum": [
              "PickupFromDepot",
              "PartiallyPickupFromDepot",
              "DeliveryToCustomer",
              "PartiallyDeliveryToCustomer",
              "DeliveryToColleague",
              "MissingInDepot",
              "ReturnedToDepot"
            ]
          },
          "groupingId": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "xml": {
              "attribute": true
            }
          },
          "invoiceSent": {
            "type": "boolean",
            "description": "True if invoice has been sent"
          },
          "isLate": {
            "type": "boolean"
          },
          "lastSynchroStatusChange": {
            "type": "string",
            "format": "date-time",
            "description": "Stamp of last change from mobile app"
          },
          "lat": {
            "type": "number",
            "format": "double",
            "description": "Latitude"
          },
          "lateNotificationTimeout": {
            "type": "integer",
            "format": "int32"
          },
          "lateStart": {
            "type": "string",
            "format": "date-time"
          },
          "lon": {
            "type": "number",
            "format": "double",
            "description": "Longitude"
          },
          "missionId": {
            "type": "string"
          },
          "numberOfDeliveredItems": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of delivered items"
          },
          "oTPPolicy": {
            "type": "string",
            "enum": [
              "NONE",
              "PINCODE",
              "BARCODE",
              "QRCODE",
              "NFC"
            ]
          },
          "oTPValue": {
            "type": "string"
          },
          "operationalResourceId": {
            "type": "string",
            "description": "Mobile resource identifier (mobile app login)"
          },
          "order": {
            "$ref": "#/components/schemas/TSOrder"
          },
          "organization": {
            "type": "string",
            "description": "Organization id"
          },
          "otppolicy": {
            "type": "string",
            "enum": [
              "NONE",
              "PINCODE",
              "BARCODE",
              "QRCODE",
              "NFC"
            ]
          },
          "otpvalue": {
            "type": "string"
          },
          "pictures": {
            "type": "array",
            "description": "List of picture relative urls. \n\nUrl root for pictures is .../api/rest/otmobile/pictures/",
            "items": {
              "type": "string",
              "description": "List of picture relative urls. \n\nUrl root for pictures is .../api/rest/otmobile/pictures/"
            }
          },
          "plannedOrder": {
            "$ref": "#/components/schemas/TSPlanned"
          },
          "report": {
            "$ref": "#/components/schemas/Data"
          },
          "rescheduleCount": {
            "type": "integer",
            "format": "int32",
            "description": "Number of rescheduling"
          },
          "rescheduled": {
            "type": "boolean",
            "description": "True if order has been rescheduled and shared"
          },
          "rescheduledInSimulation": {
            "type": "string",
            "description": "For canceled orders : id of the simulation if it have been re-integrated"
          },
          "routeId": {
            "type": "string"
          },
          "scanItems": {
            "type": "array",
            "description": "Scan informations",
            "items": {
              "$ref": "#/components/schemas/ScanItemAchievement"
            }
          },
          "senderBarcode": {
            "type": "string"
          },
          "signaturePicture": {
            "type": "string",
            "description": "Signature, as a picture relative URL (a flavor of the reference\n'signatureSvg')\n\nIs bound and synced from the 'signaturesSvg' field. Is a relative URL, as\nalso done for the 'pictures' field (see its documentation for details)."
          },
          "signatureSvg": {
            "type": "string",
            "description": "Customer signature svg"
          },
          "signerName": {
            "type": "string",
            "description": "Name of the person who signed on behalf of the customer"
          },
          "simulationDayId": {
            "type": "string",
            "description": "Day containing this order in the simulation used to fill the fulfillment\nplanning"
          },
          "simulationId": {
            "type": "string",
            "description": "identifier of the simulation used to fill the fulfillment planning"
          },
          "start": {
            "type": "string",
            "format": "date-time",
            "description": "Planned start date and time"
          },
          "status": {
            "type": "string",
            "description": "fulfillment status",
            "enum": [
              "CANDIDATE",
              "FIXED",
              "ACCEPTED",
              "REFUSED",
              "REFUSED_BY_CUSTOMER",
              "STARTED",
              "FINISHED",
              "CANCELLED",
              "PAUSED",
              "RESUMED",
              "UNKNOWN",
              "TO_BE_PLANNED"
            ]
          },
          "synchroStatus": {
            "type": "string",
            "description": "Mobile app sync status",
            "enum": [
              "PUBLISHED",
              "SENT",
              "UPDATED",
              "UNKNOWN"
            ]
          },
          "timeWindowEnd": {
            "type": "string",
            "format": "date-time",
            "description": "End of time window communicated to customer"
          },
          "timeWindowStart": {
            "type": "string",
            "format": "date-time",
            "description": "Start of time window communicated to customer"
          },
          "timeZone": {
            "type": "string"
          },
          "tourProgressNotificationSent": {
            "type": "boolean",
            "description": "True is tour progress notification has been sent to customer"
          },
          "type": {
            "type": "string",
            "description": "Event type",
            "enum": [
              "MISSION",
              "RESTBREAK",
              "LUNCHBREAK",
              "WAITBREAK",
              "RELOADBREAK",
              "START",
              "END",
              "ENDBEFORENIGHT",
              "STARTAFTERNIGHT",
              "BRIEFING",
              "DEBRIEFING",
              "WAYPOINT",
              "UNKNOWN"
            ]
          },
          "vehicleType": {
            "type": "string"
          },
          "weatherPrecipitationDesc": {
            "type": "string"
          },
          "weatherPrecipitationProbability": {
            "type": "number",
            "format": "double"
          },
          "weatherRainFall": {
            "type": "number",
            "format": "double"
          },
          "weatherSkyDescription": {
            "type": "string"
          },
          "weatherSnowCover": {
            "type": "number",
            "format": "double"
          },
          "weatherSnowFall": {
            "type": "number",
            "format": "double"
          },
          "weatherTemperature": {
            "type": "number",
            "format": "double"
          },
          "weatherVisibility": {
            "type": "number",
            "format": "double"
          },
          "weatherWindSpeed": {
            "type": "number",
            "format": "double"
          },
          "wishedEnd": {
            "type": "string",
            "format": "date-time",
            "description": "End of time window requested by customer after slot notification or visit canceling"
          },
          "wishedStart": {
            "type": "string",
            "format": "date-time",
            "description": "Start of time window requested by customer after slot notification or visit canceling"
          },
          "workerSignaturePicture": {
            "type": "string",
            "description": "Worker signature picture path"
          },
          "workerSignatureSvg": {
            "type": "string",
            "description": "Worker signature svg"
          }
        }
      },
      "PossibleValues": {
        "type": "object",
        "properties": {
          "value": {
            "type": "array",
            "items": {
              "type": "string",
              "xml": {
                "name": "Value"
              }
            },
            "xml": {
              "name": "Value"
            }
          }
        },
        "required": [
          "value"
        ]
      },
      "ScanItem": {
        "type": "object",
        "description": "A scan item holds the information to enable the scanning feature of the mobile app.",
        "properties": {
          "description": {
            "type": "string",
            "description": "A longer description.\n\n**Example : ** \"Washing machine\""
          },
          "id": {
            "type": "string",
            "description": "The barcode number. Must be unique whithin the route.\n\n**Example : ** 123456"
          },
          "order": {
            "type": "string",
            "description": "A short label.\n\n**Example : ** \"Parcel 1\""
          }
        }
      },
      "ScanItemAchievement": {
        "type": "object",
        "description": "Scan informations",
        "properties": {
          "comment": {
            "type": "string"
          },
          "datetimeDeliveryToColleague": {
            "type": "string",
            "format": "date-time"
          },
          "datetimeDeliveryToCustomer": {
            "type": "string",
            "format": "date-time"
          },
          "datetimeDeliveryToDepot": {
            "type": "string",
            "format": "date-time"
          },
          "datetimePickupFromColleague": {
            "type": "string",
            "format": "date-time"
          },
          "datetimePickupFromCustomer": {
            "type": "string",
            "format": "date-time"
          },
          "datetimePickupFromDepot": {
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "type": "string",
            "description": "A longer description.\n\n**Example : ** \"Washing machine\""
          },
          "id": {
            "type": "string",
            "description": "The barcode number. Must be unique whithin the route.\n\n**Example : ** 123456"
          },
          "latitudeDeliveryToColleague": {
            "type": "number",
            "format": "double"
          },
          "latitudeDeliveryToCustomer": {
            "type": "number",
            "format": "double"
          },
          "latitudeDeliveryToDepot": {
            "type": "number",
            "format": "double"
          },
          "latitudePickupFromColleague": {
            "type": "number",
            "format": "double"
          },
          "latitudePickupFromCustomer": {
            "type": "number",
            "format": "double"
          },
          "latitudePickupFromDepot": {
            "type": "number",
            "format": "double"
          },
          "longitudeDeliveryToColleague": {
            "type": "number",
            "format": "double"
          },
          "longitudeDeliveryToCustomer": {
            "type": "number",
            "format": "double"
          },
          "longitudeDeliveryToDepot": {
            "type": "number",
            "format": "double"
          },
          "longitudePickupFromColleague": {
            "type": "number",
            "format": "double"
          },
          "longitudePickupFromCustomer": {
            "type": "number",
            "format": "double"
          },
          "longitudePickupFromDepot": {
            "type": "number",
            "format": "double"
          },
          "order": {
            "type": "string",
            "description": "A short label.\n\n**Example : ** \"Parcel 1\""
          },
          "pictures": {
            "type": "array",
            "items": {
              "type": "string",
              "xml": {
                "name": "Values"
              }
            }
          },
          "status": {
            "type": "string",
            "enum": [
              "PickupFromDepot",
              "DeliveryToCustomer",
              "PickupFromCustomer",
              "PickupFromColleague",
              "DeliveryToDepot",
              "DeliveryToColleague",
              "MissingInDepot",
              "MissingParcel"
            ]
          }
        }
      },
      "TSEvaluationInfos": {
        "type": "object",
        "description": "Info used to evaluate the routes built manually or with another tool. It allows to assign the visits to resources and days, and to give the order of the visits in routes.",
        "properties": {
          "orderOriginalResourceId": {
            "type": "string",
            "description": "The identity of the resource which visits the customer when evaluating an\nexisting planning.\n* Use this constraint when you want to 'evaluate' an existing planning.\n* Use the orderOriginalVisitDay constraint to specify the working day\nwhen the visit must be planned.\n* Use the orderPosition constraint to specify the position of a visit\nin the tour.\n\n**Type:** string (storing a unique resource tag).\n\n**Default:** not used."
          },
          "orderOriginalVisitDay": {
            "type": "string",
            "description": "Indicates the work day when the resource which visits the customer when\nevaluating an existing planning.\n* Use this constraint when you want to 'evaluate' an existing planning.\n* Use the orderOriginalResourceID to specify the resource which visits\nthe customer.\n* Use the orderPosition to specify the position of a visit in the\ntour.\n\n**Type:** integer between 1 and 64 or string representing a date.\n1 is the first day of the planning period, the corresponding date, if\nany, is defined by the oldest date, for all resources, in the\ntsResourceWorkDays constraint. If the original visit day is in the date\nformat, this date cannot precede the first day of the planning period\ndefined by the resources (which is day 1).\n\n**Default:** not used if the tsOrderOriginalResourceID is not used, 1 otherwise."
          },
          "orderPosition": {
            "type": "integer",
            "format": "int32",
            "description": "The position of a customer in a resource tour.\nUse this constraint when you want to evaluate a tour.\n\n**Type:** integer.\n\n**Default:** not used."
          }
        }
      },
      "TSOrder": {
        "type": "object",
        "description": "The Order object stores order data.\n\r\nOrder is composed of X,Y coordinates, identity tags, a set of constraints and status reports.\n\r\nUse the Orders object to specify your orders data. These elements can be considered as\r\ndeliveries, pick-ups or commercial visits occuring at specific locations.\n\r\nThe optimization process consists in assigning Orders elements to Resources elements in a\r\nway that respects the constraints of every element and minimizes the total cost of the planning.",
        "properties": {
          "active": {
            "type": "boolean",
            "default": true,
            "description": "Indicates whether the order should be scheduled or not.\r\n**Default:** True."
          },
          "allSkillsRequired": {
            "type": "boolean",
            "default": true,
            "description": "Indicates whether a resource must provide all required skills or one at least.\n\r\n* Set it to True to indicate that a resource must provide all the customer required skills.\n\r\n* Set it to False to indicate that a resource must provide at least one of the customer\r\nrequired skills.\n\r\n**Default:** True."
          },
          "allowedDepots": {
            "type": "string",
            "description": "The list of depots where orders collected products can be dropped (standard\r\nsolver only, with advanced setting \"HealthDelivery=true\").\r\nThis constraint is linked with tsOrder maxDurationBeforeDepotDrop constraint:\r\nif a return to depot is enabled on an order, it will be done only at one\r\nof the specified depots.\r\n**Type:** string as a list of depot ids separated with commas.\r\n**Default:** not used.\r\n**Example:** \"DEPOT_PARIS,DEPOT_ORLEANS\"."
          },
          "assignCosts": {
            "type": "array",
            "description": "The assignment cost of the resources that can deliver a customer (standard solver only).\n\r\nUse this constraint in conjunction with assignResources if you want to set preferences between the resources.\r\nIf you set assignResources=['R1','R2'] and assignCosts=[10,100], it is very likely that the order will be assigned\r\nto the resource R1 which has a lower assignment cost.\n\r\nIf you specified several resources in assignResources, you must specify the same number of costs (or none).\n\r\n**Type:** int array containing cost values.\n\r\n**Default:** not used.",
            "items": {
              "type": "integer",
              "format": "int32",
              "xml": {
                "name": "cost"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "assignResources": {
            "type": "array",
            "description": "The identities of the resources that can deliver a customer.\n\r\nUse this constraint when you want some customers to be delivered by specific resources.\n\r\n**Type:** string array containing resources tag ID\n\r\n**Default:** not used.",
            "items": {
              "type": "string",
              "xml": {
                "name": "resource"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "courierPenalty": {
            "type": "number",
            "format": "double",
            "description": "The cost of the order delivered by an independent transport device.\n\r\nUse this constraint when an order can be delivered independently to specify the cost of the device.\r\nThe solver engine will assign it to a courier device or integrate it in a tour according to the least cost.\n\r\n**Type:** float.\n\r\n**Default:** not used."
          },
          "customDataMap": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "Private feature data.\n\r\nUse this feature when you need to keep accessible private data about customers. For instance if you\r\nneed to export the address of an element in a planning report, store it there. These informations\r\ncan also be exported to the mobile app.\n\r\nmax 50 fields\n\r\n**Default:** empty."
            },
            "description": "Private feature data.\n\r\nUse this feature when you need to keep accessible private data about customers. For instance if you\r\nneed to export the address of an element in a planning report, store it there. These informations\r\ncan also be exported to the mobile app.\n\r\nmax 50 fields\n\r\n**Default:** empty."
          },
          "customerId": {
            "type": "string"
          },
          "delayPenaltyPerHour": {
            "type": "number",
            "format": "double",
            "description": "The penalty per hour for being late at a customer.\n\r\nUse this constraint to allow a smarter control, with respect to time windows, than with the use\r\nof the tsOrderPunctuality constraint.\n\r\n**Type:** float.\n\r\n**Default:** not used."
          },
          "documentReferences": {
            "type": "array",
            "description": "List of document references to be attached in mobile app.\r\nThose documents must have been uploaded in the document library, in the configuration tab of the back office UI.",
            "items": {
              "type": "string",
              "xml": {
                "name": "docRef"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "email": {
            "type": "string"
          },
          "evaluationInfos": {
            "$ref": "#/components/schemas/TSEvaluationInfos"
          },
          "excludeResources": {
            "type": "array",
            "description": "The identities of the resources which must not deliver a customer.\n\r\nUse this constraint when you want to prevent some customers from being delivered by specific resources.",
            "items": {
              "type": "string",
              "xml": {
                "name": "resource"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "fixedVisitDuration": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "frequency": {
            "type": "string",
            "description": "The visit occurrence within a defined period.\n\r\nUse this constraint to plan multiple visits at a customer during a period.\n\r\n**Type:** string value describing the number of visits over a period.\n\r\n**Default:** not used.\n\r\n**Example:**\n\r\nFrequency = \"3/5\" means a customer must be visited 3 times within a 5-days long period.\r\nThe solver engine will create and optimize routes respecting an optimal duration between\r\nconsecutive visits. Thus, back to the example, the computed period is 5/3 rounded = 2.\r\nThe best solution will respect, as far as possible, a 2-days long period between each visit\r\n(ex: day1, day3, day5 is a good solution)."
          },
          "getNotifications": {
            "type": "boolean",
            "default": true,
            "description": "True if a visit can receive notification email/sms."
          },
          "id": {
            "type": "string",
            "description": "The unique identifier of the order."
          },
          "invoiceId": {
            "type": "string",
            "description": "invoice identifier"
          },
          "label": {
            "type": "string"
          },
          "maxDelayTime": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "maxDurationBeforeDepotDrop": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "minDuration": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "minPartDuration": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "phone": {
            "type": "string"
          },
          "possibleVisitDays": {
            "type": "array",
            "description": "The possible visit days related to each visit time window.\r\nUse this constraint to specify the possible visit days of a customer\r\nreferring to a visit time window. It must be related to the\r\ntsResourceWorkDays constraint of the resources, as resources work days\r\ndefine the planning period. You can plan visits on a 64-days-long period\r\nmax.\r\n**Type:** array of string values containing visit days separated with\r\ncommas (like \"1, 2, 5\" or \"4, 20/05/2010\") or intervals (like \"1-10\",\r\n\"2=>5\" or \"22/05/2010=>03/06/2010\"). For day intervals, prefer the \"=>\"\r\nseparator. Be careful, if the separator of date is - then \"1-5\"\r\ncorresponds to May the 1st of the current year. 1 is the first day of the\r\nplanning period, the corresponding date, if any, is defined by the oldest\r\ndate, for all resources, in the tsResourceWorkDays constraint. No date in\r\nthe possible visit days description can precede the first day of the\r\nplanning period defined by the resources (which is day 1). Default:\r\n1=>64.\r\nYou can set up to 10 sets of visit days in this array. If you define\r\nseveral time windows, each time window will apply to corresponding set of\r\npossible days: first time window applies to first possible days set,\r\nsecond time window applies to second possible days set, etc.\r\n**Example:**\r\n- Set it to \"1\" (or \"14/05/2010\") when a customer must be visited on the\r\nfirst day of the planning period.\r\n- Set it to \"1, 2, 4, 5\" (or\r\n\"14/05/2010,15/05/2010,17/05/2010,18/05/2010\") if the customer cannot be\r\nvisited on the third day of a five days planning period.\r\n- Set it to \"1=>5\" (or \"14/05/2010=>18/05/2010\") to define a 5-days long\r\nperiod during which the customer can be visited.",
            "items": {
              "type": "string",
              "xml": {
                "name": "docRef"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "providedProducts": {
            "type": "string",
            "description": "The list of products collected during this order (standard solver only, with\r\nadvanced setting \"HealthDelivery=true\").\r\nThis constraint is linked with tsDepot supportedProducts constraint and\r\ntsOrder maxDurationBeforeDepotDrop constraint: an order collecting products\r\nand requiring a return to depot will be planned only if a depot supporting\r\nthose products is available, and the return will be done only to a depot\r\nsupporting those products.\r\n**Type:** string as a list of products separated with commas.\r\n**Default:** not used.\r\n**Example:** Specify \"blood\" in the order picked blood sample."
          },
          "punctuality": {
            "type": "integer",
            "format": "int32",
            "description": "The priority for a customer to be delivered on time.\r\nWith the standard engine, use maxDelaytime and delayPenaltyPerHour instead.\n\r\nUse this constraint to introduce different priority levels for the respect of visit time windows\r\n(when defined). Specify a value from 1 to 5 to set the priority: customers with a punctuality set to 5\r\nwill have less risk of delayed deliveries than a customer with a punctuality set to 1. You can specify\r\nmore precisely punctuality requirements to enforce delay control by using the tsOrderDelayPenaltyPerHour\r\nconstraint instead of the tsOrderPunctuality constraint.\n\r\n**Type:** integer value from 1 to 5.\n\r\n**Default:** 1."
          },
          "quantities": {
            "type": "array",
            "description": "The requested product quantities for an order.\r\nUse this constraint to specify the product quantities ordered by a\r\ncustomer, for instance. Up to 24 quantities can be used to order\r\ndifferent products. Useless when planning commercial tours.\r\n**Type:** float array (maximum of 3 significant digits after decimal\r\nseparator).\r\n**Default:** 0 **Max:** 2,147,483.\r\n**Example:**\r\n* Use this constraint to store the number of ordered packages, when\r\nworking with packages.\r\n* Use this constraint to store the number of ordered liters, when working\r\nwith liquids.\r\n* Use multiple dimensions when working with multiple products: when\r\ndelivering fuels for instance, you will use as many dimensions as types\r\nof fuels.\r\nWarning: The quantity constraint of the *Orders* elements must be\r\nrelated to the corresponding capacity constraint of the *Resources*\r\nelements: thus, an order will not be planned whenever no resource with\r\nthe related capacity has been defined.",
            "items": {
              "type": "number",
              "format": "double",
              "xml": {
                "name": "quantity"
              }
            },
            "maxItems": 1000,
            "minItems": 0,
            "xml": {
              "wrapped": true
            }
          },
          "requiredSkills": {
            "type": "array",
            "description": "The list of the skills a customer requires to be visited.\r\nUse this constraint when an order must be affected to a specific kind of\r\nresource: these resources will have to provide the required skills to be\r\nable to visit the customer.\r\n**Type:** string array.\r\n**Default:** none.\r\n**Example:**\r\n* Specify the word \"Maintenance\" as a required skill for a maintenance\r\nvisit. Only the resources providing the \"Maintenance\" skill can perform\r\nthe visit.\r\n* Specify \"Small vehicle\" as a required skill for a customer living down town.",
            "items": {
              "type": "string",
              "xml": {
                "name": "requiredSkill"
              }
            },
            "xml": {
              "wrapped": true
            }
          },
          "resourceCompatibility": {
            "type": "number",
            "format": "double",
            "description": "Value for compatibility with resources.\r\nIf the order has a compatibility constraint value, a resource is\r\ncompatible with the order if its compatibility value is either\r\nnon-existent either larger or equal to the order's one. See\r\ntsResourceOrderCompatibility.\n\r\n**Example:**\r\n* Set tsOrderResourceCompatibility to 254.18 and\r\ntsResourceOrderCompatibility to 260.12: order and resource are compatible.\r\n* Set tsOrderResourceCompatibility to 254.18 and\r\ntsResourceOrderCompatibility to 200: the order can not be affected to the\r\nresource.\r\n* Set tsOrderResourceCompatibility to 254.18 and\r\ntsResourceOrderCompatibility empty: order and resource are compatible.\r\n* Set tsOrderResourceCompatibility empty and tsResourceOrderCompatibility\r\nto 260.12: order and resource are compatible.\n\r\n**Type:** double.\r\n**Default:** -1."
          },
          "scanItems": {
            "type": "array",
            "description": "list of scan items.",
            "items": {
              "$ref": "#/components/schemas/ScanItem"
            }
          },
          "sequenceNumber": {
            "type": "integer",
            "format": "int32"
          },
          "timeWindows": {
            "type": "array",
            "description": "The visit time windows.\r\nUse this constraint to specify a visit time window during which the order\r\ncan be delivered. A visit time window is defined by its start time, its\r\nend time and possible visit days. You can specify up to 10 visit time windows\r\nfor a customer.\r\n**Type:** array of time windows.\r\n**Default:** \"00:00:00\".\r\n**Example:** A customer can only be delivered:\r\n* on Monday from 11:00:00 to 12:00:00 AM and from 04:00:00 to 05:00:00\r\nPM,\r\n* on Tuesday, Wednesday, Thursday from 08:00:00 to 09:00:00 AM and from\r\n04:00:00 to 05:00:00 PM,\r\n* on Friday from 08:00:00 to 09:00:00 AM.\r\nIts visit time windows will be specified as follows:\r\n* first time window StartTime = \"08:00:00\", EndTime = \"09:00:00\", first\r\nset of possible days = \"2=>5\",\r\n* second time window StartTime = \"11:00:00\", EndTime = \"12:00:00\", second\r\nset of possible days = 1,\r\n* third time window StartTime = \"16:00:00\", EndTime = \"17:00:00\", third\r\nset of possible days = \"1=>4\".",
            "items": {
              "$ref": "#/components/schemas/TSTimeWindow"
            },
            "maxItems": 10,
            "minItems": 0,
            "xml": {
              "wrapped": true
            }
          },
          "travelTimeModifier": {
            "$ref": "#/components/schemas/TSTravelTimeModifier"
          },
          "tsOrderBefore": {
            "type": "string",
            "description": "This constraint lets you chain visits. Two chained visits will be performed\r\nthe same day by the same driver. The visit on which this constraint is\r\ndefined will be placed after the one it defines. If a visit from the chain\r\ncannot be placed, then none will be. You can specify one order id or\r\nseveral order ids (comma separated string)."
          },
          "tsOrderBeforeMaxTimeSpacing": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "tsOrderBeforeMinTimeSpacing": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "tsOrderDisjoint": {
            "type": "boolean",
            "description": "Use this constraint to force a return to depot between each repetition. Works only if the advanced parameters HealthDelivery=true and TSORDERONEVISITPERTIMEWINDOW=true are set, or if tsOrderOneVisitPerTimeWindow is set to true."
          },
          "tsOrderFixed": {
            "type": "boolean",
            "default": false,
            "description": "If true, the order will be planned with priority over other orders, forcing\r\nthe use of the specified day, resource and start time if specified.\r\nYou can specify orderOriginalResourceId and orderOriginalVisitDay of\r\nevaluationInfo and set the time window to the exact time (respecting the\r\nduration) if you want the visit to be planned at a specific time."
          },
          "tsOrderFrequencyIgnore": {
            "type": "boolean",
            "default": false,
            "description": "Use this constraint to ignore the repetition of the visit and avoid duplicating it."
          },
          "tsOrderLastVisit": {
            "type": "integer",
            "format": "int32",
            "default": 0,
            "description": "The number of days before the beginning of the planning the last visit\r\nbelonging to the order has been performed.\r\nUse this constraint in case of a frequency order to specify from how many\r\ndays the last visit was performed before starting the current planning.\r\nThe default value indicates this constraint is to be unused in the\r\nplanning.\r\n**Type:** negative integer.\r\n**Default:** 0.\r\nMin: -2,147,483.\r\n**Example:** If *tsOrderLastVisit* = -2, the last visit of the same order has been\r\nperformed two days ago.\r\nWarning: if the number of occurrences of the frequency is more than\r\none, the constraints tsOrderLastVisit and tsOrderMinimumSpacing are not\r\nconsidered.\r\n@see tsOrderFrequency, tsOrderMinimumSpacing",
            "minimum": -2147483
          },
          "tsOrderMaxDropHours": {
            "type": "array",
            "description": "Use this constraint to specify a maximum drop hour corresponding to each time window.\r\nWorks only if the advanced parameter HealthDelivery=true is set and if advanced parameter HealthFrequency=true is set or if tsOrderOneVisitPerTimeWindow=true constraint is set. \r\nYou must give the same number of values as defined time windows (limited to 10 values then). **Type:** Time (\"hh:mm\" or \"hh:mm:ss\"). \r\n**Default:** not used. \r\n**Example:** \r\nYou defined 2 time windows: from 08:00 to 10:00 and from 14:00 to 16:00. \r\nIf you give this value for tsOrderMaxDropHours: ['11:00','17:00'], a return to depot will be generated before 11:00 for the visit corresponding to the first time window (08:00 to 10:00), another one will be generated before 17:00 for the visit corresponding to the second time window (14:00 to 16:00).",
            "items": {
              "type": "string",
              "description": "Time, can be expressed in minutes or in hh:mm:ss format."
            }
          },
          "tsOrderMaximumSpacing": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of days required between two visits of a same order.\r\nUse this constraint in case of frequency order to specify how many days\r\nat most should be left between two visits of the order.\r\n**Type:** integer.\r\nMax: 2,147,483.",
            "maximum": 2147483
          },
          "tsOrderMinimumSpacing": {
            "type": "integer",
            "format": "int32",
            "default": 0,
            "description": "The minimum number of days required between two visits of a same order.\r\nUse this constraint in case of frequency order to specify how many days\r\nat least should be left between two visits of the order.\r\n**Type:** integer.\r\n**Default:** 0.\r\nMax: 2,147,483.\r\nWarning: if the number of occurrences of the frequency is more than\r\none, the constraints tsOrderLastVisit and tsOrderMinimumSpacing are not\r\nconsidered.\r\n@see tsOrderFrequency, tsOrderLastVisit",
            "maximum": 2147483
          },
          "tsOrderOneVisitPerTimeWindow": {
            "type": "boolean",
            "description": "Use this constraint to generate several instances of this visit in the same route (one per time window)."
          },
          "type": {
            "type": "integer",
            "format": "int32",
            "description": "The type of visit at a customer.\r\n* 0 (Delivery): the resource will deliver related quantities.\r\n* 1 (PickUp): the resource will pick-up related quantities.\r\n* 2 (DeliveryFirst): the resource will not mix deliveries and pick-ups in\r\na same rotation.\r\nIt is possible to mix pickups and 0 type deliveries in the same rotation.\r\nHowever, the delivered products will come from the depot and the pickup\r\nproducts will be unloaded at the depot. No product delivered to a\r\ncustomer can come from a pickup at another customer's.\r\n**Type:** Integer.\r\n**Default:** 0 (Delivery)."
          },
          "unloadingDurationPerUnit": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "wholeVisitInTimeWindow": {
            "type": "boolean",
            "default": false,
            "description": "Whole visit ends before time window end.\r\nUse this constraint if you want that a visit ends before the end of the\r\ntime window.\r\n**Default:** false."
          },
          "x": {
            "type": "number",
            "format": "double",
            "description": "Longitude of order location."
          },
          "y": {
            "type": "number",
            "format": "double",
            "description": "Latitude of order location."
          }
        },
        "required": [
          "id"
        ]
      },
      "TSPlanned": {
        "type": "object",
        "description": "Details of a stop within a resource tour.",
        "properties": {
          "dayId": {
            "type": "string",
            "description": "day of the stop"
          },
          "frequencyCount": {
            "type": "string",
            "description": "When using frequencies, the total number of instances"
          },
          "frequencyNumber": {
            "type": "string",
            "description": "When using frequencies, the instance number"
          },
          "resourceId": {
            "type": "string",
            "description": "Assigned resource identifier"
          },
          "stopDriveDistance": {
            "type": "integer",
            "format": "int32",
            "description": "The drive distance from the previous to the current stop."
          },
          "stopDriveTime": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "stopDuration": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "stopElapsedDistance": {
            "type": "integer",
            "format": "int32",
            "description": "The tour cumulated driven distance at the stop."
          },
          "stopId": {
            "type": "string",
            "description": "the ID of the stop or order"
          },
          "stopPosition": {
            "type": "integer",
            "format": "int32",
            "description": "The position of the stop in the resource tour."
          },
          "stopStartTime": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "stopStatus": {
            "type": "integer",
            "format": "int32",
            "description": "The status of the stop.\n\nAn order can be on time, late, waited, impossible (non compliant). It can\nalso be a courier service delivery and not planned. See\nStopStatusConstants for more information about stop status.\n\n**Type:** integer.\n\n* 0 = OnTime: The stop begins into the specified visit time window.\n\n* 1 = Late: The stop begins after the specified visit time window.\n\n* 2 = Waited: The resource waits at the stop for the specified stop\nstart time.\n\n* 3 = Impossible: The stop cannot be planned.\n\n* 4 = BadDay: The stop is planned without respect of frequency.\n\n* NotPlanned: The courier service is in charge of a stop or the stop\nis not included in the planning process.\n\n* BadPrevious: When the visits are split, the parts should follow\none another. This status is that of a part following another visit\ninstead of the previous part of the split visit."
          },
          "stopType": {
            "type": "integer",
            "format": "int32",
            "description": "The stop type\n\nA tour is composed of stops, which can be either customers visits or\nbreaks, like reload breaks, lunch breaks, or even night breaks.\n\nStopTypeConstants are\n\n* 0 = Visit: The stop is an element of the Orders object.\n\n* 1 = Start: The stop is the initial stage (departure) of the tour,\noccurring at the resource's start location.\n\n* 2 = End: The stop is the the last stage (arrival) of the tour,\noccurring at the resource's stop location.\n\n* 3 = EndBeforeOvernight: The stop is the the last stage (arrival) of\nthe tour, occurring where the resource stopped for the night.\n\n* 4 = ReloadBreak: The stop is a reload break within the tour,\noccurring at a depot location.\n\n* 5 = LunchBreak: The stop is the lunch break within the tour,\noccurring anywhere between two other located stops.\n\n* 6 = RestBreak: The stop is a rest break within the tour, occurring\nanywhere between two located stops.\n\n* 7 = WaitBreak: The stop is a wait break within the tour, occurring\nbefore a visit.\n\n* 8 = StartAfterOvernight: The stop is the last stage (arrival) of\nthe tour, it occurs where the resource stopped for the night.\n\n* 9 = Briefing: The stop is a briefing break within the tour,\noccurring right after the departure of the tour.\n\n* 10 = DeBriefing: The stop is a wait break within the tour, occurring\nright before the arrival of the tour."
          },
          "stopX": {
            "type": "number",
            "format": "double",
            "description": "The X coordinate of the stop (longitude)."
          },
          "stopY": {
            "type": "number",
            "format": "double",
            "description": "The Y coordinate of the stop (latitude)."
          }
        }
      },
      "TSTimeWindow": {
        "type": "object",
        "description": "Time window expressed with a begin and end times",
        "properties": {
          "beginTime": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "endTime": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          }
        },
        "xml": {
          "name": "timeWindow"
        }
      },
      "TSTravelTimeModifier": {
        "type": "object",
        "description": "Indicates the value of the travel time modifier.\r\nWhen reaching a location situated in a large city, one may want to take\r\ninto account driving difficulties, such as narrow streets and congestion.\r\nThe travel time modifier enables to increase the travel times around a\r\nlocation. It is described by three values. The value by which multiply\r\nthe travel times around the location (tsOrderTravelTimeModifierValue),\r\nthe portion of the travel time on which the modifier applies\r\n(tsOrderTravelTimeModifierLength) an offset to add to any travel duration\r\nleaving or reaching the location (tsOrderTravelTimeModifierOffSet).\r\n**Example:**\r\n* Set tsOrderTravelTimeModifierValue to 1.5,\r\ntsOrderTravelTimeModifierLength to 300 and\r\ntsOrderTravelTimeModifierOffSet to 60 for Order 1.\r\n* Set tsOrderTravelTimeModifierValue to 2,\r\ntsOrderTravelTimeModifierLength to 420 and\r\ntsOrderTravelTimeModifierOffSet to 0 for Order 2. If the initial travel\r\nduration between Order 1 and Order 2 was 1000, one obtains a travel time\r\n360 * 1.5 + 60 + 280 + 420 * 2 + 0 = 1660.\r\n**Type:** float.\r\n**Default:** 1.",
        "properties": {
          "length": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "offset": {
            "type": "string",
            "description": "Time, can be expressed in minutes or in hh:mm:ss format."
          },
          "value": {
            "type": "number",
            "format": "double",
            "description": "Indicates the value of the travel time modifier.\n\nWhen reaching a location situated in a large city, one may want to take into account driving difficulties, such as narrow streets and congestion.\n\nThe travel time modifier enables to increase the travel times around a location. It is described by three values. The value by which multiply the travel times around the location (tsDepotTravelTimeModifierValue), the portion of the travel time on which the modifier applies (*length*) an offset to add to any travel duration leaving or reaching the location (*offSet*).\n\n**Example:**\n\n* Set tsResource TravelTimeModifier Value to 1.5, tsResource TravelTime Modifier Length to 300 and tsResource TravelTimeModifier OffSet to 60 for Resource 1\n\n* Set tsDepot TravelTimeModifier Value to 2, tsDepot TravelTimeModifier Length to 420 and tsDepot TravelTimeModifier OffSet to 0 for Depot 1\n\nIf the initial travel duration between Resource 1 and Depot 1 was 1000, one obtains a travel time 360 * 1.5 + 60 + 280 + 420 * 2 + 0 = 1660\n\n**Type:** float \n\n**Default:** 1"
          }
        }
      },
      "TaskType": {
        "type": "object",
        "properties": {
          "defaultDuration": {
            "type": "integer",
            "xml": {
              "name": "DefaultDuration"
            }
          },
          "isInProject": {
            "type": "boolean",
            "default": false,
            "xml": {
              "name": "IsInProject"
            }
          },
          "taskTypeId": {
            "type": "string",
            "xml": {
              "name": "TaskTypeId"
            }
          },
          "taskTypeName": {
            "type": "string",
            "xml": {
              "name": "TaskTypeName"
            }
          }
        },
        "required": [
          "taskTypeId"
        ]
      },
      "TaskTypes": {
        "type": "object",
        "properties": {
          "taskType": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskType"
            },
            "xml": {
              "name": "TaskType"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "apiKey": {
        "description": "The api key can be passed through an header or in the query.",
        "in": "header",
        "name": "apiKey",
        "type": "apiKey"
      }
    }
  }
}
```