{"info":{"title":"API","description":"\n[Simplified view of domain model](https://app.mapotempo.com/api/0.1/Model-simpel.svg).\n## Model\nModel is structured around four majors concepts: the Customer account, Destinations, Vehicles and Plannings.\n* **`Customer`** (account): many of sub-objects are linked to a customer account (relating to the user calling API).\nThe customer has many `Users`, each user has his own `api_key`. Be carefull not to confuse with following model `Destination`, `Customer`can only be created by a admin `User`.\n* **`Destinations`**: location points to visit with constraints. The same `Destination` can be visited several times: in this case several `Visits` are associated to one `Destination`.\n* **`Vehicles`**: vehicles definition are splited in two parts:\n * the structural definition named `Vehicle` (car, truck, bike, capacities, consumption, etc.)\n * and the vehicle usage `VehicleUsage`, a specific usage of a physical vehicle in a specific context. Vehicles can be used in many contexts called `VehicleUsageSet` (set of all vehicles usages under a context). Multiple values are only available if dedicated option for customer is active. For instance, if customer needs to use its vehicle 2 times per day (morning and evening), he needs 2 `VehicleUsageSet` called \"Morning\" and \"Evening\" : each can have different values defined for stores, rest, etc... `VehicleUsageSet` defines default values for vehicle usage.\n* **`Plannings`**: `Planning` is a set of `Routes` to `Visit` `Destinations` with `Vehicle` within a `VehicleUsageSet` context.\nA route is a track between all destinations reached by a vehicle (a new route is created for each customer's vehicle and a route without vehicle is created for all out-of-route destinations). By default all customer account's visits are used in a planning: if you need a planning with only specific visits, you need to filter using `Tags`.\n\n## Technical access\n### Swagger descriptor\nThis REST API is described with Swagger. The Swagger descriptor defines the request end-points, the parameters and the return values. The API can be addressed by HTTP request or with a generated client using the Swagger descriptor.\n### API key\nAll access to the API are subject to an `api_key` parameter in order to authenticate the user. 2 methods are available :\n* This parameter can be sent into the headers with `Authorization` parameter : `curl -H Authorization: {your_personal_api_key}` (recommended)\n* This parameter can be sent with a query string on each available operation: `https://app.mapotempo.com/api/0.1/{objects}?api_key={your_personal_api_key}`\n### Return\nThe API supports several return formats: `json` and `xml` which depend of the requested extension used in url.\n### I18n\nFunctionnal textual returns are subject to translation and depend of HTTP header `Accept-Language`. HTTP error codes are not translated.\n## Admin access\nUsing an admin `api_key` switches to advanced opperations (on `Customer`, `User`, `Vehicle`, `Profile`). Most of operations from the current api are usable either for normal user `api_key` or admin user `api_key` (not both).\n## More concepts\nWhen a customer is created some objects are created by default with this new customer:\n* `Vehicle`: multiple, depending of the `max_vehicles` defined for customer\n* `DeliverableUnit`: one default\n* `VehicleUsageSet`: one default\n* `VehicleUsage`: multiple, depending of the vehicles number\n* `Store`: one default\n\n### Profiles, Layers, Routers\n`Profile` is a concept which allows to set several parameters for the customer:\n* `Layer`: which allows to choose the background map\n* `Router`: which allows to build route's information.\n\nSeveral default profiles are available and can be listed with an admin `api_key`.\n\n### Tags\n`Tags` have two types of uses: filter and skill.\n* filter: create planning only for a subset of visits. For instance, if some visits are tagged \"Monday\", it allows to create a new planning for \"Monday\" tag and use only dedicated visits.\n* skill: affect a specific vehicle for a specific visit. For instance, if some visits are tagged \"Hatchback\", only vehicle with \"Hatchback\" tag will be used for this visit.\n\n### Zonings\n`Zoning` is a concept which allows to define multiple `Zones` (areas) around destinatons. A `Zone` can be affected to a `Vehicle` and if it is used into a `Planning`, all `Destinations` inside areas will be affected to the zone's vehicle (or `Route`). A polygon defining a `Zone` can be created outside the application or can be automatically generated from a planning.\n\n## Locale\nEach enpoint of this API takes into account `accept-language` HTTP header. If it's not sent in request, locale from your `User` using api-key is used. Default locale is `en` when it's missing.\n\n## Code samples\n* Create and display destinations or visits.\nHere some samples for these operations: [using PHP](https://app.mapotempo.com/api/0.1/examples/php/example.php), [using Ruby](https://app.mapotempo.com/api/0.1/examples/ruby/example.rb), [using C#](https://app.mapotempo.com/api/0.1/examples/csharp/example.cs).\nNote you can import destinations/visits and create a planning at the same time if you know beforehand the route for each destination/visit. See the details of importDestinations operation to import your data and create a planning in only one call.\n* Same operations are available for stores (note you have an existing default store).\n* With created destinations/visits, you can create a planning (routes and stops are automatically created depending of yours vehicles and destinations/visits)\n* In existing planning, you have availability to move stops (which represent visits) on a dedicated route (which represent a dedicated vehicle).\n* With many unaffected (out-of-route) stops in a planning, you may create a zoning to move many stops in several routes. Create a zoning (you can generate zones in this zoning automatically from automatic clustering), if you apply zoning (containing zones linked to a vehicle) on your planning, all stops contained in different zones will be moved in dedicated routes.\n\n## How to send csv file of destinations\nTo update or create your destinations, you can simply import a csv file thanks to the end point /api/0.1/destinations with a PUT method.\nFor example, using cURL, the request is :\n\n    curl --request PUT\n      --url 'https://app.mapotempo.com/api/0.1/destinations?api_key={your_api_key}'\n      --header 'accept-language: {en or fr}'\n      --header 'content-type: multipart/form-data'\n      --form 'file=@{your_file_path}'\n      --form 'replace={true or false}'\n","contact":{"email":"tech@mapotempo.com","url":"https://github.com/Mapotempo/mapotempo-web"},"license":{"name":"GNU Affero General Public License 3","url":"https://raw.githubusercontent.com/Mapotempo/mapotempo-web/master/LICENSE"}},"swagger":"2.0","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"securityDefinitions":{"api_key_query_param":{"type":"apiKey","name":"api_key","in":"query"},"authorization_headers_param":{"type":"apiKey","name":"Authorization","in":"header"}},"security":[{"api_key_query_param":[],"authorization_headers_param":[]}],"host":"app.mapotempo.com","basePath":"/api","tags":[{"name":"connections","description":"Operations about connections"},{"name":"customers","description":"Operations about customers"},{"name":"deliverable_units","description":"Operations about deliverable_units"},{"name":"destinations","description":"Operations about destinations"},{"name":"destinations_v2","description":"Operations about destinations_v2s"},{"name":"layers","description":"Operations about layers"},{"name":"order_arrays","description":"Operations about order_arrays"},{"name":"ftp_imports","description":"Operations about ftp_imports"},{"name":"jobs","description":"Operations about jobs"},{"name":"plannings","description":"Operations about plannings"},{"name":"profiles","description":"Operations about profiles"},{"name":"relations","description":"Operations about relations"},{"name":"routers","description":"Operations about routers"},{"name":"stores","description":"Operations about stores"},{"name":"tags","description":"Operations about tags"},{"name":"users","description":"Operations about users"},{"name":"vehicles","description":"Operations about vehicles"},{"name":"vehicle_usage_sets","description":"Operations about vehicle_usage_sets"},{"name":"visits","description":"Operations about visits"},{"name":"webhook_endpoints","description":"Operations about webhook_endpoints"},{"name":"zooms","description":"Operations about zooms"},{"name":"zonings","description":"Operations about zonings"},{"name":"devices","description":"Operations about devices"},{"name":"geocoder","description":"Operations about geocoders"},{"name":"destinations_by_time_and_distance","description":"Operations about destinations_by_time_and_distances"},{"name":"stores_by_distance","description":"Operations about stores_by_distances"}],"paths":{"/0.1/connections":{"delete":{"summary":"Delete multiple connections.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids[]","description":"Ids separated by comma. If none id is provided, all objects are deleted.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["connections"],"operationId":"deleteConnections"},"post":{"summary":"Create connection.","description":"By creating connection between visits, it will add constraints between stops planning. There are different types of constraints.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"link_type","description":"Type of relation or constraints.","type":"string","enum":["pickup_and_delivery","sequence","position:always:first","position:always:middle","position:always:last","position:never_first","position:never:last"],"required":true},{"in":"formData","name":"visit_id","description":"First visit to link. The visit reference can be used instead of the id by prepending \"ref:\". In case of pickup_and_delivery, it represents the pickup visit. In case of sequence, it represents the first visit. In case of position constraint, it will define which group it belongs to; only one is authorized.","type":"string","required":true},{"in":"formData","name":"connected_visit_id","description":"Second visit to link. The visit reference can be used instead of the id by prepending \"ref:\". In case of pickup_and_delivery, it represents the delivery visit. In case of sequence, it represents the second visit. In case of position constraint, it will not take in account.","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_connection"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["connections"],"operationId":"createConnection"}},"/0.1/connections/{id}":{"delete":{"description":"Delete connection.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id of the connection to delete","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["connections"],"operationId":"deleteConnection"}},"/0.1/customers/{id}/duplicate":{"patch":{"summary":"Duplicate customer account (admin).","description":"Create a copy of customer account. Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"exclude_users","type":"boolean","default":"false","required":false},{"in":"formData","name":"enable_email_automation","description":"Enable/disable email automation for all duplicated users","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_CustomerAdmin"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"duplicateCustomer"}},"/0.1/customers":{"delete":{"summary":"Delete multiple customer accounts (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"deleteMultipleCustomer"},"post":{"summary":"Create customer account (admin).","description":"Create a customer account and its default data (stores, vehicle_usage_sets, vehicle_ids, deliverable_units) which are returned by this operation. Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"Only available in admin.","type":"string","required":false},{"in":"formData","name":"name","description":"Only available in admin. Nomenclature: [Company/Organization/Franchise/Integrator] [-] [Name/Site/Warehouse/Department/City] [-] [Project]","type":"string","required":true},{"in":"formData","name":"internal_name","description":"Name of the customer account chosen by non-admin users, appears on non-admin pages.","type":"string","required":false},{"in":"formData","name":"end_subscription","description":"Date must be in ISO 8601 (YYYY-MM-DD). Only available in admin.","type":"string","format":"date","required":false},{"in":"formData","name":"max_vehicles","description":"Only available in admin.","type":"integer","format":"int32","required":true},{"in":"formData","name":"billing_email","description":"Email address to send billing information. If not provided it will be sent to each user of this account.","type":"string","required":false},{"in":"formData","name":"enable_end_subscription_email","description":"Only available in admin.","type":"boolean","required":false},{"in":"formData","name":"visit_duration","description":"Default visit duration (HH:MM:SS) or number of seconds (can be overidded on each Visit entity)","type":"string","required":false},{"in":"formData","name":"setup_duration","description":"Default setup duration (HH:MM:SS) or number of seconds (can be overidded on each Destination entity)","type":"string","required":false},{"in":"formData","name":"default_country","description":"Default country (can be overidded on each Destination entity)","type":"string","required":false},{"in":"formData","name":"router_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"router_dimension","type":"string","enum":["time","distance"],"required":false},{"in":"formData","name":"speed_multiplier","description":"Default router speed multiplier (can be overidded on each Vehicle entity)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_max_split_size","description":"Maximum number of visits to split problem (default is 500)","type":"integer","format":"int32","required":false},{"in":"formData","name":"optimization_cluster_size","description":"Time in seconds to group near visits (default is )","type":"integer","format":"int32","required":false},{"in":"formData","name":"optimization_time","description":"Maximum optimization time by vehicle/route/trip (default is 25)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_minimal_time","description":"Minimum optimization time by vehicle/route/trip (default is 3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_stop_soft_upper_bound","description":"Stops delay coefficient, 0 to avoid delay (default is 0.3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_vehicle_soft_upper_bound","description":"Vehicles delay coefficient, 0 to avoid delay (default is 0.3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_cost_waiting_time","description":"Coefficient to manage waiting time (default is 1)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_free_approach","description":"Route beginning farthest away from start store (default is false)","type":"boolean","required":false},{"in":"formData","name":"optimization_free_return","description":"Route end farthest away from end store (default is false)","type":"boolean","required":false},{"in":"formData","name":"optimization_force_start","description":"Force time for departure (default is false)","type":"boolean","required":false},{"in":"formData","name":"prefer_same_vehicle_at_same_location","description":"Prefer same vehicle for visits at the same location. Values: '' (no), 'delivery' (group deliveries)","type":"string","required":false},{"in":"formData","name":"avoid_first_waiting_time","description":"Minimise waiting times (default false)","type":"boolean","required":false},{"in":"formData","name":"optimization_allow_traffic","description":"Take predictive traffic into account during optimization (default false)","type":"boolean","required":false},{"in":"formData","name":"print_planning_annotating","type":"boolean","required":false},{"in":"formData","name":"print_header","type":"string","required":false},{"in":"formData","name":"print_stop_time","type":"boolean","required":false},{"in":"formData","name":"print_map","type":"boolean","required":false},{"in":"formData","name":"print_barcode","description":"Print the Reference as Barcode","type":"string","enum":["code128"],"required":false},{"in":"formData","name":"print_gps_coordinates","type":"boolean","required":false},{"in":"formData","name":"business_name","description":"Any information about your company you want to display at the top of the printed page / send to the mobile app Mapo Driver","type":"string","required":false},{"in":"formData","name":"enable_external_callback","description":"Add a button to allow user to call external callback webhook on planning page. Webhook should be configured with `external_callback_name` and `external_callback_url`.","type":"boolean","required":false},{"in":"formData","name":"external_callback_name","description":"Name of external webhook to call by a user.","type":"string","required":false},{"in":"formData","name":"external_callback_url","description":"Url of external webhook to call by a user. Request (GET) is processed using AJAX in browser and by the way subjects to browsers standard rules\n          (Ex: SSL/TLS, CORS, etc...). http://www.example.com?p_id={PLANNING_IDS}. Can contain the following replacement tokens: PLANNING_REF,\n          PLANNING_IDS, ROUTE_ID, ROUTE_REF, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.","type":"string","required":false},{"in":"formData","name":"external_callback_headers","description":"HTTP headers sent with external URL called from Plan Export Menu.\n          HTTP headers must be sent in a JSON format. All values will be encrypted into our database.\n          Can contain the following replacement tokens: PLANNING_REFS, PLANNING_IDS,\n          ROUTE_IDS, ROUTE_REFS, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.\n          e.g: `{\"Authorization\":{API_KEY},\"Confidential\":\"client_reference\"}`\n          ","type":"string","required":false},{"in":"formData","name":"advanced_options","description":"Advanced options in a serialized json format","type":"string","required":false},{"in":"formData","name":"custom_attributes_def","description":"Custom attributes definition in a json format.\u003cbr\u003e e.g: `{\"visit\": {\"my_custom_visit_attribute\": {\"label\": \"My custom Visit attribute\", \"description\": \"My description of custom attribute\"}`","type":"string","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"enable_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_plannings_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_visits_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_destinations_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_tags_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_visit_status_change","type":"boolean","required":false},{"in":"formData","name":"auto_data_cleaning_period","type":"integer","format":"int32","required":false},{"in":"formData","name":"enable_group_destinations","type":"boolean","required":false},{"in":"formData","name":"enable_auto_optimization","type":"boolean","required":false},{"in":"formData","name":"auto_optimization_time","type":"string","format":"date-time","required":false},{"in":"formData","name":"auto_optimization_visit_day","type":"integer","format":"int32","required":false},{"in":"formData","name":"auto_optimization_visits_without_date","type":"boolean","required":false},{"in":"formData","name":"auto_optimization_vehicle_usage_set_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"enable_autosend_to_fleet","type":"boolean","required":false},{"in":"formData","name":"autosend_to_fleet_time","type":"string","format":"date-time","required":false},{"in":"formData","name":"subscription_type","description":"Subscription type: Enterprise, Stripe or Free Trial","type":"string","required":false},{"in":"formData","name":"subscription_reference","description":"Subscription reference (if Stripe)","type":"string","required":false},{"in":"formData","name":"devices","description":"Only available in admin.","type":"string","required":false},{"in":"formData","name":"profile_id","type":"string","required":true},{"in":"formData","name":"logo","description":"Company logo, 150x50 pixels in SVG, PNG, JPEG or GIF format. Will be printed / sent to the mobile app Mapo Driver if added.","type":"file","required":false},{"in":"formData","name":"router_options[traffic]","type":"boolean","required":false},{"in":"formData","name":"router_options[track]","type":"boolean","required":false},{"in":"formData","name":"router_options[motorway]","type":"boolean","required":false},{"in":"formData","name":"router_options[toll]","type":"boolean","required":false},{"in":"formData","name":"router_options[trailers]","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_options[weight]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[weight_per_axle]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[height]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[width]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[length]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[hazardous_goods]","type":"string","required":false},{"in":"formData","name":"router_options[max_walk_distance]","type":"number","format":"float","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_CustomerAdmin"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"createCustomer"},"get":{"summary":"Fetch customer accounts (admin).","description":"Retrieve all customer accounts. Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"name_like","description":"Find accounts with similarity on the name (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find accounts with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_CustomerAdmin"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["customers"],"operationId":"getCustomers"}},"/0.1/customers/{id}":{"delete":{"summary":"Delete customer account (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"deleteCustomer"},"put":{"summary":"Update customer account.","description":"Update informations and details, for example customer account associated to the current api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"Only available in admin.","type":"string","required":false},{"in":"formData","name":"name","description":"Only available in admin. Nomenclature: [Company/Organization/Franchise/Integrator] [-] [Name/Site/Warehouse/Department/City] [-] [Project]","type":"string","required":false},{"in":"formData","name":"internal_name","description":"Name of the customer account chosen by non-admin users, appears on non-admin pages.","type":"string","required":false},{"in":"formData","name":"end_subscription","description":"Date must be in ISO 8601 (YYYY-MM-DD). Only available in admin.","type":"string","format":"date","required":false},{"in":"formData","name":"max_vehicles","description":"Only available in admin.","type":"integer","format":"int32","required":false},{"in":"formData","name":"billing_email","description":"Email address to send billing information. If not provided it will be sent to each user of this account.","type":"string","required":false},{"in":"formData","name":"enable_end_subscription_email","description":"Only available in admin.","type":"boolean","required":false},{"in":"formData","name":"visit_duration","description":"Default visit duration (HH:MM:SS) or number of seconds (can be overidded on each Visit entity)","type":"string","required":false},{"in":"formData","name":"setup_duration","description":"Default setup duration (HH:MM:SS) or number of seconds (can be overidded on each Destination entity)","type":"string","required":false},{"in":"formData","name":"default_country","description":"Default country (can be overidded on each Destination entity)","type":"string","required":false},{"in":"formData","name":"router_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_dimension","type":"string","enum":["time","distance"],"required":false},{"in":"formData","name":"speed_multiplier","description":"Default router speed multiplier (can be overidded on each Vehicle entity)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_max_split_size","description":"Maximum number of visits to split problem (default is 500)","type":"integer","format":"int32","required":false},{"in":"formData","name":"optimization_cluster_size","description":"Time in seconds to group near visits (default is )","type":"integer","format":"int32","required":false},{"in":"formData","name":"optimization_time","description":"Maximum optimization time by vehicle/route/trip (default is 25)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_minimal_time","description":"Minimum optimization time by vehicle/route/trip (default is 3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_stop_soft_upper_bound","description":"Stops delay coefficient, 0 to avoid delay (default is 0.3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_vehicle_soft_upper_bound","description":"Vehicles delay coefficient, 0 to avoid delay (default is 0.3)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_cost_waiting_time","description":"Coefficient to manage waiting time (default is 1)","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_free_approach","description":"Route beginning farthest away from start store (default is false)","type":"boolean","required":false},{"in":"formData","name":"optimization_free_return","description":"Route end farthest away from end store (default is false)","type":"boolean","required":false},{"in":"formData","name":"optimization_force_start","description":"Force time for departure (default is false)","type":"boolean","required":false},{"in":"formData","name":"prefer_same_vehicle_at_same_location","description":"Prefer same vehicle for visits at the same location. Values: '' (no), 'delivery' (group deliveries)","type":"string","required":false},{"in":"formData","name":"avoid_first_waiting_time","description":"Minimise waiting times (default false)","type":"boolean","required":false},{"in":"formData","name":"optimization_allow_traffic","description":"Take predictive traffic into account during optimization (default false)","type":"boolean","required":false},{"in":"formData","name":"print_planning_annotating","type":"boolean","required":false},{"in":"formData","name":"print_header","type":"string","required":false},{"in":"formData","name":"print_stop_time","type":"boolean","required":false},{"in":"formData","name":"print_map","type":"boolean","required":false},{"in":"formData","name":"print_barcode","description":"Print the Reference as Barcode","type":"string","enum":["code128"],"required":false},{"in":"formData","name":"print_gps_coordinates","type":"boolean","required":false},{"in":"formData","name":"business_name","description":"Any information about your company you want to display at the top of the printed page / send to the mobile app Mapo Driver","type":"string","required":false},{"in":"formData","name":"enable_external_callback","description":"Add a button to allow user to call external callback webhook on planning page. Webhook should be configured with `external_callback_name` and `external_callback_url`.","type":"boolean","required":false},{"in":"formData","name":"external_callback_name","description":"Name of external webhook to call by a user.","type":"string","required":false},{"in":"formData","name":"external_callback_url","description":"Url of external webhook to call by a user. Request (GET) is processed using AJAX in browser and by the way subjects to browsers standard rules\n          (Ex: SSL/TLS, CORS, etc...). http://www.example.com?p_id={PLANNING_IDS}. Can contain the following replacement tokens: PLANNING_REF,\n          PLANNING_IDS, ROUTE_ID, ROUTE_REF, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.","type":"string","required":false},{"in":"formData","name":"external_callback_headers","description":"HTTP headers sent with external URL called from Plan Export Menu.\n          HTTP headers must be sent in a JSON format. All values will be encrypted into our database.\n          Can contain the following replacement tokens: PLANNING_REFS, PLANNING_IDS,\n          ROUTE_IDS, ROUTE_REFS, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.\n          e.g: `{\"Authorization\":{API_KEY},\"Confidential\":\"client_reference\"}`\n          ","type":"string","required":false},{"in":"formData","name":"advanced_options","description":"Advanced options in a serialized json format","type":"string","required":false},{"in":"formData","name":"custom_attributes_def","description":"Custom attributes definition in a json format.\u003cbr\u003e e.g: `{\"visit\": {\"my_custom_visit_attribute\": {\"label\": \"My custom Visit attribute\", \"description\": \"My description of custom attribute\"}`","type":"string","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"enable_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_plannings_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_visits_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_destinations_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_tags_auto_data_cleaning","type":"boolean","required":false},{"in":"formData","name":"enable_visit_status_change","type":"boolean","required":false},{"in":"formData","name":"auto_data_cleaning_period","type":"integer","format":"int32","required":false},{"in":"formData","name":"enable_group_destinations","type":"boolean","required":false},{"in":"formData","name":"enable_auto_optimization","type":"boolean","required":false},{"in":"formData","name":"auto_optimization_time","type":"string","format":"date-time","required":false},{"in":"formData","name":"auto_optimization_visit_day","type":"integer","format":"int32","required":false},{"in":"formData","name":"auto_optimization_visits_without_date","type":"boolean","required":false},{"in":"formData","name":"auto_optimization_vehicle_usage_set_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"enable_autosend_to_fleet","type":"boolean","required":false},{"in":"formData","name":"autosend_to_fleet_time","type":"string","format":"date-time","required":false},{"in":"formData","name":"subscription_type","description":"Subscription type: Enterprise, Stripe or Free Trial","type":"string","required":false},{"in":"formData","name":"subscription_reference","description":"Subscription reference (if Stripe)","type":"string","required":false},{"in":"formData","name":"devices","description":"Only available in admin.","type":"string","required":false},{"in":"formData","name":"logo","description":"Company logo, 150x50 pixels in SVG, PNG, JPEG or GIF format. Will be printed / sent to the mobile app Mapo Driver if added.","type":"file","required":false},{"in":"formData","name":"router_options[traffic]","type":"boolean","required":false},{"in":"formData","name":"router_options[track]","type":"boolean","required":false},{"in":"formData","name":"router_options[motorway]","type":"boolean","required":false},{"in":"formData","name":"router_options[toll]","type":"boolean","required":false},{"in":"formData","name":"router_options[trailers]","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_options[weight]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[weight_per_axle]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[height]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[width]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[length]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[hazardous_goods]","type":"string","required":false},{"in":"formData","name":"router_options[max_walk_distance]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[approach]","type":"string","required":false},{"in":"formData","name":"router_options[snap]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[strict_restriction]","type":"boolean","required":false},{"in":"formData","name":"update_fleet","description":"Update at the same time fleet database if a fleet device is linked to this customer.","type":"boolean","default":"true","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_CustomerAdmin"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"updateCustomer"},"get":{"summary":"Fetch customer account.","description":"Get informations and details, for example customer account associated to the current api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_CustomerAdmin"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"getCustomer"}},"/0.1/customers/{id}/users":{"get":{"summary":"Fetch users for customer account id (admin).","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_User"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["customers"],"operationId":"getCustomerUsers"}},"/0.1/customers/search":{"get":{"summary":"Fetch customer accounts with filters and pagination (admin).","description":"Retrieve customer accounts. Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"filters[]","description":"model.attribute:value separated by comma. (example: destinations.ref:ref1,plannings.name:planning1).","type":"array","items":{"type":"string"},"required":false},{"in":"formData","name":"sorting[]","description":"model.attribute:order (asc/desc) separated by comma (example: destinations.ref:asc,plannings.name:desc), filters and search_query are mutually exclusive.","type":"array","items":{"type":"string","default":["id:desc"]},"required":false},{"in":"query","name":"offset","description":"Number of elements skipped.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"Number of elements returned.","type":"integer","format":"int32","required":true},{"in":"query","name":"with_length","description":"Return the total length matching the filters or search query. (regardless of the limit) ","type":"boolean","default":"false","required":false},{"in":"query","name":"search_query","description":"Value for the global search, filters and search_query are mutually exclusive.","type":"string","required":false},{"in":"query","name":"with_ids","description":"Return an array of all ids matching the filters or search query. (regardless of the limit)","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_SearchCustomers"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["customers"],"operationId":"paginatedCustomer"}},"/0.1/deliverable_units":{"delete":{"summary":"Delete multiple deliverable units.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["deliverable_units"],"operationId":"deleteDeliverableUnits"},"post":{"summary":"Create deliverable unit.","description":"(Note a default deliverable unit is already automatically created when a customer account is initialized.) By creating a new deliverable unit, it will be possible to specify quantities and capacities for this another unit.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"label","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-archive.","type":"string","required":false},{"in":"formData","name":"default_quantity","description":"Default quantity value (can be overidded on each Visit entity)","type":"number","format":"float","required":false},{"in":"formData","name":"default_capacity","description":"Default capacity value (can be overidded on each Vehicle entity)","type":"number","format":"float","required":false},{"in":"formData","name":"minimum_load","description":"Minimum load value for this deliverable unit","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_overload_multiplier","description":"Multiplier used during optimization in case of overload.","type":"number","format":"float","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"default_codes[]","description":"Default barcodes for this deliverable unit","type":"array","items":{"type":"string"},"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_DeliverableUnit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["deliverable_units"],"operationId":"createDeliverableUnit"},"get":{"summary":"Fetch customer's deliverable units. At least one deliverable unit exists per customer.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"label_like","description":"Find deliverable units with similarity on the label (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find deliverable units with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnit"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["deliverable_units"],"operationId":"getDeliverableUnits"}},"/0.1/deliverable_units/{id}":{"delete":{"summary":"Delete deliverable unit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["deliverable_units"],"operationId":"deleteDeliverableUnit"},"put":{"summary":"Update deliverable unit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"label","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-archive.","type":"string","required":false},{"in":"formData","name":"default_quantity","description":"Default quantity value (can be overidded on each Visit entity)","type":"number","format":"float","required":false},{"in":"formData","name":"default_capacity","description":"Default capacity value (can be overidded on each Vehicle entity)","type":"number","format":"float","required":false},{"in":"formData","name":"minimum_load","description":"Minimum load value for this deliverable unit","type":"number","format":"float","required":false},{"in":"formData","name":"optimization_overload_multiplier","description":"Multiplier used during optimization in case of overload.","type":"number","format":"float","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"default_codes[]","description":"Default barcodes for this deliverable unit","type":"array","items":{"type":"string"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_DeliverableUnit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["deliverable_units"],"operationId":"updateDeliverableUnit"},"get":{"summary":"Fetch deliverable unit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_DeliverableUnit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["deliverable_units"],"operationId":"getDeliverableUnit"}},"/0.1/destinations/{id}":{"get":{"summary":"Fetch destination.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"getDestination"},"delete":{"summary":"Delete destination.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"deleteDestination"},"put":{"summary":"Update destination.","description":"Update destination (point to visit). If want to force geocoding for a new address, you have to send empty lat/lng with new address.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"formData","name":"detail","description":"Content from address useless for geocoding (flat number).","type":"string","required":false},{"in":"formData","name":"postalcode","type":"string","required":false},{"in":"formData","name":"city","type":"string","required":false},{"in":"formData","name":"state","type":"string","required":false},{"in":"formData","name":"country","type":"string","required":false},{"in":"formData","name":"country_code","type":"string","required":false},{"in":"formData","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"comment","type":"string","required":false},{"in":"formData","name":"phone_number","type":"string","required":false},{"in":"formData","name":"contact_email","type":"string","required":false},{"in":"formData","name":"visits[]","type":"array","items":{"$ref":"#/definitions/V01_Visit"},"required":false},{"in":"formData","name":"setup_duration","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds.","type":"string","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"updateDestination"}},"/0.1/destinations/geocode_complete":{"get":{"summary":"Auto completion on destination.","description":"Auto completion on address of destination. Results are priorized from last geolocated store of the customer account.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"query","name":"postalcode","type":"string","required":false},{"in":"query","name":"city","type":"string","required":false},{"in":"query","name":"state","type":"string","required":false},{"in":"query","name":"country","type":"string","required":false},{"in":"query","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"autocompleteDestination"}},"/0.1/destinations/reverse":{"get":{"summary":"Reverse geocoding.","description":"Result of reverse geocoding is not saved with this operation.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"query","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"reverseGeocodingDestination"}},"/0.1/destinations/geocode":{"get":{"summary":"Geocode destination.","description":"Result of geocoding is not saved with this operation. You can use update operation to save the result of geocoding.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"query","name":"postalcode","type":"string","required":false},{"in":"query","name":"city","type":"string","required":false},{"in":"query","name":"state","type":"string","required":false},{"in":"query","name":"country","type":"string","required":false},{"in":"query","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"geocodeDestination"}},"/0.1/destinations":{"delete":{"summary":"Delete multiple destinations.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"string","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"deleteDestinations"},"put":{"summary":"Import destinations by upload a CSV file, by JSON or from Webfleet.","description":"Import multiple destinations and visits. Use your internal and unique ids as a \"reference\" to automatically retrieve and update objects. If `route` key is provided for a visit or if a planning attribute is sent, a planning will be automatically created at the same time. If all `route` attibutes are blank or no attribute for planning is sent, only destinations and visits will be created/updated. Three mutualy exclusive types of import: `destinations`, `file`, `remote`.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"header","name":"accept-language","description":"Language used in CSV file (useless without `file` parameter). Default value: `en`. French language: `fr`.","type":"string","required":false},{"in":"formData","name":"optim_job_id","description":"Optimization Job ID for ETA computations.","type":"string","required":false},{"in":"formData","name":"replace","description":"Remove all existing destinations/visits before importing new ones.","type":"boolean","required":false},{"in":"formData","name":"merge_rows","description":"Merge file rows with the same client (identified by its reference) and import only one visit. Only available for CSV files","type":"boolean","required":false},{"in":"formData","name":"planning[ref]","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`). You can provide an already used reference to update an existing planning.","type":"string","required":false},{"in":"formData","name":"planning[name]","type":"string","required":false},{"in":"formData","name":"planning[date]","type":"string","required":false},{"in":"formData","name":"planning[vehicle_usage_set_id]","description":"If not filled, first vehicle_usage_set is used.","type":"integer","format":"int32","required":false},{"in":"formData","name":"planning[zoning_ids][]","description":"If a new zoning is specified before planning save, all visits will be affected to vehicles specified in zones.","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"formData","name":"file","description":"CSV file (encoding, separator and line return automatically detected, with localized CSV header according to HTTP header `Accept-Language`). In mutual exclusion with `destinations` and `remote`.","type":"file","required":false},{"in":"formData","name":"synchronous","description":"Synchronous or asynchronous (false) processing of import and geocoding (if geocoding necessary). If asynchronous, the running job can be found at the endpoint /0.1/jobs/{id} using the returned job id.","type":"boolean","default":true,"required":false},{"in":"formData","name":"destinations[]","type":"array","items":{"$ref":"#/definitions/V01_DestinationImportJson"},"required":false},{"in":"formData","name":"remote","description":"In mutual exclusion with CSV `file` upload and `destinations`.","type":"string","enum":["tomtom"],"required":false},{"in":"formData","name":"custom_columns","description":"Use custom columns defined in customer (only avalaible for CSV)","type":"boolean","default":"false","required":false}],"responses":{"204":{"description":"No Content."},"202":{"description":"Accepted.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Destination"}}},"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Destination"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."},"422":{"description":"Unprocessable entity."}},"tags":["destinations"],"operationId":"importDestinations"},"post":{"summary":"Create destination.","description":"Create destination (point to visit). A same destination/point can be visited multiple times.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"formData","name":"detail","description":"Content from address useless for geocoding (flat number).","type":"string","required":false},{"in":"formData","name":"postalcode","type":"string","required":false},{"in":"formData","name":"city","type":"string","required":false},{"in":"formData","name":"state","type":"string","required":false},{"in":"formData","name":"country","type":"string","required":false},{"in":"formData","name":"country_code","type":"string","required":false},{"in":"formData","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"comment","type":"string","required":false},{"in":"formData","name":"phone_number","type":"string","required":false},{"in":"formData","name":"contact_email","type":"string","required":false},{"in":"formData","name":"visits[]","type":"array","items":{"$ref":"#/definitions/V01_Visit"},"required":false},{"in":"formData","name":"setup_duration","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds.","type":"string","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Destination"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"createDestination"},"get":{"summary":"Fetch customer's destinations.","description":"Fetch all customer's destinations (points to visit).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"with_extra_properties","description":"Only for GeoJSON format. Include extra properties in GeoJSON output like quantities, duration, etc...","type":"boolean","default":"false","required":false},{"in":"query","name":"name_like","description":"Find destinations with similarity on the name (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find destinations with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Destination"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["destinations"],"operationId":"getDestinations"}},"/0.1/destinations/{destination_id}/visits/{id}/suggest_routes":{"get":{"summary":"Get routes suggestion for a visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"time_windows_1[]","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"formData","name":"time_window_2[]","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"query","name":"tag_ids","type":"string","required":false},{"in":"query","name":"date","type":"string","required":false},{"in":"query","name":"limit","type":"integer","format":"int32","default":3,"required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_RouteSuggestion"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"StopsbyVisit"}},"/0.1/destinations/{destination_id}/visits/{id}/stops":{"get":{"summary":"Fetch stops by visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Stop"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"StopsbyVisit"}},"/0.1/destinations/{destination_id}/visits/{id}/routes":{"get":{"summary":"Fetch routes by visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Route"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"RoutesbyVisit"}},"/0.1/destinations/{destination_id}/visits/{id}":{"delete":{"summary":"Delete visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"delete_destination","description":"If true delete destination if it's the last visit","type":"boolean","default":false,"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"deleteVisit"},"put":{"summary":"Update visit.","description":"If want to force geocoding for a new address, you have to send empty lat/lng with new address.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date.","type":"string","format":"date","required":false},{"in":"formData","name":"repeat_timewindows","description":"Repeat time windows on the next days","type":"boolean","default":true,"required":false},{"in":"formData","name":"tags[]","description":"List of tags that will be created with the visit (only ref and label allowed).","type":"array","items":{"$ref":"#/definitions/V01_Tag"},"required":false},{"in":"formData","name":"priority","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined).","type":"integer","format":"int32","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"quantities[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][quantity]","description":"Value (positive or negative to distinct pickup and delivery)","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"quantities[][operation]","description":"To use only in case vehicle is fully emptied or fully filled.","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][codes][]","description":"Array of codes separated by commas","type":"array","items":{"type":"string"},"required":false},{"in":"formData","name":"time_window_start_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_start_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"duration","description":"Visit duration (HH:MM:SS) or number of seconds","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Visit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"updateVisit"},"get":{"summary":"Fetch visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Visit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"getVisit"}},"/0.1/destinations/{destination_id}/visits":{"post":{"summary":"Create visit.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date.","type":"string","format":"date","required":false},{"in":"formData","name":"repeat_timewindows","description":"Repeat time windows on the next days","type":"boolean","default":true,"required":false},{"in":"formData","name":"tags[]","description":"List of tags that will be created with the visit (only ref and label allowed).","type":"array","items":{"$ref":"#/definitions/V01_Tag"},"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"quantities[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][quantity]","description":"Value (positive or negative to distinct pickup and delivery)","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"quantities[][operation]","description":"To use only in case vehicle is fully emptied or fully filled.","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][codes][]","description":"Array of codes separated by commas","type":"array","items":{"type":"string"},"required":false},{"in":"formData","name":"time_window_start_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_start_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"duration","description":"Visit duration (HH:MM:SS) or number of seconds","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Visit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["destinations"],"operationId":"createVisit"},"get":{"summary":"Fetch destination's visits.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"destination_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Visit"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["destinations"],"operationId":"getVisits"}},"/0.1/destinations_v2":{"post":{"summary":"Create a Destination Import V2 (async).","description":"Accepts a file reference and triggers an asynchronous import. Safe to call again with the same gcs_url.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"gcs_url","description":"Full Google Cloud Storage URI of the transformed file (gs://bucket/path).","type":"string","required":true},{"in":"formData","name":"webhook_url","description":"URL that will receive the import result via POST (CF3 Finalizer).","type":"string","required":true},{"in":"formData","name":"gcs_signed_url","description":"Pre-signed URL to access the file temporarily.","type":"string","required":false},{"in":"formData","name":"checksum","description":"SHA256 checksum of the file.","type":"string","required":false},{"in":"formData","name":"start_date","description":"Date of the import batch (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"nb_rows","description":"Number of rows in the file.","type":"integer","format":"int32","required":false}],"responses":{"201":{"description":"Create a Destination Import V2 (async)."}},"tags":["destinations_v2"],"operationId":"createDestinationImportV2"}},"/0.1/layers":{"get":{"summary":"Fetch layers.","description":"Get the list of available layers which can be used for maps.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Layer"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden. Operation not allowed with an admin api key."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["layers"],"operationId":"getLayers"}},"/0.1/order_arrays/{order_array_id}/orders/{id}":{"put":{"summary":"Update order.","description":"Only available if \"enable orders\" option is active for current customer.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"order_array_id","type":"integer","format":"int32","required":true},{"in":"path","name":"id","type":"integer","format":"int32","required":true},{"in":"formData","name":"visit_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"destination_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"shift","type":"integer","format":"int32","required":false},{"in":"formData","name":"product_ids[]","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Order"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["order_arrays"],"operationId":"updateOrder"}},"/0.1/order_arrays/{id}":{"patch":{"summary":"Orders mass assignment.","description":"Only available if \"enable orders\" option is active for current customer.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_OrderArray"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["order_arrays"],"operationId":"massAssignmentOrder"}},"/0.1/ftp_imports/{id}":{"get":{"summary":"Return the importation from ftp information.","description":"Return the importation from ftp information and status.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_FtpImport"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["ftp_imports"],"operationId":"getFtpImport"}},"/0.1/ftp_imports":{"post":{"summary":"Importation from ftp.","description":"Create a importation from ftp action .","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"path","description":"The ftp path where we will download the file to import.","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_FtpImport"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["ftp_imports"],"operationId":"createFtpImport"}},"/0.1/jobs/{id}":{"delete":{"summary":"Cancel job.","description":"Cancel asynchronous job (like geocoding, optimizer, import) currently running.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content.","schema":{"$ref":"#/definitions/V01_Job"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["jobs"],"operationId":"deleteJob"},"get":{"summary":"Return a job.","description":"Return asynchronous job (like geocoding, optimizer) currently running.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Job"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["jobs"],"operationId":"getJob"}},"/0.1/jobs":{"get":{"summary":"List jobs.","description":"Return all running jobs.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"with_completed_jobs","description":"To display only finished jobs (suceeded or failed) from the past 24 hours.","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Job"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["jobs"],"operationId":"listJob"}},"/0.1/plannings/by_route/{id}":{"get":{"summary":"Fetch planning by route.","description":"","produces":["application/json; charset=UTF-8"],"parameters":[{"in":"path","name":"id","description":"Route id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"getPlanningByRoute"}},"/0.1/plannings/{id}":{"get":{"summary":"Fetch planning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml","text/calendar"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"with_geojson","description":"Fill the geojson field with route geometry, when using json output. For geojson output, param can be only set to `point` to return only points, `polyline` to return with encoded linestring.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"query","name":"with_stores","description":"Only for geojson format. Include the stores in geojson output.","type":"boolean","default":"false","required":false},{"in":"query","name":"with_extra_properties","description":"Only for geojson format. Include extra properties in geojson output like quantities, duration, etc...","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"getPlanning"},"delete":{"summary":"Delete planning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"deletePlanning"},"put":{"summary":"Update planning.","description":"Update planning and routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"date","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"begin_date","description":"Begin validity period Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"end_date","description":"End validity period Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"active","type":"boolean","default":true,"required":false},{"in":"formData","name":"vehicle_usage_set_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"tags[]","description":"List of tags that will be created with the planning (only ref and label allowed).","type":"array","items":{"$ref":"#/definitions/V01_Tag"},"required":false},{"in":"formData","name":"filter_by_date","description":"Add visits that have the same date as the planning","type":"boolean","required":false},{"in":"formData","name":"filter_by_no_date","description":"Add visits without dates to the planning","type":"boolean","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"routes[]","type":"array","items":{"$ref":"#/definitions/V01_RouteProperties"},"required":false},{"in":"formData","name":"optimized","description":"If `true`, all planning routes have been optimized.","type":"boolean","required":false},{"in":"formData","name":"tag_operation","description":"Choose how to use selected tags: `and` (for visits with all tags, by default) / `or` (for visits with at least one tag).","type":"string","enum":["and","or"],"required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.Only destinations/visits with specified tags will be available in planning.","type":"string","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"formData","name":"zoning_ids[]","description":"If a new zoning is specified before planning save, all visits will be affected to vehicles specified in zones.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"updatePlanning"}},"/0.1/plannings":{"get":{"summary":"Fetch customer's plannings.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml","text/calendar"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"begin_date","description":"Select only plannings after this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"query","name":"end_date","description":"Select only plannings before this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"query","name":"active","description":"Select only active plannings.","type":"boolean","required":false},{"in":"query","name":"tags[]","description":"Select plannings which contains at least one of these tags label","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"query","name":"name_like","description":"Find plannings with similarity on the name (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find plannings with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Planning"}}},"204":{"description":"No Content."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["plannings"],"operationId":"getPlannings"},"delete":{"summary":"Delete multiple plannings.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"string","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"deletePlannings"},"post":{"summary":"Create planning.","description":"Create a planning. An out-of-route (unplanned) route and a route for each vehicle are automatically created. If some visits exist (or fetch if you use tags), as many stops as fetching visits will be created (ie: there is no specific operation to create routes and stops, the application create them for you).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"date","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"begin_date","description":"Begin validity period Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"end_date","description":"End validity period Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"active","type":"boolean","default":true,"required":false},{"in":"formData","name":"vehicle_usage_set_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"zoning_ids[]","description":"If a new zoning is specified before planning save, all visits will be affected to vehicles specified in zones.","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"formData","name":"tags[]","description":"List of tags that will be created with the planning (only ref and label allowed).","type":"array","items":{"$ref":"#/definitions/V01_Tag"},"required":false},{"in":"formData","name":"tag_operation","description":"Choose how to use selected tags: `and` (for visits with all tags, by default) / `or` (for visits with at least one tag).","type":"string","default":"and","enum":["and","or"],"required":false},{"in":"formData","name":"filter_by_date","description":"Add visits that have the same date as the planning","type":"boolean","required":false},{"in":"formData","name":"filter_by_no_date","description":"Add visits without dates to the planning","type":"boolean","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"optimized","description":"If `true`, all planning routes have been optimized.","type":"boolean","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"createPlanning"}},"/0.1/plannings/{id}/send_sms":{"patch":{"summary":"Send SMS for each stop visit.","description":"Send SMS for each stop visit of each routes. Only available if `enable_sms` option is true for customer account.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"route_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"sendSMS"}},"/0.1/plannings/{id}/update_stops_status":{"patch":{"summary":"Update stops live status.","description":"Update live stops status from remote devices. Only available if `enable_stop_status` option is true for customer account and with compatible configured device (Fleet / Mapo Driver, Webfleet, etc...).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"with_details","description":"Output route details","type":"boolean","default":"false","required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_RouteStatus"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}},"304":{"description":"Not modified.","schema":{"$ref":"#/definitions/V01_Status304"}}},"tags":["plannings"],"operationId":"updateStopsStatus"}},"/0.1/plannings/{id}/active/{active}":{"patch":{"summary":"Change planning stops activation.","description":"Allow to activate/deactivate all stops in a planning.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"active","type":"string","enum":["all","none"],"required":true},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"activationStops"}},"/0.1/plannings/{id}/order_array":{"patch":{"summary":"Use order_array in the planning.","description":"Only available if `enable_orders` option is active for current customer account.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"order_array_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"shift","type":"integer","format":"int32","required":true},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"useOrderArray"}},"/0.1/plannings/{id}/duplicate":{"patch":{"summary":"Clone the planning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"clonePlanning"}},"/0.1/plannings/{id}/optimize":{"patch":{"summary":"Optimize routes.","description":"Optimize all unlocked routes by keeping visits in same route or not.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"global","description":"Use global optimization and move visits between routes if needed","type":"boolean","default":"false","required":false},{"in":"formData","name":"synchronous","description":"Synchronous processing or not. If not, operation will return nothing and the optimum result will be set on planning as soon Customer.job_optimizer_id will be null.","type":"boolean","default":true,"required":false},{"in":"formData","name":"active_only","description":"If `true` only active stops are taken into account by optimization, else inactive stops are also taken into account but are not activated in result route.","type":"boolean","default":true,"required":false},{"in":"formData","name":"with_details","description":"Output route details","type":"boolean","default":"false","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"formData","name":"with_pauses","description":"Activate/deactivate pauses on all routes before optimization (based on vehicle usage settings). Allowed values: `true`, `false`. Leave blank to keep current pauses settings.","type":"string","required":false},{"in":"formData","name":"strict_skills","description":"Missing description","type":"boolean","default":"false","required":false},{"in":"formData","name":"optimization_strategy","description":"Optimization strategy to use: `min_cost` (minimize costs), `min_km` (minimize distance), `min_vehicles` (minimize number of vehicles), `balance_cost` (balance costs across routes), `balance_km` (balance distance across routes), `clustering` (use clustering algorithm). Only applicable for global optimization.","type":"string","enum":["min_cost","min_km","min_vehicles","balance_cost","balance_km","clustering"],"required":false},{"in":"formData","name":"ignore_overload_multipliers[][unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).Deliverable unit which must be ignored on vehicles capacity","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"ignore_overload_multipliers[][ignore]","description":"Value to ignore vehicles capacity (`true` to ignore it)","type":"array","required":false,"items":{"type":"boolean"}}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}},"304":{"description":"Not modified.","schema":{"$ref":"#/definitions/V01_Status304"}}},"tags":["plannings"],"operationId":"optimizeRoutes"}},"/0.1/plannings/{id}/apply_zonings":{"patch":{"summary":"Apply zonings.","description":"Apply zoning by assign stops to vehicles using the corresponding zones.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"with_details","description":"Output route details","type":"boolean","default":"false","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"applyZonings"}},"/0.1/plannings/{id}/automatic_insert":{"patch":{"summary":"Insert one or more stop into planning routes.","description":"Insert automatically one or more stops in best routes and on best positions to have minimal influence on route's total time (this operation doesn't take into account time windows if they exist...). You should use this operation with existing stops in current planning's routes. In addition, you should not use this operation with many stops. You should use instead zoning (with automatic clustering creation for instance) to set multiple stops in each available route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"stop_ids[]","description":"Ids separated by comma. You should not have too many stops.","type":"array","items":{"type":"integer","format":"int32"},"required":true},{"in":"formData","name":"max_time","description":"Maximum time for best routes (in seconds).","type":"number","format":"float","required":false},{"in":"formData","name":"max_distance","description":"Maximum detour distance (in meters).","type":"number","format":"float","required":false},{"in":"formData","name":"active_only","description":"Use only active stops.","type":"boolean","default":true,"required":false},{"in":"formData","name":"out_of_zone","description":"Take into account points out of zones.","type":"boolean","default":true,"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}},"422":{"description":"Unprocessable entity.","schema":{"$ref":"#/definitions/V01_Status422"}}},"tags":["plannings"],"operationId":"automaticInsertStop"}},"/0.1/plannings/{id}/switch":{"patch":{"summary":"Switch two vehicles.","description":"Switch vehicle associated to one route with another existing vehicle.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).Route to switch associated vehicle.","type":"string","required":true},{"in":"formData","name":"vehicle_usage_id","description":"New vehicle id to associate to the route.","type":"integer","format":"int32","required":true},{"in":"formData","name":"with_details","description":"Output complete planning.","type":"boolean","default":"false","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"switchVehicles"}},"/0.1/plannings/{id}/refresh":{"patch":{"summary":"Recompute the planning after parameter update.","description":"Refresh planning and outdated routes infos if inputs have been changed (for instance stores, destinations, visits, etc...)","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Planning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"refreshPlanning"}},"/0.1/plannings/{planning_id}/routes/{id}":{"get":{"summary":"Fetch route.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"with_geojson","description":"Fill the geojson field with route geometry, when using json output. For geojson output, param can be only set to `point` to return only points, `polyline` to return with encoded linestring.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Route"}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"getRoute"},"put":{"summary":"Update route attributes.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","type":"string","required":false},{"in":"formData","name":"hidden","type":"boolean","required":false},{"in":"formData","name":"locked","type":"boolean","required":false},{"in":"formData","name":"color","description":"Color code with #. For instance: #FF0000.","type":"string","required":false},{"in":"formData","name":"date","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"formData","name":"force_start","description":"Force schedule start vehicle","type":"boolean","required":false},{"in":"formData","name":"start","description":"Vehicle start time (HH:MM:SS) or number of seconds. If it is sent as an input param, `force_start` attribute will be set to `true`.","type":"integer","format":"int32","required":false},{"in":"formData","name":"custom_attributes","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_RouteProperties"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"updateRoute"}},"/0.1/plannings/{planning_id}/routes":{"get":{"summary":"Fetch planning's routes.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"hide_rest_only_routes","description":"Do not show routes that only includes a pause","type":"boolean","default":false,"required":false},{"in":"query","name":"with_geojson","description":"Fill the geojson field with route geometry, when using json output. For geojson output, param can be only set to `point` to return only points, `polyline` to return with encoded linestring.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"query","name":"with_stores","description":"Include the stores when using geojson output.","type":"boolean","default":"false","required":false},{"in":"query","name":"with_quantities","description":"Include the quantities when using geojson output.","type":"boolean","default":"false","required":false},{"in":"query","name":"sorting","description":"In order to sort routes list in a specific ascendent or descendent order\n                                     depending on route attributes. Ex: `asc:start` or `desc:ref`.","type":"SortingType_RoutesSorting","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Route"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["plannings"],"operationId":"getRoutes"}},"/0.1/plannings/{planning_id}/routes/{id}/send_sms":{"patch":{"summary":"Send SMS for each stop visit.","description":"Send SMS for each stop visit of the specified route. Only available if `enable_sms` option is true for customer account.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"sendSMS"}},"/0.1/plannings/{planning_id}/routes/{id}/reverse_order":{"patch":{"summary":"Reverse stops order.","description":"Reverse all the stops in a route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Route"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"reverseStopsOrder"}},"/0.1/plannings/{planning_id}/routes/{id}/optimize":{"patch":{"summary":"Optimize a single route.","description":"Get the shortest route in time or distance.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"synchronous","description":"Synchronous processing or not. If not, operation will return nothing and the optimum result will be set on planning as soon `Customer.job_optimizer_id` will be null.","type":"boolean","default":true,"required":false},{"in":"formData","name":"active_only","description":"If true only active stops are taken into account by optimization, else inactive stops are also taken into account but are not activated in result route.","type":"boolean","default":true,"required":false},{"in":"formData","name":"with_details","description":"Output route details","type":"boolean","default":"false","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"formData","name":"with_pauses","description":"Activate/deactivate pause before optimization (based on vehicle usage settings). Allowed values: `true`, `false`. Leave blank to keep current pauses settings.","type":"string","required":false},{"in":"formData","name":"ignore_overload_multipliers[][unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).Deliverable unit which must be ignored on vehicles capacity","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"ignore_overload_multipliers[][ignore]","description":"Value to ignore vehicles capacity (`true` to ignore it)","type":"array","required":false,"items":{"type":"boolean"}}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Route"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}},"304":{"description":"Not modified.","schema":{"$ref":"#/definitions/V01_Status304"}}},"tags":["plannings"],"operationId":"optimizeRoute"}},"/0.1/plannings/{planning_id}/routes/{id}/visits/moves":{"patch":{"summary":"Move visit(s) to route. Append in order at end (if automatic_insert is false).","description":"Set a new A route (or vehicle) for a visit which was in a previous B route in the same planning. `automatic_insert` parameter allows to compute or not the best index of the stops created for visits.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"visit_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true},{"in":"formData","name":"automatic_insert","description":"If `false`, appended at the end of route. If `true`, the best index in the route is automatically computed to have minimum impact on total route distance (without taking into account constraints like time_window_start/time_window_end/capacity: if you want to take all constraints into account and find best position, you should use `automatic_insert=false` and have to start a new optimization only for this route).","type":"boolean","required":false},{"in":"formData","name":"skip_compute","description":"If `true`, routes are marked outdated but not computed synchronously. Use when you plan to optimize/refresh the route later. Routes will remain outdated until manually computed or optimized.","type":"boolean","default":false,"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"moveVisits"}},"/0.1/plannings/{planning_id}/routes/{id}/active/{active}":{"patch":{"summary":"Change route stops activation.","description":"Allow to activate/deactivate all stops in a planning's route or some of the route's stops.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"active","type":"string","enum":["all","reverse","none"],"required":true},{"in":"formData","name":"stop_ids","description":"List of stop ids. Leave blank to update all stops of the route. If some stops ids are given, only those stops will be updated.","type":"string","required":false},{"in":"formData","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Route"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"activationStops"}},"/0.1/plannings/{planning_id}/routes_by_vehicle/{id}":{"get":{"summary":"Fetch routes from vehicle.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"with_geojson","description":"Fill in response the geojson field with route geometry: `point` to return only points, `polyline` to return with encoded linestring, `true` to return both.","type":"string","default":"false","enum":["true","false","point","polyline"],"required":false},{"in":"query","name":"array","description":"Fetch all trips of a vehicle","type":"boolean","default":false,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Route"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"getRouteByVehicle"}},"/0.1/plannings/{planning_id}/routes/{route_id}/stops/{id}/move/{index}":{"patch":{"summary":"Move stop position in routes.","description":"Set a new #N position for a stop in route which was in a previous #M position in the same route or another.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Stop id to move","type":"integer","format":"int32","required":true},{"in":"path","name":"index","description":"New position in the route","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"moveStop"}},"/0.1/plannings/{planning_id}/routes/{route_id}/stops/{id}":{"put":{"summary":"Update stop.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","description":"Stop id to update","type":"integer","format":"int32","required":true},{"in":"formData","name":"active","description":"Stop taken into account or not in the route.","type":"boolean","required":false},{"in":"formData","name":"locked","description":"Stop locked within a route.","type":"boolean","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"updateStop"},"get":{"summary":"Fetch stop.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Stop"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["plannings"],"operationId":"getStop"}},"/0.1/profiles/{id}/layers":{"get":{"summary":"Fetch layers in the profile (admin).","description":"Only available with an admin api_key.\n           Get the list of available layers which can be used for maps.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Layer"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["profiles"],"operationId":"getProfileLayers"}},"/0.1/profiles/{id}/routers":{"get":{"summary":"Fetch routers in the profile (admin).","description":"Only available with an admin api_key.\n           Get the list of available routers which can be used for finding route between destinations.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Router"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["profiles"],"operationId":"getProfileRouters"}},"/0.1/profiles":{"get":{"summary":"Fetch profiles (admin).","description":"Only available with an admin api_key.\n           Get the available profiles which allow to select layers (maps) and routers (routes).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Profile"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["profiles"],"operationId":"getProfiles"}},"/0.1/relations/{id}/visits":{"get":{"summary":"Fetch visits included in a relation.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id of the relation to fetch.","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Visit"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["relations"],"operationId":"VisitsByRelation"}},"/0.1/relations/{id}/connections":{"get":{"summary":"Fetch relation's connections.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id of the relation to fetch.","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_connection"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["relations"],"operationId":"ConnectionsByRelation"}},"/0.1/relations":{"delete":{"summary":"Delete multiple relations.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids[]","description":"Ids separated by comma. If none id is provided, all objects are deleted.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["relations"],"operationId":"deleteRelations"},"get":{"summary":"Fetch customer's relations.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. If none id is provided, all objects are fetched.","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"query","name":"kind","description":"Type of relation.","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_relation"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["relations"],"operationId":"getRelations"}},"/0.1/relations/{id}":{"delete":{"summary":"Delete relation.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id of the relation to delete.","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["relations"],"operationId":"deleteRelation"},"get":{"summary":"Fetch relation.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id of the relation to fetch.","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_relation"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["relations"],"operationId":"getRelation"}},"/0.1/routers":{"get":{"summary":"Fetch customer's routers.","description":"Get the list of available routers which can be used for finding route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Router"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden. Operation not allowed with an admin api key.."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["routers"],"operationId":"getRouters"}},"/0.1/stores/{id}":{"get":{"summary":"Fetch store.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Store"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"getStore"},"delete":{"summary":"Delete store.","description":"At least one remaining store is required after deletion.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"deleteStore"},"put":{"summary":"Update store.","description":"If want to force geocoding for a new address, you have to send empty lat/lng with new address.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"formData","name":"postalcode","type":"string","required":false},{"in":"formData","name":"city","type":"string","required":false},{"in":"formData","name":"state","type":"string","required":false},{"in":"formData","name":"country","type":"string","required":false},{"in":"formData","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"color","description":"Color code with #. Default: #000000.","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-home.","type":"string","required":false},{"in":"formData","name":"icon_size","description":"Icon size. Default: large.","type":"string","enum":["small","medium","large"],"required":false},{"in":"formData","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Store"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"updateStore"}},"/0.1/stores/reverse":{"get":{"summary":"Reverse geocoding.","description":"Result of reverse geocoding is not saved with this operation.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"query","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Store"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"reverseGeocodingStore"}},"/0.1/stores/geocode_complete":{"get":{"summary":"Auto completion on store.","description":"Auto completion on address of store. Results are priorized from last geolocated store of the customer account.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"query","name":"postalcode","type":"string","required":false},{"in":"query","name":"city","type":"string","required":false},{"in":"query","name":"state","type":"string","required":false},{"in":"query","name":"country","type":"string","required":false},{"in":"query","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["stores"],"operationId":"autocompleteStore"}},"/0.1/stores/geocode":{"get":{"summary":"Geocode store.","description":"Result of geocoding is not saved with this operation. You can use update operation to save the result of geocoding.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"query","name":"postalcode","type":"string","required":false},{"in":"query","name":"city","type":"string","required":false},{"in":"query","name":"state","type":"string","required":false},{"in":"query","name":"country","type":"string","required":false},{"in":"query","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Store"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"geocodeStore"}},"/0.1/stores":{"delete":{"summary":"Delete multiple stores.","description":"At least one remaining store is required after deletion.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"string","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"deleteStores"},"put":{"summary":"Import stores by upload a CSV file or by JSON.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"header","name":"accept-language","description":"Language used in CSV file (useless without `file` parameter). Default value: `en`. French language: `fr`.","type":"string","required":false},{"in":"formData","name":"replace","type":"boolean","required":false},{"in":"formData","name":"file","description":"CSV file, encoding, separator and line return automatically detected, with localized CSV header according to HTTP header Accept-Language.","type":"file","required":false},{"in":"formData","name":"stores[]","description":"In mutual exclusion with CSV file upload.","type":"array","items":{"$ref":"#/definitions/V01_Store"},"required":false},{"in":"formData","name":"synchronous","description":"Synchronous or asynchronous (false) processing of import and geocoding (if geocoding necessary). If asynchronous, the running job can be found at the endpoint /0.1/jobs/{id} using the returned job id.","type":"boolean","default":true,"required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Store"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."},"422":{"description":"Unprocessable entity."}},"tags":["stores"],"operationId":"importStores"},"post":{"summary":"Create store.","description":"(Note a default store is already automatically created when a customer account is initialized.)","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"street","description":"Content from address only useful for geocoding.","type":"string","required":false},{"in":"formData","name":"postalcode","type":"string","required":false},{"in":"formData","name":"city","type":"string","required":false},{"in":"formData","name":"state","type":"string","required":false},{"in":"formData","name":"country","type":"string","required":false},{"in":"formData","name":"lat","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"lng","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded.","type":"number","format":"float","required":false},{"in":"formData","name":"color","description":"Color code with #. Default: #000000.","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-home.","type":"string","required":false},{"in":"formData","name":"icon_size","description":"Icon size. Default: large.","type":"string","enum":["small","medium","large"],"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Store"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["stores"],"operationId":"createStore"},"get":{"summary":"Fetch customer's stores. At least one store exists per customer.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"name_like","description":"Find stores with similarity on the name (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find stores with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Store"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["stores"],"operationId":"getStores"}},"/0.1/tags/{id}/visits":{"get":{"summary":"Get visit with corresponding tag id or tag ref","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Visit"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"VisitsByTags"}},"/0.1/tags":{"delete":{"summary":"Delete multiple tags.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"array","items":{"type":"string"},"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"deleteTags"},"post":{"summary":"Create tag.","description":"By creating a tag, it will be possible to filter visits and create a planning with only necessary visits, or set some visits to vehicles with same tags during optimization.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"label","type":"string","required":true},{"in":"formData","name":"color","description":"Color code with #. Default: #000000.","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-circle.","type":"string","required":false},{"in":"formData","name":"icon_size","description":"Icon size. Default: medium.","type":"string","enum":["small","medium","large"],"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Tag"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"createTag"},"get":{"summary":"Fetch customer's tags.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"label_like","description":"Find tags with similarity on the label (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find tags with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Tag"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["tags"],"operationId":"getTags"}},"/0.1/tags/{id}":{"delete":{"summary":"Delete tag.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"deleteTag"},"put":{"summary":"Update tag.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"label","type":"string","required":false},{"in":"formData","name":"color","description":"Color code with #. Default: #000000.","type":"string","required":false},{"in":"formData","name":"icon","description":"Icon name from font-awesome. Default: fa-circle.","type":"string","required":false},{"in":"formData","name":"icon_size","description":"Icon size. Default: medium.","type":"string","enum":["small","medium","large"],"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Tag"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"updateTag"},"get":{"summary":"Fetch tag.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Tag"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["tags"],"operationId":"getTag"}},"/0.1/users":{"delete":{"summary":"Delete multiple users (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["users"],"operationId":"deleteUsers"},"post":{"summary":"Create user (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ref","description":"Only available in admin. A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"email","type":"string","required":true},{"in":"formData","name":"customer_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"layer_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"api_key","type":"string","required":false},{"in":"formData","name":"url_click2call","type":"string","required":false},{"in":"formData","name":"prefered_unit","type":"string","required":false},{"in":"formData","name":"locale","description":"Currently used in mailing","type":"string","required":false},{"in":"formData","name":"enable_email_automation","description":"Enable sending automated emails dedicated to discovering the app or subscription","type":"boolean","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"password","type":"string","required":false},{"in":"formData","name":"send_password_email","type":"boolean","default":"false","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_User"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["users"],"operationId":"createUser"},"get":{"summary":"Fetch customer's users (or all users with an admin key).","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"email","description":"Only available with an admin api_key.","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_User"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["users"],"operationId":"getUsers"}},"/0.1/users/{id}":{"delete":{"summary":"Delete user (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["users"],"operationId":"deleteUser"},"put":{"summary":"Update user.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"Only available in admin. A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"email","type":"string","required":false},{"in":"formData","name":"customer_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"layer_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"api_key","type":"string","required":false},{"in":"formData","name":"url_click2call","type":"string","required":false},{"in":"formData","name":"prefered_unit","type":"string","required":false},{"in":"formData","name":"locale","description":"Currently used in mailing","type":"string","required":false},{"in":"formData","name":"enable_email_automation","description":"Enable sending automated emails dedicated to discovering the app or subscription","type":"boolean","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_User"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["users"],"operationId":"updateUser"},"get":{"summary":"Fetch user.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_User"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["users"],"operationId":"getUser"}},"/0.1/vehicles/{id}/deliverable_units":{"get":{"summary":"Fetch deliverable units by vehicle and plan","description":"Get list of deliverable units for a vehicle on each specified plan","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"planning_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_DeliverablesByVehicles"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"getDeliverablesByVehicles"}},"/0.1/vehicles":{"delete":{"summary":"Delete multiple vehicles (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"string","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"deleteVehicles"},"post":{"summary":"Create vehicle (admin).","description":"Only available with an admin api_key. For each new created Vehicle and VehicleUsageSet a new VehicleUsage will be created at the same time (i.e. customer has 2 VehicleUsageSets 'Morning' and 'Evening', a new Vehicle is created: 2 new VehicleUsages will be automatically created with the new vehicle).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"customer_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"contact_email","type":"string","required":false},{"in":"formData","name":"phone_number","type":"string","required":false},{"in":"formData","name":"fuel_type","type":"string","enum":["nothing","petrol","petrol_E10","petrol_E85","diesel","biodiesel_B30","lgp","ngv","electric"],"required":false},{"in":"formData","name":"consumption","type":"integer","format":"int32","required":false},{"in":"formData","name":"color","description":"Color code with `#`. For instance: `#FF0000`","type":"string","required":false},{"in":"formData","name":"router_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_dimension","type":"string","enum":["time","distance"],"required":false},{"in":"formData","name":"speed_multiplier","type":"number","format":"float","required":false},{"in":"formData","name":"max_distance","description":"Maximum achievable distance in meters","type":"integer","format":"int32","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"time_window_start","description":"Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"time_window_end","description":"Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"store_start_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"store_stop_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"service_time_start","description":"Duration in store start. Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"service_time_end","description":"Duration in store end. Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"work_time","description":"Work time duration (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"start_mode","description":"Start mode of the vehicle usage - 'earliest' (default) or 'latest'","type":"string","required":false},{"in":"formData","name":"rest_start","description":"Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"rest_stop","description":"Schedule time (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"rest_duration","description":"Rest duration (HH:MM:SS) or number of seconds","type":"integer","format":"int32","required":false},{"in":"formData","name":"store_rest_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"active","type":"boolean","required":false},{"in":"formData","name":"trip_index","description":"Position in multi-trip case.","type":"integer","format":"int32","required":false},{"in":"formData","name":"cutoff_duration","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds.","type":"string","required":false},{"in":"formData","name":"cost","description":"Cost (fixed) of the vehicle and structure","type":"number","format":"double","required":false},{"in":"formData","name":"cost_time","description":"Cost of service per hour","type":"number","format":"double","required":false},{"in":"formData","name":"cost_distance","description":"Cost of service per kilometer/mile","type":"number","format":"double","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"capacities[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"capacities[][quantity]","description":"Value (positive or zero for unmanageable unit)","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"minimum_loads[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"minimum_loads[][quantity]","description":"Minimum load value","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"router_options[track]","type":"boolean","required":false},{"in":"formData","name":"router_options[motorway]","type":"boolean","required":false},{"in":"formData","name":"router_options[toll]","type":"boolean","required":false},{"in":"formData","name":"router_options[trailers]","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_options[weight]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[weight_per_axle]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[height]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[width]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[length]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[hazardous_goods]","type":"string","required":false},{"in":"formData","name":"router_options[max_walk_distance]","type":"number","format":"float","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Vehicle"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"createVehicle"},"get":{"summary":"Fetch customer's vehicles.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"array","items":{"type":"string"},"required":false},{"in":"query","name":"name_like","description":"Find vehicles with similarity on the name (case insensitive).","type":"string","required":false},{"in":"query","name":"ref_like","description":"Find vehicles with similarity on the reference (case insensitive).","type":"string","required":false},{"in":"query","name":"words_mask","description":"Words separated by commas that will skip the similarity check (case insensitive)","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Vehicle"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["vehicles"],"operationId":"getVehicles"}},"/0.1/vehicles/{id}":{"delete":{"summary":"Delete vehicle (admin).","description":"Only available with an admin api_key.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"deleteVehicle"},"put":{"summary":"Update vehicle.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"contact_email","type":"string","required":false},{"in":"formData","name":"phone_number","type":"string","required":false},{"in":"formData","name":"fuel_type","type":"string","enum":["nothing","petrol","petrol_E10","petrol_E85","diesel","biodiesel_B30","lgp","ngv","electric"],"required":false},{"in":"formData","name":"consumption","type":"integer","format":"int32","required":false},{"in":"formData","name":"color","description":"Color code with `#`. For instance: `#FF0000`","type":"string","required":false},{"in":"formData","name":"router_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_dimension","type":"string","enum":["time","distance"],"required":false},{"in":"formData","name":"speed_multiplier","type":"number","format":"float","required":false},{"in":"formData","name":"max_distance","description":"Maximum achievable distance in meters","type":"integer","format":"int32","required":false},{"in":"formData","name":"tag_ids[]","description":"List of skills (tags)","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"vehicle_usages[]","type":"array","items":{"$ref":"#/definitions/V01_VehicleUsage"},"required":false},{"in":"formData","name":"capacities[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"capacities[][quantity]","description":"Value (positive or zero for unmanageable unit)","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"minimum_loads[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"minimum_loads[][quantity]","description":"Minimum load value","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"router_options[track]","type":"boolean","required":false},{"in":"formData","name":"router_options[motorway]","type":"boolean","required":false},{"in":"formData","name":"router_options[toll]","type":"boolean","required":false},{"in":"formData","name":"router_options[trailers]","type":"integer","format":"int32","required":false},{"in":"formData","name":"router_options[weight]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[weight_per_axle]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[height]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[width]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[length]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[hazardous_goods]","type":"string","required":false},{"in":"formData","name":"router_options[max_walk_distance]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[approach]","type":"string","required":false},{"in":"formData","name":"router_options[snap]","type":"number","format":"float","required":false},{"in":"formData","name":"router_options[strict_restriction]","type":"boolean","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Vehicle"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"updateVehicle"},"get":{"summary":"Fetch vehicle.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Vehicle"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicles"],"operationId":"getVehicle"}},"/0.1/vehicles/temperature":{"get":{"summary":"Get vehicle's temperatures.","description":"Only available with compatible configured device (Fleet / Mapo Driver, Sopac, etc...)","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"integer","format":"int32","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleTemperature"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["vehicles"],"operationId":"getTemperature"}},"/0.1/vehicles/current_position":{"get":{"summary":"Get vehicle's positions.","description":"Only available if `enable_vehicle_position` is true for customer account and with compatible configured device (Fleet / Mapo Driver, Webfleet, etc...).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"integer","format":"int32","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VehiclePosition"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["vehicles"],"operationId":"currentPosition"}},"/0.1/vehicle_usage_sets/{vehicle_usage_set_id}/vehicle_usages/{id}":{"put":{"summary":"Update vehicle_usage.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"vehicle_usage_set_id","type":"integer","format":"int32","required":true},{"in":"path","name":"id","type":"integer","format":"int32","required":true},{"in":"formData","name":"store_start_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"store_stop_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"start_mode","description":"Defines whether the vehicle should start as early or as late as possible within its working time window, while respecting route constraints.","type":"string","default":"earliest","enum":["earliest","latest"],"required":false},{"in":"formData","name":"store_rest_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"active","type":"boolean","required":false},{"in":"formData","name":"cost","description":"Cost of the vehicle plus the cost of the structure","type":"number","format":"double","required":false},{"in":"formData","name":"cost_time","description":"Cost of service per hour","type":"number","format":"double","required":false},{"in":"formData","name":"cost_distance","description":"Kilometre/Miles cost","type":"number","format":"double","required":false},{"in":"formData","name":"time_window_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"service_time_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"service_time_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"work_time","description":"Work time duration (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"rest_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_stop","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_duration","description":"Rest duration (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_VehicleUsageWithVehicle"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsageSet or VehicleUsage not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"updateVehicleUsage"},"get":{"summary":"Fetch vehicle_usage.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"vehicle_usage_set_id","type":"integer","format":"int32","required":true},{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_VehicleUsageWithVehicle"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsageSet or VehicleUsage not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"getVehicleUsage"}},"/0.1/vehicle_usage_sets/{vehicle_usage_set_id}/vehicle_usages":{"get":{"summary":"Fetch customer's vehicle_usages.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"vehicle_usage_set_id","type":"integer","format":"int32","required":true},{"in":"query","name":"ids[]","description":"Select returned vehicle_usages by id.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleUsageWithVehicle"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"VehicleUsageSet or VehicleUsage not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["vehicle_usage_sets"],"operationId":"getVehicleUsages"}},"/0.1/vehicle_usage_sets":{"put":{"summary":"Import vehicle usage set by upload a CSV file or by JSON.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"header","name":"accept-language","description":"Language used in CSV file (useless without `file` parameter). Default value: `en`. French language: `fr`.","type":"string","required":false},{"in":"formData","name":"replace_vehicles","type":"boolean","default":"false","required":false},{"in":"formData","name":"file","description":"CSV file, encoding, separator and line return automatically detected, with localized CSV header according to HTTP header Accept-Language.","type":"file","required":false},{"in":"formData","name":"vehicle_usage_sets[]","description":"In mutual exclusion with CSV file upload.","type":"array","items":{"$ref":"#/definitions/V01_VehicleUsageSet"},"required":false},{"in":"formData","name":"synchronous","description":"Synchronous or asynchronous (false) processing of import. Asynchronous option is only available for CSV files, in this case the running job can be found at the endpoint /0.1/jobs/{id} using the returned job id.","type":"boolean","default":true,"required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleUsageSet"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."},"422":{"description":"Unprocessable entity."}},"tags":["vehicle_usage_sets"],"operationId":"importVehicleUsageSets"},"delete":{"summary":"Delete multiple vehicle_usage_sets.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids[]","description":"If no Id is provided, all objects are deleted.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"deleteVehicleUsageSets"},"post":{"summary":"Create vehicle_usage_set.","description":"(Note a `vehicle_usage_set` is already automatically created when a customer account is initialized.)\n           For instance, if the same customer account needs to use one vehicle 2 times per day (morning and evening), he needs 2 `VehicleUsageSet` called \"Morning\" and \"Evening\". A `VehicleUsage` per `Vehicle` is automatically created. The new `VehicleUsageSet` allows to define new default values for `VehicleUsage.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"store_start_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"store_stop_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"start_mode","description":"Defines whether the vehicle should start as early or as late as possible within its working time window, while respecting route constraints.","type":"string","default":"earliest","enum":["earliest","latest"],"required":false},{"in":"formData","name":"store_rest_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"max_distance","description":"Maximum achievable distance in meters","type":"integer","format":"int32","required":false},{"in":"formData","name":"vehicle_trips","description":"Number of trips by vehicle in multi-trip case.","type":"integer","format":"int32","required":false},{"in":"formData","name":"cost","description":"Cost of the vehicle plus the cost of the structure","type":"number","format":"double","required":false},{"in":"formData","name":"cost_time","description":"Cost of service per hour","type":"number","format":"double","required":false},{"in":"formData","name":"cost_distance","description":"Kilometre/Miles cost","type":"number","format":"double","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"time_window_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":true},{"in":"formData","name":"time_window_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":true},{"in":"formData","name":"service_time_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"service_time_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"work_time","description":"Work time (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"rest_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_stop","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_duration","description":"Rest duration (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"cutoff_duration","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds.","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_VehicleUsageSet"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"createVehicleUsageSet"},"get":{"summary":"Fetch customer's vehicle_usage_sets. At least one vehicle_usage_set exists per customer.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids[]","description":"Select returned vehicle_usage_sets by id.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleUsageSet"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["vehicle_usage_sets"],"operationId":"getVehicleUsageSets"}},"/0.1/vehicle_usage_sets/{id}":{"delete":{"summary":"Delete vehicle_usage_set.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"deleteVehicleUsageSet"},"put":{"summary":"Update vehicle_usage_set.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"store_start_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"store_stop_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"start_mode","description":"Defines whether the vehicle should start as early or as late as possible within its working time window, while respecting route constraints.","type":"string","default":"earliest","enum":["earliest","latest"],"required":false},{"in":"formData","name":"store_rest_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"max_distance","description":"Maximum achievable distance in meters","type":"integer","format":"int32","required":false},{"in":"formData","name":"vehicle_trips","description":"Number of trips by vehicle in multi-trip case.","type":"integer","format":"int32","required":false},{"in":"formData","name":"cost","description":"Cost of the vehicle plus the cost of the structure","type":"number","format":"double","required":false},{"in":"formData","name":"cost_time","description":"Cost of service per hour","type":"number","format":"double","required":false},{"in":"formData","name":"cost_distance","description":"Kilometre/Miles cost","type":"number","format":"double","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"time_window_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"service_time_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"service_time_end","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"work_time","description":"Work time (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"rest_start","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_stop","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"rest_duration","description":"Rest duration (HH:MM:SS) or number of seconds","type":"string","required":false},{"in":"formData","name":"cutoff_duration","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds.","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_VehicleUsageSet"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"updateVehicleUsageSet"},"get":{"summary":"Fetch vehicle_usage_set.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_VehicleUsageSet"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["vehicle_usage_sets"],"operationId":"getVehicleUsageSet"}},"/0.1/visits/search":{"get":{"summary":"Fetch visits with filter and pagination","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"filters[]","description":"model.attribute:value separated by comma. (example: destinations.ref:ref1,plannings.name:planning1).","type":"array","items":{"type":"string"},"required":false},{"in":"formData","name":"sorting[]","description":"model.attribute:order (asc/desc) separated by comma (example: destinations.ref:asc,plannings.name:desc), filters and search_query are mutually exclusive.","type":"array","items":{"type":"string","default":["id:desc"]},"required":false},{"in":"query","name":"offset","description":"Number of elements skipped.","type":"integer","format":"int32","required":false},{"in":"query","name":"limit","description":"Number of elements returned.","type":"integer","format":"int32","required":true},{"in":"query","name":"with_length","description":"Return the total length matching the filters or search query. (regardless of the limit) ","type":"boolean","default":"false","required":false},{"in":"query","name":"search_query","description":"Value for the global search, filters and search_query are mutually exclusive.","type":"string","required":false},{"in":"query","name":"with_ids","description":"Return an array of all ids matching the filters or search query. (regardless of the limit)","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_SearchVisits"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["visits"],"operationId":"paginatedVisit"}},"/0.1/visits":{"get":{"summary":"Fetch customer's visits.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"query","name":"with_extra_properties","description":"Only for GeoJSON format. Include extra properties in GeoJSON output like quantities, duration, etc...","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Visit"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["visits"],"operationId":"getVisits"},"put":{"summary":"Update multiple visits.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":true},{"in":"formData","name":"tags_operation","description":"Add : add the tags to the existing ones | Remove : remove the tags from the existings ones | Default : change the tags","type":"string","default":"default","enum":["add","remove","default"],"required":false},{"in":"formData","name":"ref","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`).","type":"string","required":false},{"in":"formData","name":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date.","type":"string","format":"date","required":false},{"in":"formData","name":"repeat_timewindows","description":"Repeat time windows on the next days","type":"boolean","default":true,"required":false},{"in":"formData","name":"tags[]","description":"List of tags that will be created with the visit (only ref and label allowed).","type":"array","items":{"$ref":"#/definitions/V01_Tag"},"required":false},{"in":"formData","name":"priority","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined).","type":"integer","format":"int32","required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false},{"in":"formData","name":"tag_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"string","required":false},{"in":"formData","name":"quantities[][deliverable_unit_id]","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][quantity]","description":"Value (positive or negative to distinct pickup and delivery)","type":"array","required":false,"items":{"type":"number","format":"float"}},{"in":"formData","name":"quantities[][operation]","description":"To use only in case vehicle is fully emptied or fully filled.","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"quantities[][codes][]","description":"Array of codes separated by commas","type":"array","items":{"type":"string"},"required":false},{"in":"formData","name":"time_window_start_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_1","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_start_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"time_window_end_2","description":"Schedule time (HH:MM) or number of seconds since midnight","type":"string","required":false},{"in":"formData","name":"duration","description":"Visit duration (HH:MM:SS) or number of seconds","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Visits"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["visits"],"operationId":"updateVisits"},"delete":{"summary":"Delete multiple visits.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"string","required":false},{"in":"query","name":"delete_destination","description":"If true delete destination if it's the last visit","type":"boolean","default":false,"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["visits"],"operationId":"deleteVisits"}},"/0.1/visits/import":{"put":{"summary":"Import visits by JSON.","description":"Import multiple visits and destinations. Use your internal and unique ids as a \"reference\" to automatically retrieve and update objects. If `route` key is provided for a visit or if a planning attribute is sent, a planning will be automatically created at the same time. If all `route` attibutes are blank or no attribute for planning is sent, only destinations and visits will be created/updated.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"synchronous","description":"Synchronous or asynchronous (false) processing of import and geocoding (if geocoding necessary). If asynchronous, the running job can be found at the endpoint /0.1/jobs/{id} using the returned job id.","type":"boolean","default":true,"required":false},{"in":"formData","name":"replace","description":"Remove all existing destinations/visits before importing new ones.","type":"boolean","default":false,"required":false},{"in":"formData","name":"merge_rows","description":"Merge file rows with the same client (identified by its reference) and import only one visit. Only available for CSV files","type":"boolean","required":false},{"in":"formData","name":"visits[]","type":"array","items":{"$ref":"#/definitions/V01_VisitWithDestinationImportJson"},"required":true}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_VisitWithDestinationWithoutVisits"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."},"422":{"description":"Unprocessable entity."}},"tags":["visits"],"operationId":"importVisits"}},"/0.1/webhook_endpoints/{id}":{"delete":{"summary":"Delete a webhook endpoint","description":"Delete a webhook endpoint and its associated webhook event.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"deleteWebhookEndpoint"},"get":{"summary":"Get a Webhook endpoint and webhook events (admin only)","description":"Get a webhook endpoint and associated webhook event(s).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_WebhookEndpoint"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"createWebhookEndpoint"}},"/0.1/webhook_endpoints":{"post":{"summary":"Create a webhook endpoint and webhook event (admin only)","description":"Create a webhook endpoint and associated webhook event(s).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"name","description":"Name of the endpoint.","type":"string","required":true},{"in":"formData","name":"enabled","type":"boolean","required":false},{"in":"formData","name":"credential_position","description":"Where the credential will be in the request: \"headers\", \"query\" or \"payload\".","type":"string","required":false},{"in":"formData","name":"url","description":"Request's url.","type":"string","required":true},{"in":"formData","name":"query","description":"Request's query.","type":"string","required":false},{"in":"formData","name":"method","description":"Request's method.","type":"string","required":false},{"in":"formData","name":"webhook_events[][customer_id]","type":"array","required":true,"items":{"type":"integer","format":"int32"}},{"in":"formData","name":"webhook_events[][event_callback]","description":"\"after_update\" or \"after_create\".","type":"array","required":true,"items":{"type":"string"}},{"in":"formData","name":"webhook_events[][event_model]","description":"name of the model on which the associated webhook endpoint is called.","type":"array","required":true,"items":{"type":"string"}},{"in":"formData","name":"webhook_events[][model_attributes][]","description":"The associated webhook endpoint is triggered after update of one or several of the provided model's attributes. Only for \"after_update\" as event_callback.","type":"array","items":{"type":"string"},"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_WebhookEndpoint"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"createWebhookEndpoint"},"get":{"summary":"Get all Webhook endpoints and webhook events (admin only)","description":"Get all webhook endpoints and associated webhook event(s) for a reseller.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_WebhookEndpoint"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"createWebhookEndpoint"}},"/0.1/webhook_endpoints/{webhook_endpoint_id}/webhook_events":{"delete":{"summary":"Delete webhook events (admin only)","description":"Delete webhook events associated to an existing webhook endpoint.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"webhook_endpoint_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"ids[]","type":"array","items":{"type":"integer","format":"int32"},"required":false},{"in":"query","name":"delete_all","description":"At true, all webhook events associated to the webhook endpoint will be deleted","type":"boolean","required":false},{"in":"query","name":"delete_webhook_endpoint","description":"At true, webhook endpoint will be deleted if it's the last webhook event","type":"boolean","default":false,"required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"deleteWebhookEVent"},"post":{"summary":"Create a webhook event (admin only)","description":"Create a webhook event associated to an existing webhook endpoint.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"webhook_endpoint_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"customer_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"event_callback","description":"\"after_update\" or \"after_create\".","type":"string","required":true},{"in":"formData","name":"event_model","description":"name of the model on which the associated webhook endpoint is called.","type":"string","required":true},{"in":"formData","name":"model_attributes[]","description":"The associated webhook endpoint is triggered after update of one or several of the provided model's attributes. Only for \"after_update\" as event_callback.","type":"array","items":{"type":"string"},"required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_WebhookEvent"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["webhook_endpoints"],"operationId":"createWebhookEVent"}},"/0.1/zooms":{"put":{"summary":"Update the zoom planning.","description":"Update the zoom planning for a customer.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"the planning id we attach the zoom level","type":"integer","format":"int32","required":true},{"in":"formData","name":"zoom_level","description":"the zoom level for the map at the next display","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zooms"],"operationId":"updateZoomPlanning"}},"/0.1/zonings/{id}/zones/{zone_id}":{"get":{"summary":"Fetch zone.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"zone_id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zone"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"getZone"},"put":{"summary":"Update zone.","description":"Update zone.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"speed_multiplicator","description":"Deprecated, use speed_multiplier instead.","type":"number","format":"float","required":false},{"in":"formData","name":"vehicle_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"polygon","type":"string","required":false},{"in":"formData","name":"speed_multiplier","description":"Speed multiplier for this area. Taken into accound only for routers which support avoid_zones or speed_zones.","type":"number","format":"float","required":false},{"in":"path","name":"zone_id","type":"integer","format":"int32","required":true}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"updateZone"},"delete":{"summary":"Delete zone.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"zone_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"deleteZone"}},"/0.1/zonings/{id}/zones":{"get":{"summary":"Fetch zoning's zones.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"ids[]","description":"Zones ids separated by comma.","type":"array","items":{"type":"integer","format":"int32"},"required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Zone"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"getZones"},"post":{"summary":"Create zone.","description":"Create a new zone.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"speed_multiplicator","description":"Deprecated, use speed_multiplier instead.","type":"number","format":"float","required":false},{"in":"formData","name":"vehicle_id","type":"integer","format":"int32","required":false},{"in":"formData","name":"polygon","type":"string","required":true},{"in":"formData","name":"speed_multiplier","description":"Speed multiplier for this area. Taken into accound only for routers which support avoid_zones or speed_zones.","type":"number","format":"float","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"createZone"},"delete":{"summary":"Delete multiple zones.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"zone_ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"integer","format":"int32","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"deleteZones"}},"/0.1/zonings/{id}/zones/{zone_id}/destinations":{"get":{"summary":"Fetch customer's destinations by zone.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"zone_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242). If present, takes destinations related to planning","type":"string","required":false}],"responses":{"200":{"description":"Fetch customer's destinations by zone.","schema":{"$ref":"#/definitions/V01_DestinationsByZone"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"getDestinationsByZone"}},"/0.1/zonings":{"put":{"summary":"Import zonings by uploading a GeoJSON","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"replace","description":"Remove all existing zonings before importing new ones.","type":"boolean","default":"false","required":false},{"in":"formData","name":"synchronous","description":"Synchronous or asynchronous (false) processing of import. In this asynchronous case, the running job can be found at the endpoint /0.1/jobs/{id} using the returned job id.","type":"boolean","default":true,"required":false},{"in":"formData","name":"file","description":"File with content in GeoJSON format","type":"file","required":false},{"in":"formData","name":"zonings","description":"GeoJSON format. In mutual exclusion with file upload.","type":"array","items":{"$ref":"#/definitions/V01_MultipleImportGeojson"},"required":false}],"responses":{"204":{"description":"No Content."},"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Zoning"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."},"422":{"description":"Unprocessable entity."}},"tags":["zonings"],"operationId":"importZonings"},"delete":{"summary":"Delete multiple zonings.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`. If no Id is provided, all objects are deleted.","type":"integer","format":"int32","required":false}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"deleteZonings"},"post":{"summary":"Create zoning.","description":"Create a new empty zoning. Zones will can be created for this zoning thereafter.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"name","type":"string","required":true},{"in":"formData","name":"ref","type":"string","required":false},{"in":"formData","name":"zones[]","type":"array","items":{"$ref":"#/definitions/V01_Zone"},"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"createZoning"},"get":{"summary":"Fetch customer's zonings.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"ids","description":"Ids separated by comma. You can specify ref (not containing comma) instead of id, in this case you have to add `ref:` before each ref, e.g. `ref:ref1,ref:ref2,ref:ref3`.","type":"integer","format":"int32","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Zoning"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["zonings"],"operationId":"getZonings"}},"/0.1/zonings/{id}/destinations":{"get":{"summary":"Fetch customer's destinations by zoning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242). If present, takes destinations related to planning","type":"string","required":false}],"responses":{"200":{"description":"Fetch customer's destinations by zoning.","schema":{"$ref":"#/definitions/V01_DestinationsByZonings"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"getDestinationsByZoning"}},"/0.1/zonings/{id}/polygon_by_point":{"get":{"summary":"Find the zone where a point belongs to.","description":"Find the closest zone for the specified coordinates.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"query","name":"lat","description":"Decimal value between -90 and 90.","type":"number","format":"float","required":true},{"in":"query","name":"lng","description":"Decimal value between -180 and 180.","type":"number","format":"float","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zone"}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"polygonByPoint"}},"/0.1/zonings/{id}/automatic":{"patch":{"summary":"Generate zoning automatically.","description":"Create #N new automatic zones in current zoning for a dedicated planning. All planning's stops (or all visits from destinations if there is no planning linked to this zoning) are taken into account, even if they are out of route. All previous existing zones are cleared. Each generated zone is linked to a dedicated vehicle.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":false},{"in":"formData","name":"n","description":"Number of produced zones. Default to vehicles number.","type":"integer","format":"int32","required":false},{"in":"formData","name":"strategy","type":"string","default":"same_size","enum":["same_size","balanced"],"required":false},{"in":"formData","name":"balanced_metric","description":"Only used if `strategy` is `balanced`. Can be `duration` or an id of a deliverable unit.","type":"string","required":false},{"in":"formData","name":"day_count","description":"Number of days to compute accumulated capacity and approximate approach time inside each clusters (only taken into account in case of `balanced` strategy).","type":"integer","format":"int32","default":1,"required":false},{"in":"formData","name":"with_unplanned","description":"Take into account unplanned stops or not.","type":"boolean","default":"true","required":false},{"in":"formData","name":"add_tags","description":"Add visual tag with color of the zone for each point (only available for one zoning)","type":"boolean","default":"false","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateAutomatic"}},"/0.1/zonings/{id}/from_planning/{planning_id}":{"patch":{"summary":"Generate zoning from planning.","description":"Create new automatic zones in current zoning for a dedicated planning. Only stops in a route with vehicle are taken into account. All previous existing zones are cleared. Each generated zone is linked to a dedicated vehicle.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"path","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateFromPlanning"}},"/0.1/zonings/{id}":{"delete":{"summary":"Delete zoning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"deleteZoning"},"put":{"summary":"Update zoning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"name","type":"string","required":false},{"in":"formData","name":"ref","type":"string","required":false},{"in":"formData","name":"zones[]","type":"array","items":{"$ref":"#/definitions/V01_Zone"},"required":false},{"in":"formData","name":"custom_attributes","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`","type":"string","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"updateZoning"},"get":{"summary":"Fetch zoning.","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"getZoning"}},"/0.1/zonings/{id}/merge_zones":{"patch":{"summary":"Merge zones","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"zone_ids[]","type":"array","items":{"type":"integer","format":"int32"},"required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"MergeZones"}},"/0.1/zonings/isodistance":{"get":{"summary":"Build isodistance for a point.","description":"Build isodistance polygon from a specific point. No zoning is saved in database.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Decimal value between -90 and 90.","type":"number","format":"float","required":true},{"in":"query","name":"lng","description":"Decimal value between -180 and 180.","type":"number","format":"float","required":true},{"in":"query","name":"size","description":"Area accessible from the start point by this travel distance in meters.","type":"integer","format":"int32","required":true},{"in":"query","name":"vehicle_usage_id","description":"If not provided, use default router from customer.","type":"integer","format":"int32","required":false},{"in":"query","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time of the vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"buildIsodistance"}},"/0.1/zonings/isochrone":{"get":{"summary":"Build isochrone for a point.","description":"Build isochrone polygon from a specific point. No zoning is saved in database.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Decimal value between -90 and 90.","type":"number","format":"float","required":true},{"in":"query","name":"lng","description":"Decimal value between -180 and 180.","type":"number","format":"float","required":true},{"in":"query","name":"size","description":"Area accessible from the start point by this travel time in seconds.","type":"integer","format":"int32","required":true},{"in":"query","name":"vehicle_usage_id","description":"If not provided, use default router from customer.","type":"integer","format":"int32","required":false},{"in":"query","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time of the vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"buildIsochrone"}},"/0.1/zonings/{id}/vehicle_usage/{vehicle_usage_id}/isodistance":{"patch":{"summary":"Generate isodistance for only one vehicle usage.","description":"Generate zoning with isodistance polygon from specified vehicle's start.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"size","description":"Area accessible from the start store by this travel distance in meters.","type":"integer","format":"int32","required":true},{"in":"path","name":"vehicle_usage_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time of the vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zone"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsage not found","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateIsodistanceVehicleUsage"}},"/0.1/zonings/{id}/isodistance":{"patch":{"summary":"Generate isodistances.","description":"Generate zoning with isodistance polygons for all vehicles. All previous existing zones are cleared.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"size","description":"Area accessible from the start store by this travel distance in meters.","type":"integer","format":"int32","required":true},{"in":"formData","name":"vehicle_usage_set_id","description":"If not provided, use one or the only one vehicle_usage_set.","type":"integer","format":"int32","required":false},{"in":"formData","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time for each vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsageSet not found","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateIsodistance"}},"/0.1/zonings/{id}/vehicle_usage/{vehicle_usage_id}/isochrone":{"patch":{"summary":"Generate isochrone for only one vehicle usage.","description":"Generate zoning with isochrone polygon from specified vehicle's start.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"size","description":"Area accessible from the start store by this travel time in seconds.","type":"integer","format":"int32","required":true},{"in":"path","name":"vehicle_usage_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time of the vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zone"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsage not found","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateIsochroneVehicleUsage"}},"/0.1/zonings/{id}/isochrone":{"patch":{"summary":"Generate isochrones.","description":"Generate zoning with isochrone polygons for all vehicles. All previous existing zones are cleared.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"size","description":"Area accessible from the start store by this travel time in seconds.","type":"integer","format":"int32","required":true},{"in":"formData","name":"vehicle_usage_set_id","description":"If not provided, use one or the only one vehicle_usage_set.","type":"integer","format":"int32","required":false},{"in":"formData","name":"departure_date","description":"Departure date (only used if router supports traffic). Time Window Start time for each vehicle is used in addition of this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"VehicleUsageSet not found","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["zonings"],"operationId":"generateIsochrone"}},"/0.1/zonings/{id}/administrative_level":{"patch":{"summary":"Generate administrative area","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"area_ids[]","description":"Area ids separated by comma.","type":"array","items":{"type":"integer","format":"int32"},"required":true}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Zoning"}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["zonings"],"operationId":"generateAdminZone"}},"/0.1/zonings/administrative_level":{"get":{"summary":"Fetch administrative area","description":"","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"intersect","description":"GeoJSON formatted string (Poylgon, Point, Polyline)","type":"string","required":false},{"in":"query","name":"area_id","description":"Area id","type":"integer","format":"int32","required":false},{"in":"query","name":"with_sub_areas","type":"boolean","required":false}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_GeojsonFeatureCollection"}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["zonings"],"operationId":"getAdminZoneGeojson"}},"/0.1/devices/sopac/devices":{"get":{"summary":"List Devices.","description":"List Sopac devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceSopacList"}},"/0.1/devices/praxedo/clear_multiple":{"delete":{"description":"Clear routes from Praxedo.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"devicePraxedoClear"}},"/0.1/devices/praxedo/clear":{"delete":{"description":"Clear route from Praxedo.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"devicePraxedoClear"}},"/0.1/devices/praxedo/send_multiple":{"post":{"summary":"Send Planning Routes.","description":"Send routes to Praxedo.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"devicePraxedoSendMultiple"}},"/0.1/devices/notico/clear_multiple":{"delete":{"description":"Clear Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceNoticoClearMultiple"}},"/0.1/devices/notico/clear":{"delete":{"description":"Clear Route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceNoticoClear"}},"/0.1/devices/notico/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceNoticoSendMultiple"}},"/0.1/devices/suivi_de_flotte/devices":{"get":{"description":"List Devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceSuiviDeFlotteList"}},"/0.1/devices/stg/devices":{"get":{"summary":"List Devices.","description":"List STG devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceSTGList"}},"/0.1/devices/tomtom/sync":{"patch":{"summary":"Import Vehicles from Webfleet.","description":"Import `Vehicles` from Webfleet.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTomtomSync"}},"/0.1/devices/tomtom/clear_multiple":{"delete":{"description":"Clear Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTomtomClearMultiple"}},"/0.1/devices/tomtom/clear":{"delete":{"description":"Clear Route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTomtomClear"}},"/0.1/devices/tomtom/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"type","description":"Action Name","type":"string","enum":["waypoints","orders"],"required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTomtomSendMultiple"}},"/0.1/devices/tomtom/devices":{"get":{"description":"List Devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceTomtomList"}},"/0.1/devices/teksat/sync":{"patch":{"summary":"Import Vehicles from Teksat.","description":"Import `Vehicles` from Teksat.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTeksatSync"}},"/0.1/devices/teksat/clear_multiple":{"delete":{"description":"Clear Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTeksatClearMultiple"}},"/0.1/devices/teksat/clear":{"delete":{"description":"Clear Route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTeksatClear"}},"/0.1/devices/teksat/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceTeksatSendMultiple"}},"/0.1/devices/teksat/devices":{"get":{"description":"List Devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceTeksatList"}},"/0.1/devices/orange/sync":{"patch":{"description":"Synchronise Vehicles.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceOrangeClearSync"}},"/0.1/devices/orange/clear_multiple":{"delete":{"description":"Clear Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceOrangeClearMultiple"}},"/0.1/devices/orange/clear":{"delete":{"description":"Clear Route.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceOrangeClear"}},"/0.1/devices/orange/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceOrangeSendMultiple"}},"/0.1/devices/orange/devices":{"get":{"description":"List Devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceOrangeList"}},"/0.1/devices/masternaut/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceMasternautSendMultiple"}},"/0.1/devices/alyacom/send_multiple":{"post":{"description":"Send Planning Routes.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceAlyacomSendMultiple"}},"/0.1/devices/fleet/reporting/forms":{"get":{"summary":"Get forms reporting.","description":"Get forms reporting from Mapo Driver (Fleet) missions. Range between `begin_date` and `end_date` must be inferior to 31 days.","produces":["application/json; charset=UTF-8","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;Base64","text/csv"],"parameters":[{"in":"query","name":"begin_date","description":"Select only plannings after this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true},{"in":"query","name":"end_date","description":"Select only plannings before this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_ReportingRoute"}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"reporting."}},"/0.1/devices/fleet/reporting/public_forms":{"get":{"summary":"Get public forms reporting.","description":"Get public forms reporting from Mapo Driver (Fleet) missions. Range between `begin_date` and `end_date` must be inferior to 31 days.","produces":["application/json; charset=UTF-8","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;Base64","text/csv"],"parameters":[{"in":"query","name":"begin_date","description":"Select only plannings after this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true},{"in":"query","name":"end_date","description":"Select only plannings before this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_ReportingRoute"}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"reporting."}},"/0.1/devices/fleet/reporting":{"get":{"summary":"Get reporting.","description":"Get reporting from Mapo Driver (Fleet) missions. Range between `begin_date` and `end_date` must be inferior to 31 days.","produces":["application/json; charset=UTF-8","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;Base64","text/csv"],"parameters":[{"in":"query","name":"begin_date","description":"Select only plannings after this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true},{"in":"query","name":"end_date","description":"Select only plannings before this date Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":true},{"in":"query","name":"with_actions","description":"Get history of actions","type":"boolean","required":false}],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_ReportingRoute"}}},"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"reporting."}},"/0.1/devices/fleet/create_or_update_drivers":{"patch":{"summary":"Create or update drivers (admin).","description":"Create or update drivers in Mapo Driver (Fleet) from `Vehicle` attributes. Only vehicles with `contact_email` filled will be linked to a Mapo Driver (Fleet) device: a new fleet driver is created or updated if `contact_email` is still existing for a given fleet driver. Only available with an admin `api_key` that is allowed to administrate Fleet.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"customer_id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_FleetDriver"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetCreateDrivers"}},"/0.1/devices/fleet/update_company":{"patch":{"summary":"Update company (admin).","description":"Update company account in Mapo Driver (Fleet) from `Customer` attributes. Only available with an admin `api_key` that is allowed to administrate Fleet.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"customer_id","type":"integer","format":"int32","required":true}],"responses":{"200":{"description":"OK.","schema":{"$ref":"#/definitions/V01_FleetCompany"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetUpdateCompany"}},"/0.1/devices/fleet/create_company":{"patch":{"summary":"Create company (admin).","description":"Create company account in Mapo Driver (Fleet) from `Customer` attributes. Only available with an admin `api_key` that is allowed to administrate Fleet.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"customer_id","type":"integer","format":"int32","required":true},{"in":"formData","name":"admin_email","description":"If not filled, email of the first user for the customer account is used (appended with `+admin).","type":"string","required":false},{"in":"formData","name":"locale","description":"Locale (`fr`/`en`) used to initialize Mapo Driver (Fleet). If not filled, locale of the first user for the customer account is used.","type":"string","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_FleetCompany"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetCreateCompanyAndDrivers"}},"/0.1/devices/fleet/sync":{"patch":{"summary":"Import Vehicles from Fleet.","description":"Import `Vehicles` from Mapo Driver (Fleet) devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetSync"}},"/0.1/devices/fleet/fetch_routes":{"get":{"summary":"Get Fleet routes.","description":"Get routes previously sent to Mapo Driver (Fleet) device.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"from","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false},{"in":"query","name":"to","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"string","format":"date","required":false}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"getFleetRoutes"}},"/0.1/devices/fleet/clear_multiple":{"delete":{"summary":"Clear multiple routes.","description":"Clear routes in Mapo Driver (Fleet) devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"external_refs[][fleet_user]","type":"array","required":true,"items":{"type":"string"}},{"in":"query","name":"external_refs[][external_ref]","type":"array","required":true,"items":{"type":"string"}}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetClearMultiple"}},"/0.1/devices/fleet/clear":{"delete":{"summary":"Clear Route.","description":"Clear route in Mapo Driver (Fleet) device.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetClear"}},"/0.1/devices/fleet/send_multiple":{"post":{"summary":"Send Planning Routes.","description":"Send planning to Mapo Driver (Fleet) devices.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"routes[][id]","description":"Id or ref of the route to send.","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"routes[][date]","description":"Date must be in ISO 8601 (YYYY-MM-DD).","type":"array","required":false,"items":{"type":"string","format":"date"}},{"in":"formData","name":"routes[][fleet_user]","description":"Fleet user to whom the route will be sent.","type":"array","required":false,"items":{"type":"string"}},{"in":"formData","name":"merge_visits","description":"Merge multiple visits into one.","type":"boolean","default":"false","required":false},{"in":"formData","name":"with_geojson","description":"Send points and track geographical representation.","type":"boolean","default":"true","required":false},{"in":"formData","name":"all_stops","type":"boolean","default":"false","required":false}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetSendMultiple"}},"/0.1/devices/fleet/devices":{"get":{"summary":"List Devices.","description":"List Mapo Driver devices (Fleet).","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"responses":{"200":{"description":"OK.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceItem"}}},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["devices"],"operationId":"deviceFleetList"}},"/0.1/devices/device_demo/clear_multiple":{"delete":{"summary":"Clear Planning Routes.","description":"For fleet device demo/fake version.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetDemoClearMultiple"}},"/0.1/devices/device_demo/clear":{"delete":{"summary":"Clear Route.","description":"For fleet device demo/fake version.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetDemoClear"}},"/0.1/devices/device_demo/send_multiple":{"post":{"summary":"Send Planning Routes.","description":"For fleet device demo/fake version.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"formData","name":"planning_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true}],"responses":{"201":{"description":"Created.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"deviceFleetDemoSendMultiple"}},"/0.1/devices/{device}/send":{"post":{"summary":"Send Route.","description":"Generic device.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"consumes":["application/x-www-form-urlencoded","application/json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"device","type":"string","required":true},{"in":"formData","name":"route_id","description":"Id or the ref field value, `ref:[value]` (example ref:4242).","type":"string","required":true},{"in":"formData","name":"type","description":"Action Name. Not taken into account by all devices.","type":"string","required":false},{"in":"formData","name":"with_geojson","description":"Send points and tracks geographical representation. Not taken into account by all devices.","type":"boolean","default":"true","required":false}],"responses":{"201":{"description":"Created.","schema":{"$ref":"#/definitions/V01_Devices_DeviceRouteLastSentAt"}},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"sendRoute"}},"/0.1/devices/{device}/auth/{customer_id}":{"get":{"summary":"Validate device Credentials.","description":"Generic device.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"path","name":"device","type":"string","required":true},{"in":"path","name":"customer_id","description":"Customer ID as we need to get customer devices","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"No Content."},"400":{"description":"Bad request.","schema":{"$ref":"#/definitions/V01_Status400"}},"401":{"description":"Unauthorized.","schema":{"$ref":"#/definitions/V01_Status401"}},"402":{"description":"Subscription error.","schema":{"$ref":"#/definitions/V01_Status402"}},"403":{"description":"Forbidden.","schema":{"$ref":"#/definitions/V01_Status403"}},"404":{"description":"Not found.","schema":{"$ref":"#/definitions/V01_Status404"}},"405":{"description":"Method not allowed.","schema":{"$ref":"#/definitions/V01_Status405"}},"409":{"description":"Conflict.","schema":{"$ref":"#/definitions/V01_Status409"}},"500":{"description":"Internal servor error.","schema":{"$ref":"#/definitions/V01_Status500"}}},"tags":["devices"],"operationId":"checkAuth"}},"/0.1/geocoder/search":{"get":{"summary":"Geocode.","description":"Return a list of address which match with input query. Note you have a geocode endpoint on `destination`/`store` entities which use `street`/`postalcode`/`city` which can be more precise.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"q","description":"Free query string without country (address should be located in default country set for your customer account).","type":"string","required":true},{"in":"query","name":"lat","description":"Prioritize results around this latitude (between -90 and 90).","type":"number","format":"float","required":false},{"in":"query","name":"lng","description":"Prioritize results around this longitude (between -180 and 180).","type":"number","format":"float","required":false},{"in":"query","name":"limit","description":"Max results numbers. (default and upper max 10)","type":"integer","format":"int32","required":false},{"in":"query","name":"sanitize_address","description":"Apply language/country specific cleaning rules before geocoding.","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"OK."},"400":{"description":"Bad request."},"401":{"description":"Unauthorized."},"402":{"description":"Subscription error."},"403":{"description":"Forbidden."},"404":{"description":"Not found."},"405":{"description":"Method not allowed."},"409":{"description":"Conflict."},"500":{"description":"Internal servor error."}},"tags":["geocoder"],"operationId":"geocode"}},"/0.1/destinations_by_time_and_distance":{"get":{"description":"Fetch customer's destinations inside time/distance.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Point latitude.","type":"number","format":"float","required":true},{"in":"query","name":"lng","description":"Point longitude.","type":"number","format":"float","required":true},{"in":"query","name":"vehicle_usage_id","description":"Vehicle Usage uses in place of default router and speed multiplicator.","type":"integer","format":"int32","required":false},{"in":"query","name":"distance","description":"Maximum distance in meter.","type":"integer","format":"int32","required":false},{"in":"query","name":"time","description":"Maximum time in seconds.","type":"integer","format":"int32","required":false}],"responses":{"200":{"description":"Fetch customer's destinations inside time/distance.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_DestinationId"}}}},"tags":["destinations_by_time_and_distance"],"operationId":"getDestinationsInsideTimeAndDistance"}},"/0.1/stores_by_distance":{"get":{"description":"Fetch customer's stores by distance.","produces":["application/json; charset=UTF-8","application/vnd.geo+json; charset=UTF-8","application/xml"],"parameters":[{"in":"query","name":"lat","description":"Point latitude.","type":"number","format":"float","required":true},{"in":"query","name":"lng","description":"Point longitude.","type":"number","format":"float","required":true},{"in":"query","name":"n","description":"Number of results.","type":"integer","format":"int32","required":true},{"in":"query","name":"vehicle_usage_id","description":"Vehicle Usage uses in place of default router and speed multiplicator.","type":"integer","format":"int32","required":false}],"responses":{"200":{"description":"Fetch customer's stores by distance.","schema":{"type":"array","items":{"$ref":"#/definitions/V01_Store"}}}},"tags":["stores_by_distance"],"operationId":"getStoresByDistance"}}},"definitions":{"V01_Status400":{"type":"object","properties":{"message":{"type":"string","enum":["Client error (e.g, invalid parameters)."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[400],"description":"HTTP status code"}},"description":"V01_Status400 model"},"V01_Status401":{"type":"object","properties":{"message":{"type":"string","enum":["Authentication required or failed."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[401],"description":"HTTP status code"}},"description":"V01_Status401 model"},"V01_Status402":{"type":"object","properties":{"message":{"type":"string","enum":["Subscription expired. Contact your reseller."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[402],"description":"HTTP status code"}},"description":"V01_Status402 model"},"V01_Status403":{"type":"object","properties":{"message":{"type":"string","enum":["Your api key doesn't allow this operation."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[403],"description":"HTTP status code"}},"description":"V01_Status403 model"},"V01_Status404":{"type":"object","properties":{"message":{"type":"string","enum":["Requested resource not found."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[404],"description":"HTTP status code"}},"description":"V01_Status404 model"},"V01_Status405":{"type":"object","properties":{"message":{"type":"string","enum":["Method not supported for the requested resource."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[405],"description":"HTTP status code"}},"description":"V01_Status405 model"},"V01_Status409":{"type":"object","properties":{"message":{"type":"string","enum":["Request unprocessable due to simultaneous actions."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[409],"description":"HTTP status code"}},"description":"V01_Status409 model"},"V01_Status500":{"type":"object","properties":{"message":{"type":"string","enum":["Error due to our servor."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[500],"description":"HTTP status code"}},"description":"V01_Status500 model"},"V01_connection":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"visit_id":{"type":"string","description":"First visit to link. The visit reference can be used instead of the id by prepending \"ref:\". In case of pickup_and_delivery, it represents the pickup visit. In case of sequence, it represents the first visit. In case of position constraint, it will define which group it belongs to; only one is authorized."},"connected_visit_id":{"type":"string","description":"Second visit to link. The visit reference can be used instead of the id by prepending \"ref:\". In case of pickup_and_delivery, it represents the delivery visit. In case of sequence, it represents the second visit. In case of position constraint, it will not take in account."},"relation_id":{"type":"integer","format":"int32","description":"Id of the relation, group containing all linked connections with common visits of a given type."}},"description":"V01_connection model"},"V01_CustomerAdmin":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"Only available in admin."},"name":{"type":"string","description":"Only available in admin. Nomenclature: [Company/Organization/Franchise/Integrator] [-] [Name/Site/Warehouse/Department/City] [-] [Project]"},"internal_name":{"type":"string","description":"Name of the customer account chosen by non-admin users, appears on non-admin pages."},"end_subscription":{"type":"string","description":"Date must be in ISO 8601 (YYYY-MM-DD). Only available in admin."},"max_vehicles":{"type":"integer","format":"int32","description":"Only available in admin."},"billing_email":{"type":"string","description":"Email address to send billing information. If not provided it will be sent to each user of this account."},"enable_end_subscription_email":{"type":"boolean","description":"Only available in admin."},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"take_over":{"type":"string","description":"Deprecated, use visit_duration instead."},"store_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"vehicle_usage_set_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"vehicle_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"deliverable_unit_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"visit_duration":{"type":"string","description":"Default visit duration (HH:MM:SS) or number of seconds (can be overidded on each Visit entity)"},"setup_duration":{"type":"string","description":"Default setup duration (HH:MM:SS) or number of seconds (can be overidded on each Destination entity)"},"default_country":{"type":"string","description":"Default country (can be overidded on each Destination entity)"},"router_id":{"type":"integer","format":"int32"},"router_dimension":{"type":"string","enum":["time","distance"]},"router_options":{"$ref":"#/definitions/V01_RouterOptions"},"speed_multiplier":{"type":"number","format":"float","description":"Default router speed multiplier (can be overidded on each Vehicle entity)"},"optimization_max_split_size":{"type":"integer","format":"int32","description":"Maximum number of visits to split problem (default is 500)"},"optimization_cluster_size":{"type":"integer","format":"int32","description":"Time in seconds to group near visits (default is )"},"optimization_time":{"type":"number","format":"float","description":"Maximum optimization time by vehicle/route/trip (default is 25)"},"optimization_minimal_time":{"type":"number","format":"float","description":"Minimum optimization time by vehicle/route/trip (default is 3)"},"optimization_stop_soft_upper_bound":{"type":"number","format":"float","description":"Stops delay coefficient, 0 to avoid delay (default is 0.3)"},"optimization_vehicle_soft_upper_bound":{"type":"number","format":"float","description":"Vehicles delay coefficient, 0 to avoid delay (default is 0.3)"},"optimization_cost_waiting_time":{"type":"number","format":"float","description":"Coefficient to manage waiting time (default is 1)"},"optimization_free_approach":{"type":"boolean","description":"Route beginning farthest away from start store (default is false)"},"optimization_free_return":{"type":"boolean","description":"Route end farthest away from end store (default is false)"},"optimization_force_start":{"type":"boolean","description":"Force time for departure (default is false)"},"prefer_same_vehicle_at_same_location":{"type":"string","description":"Prefer same vehicle for visits at the same location. Values: '' (no), 'delivery' (group deliveries)"},"avoid_first_waiting_time":{"type":"boolean","description":"Minimise waiting times (default false)"},"optimization_allow_traffic":{"type":"boolean","description":"Take predictive traffic into account during optimization (default false)"},"print_planning_annotating":{"type":"boolean"},"print_header":{"type":"string"},"print_stop_time":{"type":"boolean"},"print_map":{"type":"boolean"},"print_barcode":{"type":"string","enum":["code128"],"description":"Print the Reference as Barcode"},"print_gps_coordinates":{"type":"boolean"},"logo":{"type":"string","description":"Company logo, 150×40 pixels in SVG, PNG, JPEG or GIF format. Will be printed / sent to the mobile app Mapo Driver if added."},"business_name":{"type":"string","description":"Any information about your company you want to display at the top of the printed page / send to the mobile app Mapo Driver"},"enable_external_callback":{"type":"boolean","description":"Add a button to allow user to call external callback webhook on planning page. Webhook should be configured with `external_callback_name` and `external_callback_url`."},"external_callback_name":{"type":"string","description":"Name of external webhook to call by a user."},"external_callback_url":{"type":"string","description":"Url of external webhook to call by a user. Request (GET) is processed using AJAX in browser and by the way subjects to browsers standard rules\n          (Ex: SSL/TLS, CORS, etc...). http://www.example.com?p_id={PLANNING_IDS}. Can contain the following replacement tokens: PLANNING_REF,\n          PLANNING_IDS, ROUTE_ID, ROUTE_REF, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma."},"external_callback_headers":{"type":"object","description":"HTTP headers sent with external URL called from Plan Export Menu.\n          HTTP headers must be sent in a JSON format. All values will be encrypted into our database.\n          Can contain the following replacement tokens: PLANNING_REFS, PLANNING_IDS,\n          ROUTE_IDS, ROUTE_REFS, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.\n          e.g: `{\"Authorization\":{API_KEY},\"Confidential\":\"client_reference\"}`\n          "},"advanced_options":{"type":"object","description":"Advanced options in a serialized json format"},"custom_attributes_def":{"type":"object","description":"Custom attributes definition in a json format.\u003cbr\u003e e.g: `{\"visit\": {\"my_custom_visit_attribute\": {\"label\": \"My custom Visit attribute\", \"description\": \"My description of custom attribute\"}`"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"job_destination_geocoding_id":{"type":"integer","format":"int32"},"job_store_geocoding_id":{"type":"integer","format":"int32"},"job_optimizer_id":{"type":"integer","format":"int32"},"job_import_destination_id":{"type":"integer","format":"int32"},"job_import_store_id":{"type":"integer","format":"int32"},"job_import_vehicle_usage_set_id":{"type":"integer","format":"int32"},"enable_auto_data_cleaning":{"type":"boolean"},"enable_plannings_auto_data_cleaning":{"type":"boolean"},"enable_visits_auto_data_cleaning":{"type":"boolean"},"enable_destinations_auto_data_cleaning":{"type":"boolean"},"enable_tags_auto_data_cleaning":{"type":"boolean"},"enable_visit_status_change":{"type":"boolean"},"auto_data_cleaning_period":{"type":"integer","format":"int32"},"enable_group_destinations":{"type":"boolean"},"enable_auto_optimization":{"type":"boolean"},"auto_optimization_time":{"type":"string","format":"date-time"},"auto_optimization_visit_day":{"type":"integer","format":"int32"},"auto_optimization_visits_without_date":{"type":"boolean"},"auto_optimization_vehicle_usage_set_id":{"type":"integer","format":"int32"},"enable_autosend_to_fleet":{"type":"boolean"},"autosend_to_fleet_time":{"type":"string","format":"date-time"},"subscription_type":{"type":"string","description":"Subscription type: Enterprise, Stripe or Free Trial"},"subscription_reference":{"type":"string","description":"Subscription reference (if Stripe)"},"devices":{"type":"object","description":"Only available in admin."},"test":{"type":"boolean","description":"Test account or not. Only available in admin."},"description":{"type":"string","description":"Only available in admin."},"days_between_visits":{"type":"integer","format":"int32","description":"Only available in admin."},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"profile_id":{"type":"integer","format":"int32","description":"Only available in admin."},"enable_references":{"type":"boolean","description":"Show references or not. Only available in admin."},"enable_multi_visits":{"type":"boolean","description":"More features to manage multiple visits by destinations. Only available in admin."},"enable_global_optimization":{"type":"boolean","description":"Only available in admin."},"enable_vehicle_position":{"type":"boolean","description":"Only available in admin."},"enable_stop_status":{"type":"boolean","description":"Only available in admin."},"enable_simplified_view":{"type":"boolean","description":"Collapsed route view in the plan side panel. Only available in admin."},"enable_sms":{"type":"boolean","description":"Only available in admin."},"enable_experimental_optimizer":{"type":"boolean","description":"Only available in admin."},"enable_visits_connections":{"type":"boolean","description":"Only available in admin."},"max_plannings":{"type":"integer","format":"int32","description":"Only available in admin."},"max_zonings":{"type":"integer","format":"int32","description":"Only available in admin."},"max_destinations":{"type":"integer","format":"int32","description":"Only available in admin."},"max_stores":{"type":"integer","format":"int32","description":"Only available in admin."},"max_vehicle_usage_sets":{"type":"integer","format":"int32","description":"Only available in admin."},"max_vehicle_trips":{"type":"integer","format":"int32","description":"Only available in admin."}},"description":"V01_CustomerAdmin model"},"V01_RouterOptions":{"type":"object","properties":{"track":{"type":"boolean","description":"Use of not track roads, default: `true`. Not available for all routers."},"motorway":{"type":"boolean","description":"Use of not motorway roads, default: `true`. Not available for all routers."},"toll":{"type":"boolean","description":"Use of not tolls, default: `true`. Not available for all routers."},"trailers":{"type":"integer","format":"int32","description":"Number of trailers. Available only for truck router."},"weight":{"type":"number","format":"float","description":"Total weight with trailers and shipping goods, in tons. Available only for truck router."},"weight_per_axle":{"type":"number","format":"float","description":"Weight per axle, in tons. Available only for truck router."},"height":{"type":"number","format":"float","description":"Height in meters. Available only for truck router."},"width":{"type":"number","format":"float","description":"Width in meters. Available only for truck router."},"length":{"type":"number","format":"float","description":"Length in meters. Available only for truck router."},"hazardous_goods":{"type":"string","enum":["explosive","gas","flammable","combustible","organic","poison","radio_active","corrosive","poisonous_inhalation","harmful_to_water","other"],"description":"Hazardous goods or not. Available only for truck router."},"max_walk_distance":{"type":"number","format":"float","description":"Max walk distance in meters. Available only for public transport router."},"approach":{"type":"string","enum":["unrestricted","curb"]},"snap":{"type":"number","format":"float"},"strict_restriction":{"type":"boolean","description":"Restrict roads, default: `false`. Available only for truck router."}}},"V01_User":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"Only available in admin. A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"email":{"type":"string"},"customer_id":{"type":"integer","format":"int32"},"layer_id":{"type":"integer","format":"int32"},"api_key":{"type":"string"},"url_click2call":{"type":"string"},"prefered_unit":{"type":"string"},"locale":{"type":"string","description":"Currently used in mailing"},"enable_email_automation":{"type":"boolean","description":"Enable sending automated emails dedicated to discovering the app or subscription"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_User model"},"V01_SearchCustomers":{"type":"object","properties":{"length":{"type":"integer","format":"int32"},"ids":{"type":"array","items":{"type":"integer","format":"int32"}},"data":{"type":"array","items":{"$ref":"#/definitions/V01_CustomerAdminSearch"}}},"description":"V01_SearchCustomers model"},"V01_CustomerAdminSearch":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"Only available in admin."},"name":{"type":"string","description":"Only available in admin. Nomenclature: [Company/Organization/Franchise/Integrator] [-] [Name/Site/Warehouse/Department/City] [-] [Project]"},"internal_name":{"type":"string","description":"Name of the customer account chosen by non-admin users, appears on non-admin pages."},"end_subscription":{"type":"string","format":"date"},"max_vehicles":{"type":"integer","format":"int32","description":"Only available in admin."},"billing_email":{"type":"string","description":"Email address to send billing information. If not provided it will be sent to each user of this account."},"enable_end_subscription_email":{"type":"boolean","description":"Only available in admin."},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"take_over":{"type":"string","description":"Deprecated, use visit_duration instead."},"store_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"vehicle_usage_set_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"vehicle_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"deliverable_unit_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"visit_duration":{"type":"string","description":"Default visit duration (HH:MM:SS) or number of seconds (can be overidded on each Visit entity)"},"setup_duration":{"type":"string","description":"Default setup duration (HH:MM:SS) or number of seconds (can be overidded on each Destination entity)"},"default_country":{"type":"string","description":"Default country (can be overidded on each Destination entity)"},"router_id":{"type":"integer","format":"int32"},"router_dimension":{"type":"string","enum":["time","distance"]},"router_options":{"$ref":"#/definitions/V01_RouterOptions"},"speed_multiplier":{"type":"number","format":"float","description":"Default router speed multiplier (can be overidded on each Vehicle entity)"},"optimization_max_split_size":{"type":"integer","format":"int32","description":"Maximum number of visits to split problem (default is 500)"},"optimization_cluster_size":{"type":"integer","format":"int32","description":"Time in seconds to group near visits (default is )"},"optimization_time":{"type":"number","format":"float","description":"Maximum optimization time by vehicle/route/trip (default is 25)"},"optimization_minimal_time":{"type":"number","format":"float","description":"Minimum optimization time by vehicle/route/trip (default is 3)"},"optimization_stop_soft_upper_bound":{"type":"number","format":"float","description":"Stops delay coefficient, 0 to avoid delay (default is 0.3)"},"optimization_vehicle_soft_upper_bound":{"type":"number","format":"float","description":"Vehicles delay coefficient, 0 to avoid delay (default is 0.3)"},"optimization_cost_waiting_time":{"type":"number","format":"float","description":"Coefficient to manage waiting time (default is 1)"},"optimization_free_approach":{"type":"boolean","description":"Route beginning farthest away from start store (default is false)"},"optimization_free_return":{"type":"boolean","description":"Route end farthest away from end store (default is false)"},"optimization_force_start":{"type":"boolean","description":"Force time for departure (default is false)"},"prefer_same_vehicle_at_same_location":{"type":"string","description":"Prefer same vehicle for visits at the same location. Values: '' (no), 'delivery' (group deliveries)"},"avoid_first_waiting_time":{"type":"boolean","description":"Minimise waiting times (default false)"},"optimization_allow_traffic":{"type":"boolean","description":"Take predictive traffic into account during optimization (default false)"},"print_planning_annotating":{"type":"boolean"},"print_header":{"type":"string"},"print_stop_time":{"type":"boolean"},"print_map":{"type":"boolean"},"print_barcode":{"type":"string","enum":["code128"],"description":"Print the Reference as Barcode"},"print_gps_coordinates":{"type":"boolean"},"logo":{"type":"string","description":"Company logo, 150×40 pixels in SVG, PNG, JPEG or GIF format. Will be printed / sent to the mobile app Mapo Driver if added."},"business_name":{"type":"string","description":"Any information about your company you want to display at the top of the printed page / send to the mobile app Mapo Driver"},"enable_external_callback":{"type":"boolean","description":"Add a button to allow user to call external callback webhook on planning page. Webhook should be configured with `external_callback_name` and `external_callback_url`."},"external_callback_name":{"type":"string","description":"Name of external webhook to call by a user."},"external_callback_url":{"type":"string","description":"Url of external webhook to call by a user. Request (GET) is processed using AJAX in browser and by the way subjects to browsers standard rules\n          (Ex: SSL/TLS, CORS, etc...). http://www.example.com?p_id={PLANNING_IDS}. Can contain the following replacement tokens: PLANNING_REF,\n          PLANNING_IDS, ROUTE_ID, ROUTE_REF, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma."},"external_callback_headers":{"type":"object","description":"HTTP headers sent with external URL called from Plan Export Menu.\n          HTTP headers must be sent in a JSON format. All values will be encrypted into our database.\n          Can contain the following replacement tokens: PLANNING_REFS, PLANNING_IDS,\n          ROUTE_IDS, ROUTE_REFS, API_KEY, CUSTOMER_ID. Tokens containing multiple values are splitted by comma.\n          e.g: `{\"Authorization\":{API_KEY},\"Confidential\":\"client_reference\"}`\n          "},"advanced_options":{"type":"object","description":"Advanced options in a serialized json format"},"custom_attributes_def":{"type":"object","description":"Custom attributes definition in a json format.\u003cbr\u003e e.g: `{\"visit\": {\"my_custom_visit_attribute\": {\"label\": \"My custom Visit attribute\", \"description\": \"My description of custom attribute\"}`"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"enable_auto_data_cleaning":{"type":"boolean"},"enable_plannings_auto_data_cleaning":{"type":"boolean"},"enable_visits_auto_data_cleaning":{"type":"boolean"},"enable_destinations_auto_data_cleaning":{"type":"boolean"},"enable_tags_auto_data_cleaning":{"type":"boolean"},"enable_visit_status_change":{"type":"boolean"},"auto_data_cleaning_period":{"type":"integer","format":"int32"},"enable_group_destinations":{"type":"boolean"},"enable_auto_optimization":{"type":"boolean"},"auto_optimization_time":{"type":"string","format":"date-time"},"auto_optimization_visit_day":{"type":"integer","format":"int32"},"auto_optimization_visits_without_date":{"type":"boolean"},"auto_optimization_vehicle_usage_set_id":{"type":"integer","format":"int32"},"enable_autosend_to_fleet":{"type":"boolean"},"autosend_to_fleet_time":{"type":"string","format":"date-time"},"subscription_type":{"type":"string","description":"Subscription type: Enterprise, Stripe or Free Trial"},"subscription_reference":{"type":"string","description":"Subscription reference (if Stripe)"},"devices":{"type":"object","description":"Only available in admin."},"test":{"type":"boolean","description":"Test account or not. Only available in admin."},"description":{"type":"string","description":"Only available in admin."},"days_between_visits":{"type":"integer","format":"int32","description":"Only available in admin."},"created_at":{"type":"string","format":"date"},"updated_at":{"type":"string","format":"date-time"},"profile_id":{"type":"integer","format":"int32","description":"Only available in admin."},"enable_references":{"type":"boolean","description":"Show references or not. Only available in admin."},"enable_multi_visits":{"type":"boolean","description":"More features to manage multiple visits by destinations. Only available in admin."},"enable_global_optimization":{"type":"boolean","description":"Only available in admin."},"enable_vehicle_position":{"type":"boolean","description":"Only available in admin."},"enable_stop_status":{"type":"boolean","description":"Only available in admin."},"enable_simplified_view":{"type":"boolean","description":"Collapsed route view in the plan side panel. Only available in admin."},"enable_sms":{"type":"boolean","description":"Only available in admin."},"enable_experimental_optimizer":{"type":"boolean","description":"Only available in admin."},"enable_visits_connections":{"type":"boolean","description":"Only available in admin."},"max_plannings":{"type":"integer","format":"int32","description":"Only available in admin."},"max_zonings":{"type":"integer","format":"int32","description":"Only available in admin."},"max_destinations":{"type":"integer","format":"int32","description":"Only available in admin."},"max_stores":{"type":"integer","format":"int32","description":"Only available in admin."},"max_vehicle_usage_sets":{"type":"integer","format":"int32","description":"Only available in admin."},"max_vehicle_trips":{"type":"integer","format":"int32","description":"Only available in admin."},"destinations_count":{"type":"integer","format":"int32"},"visits_count":{"type":"integer","format":"int32"},"plannings_count":{"type":"integer","format":"int32"},"profile_name":{"type":"string"},"router_name":{"type":"string"},"users":{"type":"array","items":{"$ref":"#/definitions/V01_UserSearch"}},"devices_state":{"type":"object"},"audience_url":{"type":"string"},"behavior_url":{"type":"string"},"jobs":{"type":"array","items":{"$ref":"#/definitions/V01_Job"}}}},"V01_UserSearch":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"Only available in admin. A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"email":{"type":"string"},"customer_id":{"type":"integer","format":"int32"},"layer_id":{"type":"integer","format":"int32"},"api_key":{"type":"string"},"url_click2call":{"type":"string"},"prefered_unit":{"type":"string"},"locale":{"type":"string","description":"Currently used in mailing"},"enable_email_automation":{"type":"boolean","description":"Enable sending automated emails dedicated to discovering the app or subscription"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"sign_in_count":{"type":"integer","format":"int32"},"current_sign_in_at":{"type":"string","format":"date"},"confirmed_at":{"type":"string","format":"date"},"role":{"type":"string"}}},"V01_Job":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Id of the job"},"attempts":{"type":"integer","format":"int32","description":"Number of attempts"},"created_at":{"type":"string","format":"date","description":"Date time of the job creation"},"failed_at":{"type":"string","format":"date","description":"Date time of the job failure"},"locked_at":{"type":"string","format":"date","description":"Date time of the lock time"},"progress":{"type":"string","description":"Progress state of the job"},"run_at":{"type":"string","format":"date","description":"Date time of the job run"},"sanitized_error":{"type":"string","description":"Returned error"},"type":{"type":"string","description":"Job type"},"redirection":{"type":"string","description":"(only completed jobs)"},"job_type":{"type":"string","description":"Job type (only completed jobs)"},"delayed_job_id":{"type":"integer","format":"int32","description":"Id of the job it is refered to (only completed jobs)"},"finished_at":{"type":"string","format":"date","description":"Date time of the end of the job (only completed jobs)"}},"description":"V01_Job model"},"V01_DeliverableUnit":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"label":{"type":"string"},"icon":{"type":"string","description":"Icon name from font-awesome. Default: fa-archive."},"default_quantity":{"type":"number","format":"float","description":"Default quantity value (can be overidded on each Visit entity)"},"default_capacity":{"type":"number","format":"float","description":"Default capacity value (can be overidded on each Vehicle entity)"},"minimum_load":{"type":"number","format":"float","description":"Minimum load value for this deliverable unit"},"default_codes":{"type":"array","items":{"type":"string"},"description":"Default barcodes for this deliverable unit"},"optimization_overload_multiplier":{"type":"number","format":"float","description":"Multiplier used during optimization in case of overload."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_DeliverableUnit model"},"V01_Destination":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"detail":{"type":"string","description":"Content from address useless for geocoding (flat number)."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"geocoding_score":{"type":"number","format":"float","description":"Decimal value between 0 and 1."},"geocoding_accuracy":{"type":"number","format":"float","description":"Decimal value between 0 and 1. To combine with `geocoding_level`."},"geocoding_level":{"type":"string","enum":["point","house","street","intersection","city"]},"geocoded_at":{"type":"string","format":"date-time"},"geocoder_version":{"type":"string"},"comment":{"type":"string"},"phone_number":{"type":"string"},"phone_number_valid":{"type":"boolean"},"contact_email":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"visits":{"type":"array","items":{"$ref":"#/definitions/V01_Visit"}},"setup_duration":{"type":"string","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Destination model"},"V01_Visit":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"destination_id":{"type":"integer","format":"int32"},"date":{"type":"string","format":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date."},"quantity":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"quantity_default":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"open":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open1":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close1":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open2":{"type":"string","description":"Deprecated, use time_window_start_2 instead."},"close2":{"type":"string","description":"Deprecated, use time_window_end_2 instead."},"take_over":{"type":"string","description":"Deprecated, use duration instead."},"take_over_default":{"type":"string","description":"Deprecated, use duration_default instead."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"time_window_start_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_start_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"repeat_timewindows":{"type":"boolean","default":true,"description":"Repeat time windows on the next days"},"duration":{"type":"string","description":"Visit duration (HH:MM:SS) or number of seconds"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"tags":{"type":"array","items":{"$ref":"#/definitions/V01_Tag"},"description":"List of tags that will be created with the visit (only ref and label allowed)."},"priority":{"type":"integer","format":"int32","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined)."},"relations":{"type":"array","items":{"$ref":"#/definitions/V01_relation"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Visit model"},"V01_DeliverableUnitQuantity":{"type":"object","properties":{"deliverable_unit_id":{"type":"integer","format":"int32"},"quantity":{"type":"number","format":"float"},"operation":{"type":"string","enum":["fill","empty"],"description":"To use only in case vehicle is fully emptied or fully filled."},"codes":{"type":"array","items":{"type":"string"},"description":"Barcodes for this deliverable unit"}}},"V01_Tag":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"label":{"type":"string"},"color":{"type":"string","description":"Color code with #. Default: #000000."},"icon":{"type":"string","description":"Icon name from font-awesome. Default: fa-circle."},"icon_size":{"type":"string","enum":["small","medium","large"],"description":"Icon size. Default: medium."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Tag model"},"V01_relation":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"kind":{"type":"string","description":"Type of relation."},"valid":{"type":"string","description":"Validity of the whole relation. For pickup_and_delivery relation: it could be the total sum ckeck of quantities which should be equal to zero."}},"description":"V01_relation model"},"V01_DestinationImportJson":{"type":"object","properties":{"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"detail":{"type":"string","description":"Content from address useless for geocoding (flat number)."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"comment":{"type":"string"},"phone_number":{"type":"string"},"contact_email":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"setup_duration":{"type":"string","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"visits":{"type":"array","items":{"$ref":"#/definitions/V01_VisitImportJson"}}}},"V01_VisitImportJson":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"date":{"type":"string","format":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date."},"quantity":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"quantity_default":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"open":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open1":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close1":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open2":{"type":"string","description":"Deprecated, use time_window_start_2 instead."},"close2":{"type":"string","description":"Deprecated, use time_window_end_2 instead."},"take_over":{"type":"string","description":"Deprecated, use duration instead."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"time_window_start_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_start_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"repeat_timewindows":{"type":"boolean","default":true,"description":"Repeat time windows on the next days"},"duration":{"type":"string","description":"Visit duration (HH:MM:SS) or number of seconds"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"tags":{"type":"array","items":{"$ref":"#/definitions/V01_Tag"},"description":"List of tags that will be created with the visit (only ref and label allowed)."},"priority":{"type":"integer","format":"int32","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined)."},"relations":{"type":"array","items":{"$ref":"#/definitions/V01_relation"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"route":{"type":"string","description":"Route reference. If route reference is specified, a new planning will be created with a route using the specified reference"},"ref_vehicle":{"type":"string","description":"Vehicle reference. If vehicle reference is specified, a new planning will be created with a route using the vehicle with specified reference"},"active":{"type":"boolean","description":"In order to specify is stop is active in planning or not"}}},"V01_RouteSuggestion":{"type":"object","properties":{"route_id":{"type":"integer","format":"int32"},"stop_index":{"type":"integer","format":"int32"},"planning_id":{"type":"string"},"route_ref":{"type":"string"},"planning_name":{"type":"string"},"vehicle_name":{"type":"string"}},"description":"V01_RouteSuggestion model"},"V01_Stop":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"index":{"type":"integer","format":"int32","description":"Stop's Index"},"status":{"type":"string","description":"Status of stop."},"status_code":{"type":"string","description":"Status code of stop."},"eta":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."},"eta_formated":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."},"visit_ref":{"type":"string"},"destination_ref":{"type":"string"},"active":{"type":"boolean","description":"Stop taken into account or not in the route."},"distance":{"type":"number","format":"float","description":"Distance between the stop and previous one."},"drive_time":{"type":"integer","format":"int32","description":"Time in seconds between the stop and previous one."},"visit_id":{"type":"integer","format":"int32"},"route_id":{"type":"integer","format":"int32"},"planning_id":{"type":"integer","format":"int32"},"destination_id":{"type":"integer","format":"int32"},"wait_time":{"type":"string","format":"date-time","description":"Time before delivery."},"time":{"type":"string","format":"date-time","description":"Arrival planned at."},"no_path":{"type":"boolean"},"out_of_window":{"type":"boolean"},"out_of_capacity":{"type":"boolean"},"unmanageable_capacity":{"type":"boolean"},"out_of_drive_time":{"type":"boolean"},"out_of_work_time":{"type":"boolean"},"out_of_max_distance":{"type":"boolean"},"missing_vehicle_skill":{"type":"boolean"},"broken_connection":{"type":"boolean"},"incorrect_relation":{"type":"boolean"},"locked":{"type":"boolean","description":"Stop locked within a route."}},"description":"V01_Stop model"},"V01_Route":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"vehicle_ref":{"type":"string","description":"Vehicle's ref."},"vehicle_usage_id":{"type":"integer","format":"int32"},"hidden":{"type":"boolean"},"locked":{"type":"boolean"},"color":{"type":"string","description":"Color code with #. For instance: #FF0000."},"date":{"type":"string","description":"Date must be in ISO 8601 (YYYY-MM-DD)."},"force_start":{"type":"boolean","description":"Force schedule start vehicle"},"start":{"type":"string","format":"date-time","description":"Vehicle start time (HH:MM:SS) or number of seconds."},"trip_index":{"type":"integer","format":"int32","description":"Trip index taking account only active vehicle usages"},"geojson":{"type":"string","description":"GeoJSON string of track and stops of the route. Default empty, set parameter `with_geojson=true|point|polyline` to get this extra content."},"ref":{"type":"string"},"out_of_date":{"type":"boolean","description":"DEPRECATED. Use outdated instead."},"distance":{"type":"number","format":"float","description":"Total route's distance."},"drive_time":{"type":"integer","format":"int32","description":"Total drive time, in seconds"},"visits_duration":{"type":"integer","format":"int32","description":"Total visits duration, in seconds"},"total_duration":{"type":"integer","format":"int32","description":"Total route duration, in seconds"},"wait_time":{"type":"integer","format":"int32","description":"Total wait time, in seconds"},"emission":{"type":"number","format":"float"},"end":{"type":"string","format":"date-time"},"outdated":{"type":"boolean"},"store_start":{"type":"array","items":{"$ref":"#/definitions/V01_StoreProperties"}},"store_end":{"type":"array","items":{"$ref":"#/definitions/V01_StoreProperties"}},"store_rest":{"type":"array","items":{"$ref":"#/definitions/V01_StoreProperties"}},"departure_status":{"type":"string","description":"Departure status of start store."},"departure_eta":{"type":"string","format":"date-time","description":"Estimated time of departure from remote device for start store."},"arrival_status":{"type":"string","description":"Arrival status of stop store."},"arrival_eta":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device for stop store."},"stops":{"type":"array","items":{"$ref":"#/definitions/V01_Stop"}},"start_before_previous_end":{"type":"boolean","description":"Flag is true when, in multitrip case, start is before the previous trip end."},"start_out_of_capacity":{"type":"boolean","description":"Flag is true when at the start of the route, the vehicles capacity is exceeded for at least one of the deliverable units."},"under_minimum_load":{"type":"boolean","description":"Flag is true when the maximum load in the route is under the minimum load configured for the vehicle."},"stop_out_of_drive_time":{"type":"boolean","description":"Flag is true when returning to vehicle's store_stop makes route time more than vehicle drive time. See also Stop.out_of_drive_time for previous stops in route."},"stop_out_of_work_time":{"type":"boolean","description":"Flag is true when returning to vehicle's store_stop makes route time outside vehicle time window. See also Stop.out_of_work_time for previous stops in route."},"stop_out_of_max_distance":{"type":"boolean","description":"Flag is true when returning to vehicle's store_stop makes route distance more than vehicle max distance. See also Stop.out_of_max_distance for previous stops in route."},"stop_no_path":{"type":"boolean","description":"Flag is true when no route has been found to return to vehicle's store_stop. See also Stop.no_path for previous stops in route."},"stop_distance":{"type":"number","format":"float","description":"Distance between the vehicle's store_stop and last stop."},"stop_drive_time":{"type":"integer","format":"int32","description":"Time in seconds between the vehicle's store_stop and last stop."},"updated_at":{"type":"string","format":"date-time","description":"Last Updated At."},"last_sent_to":{"type":"string","description":"Type GPS Device of Last Sent."},"last_sent_at":{"type":"string","format":"date-time","description":"Last Time Sent To External GPS Device."},"last_sent_failed":{"type":"boolean","description":"Last sent status"},"optimized_at":{"type":"string","format":"date-time","description":"Last optimized at."},"computed_with_traffic":{"type":"boolean","description":"Flag is true when the last computation (optimization or recompute) took predictive traffic into account."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"computed_quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"total_cost":{"type":"string"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Route model"},"V01_StoreProperties":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"}}},"V01_Layer":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"url":{"type":"string"},"attribution":{"type":"string"},"urlssl":{"type":"string"},"source":{"type":"string"},"overlay":{"type":"boolean","description":"False if it is a base layer, true if it is just an overlay."}},"description":"V01_Layer model"},"V01_Order":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"visit_id":{"type":"integer","format":"int32"},"destination_id":{"type":"integer","format":"int32"},"shift":{"type":"integer","format":"int32"},"product_ids":{"type":"array","items":{"type":"integer","format":"int32"}}},"description":"V01_Order model"},"V01_OrderArray":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"base_date":{"type":"string","description":"Date must be in ISO 8601 (YYYY-MM-DD)."},"length":{"type":"string","enum":["week","week2","month"]},"orders":{"type":"array","items":{"$ref":"#/definitions/V01_Order"}}},"description":"V01_OrderArray model"},"V01_FtpImport":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"path":{"type":"string","description":"path to download the import file on the ftp server"},"status":{"type":"string"}},"description":"V01_FtpImport model"},"V01_Planning":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"out_of_date":{"type":"boolean","description":"DEPRECATED. Use outdated instead."},"zoning_id":{"type":"integer","format":"int32","description":"DEPRECATED. Use zoning_ids instead."},"zoning_out_of_date":{"type":"boolean","description":"DEPRECATED. Use zoning_outdated instead."},"date":{"type":"string","description":"Date must be in ISO 8601 (YYYY-MM-DD)."},"begin_date":{"type":"string","description":"Begin validity period Date must be in ISO 8601 (YYYY-MM-DD)."},"end_date":{"type":"string","description":"End validity period Date must be in ISO 8601 (YYYY-MM-DD)."},"active":{"type":"boolean","default":true},"vehicle_usage_set_id":{"type":"integer","format":"int32"},"zoning_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"If a new zoning is specified before planning save, all visits will be affected to vehicles specified in zones."},"zoning_outdated":{"type":"boolean","description":"If `true`, zoning has changed and it can be reapplied (apply_zonings)."},"outdated":{"type":"boolean","description":"If `true`, planning needs to be recomputed (refresh)."},"route_ids":{"type":"array","items":{"type":"integer","format":"int32"}},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"Restrict visits/destinations in the plan (visits/destinations should have all of these tags to be present in the plan)."},"tags":{"type":"array","items":{"$ref":"#/definitions/V01_Tag"},"description":"List of tags that will be created with the planning (only ref and label allowed)."},"tag_operation":{"type":"string","default":"and","enum":["and","or"],"description":"Choose how to use selected tags: `and` (for visits with all tags, by default) / `or` (for visits with at least one tag)."},"filter_by_date":{"type":"boolean","description":"Add visits that have the same date as the planning"},"filter_by_no_date":{"type":"boolean","description":"Add visits without dates to the planning"},"updated_at":{"type":"string","format":"date-time","description":"Last Updated At"},"geojson":{"type":"string","description":"GeoJSON string of track and stops of the route. Default empty, set parameter `with_geojson=true|point|polyline` to get this extra content."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"routes":{"type":"array","items":{"$ref":"#/definitions/V01_RouteProperties"}},"optimized":{"type":"boolean","description":"If `true`, all planning routes have been optimized."}},"description":"V01_Planning model"},"V01_RouteProperties":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"vehicle_ref":{"type":"string","description":"Vehicle's ref."},"vehicle_usage_id":{"type":"integer","format":"int32"},"hidden":{"type":"boolean"},"locked":{"type":"boolean"},"color":{"type":"string","description":"Color code with #. For instance: #FF0000."},"date":{"type":"string","description":"Date must be in ISO 8601 (YYYY-MM-DD)."},"force_start":{"type":"boolean","description":"Force schedule start vehicle"},"start":{"type":"string","format":"date-time","description":"Vehicle start time (HH:MM:SS) or number of seconds."},"trip_index":{"type":"integer","format":"int32","description":"Trip index taking account only active vehicle usages"},"geojson":{"type":"string","description":"GeoJSON string of track and stops of the route. Default empty, set parameter `with_geojson=true|point|polyline` to get this extra content."}},"description":"V01_RouteProperties model"},"V01_RouteStatus":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"vehicle_usage_id":{"type":"integer","format":"int32"},"last_sent_to":{"type":"string","description":"Type GPS Device of Last Sent."},"last_sent_at":{"type":"string","format":"date-time","description":"Last Time Sent To External GPS Device."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"computed_quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"departure_status":{"type":"string","description":"Departure status of start store."},"departure_status_code":{"type":"string","description":"Status code of start store."},"departure_eta":{"type":"string","format":"date-time","description":"Estimated time of departure from remote device."},"departure_eta_formated":{"type":"string","format":"date-time","description":"Estimated time of departure from remote device."},"arrival_status":{"type":"string","description":"Arrival status of stop store."},"arrival_status_code":{"type":"string","description":"Status code of stop store."},"arrival_eta":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."},"arrival_eta_formated":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."},"stops":{"type":"array","items":{"$ref":"#/definitions/V01_StopStatus"}}},"description":"V01_RouteStatus model"},"V01_StopStatus":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"index":{"type":"integer","format":"int32","description":"Stop's Index"},"status":{"type":"string","description":"Status of stop."},"status_code":{"type":"string","description":"Status code of stop."},"eta":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."},"eta_formated":{"type":"string","format":"date-time","description":"Estimated time of arrival from remote device."}}},"V01_Status304":{"type":"object","properties":{"detail":{"type":"string","enum":["Redirected without modification."],"description":"Server rendered details"},"status":{"type":"integer","format":"int32","enum":[304],"description":"HTTP status code"}},"description":"V01_Status304 model"},"V01_Status422":{"type":"object","properties":{"message":{"type":"string","enum":["Semantics errors."],"description":"Server rendered message"},"status":{"type":"integer","format":"int32","enum":[422],"description":"HTTP status code"}},"description":"V01_Status422 model"},"V01_Router":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"mode":{"type":"string"},"options":{"type":"object"}},"description":"V01_Router model"},"V01_Profile":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"}},"description":"V01_Profile model"},"V01_Store":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"geocoding_score":{"type":"number","format":"float","description":"Decimal value between 0 and 1."},"geocoding_accuracy":{"type":"number","format":"float","description":"Decimal value between 0 and 1. To combine with `geocoding_level`."},"geocoding_level":{"type":"string","enum":["point","house","street","intersection","city"]},"geocoded_at":{"type":"string","format":"date-time"},"geocoder_version":{"type":"string"},"color":{"type":"string","description":"Color code with #. Default: #000000."},"icon":{"type":"string","description":"Icon name from font-awesome. Default: fa-home."},"icon_size":{"type":"string","enum":["small","medium","large"],"description":"Icon size. Default: large."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Store model"},"V01_DeliverablesByVehicles":{"type":"object","properties":{"planning_names":{"type":"array","items":{"type":"string"},"description":"List of plannings names"},"routes_total_infos":{"type":"array","items":{"$ref":"#/definitions/V01_RouteTotalInfos"},"description":"Routes details"},"routes_quantities":{"type":"array","items":{"$ref":"#/definitions/V01_RoutesQuantities"},"description":"Quantities per route"}},"description":"V01_DeliverablesByVehicles model"},"V01_RouteTotalInfos":{"type":"object","properties":{"quantity_average":{"type":"integer","format":"int32","description":"Quantities averages"},"destinations_average":{"type":"integer","format":"int32"},"stops_average":{"type":"integer","format":"int32","description":"Stops average"},"visits_duration_average":{"type":"integer","format":"int32","description":"Visit duration average"},"drive_time_average":{"type":"integer","format":"int32","description":"Drive time average"},"route_duration_average":{"type":"integer","format":"int32","description":"Route duration average"},"total_per_route":{"type":"array","items":{"$ref":"#/definitions/V01_TotalInfosPerRoute"}}}},"V01_TotalInfosPerRoute":{"type":"object","properties":{"route_id":{"type":"integer","format":"int32","description":"Route id"},"active":{"type":"boolean","description":"Route active"},"total_quantity":{"type":"integer","format":"int32","description":"Route quantities"},"total_destinations":{"type":"integer","format":"int32","description":"Total of destinations inside route"},"total_stops":{"type":"integer","format":"int32","description":"Total of stops inside route"},"total_drive_time":{"type":"integer","format":"int32","description":"Total drive time of the route route"},"total_visits_time":{"type":"integer","format":"int32","description":"Total visits time of the route"},"total_route_duration":{"type":"integer","format":"int32","description":"Total duration of the route"}}},"V01_RoutesQuantities":{"type":"object","properties":{"label":{"type":"string","description":"Deliverable label"},"icon":{"type":"string","description":"Deliverable icon"},"average":{"type":"integer","format":"int32","description":"Deliverable average per route"},"quantities":{"type":"array","items":{"type":"integer","format":"int32"},"description":"Deliverable quantities"}}},"V01_Vehicle":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"capacity":{"type":"integer","format":"int32","description":"Deprecated, use capacities instead."},"capacity_unit":{"type":"string","description":"Deprecated, use capacities and deliverable_unit entity instead."},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"capacities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"minimum_loads":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"contact_email":{"type":"string"},"phone_number":{"type":"string"},"fuel_type":{"type":"string","enum":["nothing","petrol","petrol_E10","petrol_E85","diesel","biodiesel_B30","lgp","ngv","electric"]},"emission":{"type":"number","format":"float"},"consumption":{"type":"integer","format":"int32"},"color":{"type":"string","description":"Color code with `#`. For instance: `#FF0000`"},"router_id":{"type":"integer","format":"int32"},"router_dimension":{"type":"string","enum":["time","distance"]},"router_options":{"$ref":"#/definitions/V01_RouterOptions"},"speed_multiplier":{"type":"number","format":"float"},"max_distance":{"type":"integer","format":"int32","description":"Maximum achievable distance in meters"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of skills (tags)"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"devices":{"type":"object"},"vehicle_usages":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleUsage"}}},"description":"V01_Vehicle model"},"V01_VehicleUsage":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"vehicle_usage_set_id":{"type":"integer","format":"int32"},"open":{"type":"string","description":"Deprecated, use time_window_start instead."},"close":{"type":"string","description":"Deprecated, use time_window_end instead."},"time_window_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"store_start_id":{"type":"integer","format":"int32"},"store_stop_id":{"type":"integer","format":"int32"},"service_time_start":{"type":"string","description":"Duration in store start. Schedule time (HH:MM:SS) or number of seconds"},"service_time_end":{"type":"string","description":"Duration in store end. Schedule time (HH:MM:SS) or number of seconds"},"work_time":{"type":"string","description":"Work time duration (HH:MM:SS) or number of seconds"},"start_mode":{"type":"string","description":"Start mode of the vehicle usage - 'earliest' (default) or 'latest'"},"rest_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_stop":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_duration":{"type":"string","description":"Rest duration (HH:MM:SS) or number of seconds"},"store_rest_id":{"type":"integer","format":"int32"},"active":{"type":"boolean"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of skills (tags)"},"trip_index":{"type":"integer","format":"int32","description":"Position in multi-trip case."},"cutoff_duration":{"type":"string","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds."},"cost":{"type":"number","format":"double","description":"Cost (fixed) of the vehicle and structure"},"cost_time":{"type":"number","format":"double","description":"Cost of service per hour"},"cost_distance":{"type":"number","format":"double","description":"Cost of service per kilometer/mile"}}},"V01_VehicleTemperature":{"type":"object","properties":{"vehicle_id":{"type":"integer","format":"int32"},"vehicle_name":{"type":"string"},"route_id":{"type":"integer","format":"int32"},"device_infos":{"$ref":"#/definitions/V01_TemperatureInfos"}},"description":"V01_VehicleTemperature model"},"V01_TemperatureInfos":{"type":"object","properties":{"device_name":{"type":"string"},"device_id":{"type":"string"},"temperature":{"type":"number","format":"float"},"time":{"type":"string","format":"date-time"},"time_formatted":{"type":"string"}}},"V01_VehiclePosition":{"type":"object","properties":{"vehicle_id":{"type":"integer","format":"int32"},"vehicle_ref":{"type":"string"},"device_name":{"type":"string"},"lat":{"type":"number","format":"float"},"lng":{"type":"number","format":"float"},"direction":{"type":"number","format":"float"},"speed":{"type":"number","format":"float"},"time":{"type":"string","format":"date-time"},"time_formatted":{"type":"string"}},"description":"V01_VehiclePosition model"},"V01_VehicleUsageWithVehicle":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"vehicle_usage_set_id":{"type":"integer","format":"int32"},"open":{"type":"string","description":"Deprecated, use time_window_start instead."},"close":{"type":"string","description":"Deprecated, use time_window_end instead."},"time_window_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"store_start_id":{"type":"integer","format":"int32"},"store_stop_id":{"type":"integer","format":"int32"},"service_time_start":{"type":"string","description":"Duration in store start. Schedule time (HH:MM:SS) or number of seconds"},"service_time_end":{"type":"string","description":"Duration in store end. Schedule time (HH:MM:SS) or number of seconds"},"work_time":{"type":"string","description":"Work time duration (HH:MM:SS) or number of seconds"},"start_mode":{"type":"string","description":"Start mode of the vehicle usage - 'earliest' (default) or 'latest'"},"rest_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_stop":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_duration":{"type":"string","description":"Rest duration (HH:MM:SS) or number of seconds"},"store_rest_id":{"type":"integer","format":"int32"},"active":{"type":"boolean"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of skills (tags)"},"trip_index":{"type":"integer","format":"int32","description":"Position in multi-trip case."},"cutoff_duration":{"type":"string","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds."},"cost":{"type":"number","format":"double","description":"Cost (fixed) of the vehicle and structure"},"cost_time":{"type":"number","format":"double","description":"Cost of service per hour"},"cost_distance":{"type":"number","format":"double","description":"Cost of service per kilometer/mile"},"vehicle":{"type":"array","items":{"$ref":"#/definitions/V01_VehicleWithoutVehicleUsage"}}},"description":"V01_VehicleUsageWithVehicle model"},"V01_VehicleWithoutVehicleUsage":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"capacity":{"type":"integer","format":"int32","description":"Deprecated, use capacities instead."},"capacity_unit":{"type":"string","description":"Deprecated, use capacities and deliverable_unit entity instead."},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"capacities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"minimum_loads":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"contact_email":{"type":"string"},"phone_number":{"type":"string"},"fuel_type":{"type":"string","enum":["nothing","petrol","petrol_E10","petrol_E85","diesel","biodiesel_B30","lgp","ngv","electric"]},"emission":{"type":"number","format":"float"},"consumption":{"type":"integer","format":"int32"},"color":{"type":"string","description":"Color code with `#`. For instance: `#FF0000`"},"router_id":{"type":"integer","format":"int32"},"router_dimension":{"type":"string","enum":["time","distance"]},"router_options":{"$ref":"#/definitions/V01_RouterOptions"},"speed_multiplier":{"type":"number","format":"float"},"max_distance":{"type":"integer","format":"int32","description":"Maximum achievable distance in meters"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of skills (tags)"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"devices":{"type":"object"}}},"V01_VehicleUsageSet":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"open":{"type":"string","description":"Deprecated, use time_window_start instead."},"close":{"type":"string","description":"Deprecated, use time_window_end instead."},"time_window_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"store_start_id":{"type":"integer","format":"int32"},"store_stop_id":{"type":"integer","format":"int32"},"service_time_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"service_time_end":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"work_time":{"type":"string","description":"Work time duration (HH:MM:SS) or number of seconds"},"start_mode":{"type":"string","description":"Start mode of the vehicle usage set - 'earliest' (default) or 'latest'"},"rest_start":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_stop":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"rest_duration":{"type":"string","description":"Rest duration (HH:MM:SS) or number of seconds"},"store_rest_id":{"type":"integer","format":"int32"},"max_distance":{"type":"integer","format":"int32","description":"Maximum achievable distance in meters"},"vehicle_trips":{"type":"integer","format":"int32","description":"Number of trips by vehicle in multi-trip case."},"cutoff_duration":{"type":"string","description":"Duration between trips in multi-trip case.Schedule time (HH:MM:SS) or number of seconds."},"cost":{"type":"number","format":"double","description":"Cost of the vehicle plus the cost of the structure"},"cost_time":{"type":"number","format":"double","description":"Cost of service per hour"},"cost_distance":{"type":"number","format":"double","description":"Kilometre/Miles cost"},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_VehicleUsageSet model"},"V01_SearchVisits":{"type":"object","properties":{"length":{"type":"integer","format":"int32"},"ids":{"type":"array","items":{"type":"integer","format":"int32"}},"destinations_length":{"type":"integer","format":"int32"},"visits_length":{"type":"integer","format":"int32"},"data":{"type":"array","items":{"$ref":"#/definitions/V01_DestinationVisit"}}},"description":"V01_SearchVisits model"},"V01_DestinationVisit":{"type":"object","properties":{"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"detail":{"type":"string","description":"Content from address useless for geocoding (flat number)."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"geocoding_score":{"type":"number","format":"float","description":"Decimal value between 0 and 1."},"geocoding_accuracy":{"type":"number","format":"float","description":"Decimal value between 0 and 1. To combine with `geocoding_level`."},"geocoding_level":{"type":"string","enum":["point","house","street","intersection","city"]},"geocoded_at":{"type":"string","format":"date-time"},"geocoder_version":{"type":"string"},"comment":{"type":"string"},"phone_number":{"type":"string"},"phone_number_valid":{"type":"boolean"},"contact_email":{"type":"string"},"setup_duration":{"type":"string","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"unique_id":{"type":"string"},"destination_id":{"type":"integer","format":"int32"},"destination_tag_ids":{"type":"string"},"visit_tag_ids":{"type":"string"},"visit_id":{"type":"integer","format":"int32"},"visit_name":{"type":"string"},"visit_ref":{"type":"string"},"destination_ref":{"type":"string"},"visit_date":{"type":"string"},"time_window_start_1":{"type":"string","description":"Schedule time (HH:MM:SS)"},"time_window_end_1":{"type":"string","description":"Schedule time (HH:MM:SS)"},"time_window_start_2":{"type":"string","description":"Schedule time (HH:MM:SS)"},"time_window_end_2":{"type":"string","description":"Schedule time (HH:MM:SS)"},"priority":{"type":"integer","format":"int32","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined)."},"duration":{"type":"string","description":"Visit duration (HH:MM:SS)"},"duration_default":{"type":"string","description":"Default visit duration (HH:MM:SS)"},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}}}},"V01_VisitWithDestinationImportJson":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"date":{"type":"string","format":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date."},"quantity":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"quantity_default":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"open":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open1":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close1":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open2":{"type":"string","description":"Deprecated, use time_window_start_2 instead."},"close2":{"type":"string","description":"Deprecated, use time_window_end_2 instead."},"take_over":{"type":"string","description":"Deprecated, use duration instead."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"time_window_start_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_start_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"repeat_timewindows":{"type":"boolean","default":true,"description":"Repeat time windows on the next days"},"duration":{"type":"string","description":"Visit duration (HH:MM:SS) or number of seconds"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"tags":{"type":"array","items":{"type":"string"},"description":"In order to import visit tags by label. Create it if it does not exist. Exclusive with `tag_ids` and `tags` has priority on `tag_ids`."},"priority":{"type":"integer","format":"int32","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined)."},"relations":{"type":"array","items":{"$ref":"#/definitions/V01_relation"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"pickup_ref":{"type":"string","description":"Reference of the pickup point if the visit is a delivery point."},"next_ref":{"type":"string","description":"Reference of the visit coming just after"},"position":{"type":"string","description":"Position of the visit into a route. Accepted values: always-first, always-middle, always-last, never-first or never-last."},"destination":{"$ref":"#/definitions/V01_VisitDestinationImportJson"},"stops_in_planning":{"type":"array","items":{"$ref":"#/definitions/V01_StopInPlanning"}}}},"V01_VisitDestinationImportJson":{"type":"object","properties":{"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"detail":{"type":"string","description":"Content from address useless for geocoding (flat number)."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"comment":{"type":"string"},"phone_number":{"type":"string"},"contact_email":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"setup_duration":{"type":"string","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"tags":{"type":"array","items":{"type":"string"},"description":"In order to import destination tags by label. Create it if it does not exist. Exclusive with `tag_ids` and `tags` has priority on `tag_ids`."}}},"V01_StopInPlanning":{"type":"object","properties":{"planning_id":{"type":"string","description":"Planning Id or the ref field value, `ref:[value]` (example ref:4242).. Only available if planning is compatible with the visit / destination"},"route_id":{"type":"string","description":"Route Id or the ref field value, `ref:[value]` (example ref:4242).. Only available if planning of the route is compatible with the visit / destination"},"stop_index":{"type":"integer","format":"int32","description":"Position to insert the stop on the route. Starts from 1. If not precised, stop will be add to the end of route."},"stop_active":{"type":"boolean","default":true,"description":"In order to specify is stop is active in planning."}}},"V01_VisitWithDestinationWithoutVisits":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"date":{"type":"string","format":"date","description":"If provided, this visit will be assigned to plannings with the same date or those without any date."},"quantity":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"quantity_default":{"type":"integer","format":"int32","description":"Deprecated, use quantities instead."},"open":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open1":{"type":"string","description":"Deprecated, use time_window_start_1 instead."},"close1":{"type":"string","description":"Deprecated, use time_window_end_1 instead."},"open2":{"type":"string","description":"Deprecated, use time_window_start_2 instead."},"close2":{"type":"string","description":"Deprecated, use time_window_end_2 instead."},"take_over":{"type":"string","description":"Deprecated, use duration instead."},"take_over_default":{"type":"string","description":"Deprecated, use duration_default instead."},"quantities":{"type":"array","items":{"$ref":"#/definitions/V01_DeliverableUnitQuantity"}},"time_window_start_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_1":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_start_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"time_window_end_2":{"type":"string","description":"Schedule time (HH:MM:SS) or number of seconds"},"repeat_timewindows":{"type":"boolean","default":true,"description":"Repeat time windows on the next days"},"duration":{"type":"string","description":"Visit duration (HH:MM:SS) or number of seconds"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"tags":{"type":"array","items":{"$ref":"#/definitions/V01_Tag"},"description":"List of tags that will be created with the visit (only ref and label allowed)."},"priority":{"type":"integer","format":"int32","description":"Insertion priority used during optimization in case all visits cannot be planned (-4 to 4, 0 if not defined)."},"relations":{"type":"array","items":{"$ref":"#/definitions/V01_relation"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"},"destination":{"$ref":"#/definitions/V01_DestinationWithoutVisits"}},"description":"V01_VisitWithDestinationWithoutVisits model"},"V01_DestinationWithoutVisits":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string","description":"A free reference, like an external ID from other information system (forbidden characters are `./\\`)."},"name":{"type":"string"},"street":{"type":"string","description":"Content from address only useful for geocoding."},"detail":{"type":"string","description":"Content from address useless for geocoding (flat number)."},"postalcode":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"country":{"type":"string"},"country_code":{"type":"string"},"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90. If no geolocation is provided, point will be automatically geocoded."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180. If no geolocation is provided, point will be automatically geocoded."},"geocoding_score":{"type":"number","format":"float","description":"Decimal value between 0 and 1."},"geocoding_accuracy":{"type":"number","format":"float","description":"Decimal value between 0 and 1. To combine with `geocoding_level`."},"geocoding_level":{"type":"string","enum":["point","house","street","intersection","city"]},"geocoded_at":{"type":"string","format":"date-time"},"geocoder_version":{"type":"string"},"comment":{"type":"string"},"phone_number":{"type":"string"},"phone_number_valid":{"type":"boolean"},"contact_email":{"type":"string"},"tag_ids":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of tags to match planning tags or vehicle tags (skills)"},"setup_duration":{"type":"string","description":"Unique preparation duration however number of visits (In case of multiple visits at same time for one destination, this duration will be taken into account only one time). Format is HH:MM:SS or number of seconds."},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}}},"V01_Visits":{"type":"object","properties":{"visits":{"type":"array","items":{"$ref":"#/definitions/V01_Visit"}}},"description":"V01_Visits model"},"V01_WebhookEndpoint":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string","description":"Name of the endpoint."},"enabled":{"type":"boolean"},"authentication":{"type":"object","description":"Parameters needed for authentication."},"credential_position":{"type":"string","description":"Where the credential will be in the request: \"headers\", \"query\" or \"payload\"."},"url":{"type":"string","description":"Request's url."},"query":{"type":"string","description":"Request's query."},"method":{"type":"string","description":"Request's method."},"headers":{"type":"object","description":"Request's headers."},"payload":{"type":"object","description":"Request's payload."},"webhook_events":{"type":"array","items":{"$ref":"#/definitions/V01_WebhookEvent"}}},"description":"V01_WebhookEndpoint model"},"V01_WebhookEvent":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"customer_id":{"type":"integer","format":"int32"},"webhook_endpoint_id":{"type":"integer","format":"int32"},"event_callback":{"type":"string","description":"\"after_update\" or \"after_create\"."},"event_model":{"type":"string","description":"name of the model on which the associated webhook endpoint is called."},"model_attributes":{"type":"array","items":{"type":"string"},"description":"The associated webhook endpoint is triggered after update of one or several of the provided model's attributes. Only for \"after_update\" as event_callback."}},"description":"V01_WebhookEvent model"},"V01_Zone":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"vehicle_id":{"type":"integer","format":"int32"},"polygon":{"type":"string"},"speed_multiplier":{"type":"number","format":"float","description":"Speed multiplier for this area. Taken into accound only for routers which support avoid_zones or speed_zones."}},"description":"V01_Zone model"},"V01_Zoning":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"ref":{"type":"string"},"zones":{"type":"array","items":{"$ref":"#/definitions/V01_Zone"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_Zoning model"},"V01_DestinationsByZone":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"speed_multiplicator":{"type":"number","format":"float","description":"Deprecated, use speed_multiplier instead."},"vehicle_id":{"type":"integer","format":"int32"},"polygon":{"type":"string"},"speed_multiplier":{"type":"number","format":"float","description":"Speed multiplier for this area. Taken into accound only for routers which support avoid_zones or speed_zones."},"destinations":{"type":"array","items":{"$ref":"#/definitions/V01_Destination"}}},"description":"V01_DestinationsByZone model"},"V01_MultipleImportGeojson":{"type":"object","properties":{"type":{"type":"string","default":"FeatureCollection","enum":["FeatureCollection"]},"features":{"type":"array","items":{"$ref":"#/definitions/V01_ZoningImportGeojson"}}}},"V01_ZoningImportGeojson":{"type":"object","properties":{"type":{"type":"string","default":"FeatureCollection","enum":["FeatureCollection"]},"name":{"type":"string"},"ref":{"type":"string"},"custom_attributes":{"type":"string"},"features":{"type":"array","items":{"$ref":"#/definitions/V01_ZoneImportGeojson"}}}},"V01_ZoneImportGeojson":{"type":"object","properties":{"type":{"type":"string","default":"Feature"},"geometry":{"$ref":"#/definitions/V01_GeojsonGeometry"},"properties":{"type":"object","properties":{"name":{"type":"string"},"vehicle_ref":{"type":"string"},"speed_multiplier":{"type":"number","format":"float"}}}}},"V01_GeojsonGeometry":{"type":"object","properties":{"type":{"type":"string","enum":["Point","LineString","Polygon","MultiPoint","MultiLineString","MultiPolygon"]},"coordinates":{"type":"array","items":{"type":"number","format":"float"}}}},"V01_DestinationsByZonings":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"name":{"type":"string"},"ref":{"type":"string"},"zones":{"type":"array","items":{"$ref":"#/definitions/V01_DestinationsByZone"}},"custom_attributes":{"type":"object","description":"Custom attributes in a json format.\u003cbr\u003e e.g: `{\"my_custom_attribute\": \"my_value\"}`"}},"description":"V01_DestinationsByZonings model"},"V01_GeojsonFeatureCollection":{"type":"object","properties":{"type":{"type":"string","default":"FeatureCollection","enum":["FeatureCollection"]},"features":{"type":"array","items":{"$ref":"#/definitions/V01_GeojsonFeature"}}},"description":"V01_GeojsonFeatureCollection model"},"V01_GeojsonFeature":{"type":"object","properties":{"type":{"type":"string","default":"Feature"},"properties":{"type":"string","default":"{}"},"geometry":{"$ref":"#/definitions/V01_GeojsonGeometry"}}},"V01_Devices_DeviceItem":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Device (GPS) ID"},"text":{"type":"string","description":"Device (GPS) Model"}},"description":"V01_Devices_DeviceItem model"},"V01_Devices_DeviceRouteLastSentAt":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Route ID"},"last_sent_to":{"type":"string","description":"Type GPS Device of Last Sent"},"last_sent_at":{"type":"string","format":"date-time","description":"Last Time Sent To External GPS Device"},"last_sent_at_formatted":{"type":"string"},"last_sent_failed":{"type":"boolean","description":"Last sent failed state"}},"description":"V01_Devices_DeviceRouteLastSentAt model"},"V01_ReportingRoute":{"type":"object","properties":{"forms_responses":{"type":"object","description":"Set of answers if a form is set up in your fleet mobile workflow."},"mission_action_final_label":{"type":"string"},"mission_status_last_label":{"type":"string","description":"Label of the last mission status (a mission can be a store, a visit or a rest)."},"mission_status_last_date":{"type":"string","description":"Date of the last mission status (a mission can be a store, a visit or a rest)."},"mission_address":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"postalcode":{"type":"string"},"state":{"type":"string"},"street":{"type":"string"}}},"mission_comment":{"type":"string","description":"Comment set on a destination."},"mission_date":{"type":"string","description":"Planned date of the mission (a mission can be a store, a visit or a rest)."},"mission_duration":{"type":"integer","format":"int32","description":"Duration of the mission (a mission can be a store, a visit or a rest)."},"mission_eta":{"type":"string","description":"Available only if ETA option is activated on your fleet mobile workflow. Mission's estimated time of arrival (a mission can be a store, a visit or a rest)."},"mission_external_ref":{"type":"string"},"mission_id":{"type":"string","description":"This ID is automatically generated for each mission's date (a mission can be a store, a visit or a rest). If a visit is sent multiple times at different dates, several IDs will be generated."},"mission_location":{"type":"object","properties":{"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180."}}},"mission_name":{"type":"string","description":"Mission's name (a mission can be a store, a visit or a rest)."},"mission_phone":{"type":"string"},"mission_quantities":{"type":"object","properties":{"codes":{"type":"array","items":{"type":"string"},"description":"List of barcodes set on the visit for a specific deliverable unit."},"deliverable_unit_id":{"type":"integer","format":"int32"},"label":{"type":"string","description":"Deliverable unit's label."},"quantity":{"type":"number","format":"float","description":"Quantity value for a specific deliverable unit."},"quantity_formatted":{"type":"string"},"unit_icon":{"type":"string"}}},"mission_reference":{"type":"string","description":"Mission's reference/ref (a mission can be a store, a visit or a rest)."},"mission_survey_address":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"postalcode":{"type":"string"},"state":{"type":"string"},"street":{"type":"string"}}},"mission_survey_comment":{"type":"string","description":"Comment filled by the driver for a mission (a mission can be a store, a visit or a rest)."},"mission_survey_location":{"type":"object","properties":{"lat":{"type":"number","format":"float","description":"Decimal value between -90 and 90."},"lng":{"type":"number","format":"float","description":"Decimal value between -180 and 180."}},"description":"Location observed by the driver for a mission (a mission can be a store, a visit or a rest)."},"mission_survey_barcodes":{"type":"string","description":"List of barcodes scanned by the driver during the delivery."},"mission_survey_barcodes_loaded":{"type":"string","description":"List of barcodes scanned by the driver when loading the vehicle."},"mission_survey_pictures":{"type":"array","items":{"type":"string"},"description":"List of pictures taken by the driver during a mission (a mission can be a store, a visit or a rest)."},"mission_survey_signature":{"type":"string","description":"Client's signature."},"mission_time_window_1":{"type":"object","properties":{"end":{"type":"string"},"start":{"type":"string"}},"description":"Time windows set for the mission (a mission can be a store, a visit or a rest)."},"mission_time_window_2":{"type":"object","properties":{"end":{"type":"string"},"start":{"type":"string"}},"description":"Time windows set for the mission (a mission can be a store, a visit or a rest)."},"mission_type":{"type":"string","description":"A mission can be a store (`mission_store`), a visit (`mission_mission`) or a rest(`mission_rest`)."},"route_date":{"type":"string","description":"Planned date of the route."},"route_external_ref":{"type":"string"},"route_id":{"type":"string","description":"This ID is automatically generated for each route's date. If a route is sent multiple times at different dates, several IDs will be generated."},"route_name":{"type":"string","description":"Route's name or ref."},"user_email":{"type":"string","description":"Email set on the vehicle."},"user_name":{"type":"string","description":"Vehicle's name"},"archived_at":{"type":"string","format":"date","description":"Date at which the route is no longer synchronized with the mobile application."},"archived_by":{"type":"string","description":"Device ID on which the route has been archived."}},"description":"V01_ReportingRoute model"},"V01_FleetDriver":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"},"updated":{"type":"boolean"}},"description":"V01_FleetDriver model"},"V01_FleetCompany":{"type":"object","properties":{"email":{"type":"string"},"api_key":{"type":"string"},"drivers":{"type":"array","items":{"$ref":"#/definitions/V01_FleetDriver"}}},"description":"V01_FleetCompany model"},"V01_DestinationId":{"type":"object","properties":{"id":{"type":"integer","format":"int32"},"ref":{"type":"string"}},"description":"V01_DestinationId model"}}}