Robodelivery API
version: 0.0.2
Description
Asynchronous Nature of the API
The Robodelivery API is designed to be asynchronous, which means that operations don’t complete immediately. Instead, they initiate processes that may take some time to complete. This design allows for better scalability and responsiveness of the system.
The Typical Flow
POST /claims/createto create a new claim- Assign robot (automated)
- Monitor progress and manage delivery process:
- Monitor progress
POST /claims/infofor current order statusPOST /claims/journalfor detailed event list
- Manage delivery process:
POST /claims/open_hatchto open robot hatch for item exchangePOST /claims/close_hatchto close robot hatch after item exchangePOST /claims/confirm_exchangeto confirm item loading/unloadingPOST /claims/cancelto cancel the orderPOST /claims/returnto initiate return flow
- Monitor progress
Important Order Statuses
new: The claim has been created but no robot has been assigned yet.accepted: The robot has been assigned to the claim.pickup_arrived,delivery_arrived: The robot has arrived at the exchange location. You may open hatch and initiate the exchange.ready_for_pickup_confirmation,ready_for_delivery_confirmation: The hatch was opened at least once. Closing the hatch won't change the status. You need to confirm the exchange.picked_up,delivered: The exchange has been confirmed.
Common Patterns
Idempotency Key
The idempotency_key is used to ensure that the same action is not taken multiple times due to network issues or accidental duplicate requests. That ensures consistency and reliability.
Best practices:
- Generate an idempotency key for each semantically unique request
- Retry the request with the same idempotency key in case of network failure.
Event Handling
We do not provide webhooks. You should poll either /claims/info or /claims/journal endpoints to get the latest status of the claim and respond to it according to your business logic. This approach allows you to stay updated on claim status without relying on push notifications.
Error Handling
Implement appropriate error handling and retry logic in your integration to ensure robust communication with the API. Different error types require different policies.
Sections
Specification
Open API
{
"openapi": "3.1.0",
"info": {
"title": "Robodelivery API",
"summary": "\nThe Robodelivery API provides integration for robotic delivery systems. It is asynchronous and event-driven. The main capabilities are:\n- Robot order assignment\n- Real-time delivery progress monitoring\n- Robot management\n",
"description": "\n# Description\n## Asynchronous Nature of the API\nThe Robodelivery API is designed to be asynchronous, which means that operations don’t complete immediately. Instead, they initiate processes that may take some time to complete. This design allows for better scalability and responsiveness of the system.\n\n## The Typical Flow\n1. `POST /claims/create` to create a new claim\n1. Assign robot (automated)\n1. Monitor progress and manage delivery process:\n - Monitor progress\n - `POST /claims/info` for current order status\n - `POST /claims/journal` for detailed event list\n - Manage delivery process:\n - `POST /claims/open_hatch` to open robot hatch for item exchange\n - `POST /claims/close_hatch` to close robot hatch after item exchange\n - `POST /claims/confirm_exchange` to confirm item loading/unloading\n - `POST /claims/cancel` to cancel the order\n - `POST /claims/return` to initiate return flow\n\n\n## Important Order Statuses\n- `new`: The claim has been created but no robot has been assigned yet.\n- `accepted`: The robot has been assigned to the claim.\n- `pickup_arrived`, `delivery_arrived`: The robot has arrived at the exchange location. You may open hatch and initiate the exchange.\n- `ready_for_pickup_confirmation`, `ready_for_delivery_confirmation`: The hatch was opened at least once. Closing the hatch *won't* change the status. You need to confirm the exchange.\n- `picked_up`, `delivered`: The exchange has been confirmed.\n\n## Common Patterns\n### Idempotency Key\nThe `idempotency_key` is used to ensure that the same action is not taken multiple times due to network issues or accidental duplicate requests. That ensures consistency and reliability.\n\nBest practices:\n1. Generate an idempotency key for each semantically unique request\n1. Retry the request with the same idempotency key in case of network failure.\n\n### Event Handling\nWe do not provide webhooks. You should poll either `/claims/info` or `/claims/journal` endpoints to get the latest status of the claim and respond to it according to your business logic. This approach allows you to stay updated on claim status without relying on push notifications.\n\n### Error Handling\nImplement appropriate error handling and retry logic in your integration to ensure robust communication with the API. Different error types require different policies.\n",
"version": "0.0.2"
},
"paths": {
"/claims/create": {
"post": {
"tags": [
"Claims"
],
"summary": "Create claim",
"description": "Creates a new claim in the Robodelivery system.\n\nThe `external_order_id` can be used to link the claim with an order in an external system.\n\nYou may provide conditions to limit the search for a robot.",
"operationId": "create_handler_claims_create_post",
"parameters": [
{
"name": "idempotency_key",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Idempotency key",
"description": "A string used to ensure idempotency of the request."
},
"description": "A string used to ensure idempotency of the request."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"properties": {
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"point_id": {
"type": "string",
"title": "Point Id"
},
"type": {
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
}
},
"type": "object",
"required": [
"address",
"point_id",
"type",
"visit_order"
],
"title": "ClaimRequestPoint"
},
"type": "array",
"maxItems": 3,
"minItems": 2,
"title": "Route Points"
},
"external_order_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Order Id"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"conditions": {
"default": {},
"properties": {
"maximum_first_point_eta": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Maximum First Point Eta",
"description": "The search will be limited to couriers that are able to arrive to the source point before allowed ETA.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск будет ограничен курьерами, которые смогут прибыть в исходную точку до разрешенного расчетного времени прибытия.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"search_until": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Search Until",
"description": "The search will stop after specified duration and fail.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск прекратится по истечении указанного времени и завершится неудачей.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"robot_vins": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Robot Vins",
"description": "The list of robot VINs to consider for this claim. If provided, only these robots will be considered for assignment",
"x-i18n-ru-description": "Список VIN роботов для рассмотрения для этой заявки. Если указано, только эти роботы будут рассматриваться для назначения"
}
},
"type": "object",
"title": "CreateRequestConditions"
}
},
"type": "object",
"required": [
"route_points"
],
"title": "CreateRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Создать заявку",
"x-i18n-ru-description": "\nСоздаёт новую заявку в системе Robodelivery\n\n`external_order_id` может быть использован для связывания заявки с заказом в внешней системе.\n\nВы можете указать условия для ограничения поиска робокурьера.\n"
}
},
"/claims/info": {
"post": {
"tags": [
"Claims"
],
"summary": "Get claim information",
"description": "Retrieves detailed information about a specific claim",
"operationId": "info_handler_claims_info_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"courier": {
"oneOf": [
{
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level"
],
"title": "CourierInfo"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision",
"courier"
],
"title": "ClaimWithCourier"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Получить информацию о заявке",
"x-i18n-ru-description": "Возвращает подробную информацию о конкретной заявке"
}
},
"/claims/journal": {
"post": {
"tags": [
"Claims"
],
"summary": "Get events journal",
"description": "Retrieves a list of events related to a claim, with optional cursor-based pagination\n\nCursor Operation Principle:\nThe cursor in the event journal system works as a pointer to the last processed event.\n\nWhen requesting an event journal for a specific claim_id:\n- The system returns a list of events in reverse chronological order\n- The response contains a cursor - identifier of the last event\n- On the next request, the client passes this cursor, and the system returns only new events that occurred after the specified one\n- The cursor is individual for each claim_id - you can safely store and use the cursor for a specific claim without risk of losing events.\n",
"operationId": "journal_handler_claims_journal_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
},
{
"name": "date_from",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Date From",
"description": "Start date (inclusive)"
},
"description": "Start date (inclusive)"
},
{
"name": "date_to",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Date To",
"description": "End date (exclusive)"
},
"description": "End date (exclusive)"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"default": {},
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
}
},
"type": "object",
"title": "JournalRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
},
"events": {
"items": {
"properties": {
"event_id": {
"type": "string",
"title": "Event Id"
},
"change_type": {
"type": "string",
"title": "Change Type",
"description": "Type of change that occurred. Possible values:\n - `order_created`: Order was created\n - `order_changed`: Order was changed\n - `order_completed`: Order was completed\n - `order_cancel_requested`: Order cancellation was requested\n - `shift_initialized`: Shift was initialized\n - `shift_created`: Shift was created\n - `shift_changed`: Shift was changed\n - `shift_completed`: Shift was completed\n - `open_hatch_requested`: Opening of hatch was requested\n - `close_hatch_requested`: Closing of hatch was requested\n - `closed_hatch_detected`: Closed hatch was detected\n - `battery_change_started`: Battery change process started\n - `battery_change_updated`: Battery change process updated\n - `battery_change_finished`: Battery change process finished\n - `move_to_base_point`: Moving to base point\n - `arrived_to_base_point`: Arrived to base point\n - `product_detection`: Product detection event\n - `terminate`: Termination event\n - `abort`: Abort event\n"
},
"claim_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Claim Id"
},
"courier_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier Id"
},
"shift_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shift Id"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp"
},
"new_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "New Value",
"description": "Possible values:\n - `new`: Order created, but robot not yet assigned\n - `picking_up`: Robot assigned and moving to pickup point\n - `pickup_arrived`: Robot arrived at pickup point\n - `delivering`: Robot moving to delivery point\n - `delivery_arrived`: Robot arrived at delivery point\n - `delivered`: Robot completed delivery\n - `returning`: Robot returning\n - `return_arrived`: Robot arrived at return point\n - `returned`: Robot completed return\n - `cancelled`: Order cancelled\n"
},
"courier_coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"event_id",
"change_type",
"claim_id",
"courier_id",
"shift_id",
"timestamp",
"new_value"
],
"title": "JournalEvent"
},
"type": "array",
"title": "Events"
}
},
"type": "object",
"required": [
"cursor",
"events"
],
"title": "JournalListWithCursor"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Получить журнал событий",
"x-i18n-ru-description": "Возвращает список событий, связанных с заявкой, с использованием пагинации по курсору"
}
},
"/claims/open_hatch": {
"post": {
"tags": [
"Claims"
],
"summary": "Open hatch",
"description": "Initiates the process of opening the robot's hatch",
"operationId": "open_hatch_handler_claims_open_hatch_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
},
{
"name": "idempotency_key",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"title": "Idempotency key",
"description": "A string used to ensure idempotency of the request."
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Открыть дверь",
"x-i18n-ru-description": "Инициирует процесс открытия крышки робокурьера"
}
},
"/claims/close_hatch": {
"post": {
"tags": [
"Claims"
],
"summary": "Close hatch",
"description": "Initiates the process of closing the robot's hatch",
"operationId": "close_hatch_handler_claims_close_hatch_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
},
{
"name": "idempotency_key",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"title": "Idempotency key",
"description": "A string used to ensure idempotency of the request."
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"title": "Conflict",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "CONFLICT",
"default": "CONFLICT",
"enum": [
"CONFLICT"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Закрыть дверь",
"x-i18n-ru-description": "Инициирует процесс закрытия крышки робокурьера"
}
},
"/claims/confirm_exchange": {
"post": {
"tags": [
"Claims"
],
"summary": "Confirm Exchange",
"description": "Confirms the exchange of items (pickup or delivery)",
"operationId": "confirm_exchange_handler_claims_confirm_exchange_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
},
{
"name": "idempotency_key",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"title": "Idempotency key",
"description": "A string used to ensure idempotency of the request."
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"title": "Conflict",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "CONFLICT",
"default": "CONFLICT",
"enum": [
"CONFLICT"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Подтвердить обмен",
"x-i18n-ru-description": "Подтверждает обмен (погрузка или выгрузка)"
}
},
"/claims/cancel": {
"post": {
"tags": [
"Claims"
],
"summary": "Cancel claim",
"description": "Cancel an existing claim",
"operationId": "cancel_handler_claims_cancel_post",
"parameters": [
{
"name": "claim_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Claim ID",
"description": "Claim ID received from `/claims/create`"
},
"description": "Claim ID received from `/claims/create`"
},
{
"name": "idempotency_key",
"in": "query",
"required": false,
"schema": {
"oneOf": [
{
"type": "string",
"title": "Idempotency key",
"description": "A string used to ensure idempotency of the request."
},
{
"type": "null"
}
],
"title": "Idempotency Key"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"409": {
"description": "Conflict",
"content": {
"application/json": {
"schema": {
"title": "Conflict",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "CONFLICT",
"default": "CONFLICT",
"enum": [
"CONFLICT"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Отменить заявку",
"x-i18n-ru-description": "Отменяет существующую заявку"
}
},
"/claims/search": {
"post": {
"tags": [
"Claims"
],
"summary": "Search claims",
"description": "Search claims according to filters",
"operationId": "search_handler_claims_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"default": {
"limit": 1000,
"offset": 0,
"filters": {},
"order": [],
"include_totals": true
},
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"title": "Limit",
"default": 1000
},
"offset": {
"type": "integer",
"minimum": 0,
"title": "Offset",
"default": 0
},
"created_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created From"
},
"created_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created To"
},
"external_order_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Order Id"
},
"filters": {
"default": {},
"properties": {
"status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status In"
},
"status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status Not In"
},
"id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"created_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created From"
},
"created_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created To"
},
"updated_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated From"
},
"updated_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated To"
},
"finished_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished From"
},
"finished_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished To"
},
"courier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"order": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 2,
"minItems": 2,
"title": "Order",
"default": [],
"description": "In the first element of the array, you need to pass the names of the sorting fields separated by commas. In the second element, the sorting direction is `asc` or `desc'."
},
"include_totals": {
"type": "boolean",
"title": "Include Totals",
"default": true
}
},
"type": "object",
"title": "SearchRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"meta": {
"properties": {
"totals": {
"oneOf": [
{
"additionalProperties": {
"type": "integer"
},
"propertyNames": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Totals"
}
},
"type": "object",
"title": "SearchResponseBodyMeta"
},
"claims": {
"items": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"courier": {
"oneOf": [
{
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level"
],
"title": "CourierInfo"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision",
"courier"
],
"title": "ClaimWithCourier"
},
"type": "array",
"title": "Claims"
}
},
"type": "object",
"required": [
"meta",
"claims"
],
"title": "SearchResponseBody"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"UNAUTHORIZED"
],
"const": "UNAUTHORIZED",
"title": "Error code",
"default": "UNAUTHORIZED"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Unauthorized"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"FORBIDDEN"
],
"const": "FORBIDDEN",
"title": "Error code",
"default": "FORBIDDEN"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Forbidden"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"NOT_FOUND"
],
"const": "NOT_FOUND",
"title": "Error code",
"default": "NOT_FOUND"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "NotFound"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Поиск заявок",
"x-i18n-ru-description": "Ищет заявки по фильтрам"
}
},
"/couriers/search": {
"post": {
"tags": [
"Robots"
],
"summary": "Search robots",
"description": "Search robots accordign to filters",
"operationId": "search_handler_couriers_search_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"title": "Limit",
"default": 1000
},
"offset": {
"type": "integer",
"minimum": 0,
"title": "Offset",
"default": 0
},
"filters": {
"default": {},
"properties": {
"shift_status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status In"
},
"shift_status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status Not In"
},
"identifier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Identifier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"order": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 2,
"minItems": 2,
"title": "Order",
"default": [],
"description": "In the first element of the array, you need to pass the names of the sorting fields separated by commas. In the second element, the sorting direction is `asc` or `desc'."
}
},
"type": "object",
"title": "SearchRequestBody"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"couriers": {
"items": {
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
},
"claim": {
"oneOf": [
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level",
"claim"
],
"title": "CourierInfoWithClaim"
},
"type": "array",
"title": "Couriers"
}
},
"type": "object",
"required": [
"couriers"
],
"title": "SearchResponseBody"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"UNAUTHORIZED"
],
"const": "UNAUTHORIZED",
"title": "Error code",
"default": "UNAUTHORIZED"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Unauthorized"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"FORBIDDEN"
],
"const": "FORBIDDEN",
"title": "Error code",
"default": "FORBIDDEN"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Forbidden"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Поиск робокурьеров",
"x-i18n-ru-description": "Ищет робокурьеры по фильтрам"
}
},
"/couriers/journal": {
"post": {
"tags": [
"Robots"
],
"summary": "Get events journal",
"description": "Retrieves a list of events related to a courier, with optional cursor-based pagination",
"operationId": "journal_handler_couriers_journal_post",
"parameters": [
{
"name": "vin",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "VIN",
"description": "Vehicle Identification Number that uniquely identifies robot",
"x-i18n-ru-description": "Идентификатор робокурьера"
},
"description": "Vehicle Identification Number that uniquely identifies robot"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"default": {},
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
}
},
"type": "object",
"title": "JournalRequestBody"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
},
"events": {
"items": {
"properties": {
"event_id": {
"type": "string",
"title": "Event Id"
},
"change_type": {
"type": "string",
"title": "Change Type",
"description": "Type of change that occurred. Possible values:\n - `order_created`: Order was created\n - `order_changed`: Order was changed\n - `order_completed`: Order was completed\n - `order_cancel_requested`: Order cancellation was requested\n - `shift_initialized`: Shift was initialized\n - `shift_created`: Shift was created\n - `shift_changed`: Shift was changed\n - `shift_completed`: Shift was completed\n - `open_hatch_requested`: Opening of hatch was requested\n - `close_hatch_requested`: Closing of hatch was requested\n - `closed_hatch_detected`: Closed hatch was detected\n - `battery_change_started`: Battery change process started\n - `battery_change_updated`: Battery change process updated\n - `battery_change_finished`: Battery change process finished\n - `move_to_base_point`: Moving to base point\n - `arrived_to_base_point`: Arrived to base point\n - `product_detection`: Product detection event\n - `terminate`: Termination event\n - `abort`: Abort event\n"
},
"claim_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Claim Id"
},
"courier_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier Id"
},
"shift_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shift Id"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp"
},
"new_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "New Value",
"description": "Possible values:\n - `new`: Order created, but robot not yet assigned\n - `picking_up`: Robot assigned and moving to pickup point\n - `pickup_arrived`: Robot arrived at pickup point\n - `delivering`: Robot moving to delivery point\n - `delivery_arrived`: Robot arrived at delivery point\n - `delivered`: Robot completed delivery\n - `returning`: Robot returning\n - `return_arrived`: Robot arrived at return point\n - `returned`: Robot completed return\n - `cancelled`: Order cancelled\n"
},
"courier_coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"event_id",
"change_type",
"claim_id",
"courier_id",
"shift_id",
"timestamp",
"new_value"
],
"title": "JournalEvent"
},
"type": "array",
"title": "Events"
}
},
"type": "object",
"required": [
"cursor",
"events"
],
"title": "JournalListWithCursor"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"title": "Unauthorized",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "UNAUTHORIZED",
"default": "UNAUTHORIZED",
"enum": [
"UNAUTHORIZED"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"title": "Forbidden",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "FORBIDDEN",
"default": "FORBIDDEN",
"enum": [
"FORBIDDEN"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"title": "NotFound",
"type": "object",
"properties": {
"code": {
"title": "Error code",
"type": "string",
"const": "NOT_FOUND",
"default": "NOT_FOUND",
"enum": [
"NOT_FOUND"
]
},
"message": {
"title": "Error Message",
"type": "string"
}
},
"required": [
"message",
"code"
]
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
}
}
}
}
},
"x-i18n-ru-summary": "Получить журнал событий",
"x-i18n-ru-description": "Возвращает список событий, связанных с курьером, с использованием пагинации по курсору"
}
},
"/geo/points/list": {
"post": {
"tags": [
"Geo"
],
"summary": "Avaliable points",
"description": "Retrieve list of avaliable points",
"operationId": "list_points_geo_points_list_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
}
},
"type": "object",
"required": [
"id",
"name",
"coordinates"
],
"title": "PointInfo"
},
"type": "array",
"title": "Response List Points Geo Points List Post"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"UNAUTHORIZED"
],
"const": "UNAUTHORIZED",
"title": "Error code",
"default": "UNAUTHORIZED"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Unauthorized"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"properties": {
"code": {
"type": "string",
"enum": [
"FORBIDDEN"
],
"const": "FORBIDDEN",
"title": "Error code",
"default": "FORBIDDEN"
},
"message": {
"type": "string",
"title": "Error Message"
}
},
"type": "object",
"required": [
"message",
"code"
],
"title": "Forbidden"
}
}
}
}
},
"x-i18n-ru-summary": "Доступные точки",
"x-i18n-ru-description": "Получить список доступных точек"
}
}
},
"components": {
"schemas": {
"Claim": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
},
"ClaimPoint": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"ClaimPointAddress": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"ClaimPointType": {
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
"ClaimPointVisitStatus": {
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
"ClaimRequestPoint": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"point_id": {
"type": "string",
"title": "Point Id"
},
"type": {
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
}
},
"type": "object",
"required": [
"address",
"point_id",
"type",
"visit_order"
],
"title": "ClaimRequestPoint"
},
"ClaimStatus": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"ClaimWithCourier": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"courier": {
"oneOf": [
{
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level"
],
"title": "CourierInfo"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision",
"courier"
],
"title": "ClaimWithCourier"
},
"CourierInfo": {
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level"
],
"title": "CourierInfo"
},
"CourierInfoWithClaim": {
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
},
"claim": {
"oneOf": [
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level",
"claim"
],
"title": "CourierInfoWithClaim"
},
"CourierShiftStatus": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"CreateRequestBody": {
"properties": {
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"point_id": {
"type": "string",
"title": "Point Id"
},
"type": {
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
}
},
"type": "object",
"required": [
"address",
"point_id",
"type",
"visit_order"
],
"title": "ClaimRequestPoint"
},
"type": "array",
"maxItems": 3,
"minItems": 2,
"title": "Route Points"
},
"external_order_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Order Id"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"conditions": {
"default": {},
"properties": {
"maximum_first_point_eta": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Maximum First Point Eta",
"description": "The search will be limited to couriers that are able to arrive to the source point before allowed ETA.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск будет ограничен курьерами, которые смогут прибыть в исходную точку до разрешенного расчетного времени прибытия.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"search_until": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Search Until",
"description": "The search will stop after specified duration and fail.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск прекратится по истечении указанного времени и завершится неудачей.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"robot_vins": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Robot Vins",
"description": "The list of robot VINs to consider for this claim. If provided, only these robots will be considered for assignment",
"x-i18n-ru-description": "Список VIN роботов для рассмотрения для этой заявки. Если указано, только эти роботы будут рассматриваться для назначения"
}
},
"type": "object",
"title": "CreateRequestConditions"
}
},
"type": "object",
"required": [
"route_points"
],
"title": "CreateRequestBody"
},
"CreateRequestConditions": {
"properties": {
"maximum_first_point_eta": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Maximum First Point Eta",
"description": "The search will be limited to couriers that are able to arrive to the source point before allowed ETA.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск будет ограничен курьерами, которые смогут прибыть в исходную точку до разрешенного расчетного времени прибытия.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"search_until": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Search Until",
"description": "The search will stop after specified duration and fail.\n\nThe service expects date and time with timezone specification. Example formats:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nIf timezone is not specified, the service assumes UTC+0 timezone.\n",
"x-i18n-ru-description": "Поиск прекратится по истечении указанного времени и завершится неудачей.\n\nСервис ожидает дату и время с указанием часового пояса. Примеры форматов:\n- 2026-01-11 17:26:27.704301+00:00\n- 2026-01-11T19:18:43Z\n\nЕсли часовой пояс не указан, сервис считает, что это UTC+0.\n"
},
"robot_vins": {
"oneOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Robot Vins",
"description": "The list of robot VINs to consider for this claim. If provided, only these robots will be considered for assignment",
"x-i18n-ru-description": "Список VIN роботов для рассмотрения для этой заявки. Если указано, только эти роботы будут рассматриваться для назначения"
}
},
"type": "object",
"title": "CreateRequestConditions"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HatchStatus": {
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
"JournalEvent": {
"properties": {
"event_id": {
"type": "string",
"title": "Event Id"
},
"change_type": {
"type": "string",
"title": "Change Type",
"description": "Type of change that occurred. Possible values:\n - `order_created`: Order was created\n - `order_changed`: Order was changed\n - `order_completed`: Order was completed\n - `order_cancel_requested`: Order cancellation was requested\n - `shift_initialized`: Shift was initialized\n - `shift_created`: Shift was created\n - `shift_changed`: Shift was changed\n - `shift_completed`: Shift was completed\n - `open_hatch_requested`: Opening of hatch was requested\n - `close_hatch_requested`: Closing of hatch was requested\n - `closed_hatch_detected`: Closed hatch was detected\n - `battery_change_started`: Battery change process started\n - `battery_change_updated`: Battery change process updated\n - `battery_change_finished`: Battery change process finished\n - `move_to_base_point`: Moving to base point\n - `arrived_to_base_point`: Arrived to base point\n - `product_detection`: Product detection event\n - `terminate`: Termination event\n - `abort`: Abort event\n"
},
"claim_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Claim Id"
},
"courier_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier Id"
},
"shift_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shift Id"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp"
},
"new_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "New Value",
"description": "Possible values:\n - `new`: Order created, but robot not yet assigned\n - `picking_up`: Robot assigned and moving to pickup point\n - `pickup_arrived`: Robot arrived at pickup point\n - `delivering`: Robot moving to delivery point\n - `delivery_arrived`: Robot arrived at delivery point\n - `delivered`: Robot completed delivery\n - `returning`: Robot returning\n - `return_arrived`: Robot arrived at return point\n - `returned`: Robot completed return\n - `cancelled`: Order cancelled\n"
},
"courier_coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"event_id",
"change_type",
"claim_id",
"courier_id",
"shift_id",
"timestamp",
"new_value"
],
"title": "JournalEvent"
},
"JournalListWithCursor": {
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
},
"events": {
"items": {
"properties": {
"event_id": {
"type": "string",
"title": "Event Id"
},
"change_type": {
"type": "string",
"title": "Change Type",
"description": "Type of change that occurred. Possible values:\n - `order_created`: Order was created\n - `order_changed`: Order was changed\n - `order_completed`: Order was completed\n - `order_cancel_requested`: Order cancellation was requested\n - `shift_initialized`: Shift was initialized\n - `shift_created`: Shift was created\n - `shift_changed`: Shift was changed\n - `shift_completed`: Shift was completed\n - `open_hatch_requested`: Opening of hatch was requested\n - `close_hatch_requested`: Closing of hatch was requested\n - `closed_hatch_detected`: Closed hatch was detected\n - `battery_change_started`: Battery change process started\n - `battery_change_updated`: Battery change process updated\n - `battery_change_finished`: Battery change process finished\n - `move_to_base_point`: Moving to base point\n - `arrived_to_base_point`: Arrived to base point\n - `product_detection`: Product detection event\n - `terminate`: Termination event\n - `abort`: Abort event\n"
},
"claim_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Claim Id"
},
"courier_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier Id"
},
"shift_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shift Id"
},
"timestamp": {
"type": "string",
"format": "date-time",
"title": "Timestamp"
},
"new_value": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "New Value",
"description": "Possible values:\n - `new`: Order created, but robot not yet assigned\n - `picking_up`: Robot assigned and moving to pickup point\n - `pickup_arrived`: Robot arrived at pickup point\n - `delivering`: Robot moving to delivery point\n - `delivery_arrived`: Robot arrived at delivery point\n - `delivered`: Robot completed delivery\n - `returning`: Robot returning\n - `return_arrived`: Robot arrived at return point\n - `returned`: Robot completed return\n - `cancelled`: Order cancelled\n"
},
"courier_coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"event_id",
"change_type",
"claim_id",
"courier_id",
"shift_id",
"timestamp",
"new_value"
],
"title": "JournalEvent"
},
"type": "array",
"title": "Events"
}
},
"type": "object",
"required": [
"cursor",
"events"
],
"title": "JournalListWithCursor"
},
"JournalRequestBody": {
"properties": {
"cursor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cursor"
}
},
"type": "object",
"title": "JournalRequestBody"
},
"PointInfo": {
"properties": {
"id": {
"type": "string",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
}
},
"type": "object",
"required": [
"id",
"name",
"coordinates"
],
"title": "PointInfo"
},
"SearchResponseBodyMeta": {
"properties": {
"totals": {
"oneOf": [
{
"additionalProperties": {
"type": "integer"
},
"propertyNames": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Totals"
}
},
"type": "object",
"title": "SearchResponseBodyMeta"
},
"SortableClaimField": {
"type": "string",
"enum": [
"created_at"
],
"title": "SortableClaimField"
},
"SortableCourierField": {
"enum": [],
"title": "SortableCourierField"
},
"SortingDirection": {
"type": "string",
"enum": [
"desc",
"asc"
],
"title": "SortingDirection"
},
"TupleCoordinate": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"oneOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"api__external__v2__claims__models__SearchRequestBody": {
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"title": "Limit",
"default": 1000
},
"offset": {
"type": "integer",
"minimum": 0,
"title": "Offset",
"default": 0
},
"created_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created From"
},
"created_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created To"
},
"external_order_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Order Id"
},
"filters": {
"default": {},
"properties": {
"status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status In"
},
"status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status Not In"
},
"id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"created_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created From"
},
"created_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created To"
},
"updated_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated From"
},
"updated_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated To"
},
"finished_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished From"
},
"finished_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished To"
},
"courier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"order": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 2,
"minItems": 2,
"title": "Order",
"default": [],
"description": "In the first element of the array, you need to pass the names of the sorting fields separated by commas. In the second element, the sorting direction is `asc` or `desc'."
},
"include_totals": {
"type": "boolean",
"title": "Include Totals",
"default": true
}
},
"type": "object",
"title": "SearchRequestBody"
},
"api__external__v2__claims__models__SearchRequestFilters": {
"properties": {
"status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status In"
},
"status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Status Not In"
},
"id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"created_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created From"
},
"created_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created To"
},
"updated_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated From"
},
"updated_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated To"
},
"finished_from": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished From"
},
"finished_to": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished To"
},
"courier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Courier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"api__external__v2__claims__models__SearchResponseBody": {
"properties": {
"meta": {
"properties": {
"totals": {
"oneOf": [
{
"additionalProperties": {
"type": "integer"
},
"propertyNames": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Totals"
}
},
"type": "object",
"title": "SearchResponseBodyMeta"
},
"claims": {
"items": {
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"courier": {
"oneOf": [
{
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level"
],
"title": "CourierInfo"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision",
"courier"
],
"title": "ClaimWithCourier"
},
"type": "array",
"title": "Claims"
}
},
"type": "object",
"required": [
"meta",
"claims"
],
"title": "SearchResponseBody"
},
"api__external__v2__couriers__models__SearchRequestBody": {
"properties": {
"limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1,
"title": "Limit",
"default": 1000
},
"offset": {
"type": "integer",
"minimum": 0,
"title": "Offset",
"default": 0
},
"filters": {
"default": {},
"properties": {
"shift_status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status In"
},
"shift_status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status Not In"
},
"identifier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Identifier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"order": {
"items": {
"type": "string"
},
"type": "array",
"maxItems": 2,
"minItems": 2,
"title": "Order",
"default": [],
"description": "In the first element of the array, you need to pass the names of the sorting fields separated by commas. In the second element, the sorting direction is `asc` or `desc'."
}
},
"type": "object",
"title": "SearchRequestBody"
},
"api__external__v2__couriers__models__SearchRequestFilters": {
"properties": {
"shift_status_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status In"
},
"shift_status_not_in": {
"oneOf": [
{
"items": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Shift Status Not In"
},
"identifier": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Identifier"
}
},
"type": "object",
"title": "SearchRequestFilters"
},
"api__external__v2__couriers__models__SearchResponseBody": {
"properties": {
"couriers": {
"items": {
"properties": {
"name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"vin": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Vin"
},
"shift_status": {
"type": "string",
"enum": [
"off",
"free",
"on_delivery",
"on_battery_change",
"blocked"
],
"title": "CourierShiftStatus"
},
"hatch_status": {
"oneOf": [
{
"type": "string",
"enum": [
"opening",
"open",
"closing",
"closed"
],
"title": "HatchStatus"
},
{
"type": "null"
}
]
},
"coordinates": {
"oneOf": [
{
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
{
"type": "null"
}
]
},
"yaw": {
"oneOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Yaw"
},
"current_route": {
"oneOf": [
{
"items": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Current Route"
},
"fuel_level": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Fuel Level"
},
"claim": {
"oneOf": [
{
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"finished_at": {
"oneOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Finished At"
},
"id": {
"type": "string",
"title": "Id"
},
"route_points": {
"items": {
"properties": {
"address": {
"properties": {
"coordinates": {
"type": "array",
"items": {
"type": "number"
},
"maxItems": 2,
"minItems": 2
},
"fullname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Fullname"
},
"building": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building"
},
"building_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Building Name"
},
"city": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "City"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
},
"country": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Country"
},
"description": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"door_code": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code"
},
"door_code_extra": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Door Code Extra"
},
"doorbell_name": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Doorbell Name"
},
"porch": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Porch"
},
"sflat": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sflat"
},
"sfloor": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sfloor"
},
"shortname": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Shortname"
},
"street": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Street"
},
"uri": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Uri"
}
},
"type": "object",
"required": [
"coordinates"
],
"title": "ClaimPointAddress"
},
"id": {
"type": "string",
"title": "Id"
},
"type": {
"oneOf": [
{
"type": "string",
"enum": [
"source",
"destination",
"return"
],
"title": "ClaimPointType"
},
{
"type": "string"
}
],
"title": "Type"
},
"visit_order": {
"type": "integer",
"title": "Visit Order"
},
"visit_status": {
"oneOf": [
{
"type": "string",
"enum": [
"pending",
"on_the_way",
"arrived",
"in_exchange",
"completing",
"visited",
"skipping",
"skipped"
],
"title": "ClaimPointVisitStatus"
},
{
"type": "string"
}
],
"title": "Visit Status"
}
},
"type": "object",
"required": [
"address",
"id",
"type",
"visit_order",
"visit_status"
],
"title": "ClaimPoint"
},
"type": "array",
"title": "Route Points"
},
"current_route_point_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Route Point Id"
},
"external_id": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "External Id"
},
"status": {
"type": "string",
"enum": [
"new",
"estimating",
"estimating_failed",
"performer_lookup",
"performer_draft",
"performer_found",
"performer_not_found",
"ready_for_approval",
"accepted",
"picking_up",
"pickup_arrived",
"ready_for_pickup_confirmation",
"picked_up",
"delivering",
"delivery_arrived",
"ready_for_delivery_confirmation",
"delivered",
"returning",
"return_arrived",
"ready_for_return_confirmation",
"returned",
"cancelled"
],
"title": "ClaimStatus"
},
"version": {
"oneOf": [
{
"type": "integer"
},
{
"type": "string"
}
],
"title": "Version"
},
"user_request_revision": {
"type": "string",
"title": "User Request Revision"
},
"eta": {
"oneOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Eta",
"description": "In minutes",
"x-i18n-ru-description": "В минутах"
},
"comment": {
"oneOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Comment"
}
},
"type": "object",
"required": [
"created_at",
"updated_at",
"id",
"route_points",
"status",
"version",
"user_request_revision"
],
"title": "Claim"
},
{
"type": "null"
}
]
}
},
"type": "object",
"required": [
"name",
"vin",
"shift_status",
"hatch_status",
"coordinates",
"yaw",
"current_route",
"fuel_level",
"claim"
],
"title": "CourierInfoWithClaim"
},
"type": "array",
"title": "Couriers"
}
},
"type": "object",
"required": [
"couriers"
],
"title": "SearchResponseBody"
}
}
}
}