Перейти к содержанию

Отмена/аннулирование заказа

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>