Веб-служба возврата авиабилетов: различия между версиями
Перейти к навигации
Перейти к поиску
(не показано 7 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | Процесс возврата билетов осуществляется в два этапа: | + | [[Категория:Интеграция]] |
− | 1. Получение суммы к возврату | + | <!-- --> |
+ | == Информация == | ||
+ | |||
+ | Процесс возврата билетов осуществляется в два этапа:<br> | ||
+ | 1. Получение суммы к возврату выполняется запросом '''GetRefundData'''. <br> | ||
Ответ на запрос содержит идентификатор заявки, статус заявки и сумму к возврату на всех пассажиров. <br> | Ответ на запрос содержит идентификатор заявки, статус заявки и сумму к возврату на всех пассажиров. <br> | ||
2. Возврат билетов выполняется запросом '''RefundTicket'''. <br> | 2. Возврат билетов выполняется запросом '''RefundTicket'''. <br> | ||
В ответе приходит информация о сегментах, тарифах, пассажирах и оплате.<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> |
Текущая версия на 15:43, 23 июня 2016
Содержание
Информация
Процесс возврата билетов осуществляется в два этапа:
1. Получение суммы к возврату выполняется запросом GetRefundData.
Ответ на запрос содержит идентификатор заявки, статус заявки и сумму к возврату на всех пассажиров.
2. Возврат билетов выполняется запросом 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>