Веб-служба возврата билетов: различия между версиями

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску
(Общий формат запроса / ответа возврата билетов)
Строка 1: Строка 1:
 
[[Категория:Интеграция]]
 
[[Категория:Интеграция]]
 +
[[Категория:Агентский API]]
 
<!-- -->
 
<!-- -->
 
== Информация ==
 
== Информация ==
Строка 403: Строка 404:
 
</div>
 
</div>
 
</div>
 
</div>
 +
 +
== См. также ==
 +
 +
*[[Агентский API Авиабилеты]]

Версия 12:53, 4 апреля 2017

Информация

Процесс возврата билетов осуществляется в два этапа:

  • Получение суммы к возврату на всех пассажиров, выполняется запросом GetRefundData.

Ответ на запрос содержит идентификатор заявки, статус заявки и сумму к возврату на всех пассажиров.

  • Возврат билетов выполняется запросом RefundTicket.

В ответе приходит информация о сегментах, тарифах, пассажирах и оплате.

Общий формат запроса / ответа получения информации по возврату авиабилетов

В данном запросе необходимо указать номер заказа, идентификаторы пассажиров, для которых выполняется возврат, тип возврата (вынужденный/добровольный) и сегменты к возврату.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=GetRefundData

Запрос

 1 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DGetRefundData">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:GetRefundData>
 5          <RequestBin>
 6             <Request>
 7                <GetRefundData>
 8                   <BookID>?</BookID>
 9                   <!--BookID — Id заказа в системе nemo.travel-->
10                   <Passengers>
11                      <!--Zero or more repetitions:-->
12                      <Id>?</Id>
13                      <!--Id — Id пассажира, для которого производится возврат. Нумерация начинается с 0, возможно указать 
14                      несколько пассажиров.-->
15                   </Passengers>
16                   <Segments>
17                      <!--Zero or more repetitions:-->
18                      <Id>?</Id>
19                      <!--Id — Id сегмента к возврату. Нумерация начинается с 0, возможно указать несколько сегментов.-->
20                   </Segments>
21                   <IsCompelled>?</IsCompelled>
22                   <!--IsCompelled — тип возврата (вынужденные/добровольный), значения: true / false-->
23                </GetRefundData>
24             </Request>
25             <Source>
26                <ClientId>?</ClientId>
27                <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
28                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
29                <APIKey>?</APIKey>
30                <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
31                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
32                <Language>?</Language>
33                <!--Language — язык, например: RU-->
34                <Currency>?</Currency>
35                <!-- Currency — валюта, например: RUB, EUR-->
36                <ShowNames>?</ShowNames>
37                <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать,
38                false - не отображать. Возвращает значение на том языке, который был указан в запросе. 
39                Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент.  -->
40             </Source>
41          </RequestBin>
42       </ver:GetRefundData>
43    </soapenv:Body>
44 </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%3DGetRefundData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 2    <SOAP-ENV:Body>
 3       <ns1:GetRefundDataResponse>
 4          <ResponseBin>
 5             <Response>
 6                <RefundData>
 7                   <ClaimID>?</ClaimID>
 8                   <!--ClaimID — Id заявки на возврат в системе nemo.travel-->
 9                   <Status>?</Status>
10                   <!--Status — статус заявки, значения: all_data_saved - запрос успешно выполнен, можно переходить ко второму
11                   этапу, cancelled - в результате выполнения запроса произошла ошибка, сообщение об ошибке указано в параметре
12                   <Errors>. -->
13                   <RefundMoney Currency="?">?</RefundMoney>
14                   <!--RefundMoney Currency — сумма к возврату за всех пассажиров, для которых проводится возврат-->
15                </RefundData>
16                <Requisites/>
17                <RequestType xsi:nil="true"/>
18                <UserID xsi:nil="true"/>
19                <Errors/>
20             </Response>
21          </ResponseBin>
22       </ns1:GetRefundDataResponse>
23    </SOAP-ENV:Body>
24 </SOAP-ENV:Envelope>

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

Запрос запускается после получения информации по возврату.
WSDL: http://CLIENT_DOMAIN/nemoflights/wsdl.php?for=RefundTicket

