Открыть главное меню

Изменения

Веб-служба возврата билетов

28 513 байт добавлено, 12:57, 23 июня 2016
Новая страница: «Категория:Интеграция <!-- --> == Информация == Процесс возврата билетов осуществляется в д…»
[[Категория:Интеграция]]
<!-- -->
== Информация ==

Процесс возврата билетов осуществляется в два этапа:<br>
* Получение суммы к возврату на каждого пассажира, выполняется запросом '''GetRefundData'''. <br>
Ответ на запрос содержит идентификатор заявки, статус заявки и сумму к возврату на всех пассажиров. <br>
* Возврат билетов выполняется запросом '''RefundTicket'''. <br>
В ответе приходит информация о сегментах, тарифах, пассажирах и оплате.<br>

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

<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DGetRefundData">
<soapenv:Header/>
<soapenv:Body>
<ver:GetRefundData>
<RequestBin>
<Request>
<GetRefundData>
<BookID>?</BookID>
<!--BookID — Id заказа в системе nemo.travel-->
<Passengers>
<!--Zero or more repetitions:-->
<Id>?</Id>
<!--Id — Id пассажира, для которого производится возврат. Нумерация начинается с 0, возможно указать
несколько пассажиров.-->
</Passengers>
<Segments>
<!--Zero or more repetitions:-->
<Id>?</Id>
<!--Id — Id сегмента к возврату. Нумерация начинается с 0, возможно указать несколько сегментов.-->
</Segments>
<IsCompelled>?</IsCompelled>
<!--IsCompelled — тип возврата (вынужденные/добровольный), значения: true / false-->
</GetRefundData>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
«Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
«Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
<ShowNames>?</ShowNames>
<!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать,
false - не отображать. Возвращает значение на том языке, который был указан в запросе.
Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
</Source>
</RequestBin>
</ver:GetRefundData>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>

<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">

==== Ответ ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<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">
<SOAP-ENV:Body>
<ns1:GetRefundDataResponse>
<ResponseBin>
<Response>
<RefundData>
<ClaimID>?</ClaimID>
<!--ClaimID — Id заявки на возврат в системе nemo.travel-->
<Status>?</Status>
<!--Status — статус заявки, значения: all_data_saved - запрос успешно выполнен, можно переходить ко второму
этапу, cancelled - в результате выполнения запроса произошла ошибка, сообщение об ошибке указано в параметре
<Errors>. -->
<RefundMoney Currency="?">?</RefundMoney>
<!--RefundMoney Currency — сумма к возврату за всех пассажиров, для которых проводится возврат-->
</RefundData>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors/>
</Response>
</ResponseBin>
</ns1:GetRefundDataResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>

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

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

<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Запрос ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ver="http://CLIENT_DOMAIN/nemoflights/?version%3D1.0%26for%3DRefundTicket">
<soapenv:Header/>
<soapenv:Body>
<ver:RefundTicket>
<RequestBin>
<Request>
<RefundTicket>
<ClaimID>?</ClaimID>
<!--ClaimID — Id заявки на возврат в системе nemo.travel-->
</RefundTicket>
</Request>
<Source>
<ClientId>?</ClientId>
<!--ClientId — ID клиента в системе nemo.travel. Можно посмотреть/добавить в разделе
«Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
<APIKey>?</APIKey>
<!--APIKey — секретный ключ доступа к API nemo.travel. Можно посмотреть/добавить в разделе
«Настройки системы» → «Интеграция» → «Nemo 1.0 (SOAP API)».-->
<Language>?</Language>
<!--Language — язык, например: RU-->
<Currency>?</Currency>
<!-- Currency — валюта, например: RUB, EUR-->
<ShowNames>?</ShowNames>
<!-- ShowNames — отображение названий аэропортов, авиакомпаний и воздушных судов: true - отображать,
false - не отображать. Возвращает значение на том языке, который был указан в запросе.
Для RU - русский вариант, для UKR, EN, ES - латинский вариант. Опциональный элемент. -->
</Source>
</RequestBin>
</ver:RefundTicket>
</soapenv:Body>
</soapenv:Envelope>
</syntaxhighlight>
</div>
</div>

<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">

