Отмена/аннулирование заказа¶
Общие положения¶
Endpoint: /api/Order/Cancel
Для отмены конкретного отельного бронирования в рамках существующего заказа используется метод Mixvel_OrderCancelRQ. Этот метод является общим для различных продуктов MixVel, включая отельные бронирования.
Каждое бронирование (Item/ваучер) находится внутри заказа (Order). Отмена выполняется с помощью Mixvel_OrderCancelRQ и возможна только для бронирований в статусе Confirmed (подтверждено). Сам заказ (Order) не подлежит отмене, так как является технической сущностью. Метод Mixvel_OrderCancelRQ используется для отмены именно бронирований (Item/ваучер).
Если в заказе только одно бронирование, достаточно указать OrderID. Если бронирований несколько, необходимо передать OrderItemID конкретного бронирования. На текущий момент за один запрос можно отменить только одно бронирование, но в будущем будет поддержка множественной отмены.
Важно при отмене отельных бронирований:
- Информация о штрафах за отмену возвращается через Mixvel_OrderRetrieveRQ.
- Возврат средств в рамках Mixvel_OrderCancelRQ/RS не предусмотрен. Агент самостоятельно производит возврат клиенту и провайдеру в соответствии с договором.
Структура запроса¶
Входные данные запроса должны соответствовать схеме Mixvel_OrderCancelRQ.xsd и содержать следующие основные параметры (полный список параметров доступен в XSD-схеме или XML-примерах):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRQ/Request/MixOrder/MixOrderID | 82477-250921-MEY3505 | Уникальный идентификатор корзины заказов |
| Mixvel_OrderCancelRQ/Request/MixOrder/Order/OrderID | 82477-250921-OEY3506 | Уникальный идентификатор заказа |
| Mixvel_OrderCancelRQ/Request/MixOrder/Order/OrderItemID | cc7ce875-66fd-4e8f-91d4-36b29134aa62 | Уникальный идентификатор бронирования |
Пример запроса Mixvel_OrderCancelRQ:
Показать пример запроса
<?xml version="1.0" encoding="UTF-8"?>
<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-09-18T03:04:38.6129323Z"/>
<AppData>
<m:Mixvel_OrderCancelRQ xmlns:m="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRQ/1_01">
<Request>
<MixOrder>
<MixOrderID>82477-250616-MEE8921</MixOrderID>
<Order>
<OrderID>82477-250616-OEE8922</OrderID>
</Order>
</MixOrder>
</Request>
</m:Mixvel_OrderCancelRQ>
</AppData>
</Body>
</MixEnv:Envelope>
Структура ответа¶
В результате выполнения запроса на отмену агент получает идентификатор отмененного заказа или сообщение об ошибке, если операция отмены не была выполнена автоматически.
После получения ответа Mixvel_OrderCancelRS (как при Success, так и при Failure) рекомендуется выполнить запрос Mixvel_OrderRetrieveRQ, чтобы убедиться, что статус выбранного OrderItem изменился на Canceled.
Ответ системы на запрос отмены соответствует схеме Mixvel_OrderCancelRS.xsd и содержит следующие основные параметры (полный список параметров доступен в XSD-схеме или XML-примерах):
| XPath параметра | Пример заполнения | Описание |
|---|---|---|
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOrderId | 82477-250616-MEE8921 | Уникальный идентификатор отмененной корзины заказов |
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOrderId/Order/OrderId | 82477-250616-OEE8922 | Уникальный идентификатор отмененного заказа |
| Mixvel_OrderCancelRS/Response/MixOrderRef/MixOrderId/Order/OperationStatus | Success | Статус операции |
Пример ответа Mixvel_OrderCancelRS:
Показать пример ответа
<MixEnv:Envelope xmlns:MixEnv="https://www.mixvel.com/API/XSD/mixvel_envelope/1_06">
<Header/>
<Body>
<MessageInfo MessageId="a4ea7885-063f-4371-8d3e-c5221882d156" ReplyTo="703423d1-595c-49f5-98c2-5dcabe950276" TimeSent="2025-06-16T16:15:37.4629607Z"/>
<AppData>
<Cancel:Mixvel_OrderCancelRS xmlns:Cancel="https://www.mixvel.com/API/XSD/Mixvel_OrderCancelRS/1_00">
<Response>
<MixOrderRef>
<MixOrderID>82477-250616-MEE8921</MixOrderID>
<Order>
<OrderID>82477-250616-OEE8922</OrderID>
<OperationStatus>Success</OperationStatus>
</Order>
</MixOrderRef>
</Response>
</Cancel:Mixvel_OrderCancelRS>
</AppData>
</Body>
</MixEnv:Envelope>