Веб-служба выписки

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску

Информация

Агентский АПИ выписки позволяет определить валидирующего перевозчика и значение комиссии от авиакомпании для брони, а также запустить процедуру выписки билета.

! Как правило для выписки билета достаточно чтобы у заказа был статус "Оплачено". При включенной опции «Для успешных бронирований производить оформление: автоматически после изменения статуса на "Оплачено"» из раздела «Заказы»«Настройки бронирования» билет будет автоматически выписан после оплаты.

В Nemo 2.0 в агентский сервис (интерфейс к серверу бронирования) добавлены дополнительные настройки для выписки авиабилетов. В новой версии АПИ позволяет:

  • сообщать ВП (валидирующего перевозчика) по данной комбинации;
  • сообщать комиссию по данной комбинации;
  • сообщать эндорсменты по данной комбинации;
  • принимать запрос на тикетинг;
  • проверять наличие брони в ГДС;
  • синхронизировать бронь;
  • выписывать билет;
  • войдировать билет.


Общий формат запроса / ответа выписки

Данный запрос запускается после оплаты заказа, может быть запущен как в ручном режиме — пользователем, у которого есть на это права, так и автоматически. Выписать неоплаченный заказ через Nemo возможности нет. При запуске запроса на выписку также запускается процесс обновления заказа, в ходе которого сверяется цена и остальные параметры заказа, а также проверяется его актуальность. Заказы, с истекшим таймлимитом выписать нельзя.

WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=Ticketing

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:Ticketing>
 5          <RequestBin>
 6             <Request>
 7                <Ticketing>
 8                   <BookID>?</BookID>
 9                   <!--BookID — Id заказа в системе Nemo-->
10                   <ValCompany>?</ValCompany>
11                   <!--ValCompany — валидирующий перевозчик (тот кто выписывает билет)-->
12                   <Comission Amount="?" Percent="?" CurrencyCode="?"/>
13                   <!--Comission Amount — комиссии, указываются или в валюте, или в процентах, для валюты обязательным является 
14                    код валюты. Если указана и в валюте и в процентах, то у поставщика комиссия устанавливается в валюте-->
15                   <!--Amount — комиссия в валюте-->
16                   <!--Percent — комиссия в процентах-->
17                   <!--CurrencyCode — код валюты комиссии-->
18                   <PassengerFops>
19                      <!--Zero or more repetitions:-->
20                      <PassengerFop>
21                         <PassengerId>?</PassengerId>
22                         <!--PassengerId - порядковый номер пассажира в перелете-->
23                         <Fops>
24                            <!--Zero or more repetitions:-->
25                            <Fop>
26                               <Type>?</Type>
27                               <!--Type - форма оплаты: CC (по кредитной карте) или СА (наличными)-->
28                               <Money Currency="?">?</Money>
29                               <!--Money - сумма платежа-->
30                               <!--Currency - код валюты-->
31                               <VendorCode>?</VendorCode>
32                               <!--VendorCode - код типа карты: (например, VI - Visa, 
33                                                                            MC - MasterCard, 
34                                                                            AX - American Express
35                                                                            DC - DCL,
36                                                                            CA - EURO,
37                                                                            IK - EURO,
38                                                                            JB - JCB,
39                                                                            JC - JCB,
40                                                                            BA - Visa)-->
41                               <Number>?</Number>
42                               <!--Number - номер карты-->
43                               <ExpireDate>?</ExpireDate>
44                               <!--ExpireDate - срок действия карты, например 12.2020-->
45                               <ManualApprovalCode>?</ManualApprovalCode>
46                               <!--ManualApprovalCode - код проверки подлинности карты платёжной системы, например, 123-->
47                            </Fop>
48                         </Fops>
49                      </PassengerFop>
50                   </PassengerFops>
51                </Ticketing>
52             </Request>
53             <Source>
54                <ClientId>?</ClientId>
55                <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
56                "Администрирование" ⇨ "Веб-служба. Авторизация".-->
57                <APIKey>?</APIKey>
58                <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
59                "Администрирование" ⇨ "Веб-служба. Авторизация".-->
60                <Language>?</Language>
61                <!--Language — язык, например: RU-->
62                <Currency>?</Currency>
63                <!-- Currency — валюта, например: RUB, EUR-->
64             </Source>
65          </RequestBin>
66       </ver:Ticketing>
67    </soapenv:Body>
68 </soapenv:Envelope>