Запрос

 1  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DRefundTicket">
 2    <soapenv:Header/>
 3    <soapenv:Body>
 4       <ver:RefundTicket>
 5          <RequestBin>
 6             <Request>
 7                <RefundTicket>
 8                   <ClaimID>?</ClaimID>
 9                   <!--ClaimID — Id заявки на возврат в системе nemo.travel-->
10                </RefundTicket>
11             </Request>
12             <Source>
13                <ClientId>?</ClientId>
14                <!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
15                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
16                <APIKey>?</APIKey>
17                <!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
18                «Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
19                <Language>?</Language>
20                <!--Language — язык, например: RU-->
21                <Currency>?</Currency>
22                <!-- Currency — валюта, например: RUB, EUR-->
23                <ShowNames>?</ShowNames>
24                <!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать,
25                false - не отображать. Возвращает значение на том языке, который был указан в запросе. 
26                Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент.  -->
27             </Source>
28          </RequestBin>
29       </ver:RefundTicket>
30    </soapenv:Body>
31 </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%3DRefundTicket" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  2    <SOAP-ENV:Body>
  3       <ns1:RefundTicketResponse>
  4          <ResponseBin>
  5             <Response>
  6                <RefundTicket ID="?" Status="?" Code="?">
  7                <!--ID — Id брони в системе nemo.travel, целое число, обязательный-->
  8                <!--Status — индикатор состояния брони, возможные значения:
  9                                                 canceled — бронь отменена,
 10                                                 ticket — выписана-->
 11                <!--Code — код брони в системе поставщика-->			   
 12                   <QueryPlace xsi:nil="true"/>
 13 		  <!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
 14                   <Flight FlightId="?">
 15 		  <!--FlightId — Id перелёта в системе nemo.travel-->
 16                      <WebService>?</WebService>
 17 		     <!--WebService — поставщик перелёта-->
 18                      <ValCompany>?</ValCompany>
 19 		     <!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
 20                      <URL>?</URL>
 21 		     <!--URL — ссылка на бронирование конкретного перелета-->
 22                      <Segments>
 23                         <Segment SegNum="?" SegGroupNum="?">
 24 			<!--SegNum — номер сегмента в перелёте-->
 25 			<!--SegGroupNum – номер плеча перелёта-->
 26                            <SupplierCode>?</SupplierCode>
 27 			   <!--SupplierCode – номер заказа в системе АК-->
 28                            <DepAirp CodeType="IATA" Name="?">?</DepAirp>
 29 			   <!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
 30 			   или SVO — Шереметьево-->
 31                            <DepTerminal>?</DepTerminal>
 32 			   <!--DepTerminal — терминал пункта отправления, если пустое значение,
 33 			   то в аэропорту всего 1 терминал-->
 34                            <ArrAirp CodeType="IATA" Name="?">?</ArrAirp>
 35 			   <!--ArrAirp — аэропорт прибытия-->
 36                            <ArrTerminal>?</ArrTerminal>
 37 			   <!--ArrTerminal — терминал пункта прибытия, если пустое значение,
 38                            то в аэропорту всего 1 терминал-->
 39                            <OpAirline>?</OpAirline>
 40 			   <!--OpAirline — авиакомпания перевозчик, например: AY-->
 41                            <OpAirlineName>?</OpAirlineName>
 42 			   <!--OpAirlineName — полное наименование авиакомпании перевозчика, например: Finnair-->
 43                            <OpAirlineLogo>?</OpAirlineLogo>
 44 			   <!--OpAirlineLogo — URL с логотипом авиакомпании-->
 45                            <MarkAirline>?</MarkAirline>
 46 			   <!--MarkAirline — авиакомпания, продающая перелёт-->
 47                            <MarkAirlineName>?</MarkAirlineName>
 48 			   <!--MarkAirlineName — полное наименование авиакомпании, например: Finnair-->
 49                            <MarkAirlineLogo>?</MarkAirlineLogo>
 50 			   <!--MarkAirlineLogo — URL с логотипом авиакомпании-->
 51                            <FlightNumber>?</FlightNumber>
 52 			   <!--FlightNumber — номер рейса-->
 53                            <AircraftName>?</AircraftName>
 54 			   <!--AircraftName — наименование воздушного судна-->
 55                            <AircraftType>?</AircraftType>
 56 			   <!--AircraftType — тип воздушного судна, код-->
 57                            <DepDateTime>?</DepDateTime>
 58 			   <!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 59                            <ArrDateTime>?</ArrDateTime>
 60 			   <!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
 61                            <StopNum>?</StopNum>
 62 			   <!--StopNum — количество остановок-->
 63                            <BookingCodes>
 64                               <BookingCode ClassType="?">
 65 			      <!--ClassType — класс перелета, например: economy-->
 66                                  <BookingCode>?</BookingCode>
 67 				 <!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
 68                                  может записываться разными литерами, например: L-->
 69                               </BookingCode>
 70                            </BookingCodes>
 71                            <FlightTime>?</FlightTime>
 72 			   <!--FlightTime — время перелёта в минутах-->
 73                            <RemainingSeats/>
 74                            <TimeZone Departure="?" Arrival="?"/>
 75 			   <!--Departure временная зона аэропорта отправления-->
 76                            <!--Arrival — временная зона аэропорта прибытия-->
 77                            <ETicket>?</ETicket>
 78 			   <!--ETicket — признак электронного билета, значения: true / false-->
 79                            <BaggageAllowances>
 80                               <BaggageAllowance>
 81                                  <PassengerType>?</PassengerType>
 82 				 <!--PassengerType — тип пассажира-->
 83                                  <Value>?</Value>
 84 				 <!--Value — количество-->
 85                                  <Measurement>?</Measurement>
 86 				 <!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место,
 87                                  lb — фунт-->
 88                               </BaggageAllowance>
 89                            </BaggageAllowances>
 90                         </Segment>
 91                      </Segments>
 92                      <PricingInfo Refundable="?">
 93 		     <!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
 94                         <PassengerFare Type="?" Quantity="?">
 95 			<!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
 96                         INF — младенцы, INS — младенцы с местом-->
 97                         <!--Quantity — количество пассажиров данного типа-->
 98                            <BaseFare Currency="?" Amount="?"/>
 99 			   <!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
