Отмена/аннулирование заказа¶
Endpoint: /api/Order/Cancel
Отмена неоплаченного заказа/бронирования¶
Общие положения¶
Endpoint: /api/Order/Cancel
Для отмены неоплаченного заказа/бронирования используется запрос Mixvel_OrderCancelRQ. В результате успешного выполнения заказа происходит отмена всех услуг, входящих в заказ. Для отмены части заказа после сплитования, в запрос также необходимо передать OrderID отменяемого заказа.
В результате выполнения заказа агент получает ID отмененного заказа или сообщение об ошибке, если операцию отмены не удалось произвести автоматически.
Структура запроса¶
Входные данные запроса должны удовлетворять схеме Mixvel_OrderCancelRQ.xsd и содержать следующие основные данные (в таблице приведены основные параметры сообщения, полные параметры можно найти в xsd схеме или в xml примерах конкретного сообщения):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRQ/Request/MixOrder/MixOrderID | 06031-250101-MAA0031 | Уникальный идентификатор корзины заказа |
| .../MixOrder/Order/OrderID | 06031-250101-OAA0032 | Уникальный идентификатор заказа (опционально) |
Структура ответа¶
Ответ системы на запрос отмены соответствует схеме Mixvel_OrderCancelRS.xsd и содержит следующие основные данные (в таблице приведены основные параметры сообщения, полные параметры можно найти в xsd схеме или в xml примерах конкретного сообщения):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId | 00001-250117-MA1234 | Уникальный идентификатор отмененной корзины заказов |
| По каждому отмененному Order’у: | ||
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId/Order/OrderId | 00001-250117-OA1235 | Уникальный идентификатор отмененного заказа |
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId/Order/ OperationStatus | Success | Статус операции. Принимает значения «Success» / «Failure» |
Сценарий использования и примеры сообщений¶
Пример отмены неоплаченного заказа¶
Запрос на отмену заказа будет выглядеть следующим образом.
Показать пример запроса
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body id="ID1">
<MessageInfo MessageId="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-01-24T18:30:11Z"/>
<AppData>
<m:Mixvel_OrderCancelRQ xmlns:m="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request>
<MixOrder>
<MixOrderID>96829-250124-MEO3193</MixOrderID>
<Order>
<OrderID>96829-250124-OEO3194</OrderID> <!--Идентификатор заказа (опционально)-->
</Order>
</MixOrder>
</Request>
</m:Mixvel_OrderCancelRQ>
</AppData>
</Body>
</MixEnv:Envelope>
В случае успешной отмены заказа агенту приходит следующее сообщение.
Показать пример ответа
<?xml version="1.0" encoding="utf-8"?>
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header />
<Body>
<MessageInfo MessageId="c8a1b5a6-930b-49a7-833f-f91e707e47f5" ReplyTo="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-01-24T18:30:11.133246Z" />
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>96829-250124-MEO3193</MixOrderID>
<Order>
<OrderID>96829-250124-OEO3194</OrderID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
<Warning>
<Code>MIX-103026</Code>
<DescText>Заказ аннулирован. Для восстановления заказа воспользуйтесь методом OrderChangeRQ</DescText>
<LangCode>Ru</LangCode>
</Warning>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>
Аннулирование оплаченного заказа¶
Общие положения¶
Аннулирование - это полная отмена документа без финансовых последствий для конечного потребителя. Операция аннулирования тождественна возврату без штрафов. Для аннулирования оплаченного заказа используется запрос Mixvel_OrderCancelRQ. В результате успешного выполнения запроса происходит отмена всех услуг, входящих в заказ, а также отмена всех выпущенных билетов. Аннулирование заказа происходит полностью. Для частичной отмены услуг необходимо использовать запрос Mixvel_OrderChangeRQ. Допускается аннулирование отдельных заказов, входящих в корзину заказов (MixOrder).
Аннулирование оплаченного заказа возможно в ограниченное время после его оплаты. Время на аннулирование отражено в VoidTimelimitUtc - тайм-лимит на войдирование заказа после выписки билетов.
В результате выполнения запроса агент получает ID отмененного заказа или сообщение об ошибке, если операцию аннулирования не удалось произвести автоматически.
При отправке запроса на аннулирование производится аннулирование перевозки и дополнительных услуг, места возвращаются перевозчику.
Структура запроса¶
Входные данные запроса должны удовлетворять схеме Mixvel_OrderCancelRQ.xsd и содержать следующие основные данные (в таблице приведены основные параметры сообщения, полные параметры можно найти в xsd схеме или в xml примерах конкретного сообщения):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRQ/Request/MixOrder/MixOrderID | 06031-200201-MAA003 | Уникальный идентификатор корзины заказов |
Структура ответа¶
Ответ системы на запрос аннулирования оплаченного заказа соответствует схеме Mixvel_OrderCancelRS.xsd и содержит следующие основные данные (в таблице приведены основные параметры сообщения, полные параметры можно найти в xsd схеме или в xml примерах конкретного сообщения):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId | 00001-210317-MA1234 | Уникальный идентификатор аннулированной корзины заказов |
| По каждому отмененному Order’у: | ||
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId/Order/OrderId | 06031-200201-OAA003 | Уникальный идентификатор аннулированного заказа |
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOderId/Order/ OperationStatus | Success | Статус операции. Принимает значения «Success» / «Failure». |
Сценарий использования и примеры сообщений¶
Пример аннулирования оплаченного заказа¶
Запрос на аннулирование заказа будет выглядеть следующим образом:
Показать пример запроса
<Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header xmlns=""/>
<Body xmlns="" id="ID1">
<MessageInfo MessageId="c46dcf8f-4df3-4cc1-a721-b984dccb8902" TimeSent="2022-07-20T08:45:22.6260801Z"/>
<AppData>
<Mixvel_OrderCancelRQ xmlns="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request xmlns="">
<MixOrder>
<MixOrderID>96829-250111-MEY1044</MixOrderID>
</MixOrder>
</Request>
</Mixvel_OrderCancelRQ>
</AppData>
</Body>
</Envelope>
В случае успешного аннулирования заказа агенту приходит следующее xml сообщение:
Показать пример ответа
<?xml version="1.0" encoding="utf-8"?>
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header />
<Body>
<MessageInfo MessageId="82fb34a6-014f-4743-a0dc-dc1b945e1f86" ReplyTo="c46dcf8f-4df3-4cc1-a721-b984dccb8902" TimeSent="2025-01-11T09:20:03.3430133Z" />
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>96829-250111-MEY1044</MixOrderID>
<Order>
<OrderID>96829-250111-OEY1045</OrderID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>
Аннулирование с сохранением мест¶
Агенту доступен процесс аннулирования перевозки и дополнительных услуг без аннуляции мест. Для этого необходимо указывать признак необходимости сдать места Mixvel_OrderCanselRQ/Request/MixOrder/Order/ReturnSeat:
- true - места аннулируются;
- false - места не аннулируются.
По умолчанию - места аннулируются (значение true).
Запрос на аннулирование заказа без аннуляции мест будет выглядеть следующим образом:
Показать пример запроса
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body id="ID1">
<MessageInfo MessageId="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-01-15T00:00:00Z"/>
<AppData>
<m:Mixvel_OrderCancelRQ xmlns:m="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request>
<MixOrder>
<MixOrderID>08258-250115-MEE1069</MixOrderID>
<Order>
<OrderID>08258-250115-OEE1070</OrderID>
<ReturnSeat>false</ReturnSeat>
</Order>
</MixOrder>
</Request>
</m:Mixvel_OrderCancelRQ>
</AppData>
</Body>
</MixEnv:Envelope>
В случае успешного аннулирования заказа агенту приходит следующее xml сообщение:
Показать пример ответа
<?xml version="1.0" encoding="utf-8"?>
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header />
<Body>
<MessageInfo MessageId="cbad6480-6e9e-4791-96a8-2749f0f8c596" ReplyTo="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-01-15T07:37:55.327306Z" />
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>08258-250115-MEE1069</MixOrderID>
<Order>
<OrderID>08258-250115-OEE1070</OrderID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>
Аннулирование дополнительной услуги (EMD Void)¶
При аннулировании все услуги, размещенные на купонах EMD, не должны быть оказаны. Для операции войдирования дополнительных услуг используется метод Mixvel_OrderCancelRQ, в котором в commontype OrderIDReturnSeatsRefType добавлен OrderItemID (опциональное поле).
OrderItemID будет использован в схеме для аннулирования OrderItem, связанных с ДУ в оплаченном заказе.
- Mixvel_OrderCancelRQ/Request/MixOrder/Order/OrderItem/OrderItemID
Пример Mixvel_OrderCancelRQ:
Показать пример запроса
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body id="ID1">
<MessageInfo MessageId="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-10-31T19:37:48Z"/>
<AppData>
<m:Mixvel_OrderCancelRQ xmlns:m="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request>
<MixOrder>
<MixOrderID>62960-251211-MEB0997</MixOrderID>
<Order>
<OrderID>62960-251211-OEB0998</OrderID>
<OrderItem>
<OrderItemID>4bf5b960-46d9-45ad-b58b-72eb2421be38</OrderItemID>
</OrderItem>
</Order>
</MixOrder>
</Request>
</m:Mixvel_OrderCancelRQ>
</AppData>
</Body>
</MixEnv:Envelope>
В ответе на запрос в Mixvel_OrderCancelRS присутствует OrderItemID (в commontype OrderIDRefExtendedType):
- Mixvel_OrderCancelRS/Response/MixOrderRef/Order/OrderItemID
Пример Mixvel_OrderCancelRS:
Показать пример ответа
<?xml version="1.0" encoding="utf-8"?>
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header />
<Body>
<MessageInfo MessageId="019b0b3e-8fa8-7226-b3d5-5672c9dfed8a" ReplyTo="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-12-11T02:30:13.6395504Z" />
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>62960-251211-MEB0997</MixOrderID>
<Order>
<OrderID>62960-251211-OEB0998</OrderID>
<OrderItemID>4bf5b960-46d9-45ad-b58b-72eb2421be38</OrderItemID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>
Аннулирование части связанных услуг¶
Если связанные услуги объединены в один OrderItem, для аннулирования части таких услуг необходимо передать параметры OrderItemID и ServiceID удаляемой услуги. Частичное войдирование услуг, выписываемых на одном ЭМД, доступно только до их оплаты.
Пример Mixvel_OrderCancelRQ:
Показать пример запроса
<Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header xmlns=""/>
<Body xmlns="" id="ID1">
<MessageInfo MessageId="c46dcf8f-4df3-4cc1-a721-b984dccb8902" TimeSent="2022-07-20T08:45:22.6260801Z"/>
<AppData>
<Mixvel_OrderCancelRQ xmlns="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request xmlns="">
<MixOrder>
<MixOrderID>96829-250416-MEK9946</MixOrderID>
<Order>
<OrderID>96829-250416-OEK9947</OrderID>
<OrderItem>
<OrderItemID>ba7e698b-5ef8-48b0-ba36-83e70124be70</OrderItemID>
<ServiceID>f5cdb425-d722-4885-b417-37150c5e97bd</ServiceID>
</OrderItem>
</Order>
</MixOrder>
</Request>
</Mixvel_OrderCancelRQ>
</AppData>
</Body>
</Envelope>
При успешном войдировании услуги, в Mixvel_OrderCancelRS будут переданы OrderItemID и ServiceID удаленной услуги.
Пример Mixvel_OrderCancelRS:
Показать пример ответа
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body>
<MessageInfo MessageId="7c8a6354-d359-433f-8ddd-38b7da98e455" ReplyTo="c46dcf8f-4df3-4cc1-a721-b984dccb8902" TimeSent="2025-04-16T09:09:31.8684583Z"/>
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>96829-250416-MEK9946</MixOrderID>
<Order>
<OrderID>96829-250416-OEK9947</OrderID>
<OrderItem>
<OrderItemID>ba7e698b-5ef8-48b0-ba36-83e70124be70</OrderItemID>
<ServiceID>f5cdb425-d722-4885-b417-37150c5e97bd</ServiceID>
</OrderItem>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>
Удаление сегментов со статусом «XX»¶
Cегменты, остающиеся после аннулирования/отмены, имеют статус «ХХ».
В схеме запроса Mixvel_OrderCancelRQ используется элемент RemoveCancelledPaxSegment, принимающий значения true/false, функция которого - служить индикатором необходимости удаления из заказа сегментов со статусом «XX» в процессе аннулирования.
Mixvel_OrderCancelRQ/Request/MixOrder/Order/RemoveCancelledPaxSegment
По умолчанию значение этого элемента false. Если агенту необходимо удалить сегменты со статусом «XX», то в RemoveCancelledPaxSegment передается значение true.
Алгоритм удаления сегментов, имеющих статус «ХХ», при указании RemoveCancelledPaxSegment=true следующий:
-
функция применяется ко всем сегментам;
-
все сегменты получают статус ХХ;
-
при одноременном указании ReturnSeat=true и RemoveCancelledPaxSegment=true все сегменты удаляются.
Элемент RemoveCancelledPaxSegment напрямую связан с элементом ReturnSeat (который также имеет принимает значения true/false):
1) если ReturnSeat=true и RemoveCancelledPaxSegment=true, то удаляются сегменты со статусом «XX»;
2) если ReturnSeat=true и RemoveCancelledPaxSegment=false, то сегменты со статусом «XX» не удаляются;
3) если ReturnSeat=false и RemoveCancelledPaxSegment=true, то сегменты со статусом «XX» не удаляются.
Важно отметить, что данную функцию возможно применить только ко всем купонам сразу. Соответственно, ВСЕ сегменты будут удалены/аннулированы. Удаленные сегменты в заказе возвращаться не будут.
Если в неоплаченном заказе присутствуют как сегменты в статусе «XX», так и сегменты в статусе «HK», и необходимо удалить только конкретные сегменты «XX», то можно воспользоваться функцией по Удалению сегментов до оплаты заказа. В этом случае будет вызван метод Mixvel_OrderChangeRQ с использованием элемента DeletePaxSegment (OrderRefID, PaxSegmentRefID). Необходимо указать конкретные сегменты заказа, которые будут удалены.
Пример Mixvel_OrderCancelRQ:
Показать пример запроса
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body id="ID1">
<MessageInfo MessageId="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2021-03-17T19:37:48Z"/>
<AppData>
<m:Mixvel_OrderCancelRQ xmlns:m="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request>
<MixOrder>
<MixOrderID>96829-230714-MPC1000</MixOrderID>
<Order>
<OrderID>96829-230714-OPC1001</OrderID>
<RemoveCancelledPaxSegment>true</RemoveCancelledPaxSegment>
<ReturnSeat>true</ReturnSeat>
</Order>
</MixOrder>
</Request>
</m:Mixvel_OrderCancelRQ>
</AppData>
</Body>
</MixEnv:Envelope>
Пример Mixvel_OrderCancelRS:
Показать пример ответа
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body>
<MessageInfo MessageId="e74b2f7e-c136-441f-a95f-06b3df6122ef" ReplyTo="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2023-07-14T12:22:21.2691519Z"/>
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>96829-230714-MPC1000</MixOrderID>
<Order>
<OrderID>96829-230714-OPC1001</OrderID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>