Ответ

  1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DTicketing" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2    <SOAP-ENV:Body>
  3       <ns1:TicketingResponse>
  4          <ResponseBin>
  5             <Response>
  6                <Ticketing ID="?" Status="?" Code="?">
  7                <!--ID — Id брони в системе Nemo, целое число, обязательный-->
  8                <!--Status — индикатор состояния брони, возможные значения:
  9                                                 booked — забронировано,
 10                                                 canceled — бронь отменена,
 11                                                 ticket — выписана
 12                                                 UNDEFINED — статус не определён-->
 13                <!--Code — код брони в системе поставщика-->
 14                   <QueryPlace xsi:nil="true"/>
 15                   <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
 16                   <Flight FlightId="?">
 17                   <!--FlightId — Id перелёта в системе Nemo-->
 18                      <WebService>?</WebService>
 19                      <!--WebService — поставщик перелёта-->
 20                      <ValCompany>?</ValCompany>
 21                      <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
 22                      <URL>?</URL>
 23                      <!--URL — ссылка на бронирование конкретного перелета-->
 24                      <Segments>
 25                         <Segment SegNum="?" SegGroupNum="?">
 26                         <!--SegNum — номер сегмента в перелёте-->
 27                         <!--SegGroupNum – номер плеча перелёта-->
 28                            <DepAirp CodeType="IATA">?</DepAirp>
 29                            <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
 30                            или SVO — Шереметьево-->
 31                            <DepTerminal>?</DepTerminal>
 32                            <!--DepTerminal — терминал пункта отправления, если пустое значение,
 33                            то в аэропорту всего 1 терминал-->
 34                            <ArrAirp CodeType="IATA">?</ArrAirp>
 35                            <!--ArrAirp — аэропорт прибытия-->
 36                            <ArrTerminal>?</ArrTerminal>
 37                            <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
 38                            то в аэропорту всего 1 терминал-->
 39                            <OpAirline>?</OpAirline>
 40                            <!--OpAirline — авиакомпания перевозчик, например: SU — Аэрофлот-->
 41                            <MarkAirline>?</MarkAirline>
 42                            <!--MarkAirline — авиакомпания, продающая перелёт-->
 43                            <MarkAirlineName>?</MarkAirlineName>
 44                            <!--MarkAirlineName - полное наименование АК на кириллице-->
 45                            <FlightNumber>?</FlightNumber>
 46                            <!--FlightNumber — номер рейса-->
 47                            <AircraftName>?</AircraftName>
 48                            <!--AircraftName - наименование воздушного судна-->
 49                            <AircraftType>?</AircraftType>
 50                            <!--AircraftType — тип воздушного судна, код-->
 51                            <DepDateTime>?</DepDateTime>
 52                            <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 53                            <ArrDateTime>?</ArrDateTime>
 54                            <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 55                            <StopNum>?</StopNum>
 56                            <!--StopNum — количество остановок-->
 57                            <BookingCodes>
 58                               <BookingCode ClassType="?">
 59                               <!--ClassType — класс перелета, например: economy-->
 60                                  <BookingCode>?</BookingCode>
 61                                  <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
 62                                  может записываться разными литерами, например: L-->
 63                               </BookingCode>
 64                            </BookingCodes>
 65                            <FlightTime>?</FlightTime>
 66                            <!--FlightTime — время перелёта в минутах-->
 67                            <TimeZone Departure="?" Arrival="?"/>
 68                            <!--Departure временная зона аэропорта отправления-->
 69                            <!--Arrival — временная зона аэропорта прибытия-->
 70                            <ETicket>?</ETicket>
 71                            <!--ETicket — признак электронного билета, значения: true / false-->
 72                         </Segment>
 73                      </Segments>
 74                      <PricingInfo Refundable="?">
 75                      <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
 76                         <PassengerFare Type="?" Quantity="?">
 77                         <!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
 78                         INF — младенцы, INS — младенцы с местом-->
 79                         <!--Quantity — количество пассажиров данного типа-->
 80                            <BaseFare Currency="?" Amount="?"/>
 81                            <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
 82                            <EquiveFare Currency="?" Amount="?"/>
 83                            <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
 84                            Currency — код валюты, Amount — значение цены-->
 85                            <TotalFare Currency="?" Amount="?"/>
 86                            <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
 87                            Currency — код валюты, Amount — значение цены-->
 88                            <Taxes>
 89                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
 90                               <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
 91                            </Taxes>
 92                            <Tariffs>
 93                               <Tariff Code="?" SegNum="?"/>
 94                               <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
 95                            </Tariffs>
 96                            <FareCalc>?</FareCalc>
 97                            <!--FareCalc — строка расчёта цены-->
 98                            <LastTicketDateTime>?</LastTicketDateTime>
 99                            <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