100                            <EquiveFare Currency="?" Amount="?"/>
101 			   <!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
102                            Currency — код валюты, Amount — значение цены-->
103                            <TotalFare Currency="?" Amount="?"/>
104 			   <!--TotalFare — суммарная стоимость, в эквивалентной валюте.
105                            Currency — код валюты, Amount — значение цены-->
106                            <Taxes>
107                               <Tax CurCode="?" TaxCode="?" Amount="?"/>
108 			      <!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
109                            </Taxes>
110                            <Tariffs>
111                               <Tariff Code="?" SegNum="?"/>
112 			      <!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
113                            </Tariffs>
114                            <FareCalc>?</FareCalc>
115 			   <!--FareCalc — строка расчёта цены-->
116                            <LastTicketDateTime>?</LastTicketDateTime>
117 			   <!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
118                         </PassengerFare>
119                      </PricingInfo>
120                      <Commission/>
121                      <Charges Currency="RUB">?</Charges>
122 		     <!--Charges — сборы, Currency — код валюты-->
123                      <TotalPrice Currency="RUB">?</TotalPrice>
124                      <!--TotalPrice — итоговая цена, Currency — код валюты-->					 
125                   </Flight>
126                   <Agency/>
127                   <ItinReceipts xsi:nil="?"/>
128 		  <!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
129                   <FareStored xsi:nil="true"/>
130                   <PaymentTransactions>
131                      <Transaction>
132                         <Id>?</Id>
133 			<!--Id — номер транзакции в Немо-->
134                         <Status>?</Status>
135 			<!--Status — статус транзакции-->
136                         <GatewayName>?</GatewayName>
137 			<!--GatewayName — название платежного шлюза-->
138                         <MoneyPaid Currency="RUB">?</MoneyPaid>
139 			<!--MoneyPaid — сумма оплаты-->
140 			<!--Currency — валюта-->
141                         <PaymentDateTime>?</PaymentDateTime>
142 			<!--PaymentDateTime — дата и время оплаты-->
143                         <CreateDateTime>?</CreateDateTime>
144 			<!--CreateDateTime — дата и время создания платежной транзакции-->
145                         <Description/>
146                      </Transaction>
147                   </PaymentTransactions>
148                   <PaymentStatus>?</PaymentStatus>
149 		  <!--PaymentStatus — статус оплаты:
150                          not_paid — не оплачено
151                          partly_paid — оплачено, частично
152                          fully_paid — оплачено, полностью-->
153                   <Travellers>
154                      <Traveller Type="?" IsContact="?" Num="?">
155 		     <!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
156                         CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
157                          <!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
158                          контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
159                         может быть контактным лицом, по умолчанию false-->
160                          <!--Num — порядковый номер пассажира, начинается с 1-->
161                          <!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому 
162                          является опциональной)-->
163                         <Meal xsi:nil="true"/>
164                         <Ticket TickectNum="?"/>
165 			<!-- TicketNum — номер выписанного билета-->
166                         <Seats xsi:nil="true"/>
167                         <PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
168 		        <!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
169                         <!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
170                         <!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
171                            <FirstName>?</FirstName>
172 		           <!--FirstName — имя пассажира-->
173                            <LastName>?</LastName>
174 			   <!--LastName — фамилия пассажира-->
175                            <MiddleName xsi:nil="true"/>
176 			   <!--MiddleName — отчество пассажира-->
177                         </PersonalInfo>
178                          <LoyaltyCard OpCode="?" Number="?"/>
179                          <!--OpCode — код авиакомпании-->
180                          <!--Number — номер карточки-->
181 			<ContactInfo>
182                              <!--Optional:-->
183                              <EmailID>?</EmailID>
184                              <!--EmailID — контактный email-->
185                              <!--Optional:-->
186                              <Telephone Type="?">
187                              <!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
188                                <!--Optional:-->
189                                <PhoneNumber>?</PhoneNumber>
190                                <!--PhoneNumber — номер телефона-->
191                                <!--Optional:-->
192                                <CountryAccessCode>?</CountryAccessCode>
193                                <!--CountryAccessCode — код страны-->
194                                <!--Optional:-->
195                                <AreaCityCode>?</AreaCityCode>
196                                <!--AreaCityCode — код региона/города-->
197                                </Telephone>
198                         </ContactInfo>
199                         <DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
200 			<!--DocType — тип документа, возможные значения:
201                                                      Р — Паспорт
202                                                      A – Паспорт иностранца
203                                                      С — Внутренний гражданский паспорт
204                                                      F – Документ заменяющий паспорт
205                                                      М — Воинское удостоверение
206                                                      N – Сертификат натурализации(специфичный документ США)
207                                                      T – Док.повторного въезда, паспорт беженца
208                                                      V – Документ для пересечения границы-->
209                         <!--DocNum — номер документа-->
210                         <!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
211                         <!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
212                         <VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
213                         <!--Num — номер визы-->
214                         <!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
215                         <!--IssueCountry — страна выдачи визы-->
216                         <!--IssuePlace — место выдачи визы-->
217                         <!--BirthCountry — страна рождения(IATA код страны)-->
218                         <!--BirthCity — город рождения(название)-->
219                         <ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
220                         <!--City — город-->
221                         <!--State — штат или область въезда-->
222                         <!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
223                         <!--PostalCode — почтовый код-->
224                         <!--CountryCode — код страны-->
225                         <PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
226                         <!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
227                         <!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
228                         <!--Location — положение места в ряде, возможные значения:
229                                                            W — у окна (Window)
230                                                            M — где-то в середине ряда (Middle)
231                                                            NPW — возле прохода (NearPassengerWay)
232                                                            NS — нет предпочтения (NotSpecified)-->
233                         <!--RowNumber — номер ряда-->
234                         <!--PlaceNumber — номер места-->
235                         <!--SegNumber — номер сегмента-->
236                         <DocStringFormats>
237                          <!--Zero or more repetitions:-->
238                           <DocStringFormat>?</DocStringFormat>
239                           <!--DocStringFormat — формат паспортной строки, возможные значения:
240                           DOCS — строка формата DOCS, FOID — строка формата FOID-->
241                         </DocStringFormats>
242                      </Traveller>
243                   </Travellers>
244                </RefundTicket>
245                <Requisites/>
246                <RequestType xsi:nil="true"/>
247                <UserID xsi:nil="true"/>
248                <Errors xsi:nil="true"/>
249             </Response>
250          </ResponseBin>
251       </ns1:RefundTicketResponse>
252    </SOAP-ENV:Body>
253 </SOAP-ENV:Envelope>

См. также