Service
Базовая услуга
Каждая из базовых и дополнительных услуг наследуется от класса BaseService и содержит следующие поля:
- ID — идентификатор данной услуги в рамках данного объекта (брони/заказа). Тип данных — целое 32-битное число.
- SupplierID — идентификатор данной услуги в системе поставщика услуг. Тип данных — строка.
- IsOffline — признак оффлайн-услуги. Тип данных — булевский.
- Status — статус услуги в системе поставщика. Тип данных — перечисление PNRStatus, возможные значения:
- Booked;
- Canceled;
- Ticketed;
- AwaitingTicketing — ожидает выписки — в основном возникает в случаях с чартерами, когда бронь отправили в очередь на выписку билетов авиакомпании;
- Partial — части брони/заказа находится в одном состоянии, остальная в другом (к примеру частично выписанная бронь, или у разных услуг разные статусы);
- Requested;
- Rejected;
- Problematic — проблемная бронь/заказ/услуга, при наличии данного статуса в подстатусах указывается, какая именно проблема.
- SubStatus - содержит информацию о подстатусе.
- SubStatus.Status — подстатус, уточняющий текущее состояние услуги. Тип данных — перечисление, возможные значения:
- InvalidSegmentStatus
- SegmentStatusForManualConfirmation — если в силу каких-то причин не удалось автоматически подтвердить сегменты (имеются в виду TK/KK статусы);
- HaveNotStoredTickets — выписанный активный билет не попал PNR;
- NotActualTicketStatus — один из билетов в PNR'е имеет неактуальный статус — специфично для тестовой среды различных GDS и Galileo после войдирования;
- NoValidFare — у PNR'а в GDS нет активной и валидной цены (специфика GDS Galileo);
- UnremovedVoidedTicketElements — специфично в GDS Amadeus;
- PaidBook — PNR оплачен через платежный шлюз GDS Sirena, но ещё не выписан;
- FailedToActualizePrice — не удалось получить актуальную цены для брони;
- TicketingFailed — ошибка при выполнении запроса Ticket для поставщика авиа контента Travelfusion;
- UnconfirmedInfant — неподтвержденный младенец, требуется ручная обработка;
- DuplicateBooking — наличие дубликата брони в системе поставщика, актуально только для поставщика авиа контента Travelfusion;
- UnconfirmedBooking — не удалось получить подтвержденный статус брони, актуально только для поставщика авиа контента Travelfusion;
- UnconfirmedLoyaltyCard — неподтвержденная карточка лояльности;
- NeedRefundRSVR — необходимо вернуть RSVR EMD;
- FailedRefundRSVR — ошибка при возврате RSVR EMD;
- FailedExchange — ошибка при выполнении обмена билетов;
- AncillariesWithoutPrice — в брони присутствуют дополнительные услуги авиакомпании, для которых отсутствует цена;
- NoAirlineLocator - отсутствует локатор от авиакомпании.
- ExchangedTicketWithoutNew — произведен обмен билета, но не получена информация о новом билете;
- SupplierDoNotKnowEdState — от поставщика вернулся статус Z для билета, в данный момент актуально только для поставщика авиа контента Travelport.
- SupplierDidNotFoundOrder - от поставщика вернулась ошибка "Order not found", связанная с временными проблемами на его стороне, на данный момент актуально только для поставщика авиа контента S7NDC.
- NoTotalFareForTicket - не удалось получить общую стоимость заказа/брони. Актуально для поставщика SITAGabriel.
- TicketExchangeStarted - произведен старт двухфакторного обмена и ожидается его завершение или отмена.
В случае наличия статуса NoAirlineLocator выписка невозможна. Перед тем, как отправить запрос Ticket, нужно повторить запрос UpdateBook несколько раз, то тех пор, пока этот статус не пропадет. Статус NoAirlineLocator появляется в связи с тем, что данные о локаторе бронирования в системе авиакомпании могут быть получены на стороне GDS (и, соответственно, появиться в нашей системе) спустя некоторое время после создания бронирования.
- TravellerRef — ссылка на пассажиров, к которым относится данная услуга. Если услуга применяется для всех путешественников, то элемент не указывается. Тип данных — массив RefList.
- TravellerRef.Ref — ссылка на конкретного пассажира в рамках брони/заказа. Тип данных — целое 32-битное число.
Авиа услуга
Описание данных перелёта
Описание формата
- Type — тип перелёта. Тип данных — перечисление, возможные значения:
- DirectionType — тип направления перелёта. Тип данных — перечисление (аналогично DirectionType в Flight), возможные значения:
- OW — перелёт в одну строну;
- RT — перелет туда и обратно;
- CT — сложный маршрут;
- SingleOJ — одинарный Open Jaw;
- DoubleOJ — двойной Open Jaw;
- hRT — RT/2;
- mOW — перелёт является возможным плечом мультиOW перелёта.
- Segments — сегменты перелёта. Тип данных — массив элементов FlightSegment.
- FlightSegment — сегмент перелёт. Тип данных — массив.
- FlightSegment.ID — идентификатор сегмента в рамках данного перелёта. Тип данных — целое 32-битное число.
- FlightSegment.DepatureAirport — информация об аэропорте отправления. Тип данных — TripPointInformation:
- FlightSegment.DepatureAirport.Code — код аэропорта. Тип данных — строка.
- FlightSegment.DepatureAirport.SubPointCode — код терминала. Тип данных — строка.
- FlightSegment.DepatureAirport.CityCode — код города, при наличии агрегации аэропортов. Тип данных — строка.
- FlightSegment.DepatureAirport.UTC — часовой пояс. Тип данных — дробное число.
- FlightSegment.ArrivalAirport — информация об аэропорте прибытия. Тип данных — TripPointInformation. Формат аналогичен FlightSegment.DepatureAirport.
- FlightSegment.StopPoints — точки остановки на данном сегменте. Тип данных — массив элементов StopPoint:
- FlightSegment.StopPoints.StopPoint — точка остановки на данном сегменте. Тип данных — массив, наследник TripPointInformation.
- FlightSegment.StopPoints.StopPoint.Code - код аэропорта. Тип данных — строка.
- FlightSegment.StopPoints.StopPoint.CityCode - код города, при наличии агрегации аэропортов. Тип данных — строка.
- FlightSegment.StopPoints.StopPoint.UTC - часовой пояс. Тип данных — дробное число.
- FlightSegment.StopPoints.StopPoint.ArrDateTime — дата и время прилёта в точку остановки. Тип данных — строка, формат
yyyy-mm-ddthh:mm:ss
.
- FlightSegment.StopPoints.StopPoint.DepDateTime — дата и время вылета из точки остановки. Тип данных — строка, формат
yyyy-mm-ddthh:mm:ss
.
- FlightSegment.StopPoints.StopPoint.PassengerLanding — признак высадки пассажиров из самолёта. Тип данных — булевский.
- FlightSegment.DepatureDateTime — дата и время вылета сегмента, местное для аэропорта вылета. Тип данных —
yyyy-mm-ddthh:mm:ss
.
- FlightSegment.ArrivalDateTime — дата и время прилёта сегмента, местное для аэропорта прибытия. Тип данных —
yyyy-mm-ddthh:mm:ss
.
- FlightSegment.FlightTime — суммарное время в пути на данном сегменте. Тип данных — целое 32-битное число.
- FlightSegment.FlightNumber — номер рейса. Тип данных — строка.
- FlightSegment.AircraftType — код типа воздушного судна. Тип данных — строка.
- FlightSegment.OperatingAirline — код авиакомпании, чей самолёт выполняет перевозку пассажиров. Тип данных — строка.
- FlightSegment.MarketingAirline — код авиакомпании, которая выполняет продажу мест на данный рейс. Тип данных — строка.
- FlightSegment.Charterer — фрахтователь продаваемых мест. Тип данных — строка.
- FlightSegment.ETicket — сегменты перелёта. Тип данных — булевский.
- FlightSegment.BookingClassCode — литера класса бронирования да данном сегменте. Тип данных — строка.
- FlightSegment.Status — статус сегмента. Тип данных — перечисление, возможные значения:
- Confirmed;
- NeedConfirmation;
- NotConfirmed;
- Canceled;
- Flew;
- OnRequest;
- Rejected.
- FlightSegment.StatusCode — индустриальный код статуса сегмента. Тип данных — строка.
- FlightSegment.SupplierRef — идентификатор брони сегмента в инвенторной системе авиакомпании. Тип данных — строка.
- FlightSegment.RequestedSegment — ссылка на сегмента из запроса пользователя. Тип данных — целое 32-битное число.
- FlightSegment.FlightDistance — численное значение дальности полёта в милях (актуально для GDS Amadeus). Тип данных — целое 32-битное число.
- FlightSegment.CO2Emission — выброс CO2 в кг/м (актуально для GDS Amadeus). Тип данных — целое 32-битное число.
- HasSupplierVirtualInterline - признак перелета, для которого вернется один или несколько ПНР. Тип данных - bool.
- BusinessRules - информация о бизнес-правилах для данного перелёта. Тип данных — массив элементов Rule.
- BusinessRules.Rule - информация о бизнес-правиле, сработавшего для данного перелёта. Тип данных — BusinessRule.
- BusinessRules.Rule.Id - идентификатор сработавшего для данного перелёта бизнес-правила. Тип данных - строка.
- BusinessRules.Rule.AdditionalParameters - дополнительная информация о параметрах бизнес-правила, сработавшего для данного перелёта. Тип данных — массив.
Пример
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<UpdateBook_2_0Response xmlns="http://nemo-ibe.com/Avia">
<UpdateBook_2_0Result xmlns:a="http://nemo-ibe.com/STL" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:RequestID>11857720319</a:RequestID>
<a:ResponseBody>
<a:ID>1039532</a:ID>
<a:OwnerID>30330</a:OwnerID>
<a:DateInfo/>
<a:PossibleActions/>
<a:Travellers/>
<a:Services>
<a:Service i:type="a:FlightService">
<a:ID>0</a:ID>
<a:SupplierID>Y1SW3B</a:SupplierID>
<a:Status>Booked</a:Status>
<a:SubStatus>
<a:Status>NoValidFare</a:Status>
</a:SubStatus>
<a:Type>Regular</a:Type>
<a:DirectionType>CT</a:DirectionType>
<a:Segments>
<a:FlightSegment>
<a:ID>0</a:ID>
<a:DepatureAirport>
<a:Code>IST</a:Code>
<a:SubPointCode>I</a:SubPointCode>
<a:CityCode>IST</a:CityCode>
<a:UTC>3</a:UTC>
</a:DepatureAirport>
<a:ArrivalAirport>
<a:Code>AUH</a:Code>
<a:SubPointCode>3</a:SubPointCode>
<a:CityCode>AUH</a:CityCode>
<a:UTC>4</a:UTC>
</a:ArrivalAirport>
<a:DepatureDateTime>2017-09-04T14:15:00</a:DepatureDateTime>
<a:ArrivalDateTime>2017-09-04T19:55:00</a:ArrivalDateTime>
<a:FlightNumber>96</a:FlightNumber>
<a:OperatingAirline>EY</a:OperatingAirline>
<a:MarketingAirline>EY</a:MarketingAirline>
<a:ETicket>true</a:ETicket>
<a:BookingClassCode>W</a:BookingClassCode>
<a:Status>Confirmed</a:Status>
<a:StatusCode>HK</a:StatusCode>
<a:SupplierRef>TPWLLN</a:SupplierRef>
<a:RequestedSegment>0</a:RequestedSegment>
</a:FlightSegment>
<a:FlightSegment>
<a:ID>1</a:ID>
<a:DepatureAirport>
<a:Code>AUH</a:Code>
<a:SubPointCode>3</a:SubPointCode>
<a:CityCode>AUH</a:CityCode>
<a:UTC>4</a:UTC>
</a:DepatureAirport>
<a:ArrivalAirport>
<a:Code>KUL</a:Code>
<a:SubPointCode>M</a:SubPointCode>
<a:CityCode>KUL</a:CityCode>
<a:UTC>8</a:UTC>
</a:ArrivalAirport>
<a:DepatureDateTime>2017-09-04T22:30:00</a:DepatureDateTime>
<a:ArrivalDateTime>2017-09-05T10:10:00</a:ArrivalDateTime>
<a:FlightNumber>418</a:FlightNumber>
<a:OperatingAirline>EY</a:OperatingAirline>
<a:MarketingAirline>EY</a:MarketingAirline>
<a:ETicket>true</a:ETicket>
<a:BookingClassCode>W</a:BookingClassCode>
<a:Status>Confirmed</a:Status>
<a:StatusCode>HK</a:StatusCode>
<a:SupplierRef>TPWLLN</a:SupplierRef>
<a:RequestedSegment>0</a:RequestedSegment>
</a:FlightSegment>
<a:FlightSegment>
<a:ID>2</a:ID>
<a:DepatureAirport>
<a:Code>KUL</a:Code>
<a:SubPointCode>M</a:SubPointCode>
<a:CityCode>KUL</a:CityCode>
<a:UTC>8</a:UTC>
</a:DepatureAirport>
<a:ArrivalAirport>
<a:Code>HKT</a:Code>
<a:UTC>7</a:UTC>
</a:ArrivalAirport>
<a:DepatureDateTime>2017-09-05T13:10:00</a:DepatureDateTime>
<a:ArrivalDateTime>2017-09-05T13:20:00</a:ArrivalDateTime>
<a:FlightNumber>2751</a:FlightNumber>
<a:OperatingAirline>MH</a:OperatingAirline>
<a:MarketingAirline>EY</a:MarketingAirline>
<a:ETicket>true</a:ETicket>
<a:BookingClassCode>W</a:BookingClassCode>
<a:Status>Confirmed</a:Status>
<a:StatusCode>HK</a:StatusCode>
<a:SupplierRef>TPWLLN</a:SupplierRef>
<a:RequestedSegment>0</a:RequestedSegment>
</a:FlightSegment>
</a:Segments>
</a:Service>
</a:Services>
<a:Price/>
<a:DataItems/>
</a:ResponseBody>
</UpdateBook_2_0Result>
</UpdateBook_2_0Response>
</s:Body>
</s:Envelope>