100                         </PassengerFare>
101                      </PricingInfo>
102                      <Commission Currency="?">?</Commission>
103                      <Charges Currency="?">?</Charges>
104                      <!--Charges — сборы, Currency — код валюты-->
105                      <TotalPrice Currency="?">?</TotalPrice>
106                      <!--TotalPrice — итоговая цена, Currency — код валюты-->
107                   </Flight>
108                   <Agency Name="?">
109                   <!--Name — название агентства-->
110                      <Telephone Type="?">
111                      <!--Type — тип номера, обязательный, возможные значения:
112                      M — мобильный, H — домашний, B — рабочий, A — агенство-->
113                         <!--Optional:-->
114                         <PhoneNumber>?</PhoneNumber>
115                         <!--PhoneNumber — номер телефона-->
116                         <!--Optional:-->
117                         <CountryAccessCode>?</CountryAccessCode>
118                         <!--CountryAccessCode — код страны-->
119                         <!--Optional:-->
120                         <AreaCityCode>?</AreaCityCode>
121                         <!--AreaCityCode — код региона/города-->
122                      </Telephone>
123                      <Address City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
124                      <!--City — город-->
125                      <!--State — штат-->
126                      <!--StreetAddress — адрес в городе (улица, дом, корпус, офис и т.д.)-->
127                      <!--PostalCode — почтовый индекс-->
128                      <!--CountryCode — код страны (RU, UA и т.п.)-->
129                   </Agency>
130                   <ItinReceipts Encoding="?" Format="?">
131                   <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
132                   <FareStored xsi:nil="true"/>
133                    <PaymentTransactions>
134                      <Transaction>
135                         <Id>?</Id>
136                         <!--Id - номер транзакции в Немо-->
137                         <Status>?</Status>
138                         <!--Status - статус транзакции-->
139                         <GatewayName>?</GatewayName>
140                         <!--GatewayName - название платежного шлюза-->
141                         <MoneyPaid Currency="?">?</MoneyPaid>
142                         <!--MoneyPaid - сумма оплаты-->
143                         <!--Currency - валюта-->
144                         <PaymentDateTime>?</PaymentDateTime>
145                         <!--PaymentDateTime - дата и время оплаты-->
146                         <CreateDateTime>?</CreateDateTime>
147                         <!--CreateDateTime - дата и время создания платежной транзакции-->
148                         <Description/>
149                      </Transaction>
150                   </PaymentTransactions>
151                   <PaymentStatus>?</PaymentStatus>
152                   <!--PaymentStatus - статус оплаты:
153                                          not_paid — не оплачено
154                                          partly_paid — оплачено, частично
155                                          fully_paid — оплачено, полностью-->
156                   <Travellers>
157                      <!--Zero or more repetitions:-->
158                      <Traveller Type="?" IsContact="?" LinkedTo="?" Num="?" TravellerId="?">
159                      <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
160                      CNN — дети со взрослыми,UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
161                      <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
162                       контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
163                      может быть контактным лицом, по умолчанию false-->
164                      <!--Num — порядковый номер пассажира, начинается с 1-->
165                      <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок-->
166                      <!--TravellerId — устаревший параметр, не используется-->
167                         <Meal>?</Meal>
168                         <!--Meal — код типа питания, возможные значения:
169                                                 NONE — отсутствует
170                                                 AVML — Азиатская вегетарианская кухня
171                                                 BLML — Блюда щадящей диеты
172                                                 CHML — Детское питание
173                                                 CHPC — Детский холодный завтрак
174                                                 СНСС — Детский горячий завтрак
175                                                 CHHC — Детский ланч, ветчина и сыр
176                                                 PBJS — Детский ланч, ореховое масло
177                                                 CHMC — Детский обед макароны с сыром
178                                                 DBML — Диабетическое питание
179                                                 FPML — Фрукты
180                                                 GFML — Питание без клейковины
181                                                 HFML — Питание богатое клетчаткой
182                                                 HNML — Индусская кухня
183                                                 BBML — Питание для младенцев
184                                                 KSML — Кошерная кухня
185                                                 SMKB — Кошерный завтрак
186                                                 SMKL — Кошерный ланч
187                                                 SMKD — Кошерный обед
188                                                 LPML — Малобелковое питание
189                                                 LCML — Низкокалорийное питание
190                                                 LFML — Низкохолестериновое питание
191                                                 PRML — Низкопуриновое питание
192                                                 LSML — Малосоленое питание
193                                                 MOML — Мюсли
194                                                 NLML — Безмолочные продукты
195                                                 ORML — Восточная кухня
196                                                 RVML — Сырые овощи
197                                                 SFML — Морепродукты
198                                                 SPML — Особое питание
199                                                 VLML — Вегетарианское, молоко и яйца
200                                                 VGML — Строго вегетарианское питание
201                                                 VJML — Джайнизское вегетарианское
202                                                 VOML — Восточное вегетарианское питание-->
203                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
204                         <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
205                         <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
206                         <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
207                            <FirstName>?</FirstName>
208                            <!--FirstName — имя пассажира-->
209                            <LastName>?</LastName>
210                            <!--LastName — фамилия пассажира-->
211                            <!--Optional:-->
212                            <MiddleName>?</MiddleName>
213                            <!--MiddleName — отчество пассажира-->
214                         </PersonalInfo>
215                         <LoyaltyCard OpCode="?" Number="?"/>
216                         <!--OpCode — код авиакомпании-->
217                         <!--Number — номер карточки-->
218                         <ContactInfo>
219                            <!--Optional:-->
220                            <EmailID>?</EmailID>
221                            <!--EmailID — контактный email-->
222                            <!--Optional:-->
223                            <Telephone Type="?">
224                            <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
225                               <!--Optional:-->
226                               <PhoneNumber>?</PhoneNumber>
227                               <!--PhoneNumber — номер телефона-->
228                               <!--Optional:-->
229                               <CountryAccessCode>?</CountryAccessCode>
230                               <!--CountryAccessCode — код страны-->
231                               <!--Optional:-->
232                               <AreaCityCode>?</AreaCityCode>
233                               <!--AreaCityCode — код региона/города-->
234                            </Telephone>
235                         </ContactInfo>
236                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
237                         <!--DocType — тип документа, возможные значения:
238                                                                 Р — Паспорт
239                                                                 A – Паспорт иностранца
240                                                                 С — Внутренний гражданский паспорт
241                                                                 F – Документ заменяющий паспорт
242                                                                 М — Воинское удостоверение
243                                                                 N – Сертификат натурализации(специфичный документ США)
244                                                                 T – Док.повторного въезда, паспорт беженца
245                                                                 V – Документ для пересечения границы-->
246                         <!--DocNum — номер документа-->
247                         <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
248                         <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
249                         <AcquiredDocuments TicketNumber="?">
250                         <!-- TicketNumber — номер выписанного билета-->
251                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
252                         <!--Num — номер визы-->
253                         <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
254                         <!--IssueCountry — страна выдачи визы-->
255                         <!--IssuePlace — место выдачи визы-->
256                         <!--BirthCountry — страна рождения(IATA код страны)-->
257                         <!--BirthCity — город рождения(название)-->
258                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
259                         <!--City — город-->
260                         <!--State — штат или область въезда-->
261                         <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
262                         <!--PostalCode — почтовый код-->
263                         <!--CountryCode — код страны-->
264                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
265                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
266                         <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
267                         <!--Location — положение места в ряде, возможные значения:
268                                                         W — у окна (Window)
269                                                         M — где-то в середине ряда (Middle)
270                                                         NPW — возле прохода (NearPassengerWay)
271                                                         NS — нет предпочтения (NotSpecified)-->
272                         <!--RowNumber — номер ряда-->
273                         <!--PlaceNumber — номер места-->
274                         <!--SegNumber — номер сегмента-->
275                         <DocStringFormats>
276                            <!--Zero or more repetitions:-->
277                            <DocStringFormat>?</DocStringFormat>
278                            <!--DocStringFormat — формат паспортной строки, возможные значения:
279                            DOCS — строка формата DOCS, FOID — строка формата FOID-->
280                         </DocStringFormats>
281                      </Traveller>
282                   </Travellers>
283                </BookFlight>
284                <Requisites/>
285                <RequestType xsi:nil="true"/>
286                <UserID xsi:nil="true"/>
287                <Errors>
288                   <Error Code="?">
289                   <!--Code — код ошибки в системе Nemo-->
290                      <ServiceErrorMessage>?</ServiceErrorMessage>
291                      <!--ServiceErrorMessage — сообщение об ошибке полученное от веб-сервиса поставщика-->
292                      <Message>?</Message>
293                      <!--Message — сообщение об ошибке от системы Nemo-->
294                   </Error>
295                </Errors>
296             </Response>
297          </ResponseBin>
298       </ns1:TicketingResponse>
299    </SOAP-ENV:Body>
300 </SOAP-ENV:Envelope>

