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

Изменения

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

1860 байт добавлено, 10:51, 8 марта 2014
Просмотр результатов
'''REQUEST'''
<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 %3DSearchFlights">
<soapenv:Header/>
<soapenv:Body>
'''RESPONSE'''
<presyntaxhighlight 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/?xml version="1%3D1.0%26for%3DSearchFlights" encodingxmlns:xsi="utfhttp://www.w3.org/2001/XMLSchema-8instance" ?> <SOAP-ENV:Body> <ns1:searchResponse> <ResponseBin> <Response> <SearchFlights> <Flights SearchId="?" ResultURL="?"> <!--SearchId - номер процесса поиска в Немо--> <Flights SearchId="9865" ResultURL="http%3A%2F%2Fsrt.mute-lab.com%2F%3Fgo%3Dsearch%2Fview_results%26uid%3D9865"> <!--Элемент ResultURL - ссылка на страницу просмотра результатов на сайте агентства--> <Flight FlightId="?"> <!--@flightId FlightId - ид перелёта в системе Немо--> <WebService>?<Flight FlightId="1380310"/WebService> <!--ВебWebService - веб-сервис из которого получен перелёт--> <WebServiceValCompany>GALILEO?</WebServiceValCompany> <!--Код ValCompany - код авиакомпании - валидирующего перевозчика, являющейся валидирующим перевозчиком, IATA--> <ValCompanyURL>SU?</ValCompanyURL> <!--URL - ссылка на бронирование конкретного перелета--> <URL>http%3A%2F%2Fsrt.mute-lab.com%2F%3Fgo%3Dbooking%2Finfo%26uid%3D9865%26flight%3D1380310</URLSegments> <SegmentsSegment SegNum="?" SegGroupNum="?"> <!--SegNum - Номер номер сегмента в перелёте--> <!--SegGroupNum – Номер номер плеча перелёта--> <SegmentSegNumDepAirp CodeType="1" SegGroupNum="0IATA">  ?<!--Аэропорт отправления. Обязательный--/DepAirp> <!--@type тип кода пункта DepAirp - аэропорт отправления, возможные значения: IATA, SRT - код в сирене--> <DepAirp Type="IATA"DepTerminal>MOW?</DepAirpDepTerminal> <!--Терминал DepTerminal - терминал пункта отправления, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал--> <DepTerminalArrAirp CodeType="IATA">D?</DepTerminalArrAirp> <!--Аэропорт прибытия. Обязательный--> <!-ArrAirp -@type тип кода пункта аэропорт прибытия, возможные значения: IATA, SRT - код в сирене--> <ArrAirp Type="IATA"ArrTerminal>PAR?</ArrAirpArrTerminal> <!--Терминал ArrTerminal - терминал пункта прибытия, если пустое значение, то терминала нет, т.е. в аэропорту всего 1 терминал--> <ArrTerminalOpAirline>A?</ArrTerminalOpAirline> <!--Авиакомпания OpAirline - авиакомпания перевозчик. Обязательный--> <OpAirlineMarkAirline>SU?</OpAirlineMarkAirline> <!--АвиакомпанияMarkAirline - авиакомпания, продающая перелёт. Обязательный--> <MarkAirlineFlightNumber>FV?</MarkAirlineFlightNumber> <!--Номер FlightNumber - номер рейса. Обязательный--> <FlightNumberAircraftType>123?</FlightNumberAircraftType> <!--Тип AircraftType - тип воздушного судна, код. Обязательный--> <AircraftTypeDepDateTime>?</AircraftTypeDepDateTime> <!--Дата DepDateTime - дата и время отправления, формат ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС. Обязательный--> <DepDateTimeArrDateTime>2010-10-20T13:50:00?</DepDateTimeArrDateTime> <!--Дата ArrDateTime - дата и время прибытия, формат ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС. Обязательный--> <ArrDateTimeStopNum>2010-10-20T18:50:00?</ArrDateTimeStopNum> <!--Количество StopNum - количество остановок. Обязательный--> <StopNumBookingCodes>0 </StopNumBookingCode ClassType="?"> <!--Код класса бронирования. ОбязательныйClassType - класс перелета--> <BookingCode>?<BookingCodes/BookingCode> <!--BookingCode- код класса бронирования-->К </BookingCode> </BookingCodes> <!--Время перелёта, в минутах. Обязательный--> <FlightTime>105?</FlightTime> <!--Временные зоны точки отправления и прибытия. НеобязательныйFlightTime - время перелёта в минутах--> <TimeZone Departure="?" Arrival="?"/> <!--@departure Departure временная зона аэропорта отправления--> <!--@arrival Arrival - временная зона аэропорта прибытия--> <TimeZone Departure="3" Arrival="1"ETicket>?</TimeZoneETicket> <!--Признак ETicket - признак электронного билета. Значения, значения: true или / false. Обязательный--> <ETicket>true</ETicket> </Segment> </Segments> <!--информация о стоимости--PricingInfo Refundable="?"> <!--@refundable Refundable - возвратный/невозвратный, true/false. Если пустое, то не известно--> <PricingInfo RefundablePassengerFare Type="?" Quantity="true?"> <!--Типы пассажиров с ценами, таксами и тп--> <!-Type -@type тип пассажира, возможные значения: ADT - взрослые, CNN - дети, INF - младенцы, INS - младенцы с местом,--> <!--@quantity Количество Quantity - количество пассажиров данного типа--> <PassengerFare TypeBaseFare Currency="ADT?" QuantityAmount="2?"/> <!--Базовая BaseFare - базовая стоимость, в базовой валюте. Currency --> <!--@currency код валюты, @amount Amount - значение цены--> <BaseFare EquiveFare Currency="RUB?" Amount="23.00?"/> <!--Базовая EquiveFare - базовая стоимость, в эквивалентной валюте(валюте продажи). Currency --> <!--@currency код валюты, @amount Amount - значение цены--> <EquiveFare TotalFare Currency="EUR?" Amount="0.80?"/> <!--Суммарная TotalFare - суммарная стоимость , в эквивалентной валюте. Currency --> <!--@currency код валюты, @amount Amount - значение цены--> <TotalFare CurrencyTaxes> <Tax CurCode="?" TaxCode="EUR?" Amount="1.80?"/> <!--Массив такс--> <Taxes> <!--Одна такса--> <!-CurCode -@curCode код валюты, @taxCode TaxCode - код таксы, @amount Amount - сумма таксы--> <Tax CurCode="EUR" TaxCode="YQF" Amount="233"/> </Taxes> <!--Массив тарифов--Tariffs> <TariffsTariff Code="?" SegNum="?"/> <!--Тариф-Code -> <!--@code код тарифа, @segNum SegNum - номер сегмента, к которому применён тариф--> <Tariff Code="KAB1RTCH" SegNum="1"/Tariffs> <Tariff Code="IAB1RTCH" SegNum="2"/FareCalc> ?</TariffsFareCalc> <!--Строка FareCalc - строка расчёта цены--> <FareCalcLastTicketDateTime>BER AB MOW26.77KAB1RT AB BER39.53IAB1RT NUC66.30END ROE0.784173?</FareCalcLastTicketDateTime> <!--Дата LastTicketDateTime - дата и время таймлимита по выписке в формате ГГГГ-MM-DDTЧЧДДTЧЧ:ММ:СС--> </PassengerFare> <LastTicketDateTime/PricingInfo>2010-09-20T13:50:00 <Commission/LastTicketDateTime> <Charges Currency="?">?</PassengerFareCharges> <!--Charges - сборы, Currency - код валюты--> <TotalPrice Currency="?">?</PricingInfoTotalPrice> <!--TotalPrice - итоговая цена, Currency - код валюты--> </Flight> <Flight>...</Flight> .................... <Flight>...</Flight> </Flights> <Errors> <Error Code="?"> <!--@Code - код ошибки в системе немоНемо--> <ServiceErrorMessage>?<Error Code="01"/ServiceErrorMessage> <!--Сообщение ServiceErrorMessage - сообщение об ошибке полученное от веб-сервиса--> <ServiceErrorMessageMessage>?</ServiceErrorMessageMessage> <!--Message -Немовское сообщение об ошибке--> </Error> <Message/Errors> </SearchFlights> </MessageResponse> </ErrorResponseBin> </Errorsns1:searchResponse> </SearchFlightsRSSOAP-ENV:Body></ResponseSOAP-ENV:Envelope></presyntaxhighlight>
В ссылках на просмотр страницы результата поиска и на бронирование конкретного перелета, домен агентства/субагентства определяется следующим образом:
* Если текущий домен агентства/субагенства субагентства есть в настройках (''Администрирование'' - ''Настройки агентства'' - ''Доменное имя сайта для загрузки  настроек''), то этот домен используется в ссылках.
* Если текущего домена нет в настройках, то используется первый домен из настроек.
* Если в настройках не прописано ни одного домена, то используется текущий домен.
'