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

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