Общий формат запроса / ответа войдирования

Данный запрос запускается после выписки билета, если необходимо его отменить.

WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=VoidTicket

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:VoidTicket>
 5          <RequestBin>
 6             <Request>
 7                <VoidTicket>
 8                   <BookID>?</BookID>
 9                   <!--BookID — Id брони в системе Nemo, целое число-->
10                </VoidTicket>
11             </Request>
12             <Source>
13                <ClientId>?</ClientId>
14                <!--ClientId — ID клиента в системе Nemo. Можно посмотреть/добавить в разделе
15                "Администрирование" ⇨ "Веб-служба. Авторизация".-->
16                <APIKey>?</APIKey>
17                <!--APIKey — секретный ключ доступа к API Nemo. Можно посмотреть/добавить в разделе
18                "Администрирование" ⇨ "Веб-служба. Авторизация".-->
19                <Language>?</Language>
20                <!--Language — язык, например: RU-->
21                <Currency>?</Currency>
22                <!-- Currency — валюта, например: RUB, EUR-->
23             </Source>
24          </RequestBin>
25       </ver:VoidTicket>
26    </soapenv:Body>
27 </soapenv:Envelope>

Ответ

 1 <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DVoidTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 2    <SOAP-ENV:Body>
 3       <ns1:VoidTicketResponse>
 4          <ResponseBin>
 5             <Response>
 6                <VoidTicket BookID="?">
 7                <!--BookID — Id брони в системе Nemo, целое число-->
 8                   <Result Success="?"/>
 9                   <!--Sucscess — результат отмены выписки, true или false-->
10                </VoidTicket>
11                <Requisites/>
12                <RequestType xsi:nil="true"/>
13                <UserID xsi:nil="true"/>
14                <Errors xsi:nil="true"/>
15             </Response>
16          </ResponseBin>
17       </ns1:VoidTicketResponse>
18    </SOAP-ENV:Body>
19 </SOAP-ENV:Envelope>

См. также