==== Ответ ====
<div class="mw-collapsible-content">
<syntaxhighlight lang="xml" line enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">
<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">
<SOAP-ENV:Body>
<ns1:RefundTicketResponse>
<ResponseBin>
<Response>
<RefundTicket ID="?" Status="?" Code="?">
<!--ID — Id брони в системе nemo.travel, целое число, обязательный-->
<!--Status — индикатор состояния брони, возможные значения:
canceled — бронь отменена,
ticket — выписана-->
<!--Code — код брони в системе поставщика-->
<QueryPlace xsi:nil="true"/>
<!--QueryPlace — положение брони в очереди, Number — номер брони в очереди-->
<Flight FlightId="?">
<!--FlightId — Id перелёта в системе nemo.travel-->
<WebService>?</WebService>
<!--WebService — поставщик перелёта-->
<ValCompany>?</ValCompany>
<!--ValCompany — код авиакомпании, являющейся валидирующим перевозчиком, IATA-->
<URL>?</URL>
<!--URL — ссылка на бронирование конкретного перелета-->
<Segments>
<Segment SegNum="?" SegGroupNum="?">
<!--SegNum — номер сегмента в перелёте-->
<!--SegGroupNum – номер плеча перелёта-->
<SupplierCode>?</SupplierCode>
<!--SupplierCode – номер заказа в системе АК-->
<DepAirp CodeType="IATA" Name="?">?</DepAirp>
<!--DepAirp — аэропорт отправления, например: MOW — любой аэропорт в г.Москва
или SVO — Шереметьево-->
<DepTerminal>?</DepTerminal>
<!--DepTerminal — терминал пункта отправления, если пустое значение,
то в аэропорту всего 1 терминал-->
<ArrAirp CodeType="IATA" Name="?">?</ArrAirp>
<!--ArrAirp — аэропорт прибытия-->
<ArrTerminal>?</ArrTerminal>
<!--ArrTerminal — терминал пункта прибытия, если пустое значение,
то в аэропорту всего 1 терминал-->
<OpAirline>?</OpAirline>
<!--OpAirline — авиакомпания перевозчик, например: AY-->
<OpAirlineName>?</OpAirlineName>
<!--OpAirlineName — полное наименование авиакомпании перевозчика, например: Finnair-->
<OpAirlineLogo>?</OpAirlineLogo>
<!--OpAirlineLogo — URL с логотипом авиакомпании-->
<MarkAirline>?</MarkAirline>
<!--MarkAirline — авиакомпания, продающая перелёт-->
<MarkAirlineName>?</MarkAirlineName>
<!--MarkAirlineName — полное наименование авиакомпании, например: Finnair-->
<MarkAirlineLogo>?</MarkAirlineLogo>
<!--MarkAirlineLogo — URL с логотипом авиакомпании-->
<FlightNumber>?</FlightNumber>
<!--FlightNumber — номер рейса-->
<AircraftName>?</AircraftName>
<!--AircraftName — наименование воздушного судна-->
<AircraftType>?</AircraftType>
<!--AircraftType — тип воздушного судна, код-->
<DepDateTime>?</DepDateTime>
<!--DepDateTime — дата и время отправления, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<ArrDateTime>?</ArrDateTime>
<!--ArrDateTime — дата и время прибытия, формат ГГГГ-MM-ДДTЧЧ:ММ:СС-->
<StopNum>?</StopNum>
<!--StopNum — количество остановок-->
<BookingCodes>
<BookingCode ClassType="?">
<!--ClassType — класс перелета, например: economy-->
<BookingCode>?</BookingCode>
<!--BookingCode — код класса бронирования, у разных авиакомпаний один и тот же класс
может записываться разными литерами, например: L-->
</BookingCode>
</BookingCodes>
<FlightTime>?</FlightTime>
<!--FlightTime — время перелёта в минутах-->
<RemainingSeats/>
<TimeZone Departure="?" Arrival="?"/>
<!--Departure временная зона аэропорта отправления-->
<!--Arrival — временная зона аэропорта прибытия-->
<ETicket>?</ETicket>
<!--ETicket — признак электронного билета, значения: true / false-->
<BaggageAllowances>
<BaggageAllowance>
<PassengerType>?</PassengerType>
<!--PassengerType — тип пассажира-->
<Value>?</Value>
<!--Value — количество-->
<Measurement>?</Measurement>
<!--Measurement — мера измерения, может принимать значения: kg — килограмм, pc — багажное место,
lb — фунт-->
</BaggageAllowance>
</BaggageAllowances>
</Segment>
</Segments>
<PricingInfo Refundable="?">
<!--Refundable — возвратный/невозвратный, true/false. Если пустое, то не известно-->
<PassengerFare Type="?" Quantity="?">
<!--Type — тип пассажира, возможные значения: ADT — взрослые, CNN — дети,
INF — младенцы, INS — младенцы с местом-->
<!--Quantity — количество пассажиров данного типа-->
<BaseFare Currency="?" Amount="?"/>
<!--BaseFare — базовая стоимость, в базовой валюте. Currency — код валюты, Amount — значение цены-->
<EquiveFare Currency="?" Amount="?"/>
<!--EquiveFare — базовая стоимость, в эквивалентной валюте(валюте продажи).
Currency — код валюты, Amount — значение цены-->
<TotalFare Currency="?" Amount="?"/>
<!--TotalFare — суммарная стоимость, в эквивалентной валюте.
Currency — код валюты, Amount — значение цены-->
<Taxes>
<Tax CurCode="?" TaxCode="?" Amount="?"/>
<!--CurCode — код валюты, TaxCode — код таксы, Amount — сумма таксы-->
</Taxes>
<Tariffs>
<Tariff Code="?" SegNum="?"/>
<!--Code — код тарифа, SegNum — номер сегмента, к которому применён тариф-->
</Tariffs>
<FareCalc>?</FareCalc>
<!--FareCalc — строка расчёта цены-->
<LastTicketDateTime>?</LastTicketDateTime>
<!--LastTicketDateTime — дата и время таймлимита по выписке в формате ГГГГ-MM-ДДTЧЧ:ММ:СС-->
</PassengerFare>
</PricingInfo>
<Commission/>
<Charges Currency="RUB">?</Charges>
<!--Charges — сборы, Currency — код валюты-->
<TotalPrice Currency="RUB">?</TotalPrice>
<!--TotalPrice — итоговая цена, Currency — код валюты-->
</Flight>
<Agency/>
<ItinReceipts xsi:nil="?"/>
<!--ItinReceipts — маршрут квитанция, Encoding — кодировка, Format — формат-->
<FareStored xsi:nil="true"/>
<PaymentTransactions>
<Transaction>
<Id>?</Id>
<!--Id — номер транзакции в Немо-->
<Status>?</Status>
<!--Status — статус транзакции-->
<GatewayName>?</GatewayName>
<!--GatewayName — название платежного шлюза-->
<MoneyPaid Currency="RUB">?</MoneyPaid>
<!--MoneyPaid — сумма оплаты-->
<!--Currency — валюта-->
<PaymentDateTime>?</PaymentDateTime>
<!--PaymentDateTime — дата и время оплаты-->
<CreateDateTime>?</CreateDateTime>
<!--CreateDateTime — дата и время создания платежной транзакции-->
<Description/>
</Transaction>
</PaymentTransactions>
<PaymentStatus>?</PaymentStatus>
<!--PaymentStatus — статус оплаты:
not_paid — не оплачено
partly_paid — оплачено, частично
fully_paid — оплачено, полностью-->
<Travellers>
<Traveller Type="?" IsContact="?" Num="?">
<!--Type — тип пассажира, обязательный, возможные значения: ADT — взрослые,
CNN — дети, UNN — дети без сопровождения взрослых, INF — младенцы, INS — младенцы с местом-->
<!--IsContact — если true — то данный пассажир является контактным лицом, если false — то не является,
контактное лицо может быть только 1, если среди пассажиров есть взрослые, то только кто-то из них
может быть контактным лицом, по умолчанию false-->
<!--Num — порядковый номер пассажира, начинается с 1-->
<!--LinkedTo — номер взрослого, к которому привязан младенец/ребёнок (привязка ребёнка ко взрослому
является опциональной)-->
<Meal xsi:nil="true"/>
<Ticket TickectNum="?"/>
<!-- TicketNum — номер выписанного билета-->
<Seats xsi:nil="true"/>
<PersonalInfo DateOfBirth="?" Nationality="?" Gender="?">
<!--DateOfBirth — дата рождения в формате ДД.ММ.ГГГГ (например 31.12.2000)-->
<!--Nationality — гражданство, двух буквенный код страны (RU, UA, US и т.д.)-->
<!--Gender — пол пассажира, возможные значения: M — мужской(Male), F — женский(Female)-->
<FirstName>?</FirstName>
<!--FirstName — имя пассажира-->
<LastName>?</LastName>
<!--LastName — фамилия пассажира-->
<MiddleName xsi:nil="true"/>
<!--MiddleName — отчество пассажира-->
</PersonalInfo>
<LoyaltyCard OpCode="?" Number="?"/>
<!--OpCode — код авиакомпании-->
<!--Number — номер карточки-->
<ContactInfo>
<!--Optional:-->
<EmailID>?</EmailID>
<!--EmailID — контактный email-->
<!--Optional:-->
<Telephone Type="?">
<!--Type — тип номера, возможные значения: M — мобильный, H — домашний, B — рабочий-->
<!--Optional:-->
<PhoneNumber>?</PhoneNumber>
<!--PhoneNumber — номер телефона-->
<!--Optional:-->
<CountryAccessCode>?</CountryAccessCode>
<!--CountryAccessCode — код страны-->
<!--Optional:-->
<AreaCityCode>?</AreaCityCode>
<!--AreaCityCode — код региона/города-->
</Telephone>
</ContactInfo>
<DocumentInfo DocType="?" DocNum="?" CountryCode="?" DocElapsedTime="?"/>
<!--DocType — тип документа, возможные значения:
Р — Паспорт
A – Паспорт иностранца
С — Внутренний гражданский паспорт
F – Документ заменяющий паспорт
М — Воинское удостоверение
N – Сертификат натурализации(специфичный документ США)
T – Док.повторного въезда, паспорт беженца
V – Документ для пересечения границы-->
<!--DocNum — номер документа-->
<!--CountryCode — двух буквенный код страны выдачи паспорта (RU, UA, US и т.д.)-->
<!--DocElapsedTime — срок истечения срока действия паспорта в ДД.ММ.ГГГ (например 31.12.2000)-->
<VisaInfo Num="?" IssueCountry="?" IssuePlace="?" BirthCountry="?" BirthCity="?" IssueDate="?"/>
<!--Num — номер визы-->
<!--IssueDate — дата(ДД.ММ.ГГГГ) выдачи визы-->
<!--IssueCountry — страна выдачи визы-->
<!--IssuePlace — место выдачи визы-->
<!--BirthCountry — страна рождения(IATA код страны)-->
<!--BirthCity — город рождения(название)-->
<ArrAddress City="?" State="?" StreetAddress="?" PostalCode="?" CountryCode="?"/>
<!--City — город-->
<!--State — штат или область въезда-->
<!--StreetAddress — адрес: улица, номер дома, квартиры и т.д.-->
<!--PostalCode — почтовый код-->
<!--CountryCode — код страны-->
<PreferedPlace SmokingAllowed="?" Location="?" RowNumber="?" PlaceNumber="?" SegNumber="?"/>
<!--Если указаны номер ряда и номер места, то параметры SmokingAllowed и Location игнорируются-->
<!--SmokingAllowed — булевское значение, true — место для курящих, false — место для некурящих-->
<!--Location — положение места в ряде, возможные значения:
W — у окна (Window)
M — где-то в середине ряда (Middle)
NPW — возле прохода (NearPassengerWay)
NS — нет предпочтения (NotSpecified)-->
<!--RowNumber — номер ряда-->
<!--PlaceNumber — номер места-->
<!--SegNumber — номер сегмента-->
<DocStringFormats>
<!--Zero or more repetitions:-->
<DocStringFormat>?</DocStringFormat>
<!--DocStringFormat — формат паспортной строки, возможные значения:
DOCS — строка формата DOCS, FOID — строка формата FOID-->
</DocStringFormats>
</Traveller>
</Travellers>
</RefundTicket>
<Requisites/>
<RequestType xsi:nil="true"/>
<UserID xsi:nil="true"/>
<Errors xsi:nil="true"/>
</Response>
</ResponseBin>
</ns1:RefundTicketResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</syntaxhighlight>
</div>
</div>
1057
правок
'