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

Изменения

Выгрузка заказов

46 052 байта добавлено, 30 январь
Настройки
[[Категория:Статистика и отчёты]]
[[Категория:Функции]]
[[Категория:Модули]] [[Категория:Встроенные модули]]'''Выгрузка заказов''' — это экспорт данных заказа или заказов для различных компонентов системы Nemo{{NameSystemLink}}.
== Описание ==
Схематично процесс выгрузки заказов представлен на блок-схеме.
[[Файлфайл:ExportВыгрузкаСофиИНемо.png]] {{Attention| *Выгрузка заказа в формате СОФИ при синхронизации произойдет, только если в заказе произошли изменения. *Выгрузка заказа в формате СОФИ при аннуляции произойдет только в том случае, если в заказе имеются аннулированные допуслуги.}}
== Настройки ==
<!--[[Файл:Sofi.png|400px|thumb|right|Настройка процесса выгрузки заказов для авиабилетов]]-->На странице настроек [[Файл:Выгрузка заказов.jpg|400px|thumb|right|Настройка процесса выгрузки заказов для авиабилетов]] Настройки выгрузки заказов доступны следующие опции:в разделе '''Настройки системы → Интеграция → Выгрузка заказов'''.<!--* '''Выгрузка одновременно и Nemo, и Софи''' — настройка позволяет производить экспорт данных одновременно в двух форматах. <br/><span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' Опция доступна только для компонента '''«Авиабилеты»''', при включенном модуле '''«Выгрузка заказов Софи».</span>-->* <!--'''Тип выгрузки'''--> '''Экспортировать заказы в формате''' — настройка определяет один из доступных форматов выгрузки заказов:** '''''<!--Выгрузка заказов --> Nemo''''' — внутренний формат системы Nemo{{NameSystem}}, доступен по умолчанию.** '''''<!--Выгрузка заказов --> Софи''''' — дополнительный формат, становится доступным при включении модуля '''«Выгрузка заказов Софи»'''. ** '''''Nemo Backoffice''''' — возможность экспорта заказов в формате JSON, который предоставляет более полный и актуальный объем данных, использует международные стандарты формата данных, является усовершенствованной версией протокола экспорта данных в формате Nemo.<!--* '''Url стороннего скрипта для XML уведомленийвыгрузки в выбранном формате''' — URL, на который будет производиться выгрузка данных. -->* '''Адрес для отправки нотификаций об изменении заказа''' — если задан, то при получении изменений в ходе актуализации отправляется GET-запрос на данный адрес ('''Пример''' ''http://127.0.0.1/?booking_id=ORDER_ID&nemo_id=NEMO_CONNECT_ORDER_ID&locator=LOCATOR''). Формат значения поддерживает переменные '''LOCATOR''', '''ORDER_ID''', '''NEMO_CONNECT_ORDER_ID''' - ('''LOCATOR''' - идентификатор услуги в системе поставщика услуг, '''ORDER_ID''' - идентификатор заказа в системе NEMO, '''NEMO_CONNECT_ORDER_ID''' - идентификатор заказа в системе NEMO Connect).* '''Url скрипта для выгрузки в формате Nemo''' — URL, на который будет производиться выгрузка данных. * '''Url скрипта для выгрузки в формате СОФИ''' — URL, на который будет производиться выгрузка данных.Cистема {{NameSystem}} отправляет файлы выгрузки на указанный в этом поле http-адрес через POST-запрос (см. https://ru.wikipedia.org/wiki/POST_(HTTP) ). Скрипт для обработки получаемых данных должен быть написан на стороне самого клиента. Задача скрипта — принять данные и корректно их обработать. Все данные, которые можно получить через браузер, также можно получить и альтернативными программными средствами (автоматизируя процесс выгрузки). Рекомендуется к использованию библиотека CURL (см. https://ru.wikipedia.org/wiki/CURL) Готовые примеры скриптов сотрудники {{NameSystem}} не предоставляют.<br>Если у субагента указан свой Url скрипта для выгрузки, отличный от URL корневого агенства, то выгрузка по заказам этого субагента будет идти на оба адреса. Главный агент получает информацию по всем заказам всех субагентов, субагент получает выгрузку только своих заказов.<br/> <!-- <span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' Указание отдельного URL скрипта для выгрузки для субагентов доступно только для формата Nemo.</span> -->* '''Адрес для выгрузки в Nemo Backoffice''' — URL, на который будет производиться выгрузка данных.* '''Ключ безопасности для выгрузки в Nemo Backoffice''' — значение, которое задается самостоятельно агентством на стороне принимающего запрос сервера.* '''Код сайта в системе Софи'''— идентификатор агентства на стороне СОФИ. Код нужен для связки агентства в СОФИ и в {{NameSystem}}. Если агентство заведено в СОФИ, то его код указывается в этом поле. Тогда в выгрузке СОФИ будет идентифицировать заказы от указанного агентства. <!-- <br/><span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' Необходимо заполнить поля '''"Url стороннего скрипта для XML уведомлений"''' и '''"Код сайта в системе Софи"''', которые становятся доступными только при переключении '''"Типа выгрузки"''' в значение '''"Выгрузка заказов Софи"''', а также поле '''"Url стороннего скрипта для XML уведомлений"''' для типа выгрузки '''"Nemo"'''.</span>-->
* '''Повторная отправка в случае неудачи''' — настройка позволяет производить повторные попытки экспорта заказа через определенный интервал времени (максимум 3 попытки).
* '''Список адресов для уведомлений (разделяется запятыми)''' — настройка позволяет определить один или более адресов электронной почты, на которые будет отправлено уведомление о проблемном заказе, в случае, если все попытки выгрузки заказа закончатся неудачно.
* '''Экспортировать после оплаты''' — настройка позволяет дополнительно производить выгрузку заказов после события оплаты заказа(поддерживается для выгрузки в формате Nemo и Backoffice).<br/><span style="background-color:#fff0f5;">* '''<span style="color:#ff0000;">Внимание!</span>Экспортировать код доступа к заказу''' Доступно только для формата — настройка включает отображение кода доступа в выгрузке. Поддерживается строго в формате Nemo.</span>
* '''Отправлять нотификацию о необходимости установки кода валидатора в реквизитах''' — настройка позволяет автоматически отправлять нотификацию при выгрузке заказа в Софи без кода валидатора.
* '''E-mail для отправки нотификации о необходимости установки кода валидатора в реквизитах'''
* '''Временная зона для дат''' — настройка позволяет менять временную зону в выгрузке Софи. [[Файл:Временная зона для дат.jpg|500px|thumb|right|Настройка "Временная зона для дат"]]
** '''Использовать временную зону системных настроек''', через которую будет использоваться часовой пояс указанный в "Настройках системы".
** '''Использовать временную зону реквизитов''' — часовой пояс подтягивается индивидуально от каждого пакета реквизитов подключения к ГДС.
** '''Выбрать другую временную зону''' дает возможность выбирать временную зону независимо от других настроек.
== Форматы выгрузки заказов ==
Система поддерживает выгрузку заказов в форматах '''''Nemo''''', '''''Софи''''' и '''''СофиJSON'''''. Рекомендуется использовать функционал выгрузки JSON.
=== Компоненты, поддерживающие выгрузку заказов ===
! style="font-weight: bold;" | Формат Nemo
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66FF6666;" | +
! style="background-color: #99FF66;" | +
|-
! style="background-color: #FF6666;" | −
! style="background-color: #FF6666;" | −
|-
! style="font-weight: bold;" | Формат JSON
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
|}
! scope="col" style="width: 100px;" | Выписка
! scope="col" style="width: 100px;" | Войдирование
! scope="col" style="width: 100px;" | Аннуляция<sup>***</sup>! scope="col" style="width: 100px;" | Обмен/Возврат<sup>****</sup>! scope="col" style="width: 100px;" | Импорт PNR<sup>*****</sup>
|-
! style="font-weight: bold;" | Формат Nemo
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
|-
! style="font-weight: bold;" | Формат Софи
! style="background-color: #FF6666;" | -
! style="background-color: #FF6666;" | −
! style="background-color: #FF6666;" | -
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #FF6666;" | −
|-
! style="font-weight: bold;" | Формат JSON
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #FF6666;" | −
|}
! scope="col" style="width: 100px;" | Аннуляция
|-
! style="font-weight: bold;" | Формат NemoJSON
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
|-
! style="font-weight: bold;" | Формат Nemo
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
|-
! style="font-weight: bold;" | Формат JSON
! style="background-color: #99FF66;" | +
! style="background-color: #99FF66;" | +
|}
&#42;&#160; Выгрузка заказа в формате Nemo при оплате произойдет , только если включена настройка '''''«Экспортировать после оплаты»''' в разделе '''Настройки системы''' в разделе '''«Заказы»Интеграция''' → '''«Выгрузка заказов»Выгрузка заказов'''.<br/>&#42;&#42; Выгрузка заказа при синхронизации произойдет только если в заказе произошли изменения.<br/>&#42;&#42;&#42;&#160; Выгрузка заказа в формате СОФИ при аннуляции произойдет только в том случае, если в заказе имеются аннулированные допуслуги.<br/>&#42;&#42;&#42;&#42;&#160; Выгрузка заказа при обмене или возврате произойдет при завершении работы с заявкой (при пропуске импорта PNR).<br/>&#42;&#42;&#42;&#42;&#42;&#160; Выгрузка заказа при импорте PNR в рамках работы модуля [[Импорт PNR]].
=== Статусы выгрузки заказа ===
| 404
| Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.
|-
| 422
| Unprocessable Entity — сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
|-
| 500
| Любая внутренняя ошибка сервера.
|-
| 503
| Служба недоступна. Ошибка из-за временной перегрузки или отключения на техническое обслуживание сервера.
|}
<?xml version="1.0" encoding="UTF-8"?>
<PNR>
<Common> <id>263440277749</id> <Type>FLIGHTS</Type> <Service>SABRE</Service> <Locator>MHKPTFSQLJNK</Locator> <ExternalId>1234567</ExternalId> <!-- Внешний идентификатор --!> <Stamp>123456789</Stamp> <UtmSource>100</UtmSource> <!-- Источник перехода --> <BeginDateTime>2014.0412.2218-1110:5545</BeginDateTime> <EndDateTime>2014.0412.2225-1316:2540</EndDateTime> <TotalPriceTicketingDateTime> 2014.12.09-15:02</TicketingDateTime> <VoidDateTime/> <TotalPrice> <Amount>218910773.8</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalPrice> <UserId>1232964</UserId> <EEUserId /> <UserLogin>userLogin</UserLogin> <GroupId>1222963</GroupId> <UserStatusCompanyId>Менеджер2963</UserStatusCompanyId> <UserStatus>Менеджер</UserStatus> <DateCreate>2014.0312.2109-1314:3359</DateCreate> <ExtServices> <!-- Дополнительные услуги --> <ExtService> <Type>AeroExpressServicePack</Type> <!-- Сервисные пакеты --> <Price> <Amount>720200</Amount> <CurrencyCode>RUB</CurrencyCode> </Price> </ExtService> <ExtService> <Type>AlphaInsuranceAeroExpress</Type> <Price> <Amount>3001440</Amount> <CurrencyCode>RUB</CurrencyCode> </Price> <Insurances/ExtService> <InsuranceExtService> <NumberType>Z694.198BC.F1234567AlphaInsurance</NumberType> <Price> <FioAmount>IVANOV IVAN IVANOVICH480</FioAmount> <CurrencyCode>RUB</InsuranceCurrencyCode> </Price> <Insurances> <Insurance> <Number>Z694.198BC198TEST.F23456782765282</Number> <Fio>PETROV PETR PETROVICHIVANOV IVAN</Fio> </Insurance> </InsurancesInsurance> </ExtServiceNumber>Z694.198TEST.2765283</Number> <Fio>PETROV PETR</ExtServicesFio> </CommonInsurance> <Payment/Insurances> <Title/ExtService>Testpay </TitleExtServices> <MethodisManualStatus>Testpay0</MethodisManualStatus> <BillingId!-- Признак ручной выписки. 1 - ручная фиксация заказа. 0 - автоматическая. -->117601216 </BillingIdCommon> <DatePayment>2014-03-21 13:38:26 <Title>Testpay</DateTitle> <CreateDateMethod>2014-03-21 13:38:24Testpay</CreateDateMethod> <StatusBillingId>ticket117607091</StatusBillingId> <Date>2014-12-09 15:00:39<PenaltyDate /Date> <TimelimitCreateDate>2014-0312-28 2309 15:5900:0034</TimelimitCreateDate> <PaymentChargeStatus> ticket<!-- Сбор платежного шлюза --/Status> <Amount>0 <PenaltyDate/Amount> <CurrencyCodeTimelimit>RUB2014-12-10 14:59:55</CurrencyCodeTimelimit> </PaymentCharge> <Charge> <!!-- Общий сбор минус сбор Сбор платежного шлюза --> <Amount>0313.8</Amount> <CurrencyCode>RUB</CurrencyCode> </ChargePaymentCharge> <BaseFareCharge> <!-- Тариф Общий сбор минус сбор платежного шлюза --> <Amount>20001920</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFareCharge> <BookSubagentCharge> <!-- Тариф плюс таксы Сбор субагента, заданный в модуле "Ценообразование для субагентов" --> <Amount>2189500</Amount> <CurrencyCode>RUB</CurrencyCode> </BookSubagentCharge> <BaseFare> <Penalty!-- Тариф --> <Amount>01600</Amount> <CurrencyCode>RUB</CurrencyCode> </PenaltyBaseFare> <Book> <Total!-- Тариф плюс таксы --> <Amount>21898540</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalBook> <CommissionPenalty> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </CommissionPenalty> <AirlineCommissionTotal> <Amount>20010773.8</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommissionTotal> <PaidValueCommission> <Amount>21890</Amount> <CurrencyCode>RUB</CurrencyCode> </PaidValueCommission> </Payment> <ClientPaidValue> <LastNameAmount>Сидоров10773.8</LastNameAmount> <NameCurrencyCode>ВладимирRUB</NameCurrencyCode> <MiddleName/PaidValue>Константинович </MiddleNamePayment> <NumberClient>1806326598 <LastName/Number> <BirthName>1987-05-20SIDOROV PETR</BirthName> <MiddleName/> <Number/> <Birth/> <Email>mail@host.com</Email> <Phone>+7987123456774950000000</Phone> </Client> <PassengersCount>12</PassengersCount> <Passengers> <Passenger> <nationality>RU</nationality> <passenger_type>ADT</passenger_type> <lastname>IVANOV</lastname> <name>IVAN</name> <gender>MF</gender> <date_of_birth>2012.0512.1987</date_of_birth> <doc_type>C</doc_type> <passport_number>18063265981234567890</passport_number> <currency_of_passport>2024.03.20192023</currency_of_passport> <middlename /> <passenger_id>3680137667</passenger_id> <nationality>RU</nationality> <email>MAILmail@HOSThost.COMcom</email> <Tickets> <SegActive>0</Active> <!-- Статус билета. 0 - билет войдирован, 1- билет активен --> <Seg/Seg> <Num>55546591790555553984070962</Num> <Date>2014-0312-21 1309 16:3901:00</Date> </Tickets> <PriceInfoTickets> <BaseFareActive>1</Active> <Amount!-- Статус билета. 0 - билет войдирован, 1 - билет активен -->2000 <Seg/Amount> <CurrencyCodeNum>RUB5553984070964</CurrencyCodeNum> </BaseFareDate>2014-12-09 16:03:00</Date> </Tickets> <PriceInfo> <TotalFareBaseFare> <Amount>2189800</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalFareBaseFare> <CommissionTotalFare> <Amount>04270</Amount> <CurrencyCode>RUB</CurrencyCode> </CommissionTotalFare> <AirlineCommissionCommission> <Amount>2000</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommissionCommission> </PriceInfoAirlineCommission> </PassengerAmount> 0</PassengersAmount> <FlightTypeCurrencyCode>ВнутреннийRUB</FlightTypeCurrencyCode> <OrderInfo/AirlineCommission> <Info/PriceInfo> <Company/Passenger>Аэрофлот - Российские авиалинии </CompanyPassenger> <CompanyCodepassenger_type>SUADT</CompanyCodepassenger_type> <StartDatedoc_type>2014.04.22C</StartDatedoc_type> <StartTime>11:55 <middlename/StartTime> <StartDayOfWeekpassenger_id>Tuesday37668</StartDayOfWeekpassenger_id> <FlightNumberlastname>0014 (SU0014)PETROV</FlightNumberlastname> <StartAirportCodename>SVOPETR</StartAirportCodename> <StartAirportNamegender>Шереметьево, МоскваM</StartAirportNamegender> <StartCountrydate_of_birth>Россия20.12.1984</StartCountrydate_of_birth> <StartCountryCodepassport_number>RU1234567899</StartCountryCodepassport_number> <EndAirportCodecurrency_of_passport>LED20.12.2029</EndAirportCodecurrency_of_passport> <EndAirportNamenationality>Санкт-Петербург, ПулковоRU</EndAirportNamenationality> <EndCountryemail>Россияmail@host.com</EndCountryemail> <Tickets> <EndCountryCodeActive>RU0</EndCountryCodeActive> <Time!-- Статус билета. 0 - билет войдирован, 1 - билет активен -->1:30 <Seg/Time> <Equip> <NameNum>Airbus 3205553984070963</NameNum> <TypeDate>3202014-12-09 16:01:00</TypeDate> </EquipTickets> <ClassTypeTickets>economy <Active>1</ClassTypeActive> <ClassTypeCode!-- Статус билета. 0 - билет войдирован, 1 - билет активен -->N <Seg/ClassTypeCode> <MealNum>L5553984070965</MealNum> </InfoDate> 2014-12-09 16:03:00</OrderInfoDate> </Tickets> <PriceInfo> <BaseFare> <RemarksAmount>Debit800</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <TotalFare> <Amount>4270</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalFare> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> </PriceInfo> </Passenger> </Passengers> <FlightType>Внутренний</FlightType> <Marker/> <BookingCode>4R72Z4</BookingCode> <OrderInfo> <Info> <Company>Аэрофлот - Российские авиалинии</Company> <CompanyCode>SU</CompanyCode> <OperatingCompanyCode>FV</OperatingCompanyCode> <StartDate>2014.12.18</StartDate> <StartTime>10:45</StartTime> <StartDayOfWeek>Thursday</StartDayOfWeek> <FlightNumber>6128 (FV6128)</FlightNumber> <StartAirportCode>VKO</StartAirportCode> <StartAirportName>Внуково, Москва</StartAirportName> <StartCountry>Россия</StartCountry> <StartCountryCode>RU</StartCountryCode> <EndAirportCode>LED</EndAirportCode> <EndAirportName>Санкт-Петербург, Пулково</EndAirportName> <EndCountry>Россия</EndCountry> <EndCountryCode>RU</EndCountryCode> <Time>1:30</Time> <Equip> <Name>Airbus 319</Name> <Type>319</Type> </Equip> <ClassType>economy</ClassType> <ClassTypeCode>R</ClassTypeCode> <Meal/> </Info> <Info> <Company>Аэрофлот - Российские авиалинии</Company> <CompanyCode>SU</CompanyCode> <OperatingCompanyCode>FV</OperatingCompanyCode> <StartDate>2014.12.25</StartDate> <StartTime>15:10</StartTime> <StartDayOfWeek>Thursday</StartDayOfWeek> <FlightNumber>6153 (FV6153)</FlightNumber> <StartAirportCode>LED</StartAirportCode> <StartAirportName>Санкт-Петербург, Пулково</StartAirportName> <StartCountry>Россия</StartCountry> <StartCountryCode>RU</StartCountryCode> <EndAirportCode>VKO</EndAirportCode> <EndAirportName>Внуково, Москва</EndAirportName> <EndCountry>Россия</EndCountry> <EndCountryCode>RU</EndCountryCode> <Time>1:30</Time> <Equip> <Name>Airbus 319</Name> <Type>319</Type> </Equip> <ClassType>economy</ClassType> <ClassTypeCode>R</ClassTypeCode> <Meal/> </Info> </OrderInfo> <Remarks>Debit</Remarks> <Returns> <!-- Блок с заявками на возврат --> <Return> <ExpertUserId>2411</ExpertUserId> <Id>458463</Id> <Price> <Amount>-5997.17</Amount> <!-- Сумма к возврату, рассчитанная в заявке на возврат --> <CurrencyCode>RUB</CurrencyCode> </Price> <PassengersData> <Data> <PassengerNum>2</PassengerNum> <SegmentNums> <SegmentNum>1</SegmentNum> <SegmentNum>2</SegmentNum> </SegmentNums> </Data> </PassengersData> <IsFull>0</IsFull> <IsCompelled>0</IsCompelled> </Return> </Returns> <Exchanges> <!-- Блок с заявками на обмен --> <Exchange> <ExpertUserId>2411</ExpertUserId> <Id>458480</Id> <Price> <Amount>2279.06</Amount> <!-- Сумма к доплате, рассчитанная в заявке на обмен --> <CurrencyCode>RUB</CurrencyCode> </Price> <Text>Причина создания заявки</Text> </Exchange> </Exchanges>
</PNR>
</syntaxhighlight>
<br/><span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' В том случае, если выбранный клиентом Сервисный пакет имеет нулевую стоимость - в выгрузке он отображаться не будет.</span>  Ремарка ''<Remarks>Debit</Remarks>'' является не обязательной, означает что заказ был оплачен с помощью способа оплаты «Депозит»«Баланс компании»;если же заказ был оплачен с использованием депозитного кредита, и депозит баланс ушел в минус даже на 1 руб., то будет ''<Remarks>Credit</Remarks>''.
Элемент ''<TotalFare>'' возвращает стоимость уже оплаченного заказа. Если же заказ забронирован, но не оплачен, то значение будет 0 RUB.
Элемент ''<CreateDate>'' в зависимости от состояния брони возвращает время окончания бронирования, если бронирование было завершено, иначе возвращает время создания брони.
Блок ''<Returns>'' и ''<Exchanges>'' содержит данные по заявкам на обмен и/или возврат, которые привязаны к заказу. В выгрузку попадает информация только о выполненных заявках на обмен и/или возврат. Важно учесть, что сумма к возврату по заявке указана со знаком ''«-»'', а сумма к доплате идет без дополнительных знаков. Формат поддерживает возможность передачи нескольких номеров электронных билетов на одного пассажира(в том числе войдированных и аннулированных). Если требуется выгружать EMD на услуги а/к, необходимо использовать в работе Формат JSON.</div></div> <div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Формат Nemo для составных броней (MultiOW) ====<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;"><PNR> <ParentBook> <ID>508015</ID> <Payment> <Title>Testpay</Title> <Method>Testpay</Method> <PaymentGateway>testpay</PaymentGateway> <BillingId>117916164</BillingId> <Date>2018-05-28 13:03:17</Date> <CreateDate>2018-05-28 13:02:51</CreateDate> <Status>ticket</Status> <PenaltyDate/> <Timelimit>2018-05-31 13:00:00</Timelimit> <PaymentCharge> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </PaymentCharge> <Charge> <Amount>1220</Amount> <CurrencyCode>RUB</CurrencyCode> </Charge> <AgentCharge> <Amount>-300</Amount> <CurrencyCode>RUB</CurrencyCode> </AgentCharge> <BaseFare> <Amount>6950</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <Book> <Amount>14382</Amount> <CurrencyCode>RUB</CurrencyCode> </Book> <Penalty> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Penalty> <Total> <Amount>15602</Amount> <CurrencyCode>RUB</CurrencyCode> </Total> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>38.25</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> <PaidValue> <Amount>15602</Amount> <CurrencyCode>RUB</CurrencyCode> </PaidValue> </Payment> <ChildBookIDs> <ChildBookID>508019</ChildBookID> <ChildBookID>508020</ChildBookID> </ChildBookIDs> <ExtServices> <ExtService> <Type>ServicePack</Type> <Price> <Amount>800</Amount> <CurrencyCode>RUB</CurrencyCode> </Price> </ExtService> <ExtService> <Type>AlphaInsurance</Type> <Price> <Amount>720</Amount> <CurrencyCode>RUB</CurrencyCode> </Price> <Insurances> <Insurance> <Number>Z694.198TEST.26725385</Number> <Fio>BAGGINS BILBO</Fio> </Insurance> <Insurance> <Number>Z694.198TEST.26725386</Number> <Fio>IVANOV SEMEN</Fio> </Insurance> <Insurance> <Number>Z694.198TEST.26725387</Number> <Fio>ORK KIR</Fio> </Insurance> </Insurances> </ExtService> </ExtServices> </ParentBook> <Common> <id>508019</id> <Type>FLIGHTS</Type> <Service>AMADEUS</Service> <Locator>LOYYRD</Locator> <UtmSource>66</UtmSource> <BeginDateTime>2018.06.16-02:00</BeginDateTime> <EndDateTime>2018.06.16-06:20</EndDateTime> <TicketingDateTime>2018.05.28-13:04</TicketingDateTime> <VoidDateTime/> <TotalPrice> <Amount>7057</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalPrice> <UserId>10312</UserId> <EEUserId/> <UserLogin>test_user_1</UserLogin> <GroupId>10311</GroupId> <CompanyId>10309</CompanyId> <ExternalCompanyId/> <UserStatus>Пользователь</UserStatus> <DateCreate>2018.05.28-13:00</DateCreate> <isManualStatus>0</isManualStatus> </Common> <Payment> <Status>ticket</Status> <PenaltyDate/> <Timelimit>2018-06-01 20:59:00</Timelimit> <PaymentCharge> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </PaymentCharge> <Charge> <Amount>150</Amount> <CurrencyCode>RUB</CurrencyCode> </Charge> <AgentCharge> <Amount>150</Amount> <CurrencyCode>RUB</CurrencyCode> </AgentCharge> <BaseFare> <Amount>3625</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <Book> <Amount>6907</Amount> <CurrencyCode>RUB</CurrencyCode> </Book> <Penalty> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Penalty> <Total> <Amount>7057</Amount> <CurrencyCode>RUB</CurrencyCode> </Total> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>36.25</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> <PaidValue> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </PaidValue> </Payment> <Client> <LastName/> <Name> </Name> <MiddleName/> <Number/> <Birth/> <Email>qddednbavfta@dropmail.me</Email> <Phone/> </Client> <PassengersCount>3</PassengersCount> <Passengers> <Passenger> <name>BILBO</name> <lastname>BAGGINS</lastname> <passenger_type>CLD</passenger_type> <doc_type>P</doc_type> <date_of_birth>02.01.2015</date_of_birth> <nationality>RU</nationality> <gender>M</gender> <passport_number>985478569</passport_number> <currency_of_passport>28.05.2023</currency_of_passport> <Tickets> <Active>1</Active> <Seg/> <Num>5555966876471</Num> <Date>2018-05-28 13:04:05</Date> </Tickets> <PriceInfo> <BaseFare> <Amount>1555</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <TotalFare> <Amount>3149</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalFare> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>12.08</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> </PriceInfo> </Passenger> <Passenger> <name>SEMEN</name> <lastname>IVANOV</lastname> <passenger_type>ADT</passenger_type> <doc_type>P</doc_type> <date_of_birth>05.05.1945</date_of_birth> <nationality>RU</nationality> <gender>M</gender> <passport_number>954563562</passport_number> <currency_of_passport>25.03.2021</currency_of_passport> <phone> <number>+79998884444</number> </phone> <email>QDDEDNBAVFTA@DROPMAIL.ME</email> <Tickets> <Active>1</Active> <Seg/> <Num>5555966876472</Num> <Date>2018-05-28 13:04:05</Date> </Tickets> <PriceInfo> <BaseFare> <Amount>2070</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <TotalFare> <Amount>3758</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalFare> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>12.08</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> </PriceInfo> </Passenger> <Passenger> <name>KIR</name> <lastname>ORK</lastname> <passenger_type>INF</passenger_type> <doc_type>P</doc_type> <date_of_birth>08.09.2017</date_of_birth> <nationality>RU</nationality> <gender>M</gender> <passport_number>859654125</passport_number> <currency_of_passport>28.05.2023</currency_of_passport> <Tickets> <Active>1</Active> <Seg/> <Num>5555966876473</Num> <Date>2018-05-28 13:04:05</Date> </Tickets> <PriceInfo> <BaseFare> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </BaseFare> <TotalFare> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalFare> <Commission> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <AirlineCommission> <Amount>12.08</Amount> <CurrencyCode>RUB</CurrencyCode> </AirlineCommission> </PriceInfo> </Passenger> </Passengers> <FlightType>Внутренний</FlightType> <Marker/> <OrderInfo> <Info> <Id>0</Id> <Company>Аэрофлот</Company> <CompanyCode>SU</CompanyCode> <OperatingCompanyCode>SU</OperatingCompanyCode> <StartDate>2018.06.16</StartDate> <StartTime>02:00</StartTime> <StartDayOfWeek>Saturday</StartDayOfWeek> <FlightNumber>1436 (SU1436)</FlightNumber> <StartAirportCode>SVO</StartAirportCode> <StartAirportName>Шереметьево, Москва</StartAirportName> <StartCountry>Россия</StartCountry> <StartCountryCode>RU</StartCountryCode> <EndAirportCode>SVX</EndAirportCode> <EndAirportName>Екатеринбург</EndAirportName> <EndCountry>Россия</EndCountry> <EndCountryCode>RU</EndCountryCode> <Time>2:20</Time> <Equip> <Name>Airbus A320 (with Sharklets)</Name> <Type>32A</Type> </Equip> <ClassType>economy</ClassType> <ClassTypeCode>N</ClassTypeCode> <Meal/> </Info> </OrderInfo> <Returns/> <Exchanges/></PNR></syntaxhighlight> <br/><span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' Данные в блоке ParentBook одинаковы для обеих реальных броней, являющихся частью составной. Но так как составная бронь несёт формальный характер, она не может быть отражена в XML-выгрузке</span>*ParentBook - общий блок, отражает информацию об оплате составной брони; о дополнительных услугах, приобретённых в составной брони; а также номера обоих реальных заказов составной брони
</div>
</div>
<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;">
 
<?xml version="1.0" encoding="UTF-8"?>
<order_snapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<header currency="RUB" time_gmt="20142018-0301-21 0924 13:3923:4745" time="20142018-0301-21 1324 16:3923:4745" ord_id="263440496571" corp_ord_id="1P2BK4" site="3322410" corp_code="2440" /> <customer email="mailairjul2404@hostgmail.com" phone="XXXX4567XXXX0005" name="Сидоров В. К." corp_code="3322440" bonus_card="200200200" /> <products> <product> <!--@stamp - валидатор. Парсится из заказа(Сирена и Галилео). Если получить из ГДС не удалось, то передаётся валидатор, настроенный в реквизитах подключения к ГДС.--> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="0" taxes="3005" fare="0" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="0" carrier="NN" flight_number="200" op_carrier="NN" departure_datetime="2018-03-22 06:00:00" arrival_datetime="2018-03-22 09:00:00" departure_airport="SVX" arrival_airport="DME" fare_basis="YCH"> <air_tax amount="2085" code="YQ"/> <air_tax amount="70" code="RU"/> <air_tax amount="850" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="1" taxes="1280698" fare="46006100" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="1" carrier="U6" flight_number="161" op_carrier="U6" departure_datetime="2018-03-24 11:20:00" arrival_datetime="2018-03-24 15:30:00" departure_airport="DME" arrival_airport="SVX" fare_basis="KPROW"> <air_tax amount="185" code="ZZ"/> <air_tax amount="513" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="2" taxes="500" fare="" service_fee="3000" commission="0" origin="SVX" destination="MOW"/> </product> <product> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="3" taxes="3005" fare="0" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="0" carrier="NN" flight_number="200" op_carrier="NN" departure_datetime="2018-03-22 06:00:00" arrival_datetime="2018-03-22 09:00:00" departure_airport="SVX" comissionarrival_airport="230DME" stampfare_basis="YCH"> <air_tax amount="2085" code="YQ"/> <air_tax amount="70" code="RU"/> <air_tax amount="850" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="4" taxes="698" fare="6100" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="1" carrier="U6" flight_number="161" op_carrier="U6" departure_datetime="2018-03-24 11:20:00" arrival_datetime="2018-03-24 15:30:00" departure_airport="DME" arrival_airport="SVX" fare_basis="KPROW"> <air_tax amount="185" code="ZZ"/> <air_tax amount="513" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="A" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="5" taxes="500" fare="" service_fee="0" commission="0" origin="SVX" destination="MOW"/> </product> <product> <air_ticket_prod psg_type="C" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="6" taxes="3005" fare="0" service_fee="356.5" commission="30" origin="SVX" destination="92354802MOW"> <air_seg segment_id="0" carrier="NN" flight_number="131200" op_carrier="NN" departure_datetime="20142018-03-22 06:00:00" arrival_datetime="2018-03-22 09:00:00" departure_airport="SVX" arrival_airport="DME" fare_basis="YCH/CN0"> <air_tax amount="2085" code="YQ"/> <air_tax amount="70" code="RU"/> <air_tax amount="850" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="C" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="7" taxes="698" fare="4575" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="1" carrier="U6" flight_number="161" op_carrier="U6" departure_datetime="2018-1203-13 2124 11:1520:00" arrival_datetime="20142018-1203-14 0124 15:3530:00" departure_airport="DME" arrival_airport="SVX" fare_basis="VIMOWKPROW/CH25"> <air_tax amount="185" code="ZZ"/> <air_tax amount="513" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod> </product> <product> <air_ticket_prod psg_type="C" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN"validating_carrier="NN" prod_id="8" taxes="250" fare="" service_fee="0" commission="0" origin="SVX" destination="MOW"/> </product> <product> <air_ticket_prod psg_type="I" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="9" taxes="3005" fare="0" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="0" carrier="NN" flight_number="200" op_carrier="NN" departure_datetime="2018-03-22 06:00:00" arrival_datetime="2018-03-22 09:00:00" departure_airport="SVX" arrival_airport="DME" fare_basis="YCH/IN0"> <air_tax amount="2085" code="YQ"/> <air_tax amount="70" code="RU"/> <air_tax amount="850" code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees>
</air_ticket_prod>
</product>
<product>
<service_prod air_ticket_prod psg_type="I" title="Екатеринбург - Москва - Екатеринбург" form_owner="NN" validating_carrier="NN" prod_id="10" taxes="513" fare="0" service_fee="356.5" commission="30" origin="SVX" destination="MOW"> <air_seg segment_id="1" provider_typecarrier="U6" flight_number="161" op_carrier="U6" departure_datetime="2018-03-24 11:20:00" arrival_datetime="2018-03-24 15:30:00" departure_airport="DME" arrival_airport="AeroExpressSVX" pricefare_basis="360KPROW/IN00" ext_id> <air_tax amount="92334513"code="RI"/> </air_seg> <fees> <fee type="commission" code="commission_vcarrier" amount="7.5"/> </fees> </air_ticket_prod>
</product>
<product>
<service_prod prod_idral_ticket_prod rsrv_id="24965710200" provider_typeprod_id="AlphaInsurance4965710200200" offer_typeorigin="alpha_insuranceДомодедово, Москва" ext_iddestination="Z694.198BC.F2754382Павелецкий вокзал" pricedeparture_datetime="1502018-03-22 10:00:00" countcartype="1standart" psgr_idfare="0420"/>
</product>
<product>
<ral_ticket_prod rsrv_id="4965710200" prod_id="4965710200201" origin="Домодедово, Москва" destination="Павелецкий вокзал" departure_datetime="2018-03-22 10:00:00" cartype="standart" fare="420"/> </product> <product> <ral_ticket_prod rsrv_id="4965710200" prod_id="4965710200202" origin="Домодедово, Москва" destination="Павелецкий вокзал" departure_datetime="2018-03-22 10:00:00" cartype="standart" fare="420"/> </product> <product> <ral_ticket_prod rsrv_id="4965710200" prod_id="4965710200203" origin="Павелецкий вокзал" destination="Домодедово, Москва" departure_datetime="2018-03-24 07:20:00" cartype="standart" fare="420"/> </product> <product> <ral_ticket_prod rsrv_id="4965710200" prod_id="4965710200204" origin="Павелецкий вокзал" destination="Домодедово, Москва" departure_datetime="2018-03-24 07:20:00" cartype="standart" fare="420"/> </product> <product> <ral_ticket_prod rsrv_id="4965710200" prod_id="4965710200205" origin="Павелецкий вокзал" destination="Домодедово, Москва" departure_datetime="2018-03-24 07:20:00" cartype="standart" fare="420"/> </product> <product> <payment_prod price="100.35150"/>
</product>
</products>
<reservations>
<reservation rsrv_id="496571" crs="SIRENA2000" rloc="1P2BK4" ticketing_pcc=""/> <reservation rsrv_id="4965710200" crs="SABREAeroExpress" rloc="FHHUWQA01XFSZH"/>
</reservations>
<passengers>
<passenger doc_number="45126663161206547892" psgr_id="0" doc_country="RU" psgr_type="A" doc_type="C" birth_date="19891974-07-01" name="ALEKSEI" gender="M" first_name="SMIRNOV"/> <passenger doc_number="7896541230" psgr_id="1" doc_country="RU" psgr_type="A" doc_type="C" birth_date="1984-02-02" name="ROMAN" gender="M" first_name="IVANOV"/> <passenger doc_number="IVШЯ224111" psgr_id="2" doc_country="RU" psgr_type="C" doc_type="B" birth_date="2010-07-10" name="ANTON" gender="M" first_name="SMIRNOV"/> <passenger doc_number="IVЕТ789456" psgr_id="3" doc_country="RU" psgr_type="I" doc_type="B" birth_date="2017-02-01" name="IVANANTON" gender="FM" first_name="IVANOVROMANOV"/>
</passengers>
<travel_docs>
<travel_doc>
<air_ticket_doc tkt_oper="TKT" tkt_number="82358719876378236100037848" tkt_date="20142018-01-24 16:23:26" prod_id="0" psgr_id="0" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="2626100037849" tkt_date="2018-01-24 16:23:26" prod_id="1" psgr_id="0" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="99C6160149267" tkt_date="2018-01-24 16:23:26" prod_id="2" psgr_id="0" issuingAgent="2615" rsrv_id="496571" main_prod_id="1" rfic="D"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="8236100037850" tkt_date="2018-01-24 16:23:26" prod_id="3" psgr_id="1" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="2626100037851" tkt_date="2018-01-24 16:23:26" prod_id="4" psgr_id="1" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="99C6160149268" tkt_date="2018-01-24 16:23:26" prod_id="5" psgr_id="1" issuingAgent="2615" rsrv_id="496571" main_prod_id="4" rfic="D"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="8236100037852" tkt_date="2018-01-24 16:23:26" prod_id="6" psgr_id="2" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="2626100037853" tkt_date="2018-01-24 16:23:26" prod_id="7" psgr_id="2" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="99C6160149269" tkt_date="2018-01-24 16:23:26" prod_id="8" psgr_id="2" issuingAgent="2615" rsrv_id="496571" main_prod_id="7" rfic="D"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="8236100037854" tkt_date="2018-01-24 16:23:26" prod_id="9" psgr_id="3" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <air_ticket_doc tkt_oper="TKT" tkt_number="2626100037855" tkt_date="2018-01-24 16:23:26" prod_id="10" psgr_id="3" issuingAgent="2615" rsrv_id="496571"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200200" psgr_id="0" tkt_oper="TKT" tkt_date="2018-01-24 16:0923:44" tkt_number="427309"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148822" tkt_date="16:3123 24.01.2018" prod_id="4965710200200" psgr_id="0" issuingAgent="2615" rsrv_id="4965710200"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200201" psgr_id="1" tkt_oper="TKT" tkt_date="2018-01-24 16:23:44" tkt_number="427310"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148823" tkt_date="16:23 24.01.2018" prod_id="4965710200201" psgr_id="1" issuingAgent="2615" rsrv_id="4965710200"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200202" psgr_id="2" tkt_oper="TKT" tkt_date="2018-01-24 16:23:44" tkt_number="427311"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148824" tkt_date="16:23 24.01.2018" prod_id="4965710200202" psgr_id="2" issuingAgent="2615" rsrv_id="4965710200"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200203" psgr_id="0" tkt_oper="TKT" tkt_date="2018-01-24 16:23:44" tkt_number="427312"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148826" tkt_date="16:23 24.01.2018" prod_id="4965710200203" psgr_id="0" issuingAgent="2615" rsrv_id="4965710200"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200204" psgr_id="1" tkt_oper="TKT" tkt_date="2018-01-24 16:23:44" tkt_number="427313"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148825" tkt_date="16:23 24.01.2018" prod_id="4965710200204" psgr_id="1" issuingAgent="873502615" rsrv_id="4965710200"/> </travel_doc> <travel_doc> <aex_doc rsrv_id="4965710200" prod_id="4965710200205" psgr_id="2" tkt_oper="TKT" tkt_date="2018-01-24 16:23:44" tkt_number="427314"/> </travel_doc> <travel_doc> <emd_ticket_doc tkt_oper="TKT" tkt_number="23K6160148827" tkt_date="16:23 24.01.2018" prod_id="4965710200205" psgr_id="2" issuingAgent="2615" rsrv_id="4965710200"/>
</travel_doc>
</travel_docs>
<payments>
<payment pay_id="117726950117911895" pay_oper="PAY" pay_time="20142018-1001-24 16:0922:0441" site="2440" psp_code="024011" psp_name="RapidaTestpay" psp_pay_id="" pay_system="ES" amount="6790.3538174" fop="CA"/>
</payments>
</order_snapshot>
</syntaxhighlight>
<br/><span style="background-color:#fff0f5;">'''<span style="color:#ff0000;">Внимание!</span>''' В том случае, если выбранный клиентом Сервисный пакет имеет нулевую стоимость - в выгрузке он отображаться не будет.</span>*bonus_card - номер бонусной карты, введённой покупателем билета в числовом формате.*service_fee — сбор агентский (только сервисный сбор, '''не включает''' в себя сбор за эквайринг), отображается только на первом билете (отдельно для каждого пассажира).
*comission - комиссия АК
*stamp - код Валидатора в ПССPCC, берется из настроек Немо{{NameSystem}}, если в настройках он не указан, то не передается.*ord_id — идентификатор заказа в НЕМО{{NameSystem}}
*corp_ord_id — PNR из ГДС
*site — идентификатор агентства в Немо{{NameSystem}}*payment pay_id — номер биллинга Немо.{{NameSystem}}
*pay_system — код платежной системы
**SB — для сбербанка
**ES — для Рапиды
**UNT — для Юнителлера
*psp_name — отображает название платежного шлюза, для ПШ МПС возможно значения:
**"Sirena2_card" - Оплата картой,
**"Sirena2_qr_code" - Оплата по QR,
**"Sirena2_client_bank" - Оплата по СберПей
**Uniteller — оплата Юнителлер (банк)
**Uniteller_GDS — оплата через GDS-процессинг (Юнителлер)
*cardholder — держатель карты.
*expire_date — срок действия карты, у тех ПШ, что не приходит в ответе — пустой.
*card_number — номер карты, в формате: 415481XXXXXX1734
*approval_code — код подтверждения.*payment_prod price — сбор за эквайринг.*main_ticket_prod_id - id билета в выгрузке, формируется как смещение для авиабилетов (200) + id пассажира;*prod_id - id сервисного пакета в выгрузке, формируется как смещение (400) + номер по порядку;*tkt_number - номер полиса для пассажира;*tkt_date - дата и время операции; *tkt_oper - тип операции (TKT - выписка/CANX - отмена выписки, аннуляция).*provider_type - тип поставщика (INSURANCE).*provider_id - AlphaInsurance;*offer_type - название полиса;*price - цена полиса для пассажира;*rsrv_id - идентификатор заказа;*rloc - номер заказа у поставщика;*currency - основная валюта сайта (валюта расчетов, валюта оплаты);*crs_currency - валюта расчетов с поставщиком (c ГДС);*crs_currency_rate - курс валюты поставщика;*no_conj_tickets – число дополнительных билетов (отображается при количестве сегментов более 4 включительно);*surface_seg - передача наземного участка (в том случае, если аэропорт прилета одного сегмента не совпадает с аэропортом вылета следующего);*supplier - номер PCC (подтягивается в том случае, если указан в реквизитах подключения);*time_gmt - время GMT;*time - дата и время отправки информации в Софи (МСК);*corp_code - код корпоративного клиента;*email - адрес электронной почты клиента;*phone - номер телефона клиента;*psg_type - категория пассажира в виде буквы: A - adult, C - child, I - infant;*title - краткое описание маршрута;*form_owner - владелец бланка IATA код АК;*validating_carrier - валидирующий перевозчик;*prod_id - идентификатор продукта;*taxes - таксы;*fare - стоимость тарифа;*origin/destination - пункт отправления/назначения;*segment_id - идентификатор сегмента в air_ticket_prod, соответствующего услуге;*carrier - маркетинговый перевозчик;*flight_number - номер рейса;*op_carrier - оперирующий перевозчик;*departure_datetime — дата, время вылета;*arrival_datetime — дата, время прибытия;*departure_airport — аэропорт вылета;*arrival_airport — аэропорт прибытия;*fare_basis - код тарифа;*amount - стоимость таксы;*code - код таксы;*departure_datetime — дата, время отправления;*cartype - тип вагона;*crs - код системы бронирования (поставщика);*doc_number — номер документа;*psgr_id — номер пассажира;*doc_country - гражданство;*psgr_type - категория пассажира;*doc_type -тип документа, удостоверяющего личность;*birth_date — дата рождения пассажира;*name — имя пассажира;*gender — пол пассажира;*first_name — фамилия пасажира;*issuingAgent - идентификатор пользователя, выписавшего билет;*pay_time — дата, время оплаты*psp_code - код платежной системы, через которую сделана оплата;*psp_pay_id - идентификатор платежа в платежной системе;*amount - сумма оплаты;*fop - форма оплаты.
</div>
</div>
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
 
==== Формат JSON ====
<div class="mw-collapsible-content">
см. http://docs.nemo.travel/ru/nemo-backoffice-api/json_api/order_export
</div>
</div>
=== Выгрузка заказа для компонента «Отели» ===
Для компонента '''«Отели»''' доступна выгрузка заказов в формате форматах Nemoи/или JSON.
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
==== Формат Nemo JSON ====
<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;"><?xml version="1.0" encoding="UTF-8"?><PNR> <Common> <id>263462</id> <Type>HOTELS</Type> <Service>ACADEM</Service> <Locator>3028655</Locator> <BeginDateTime>2014.04.15-00:00</BeginDateTime> <EndDateTime>2014.04.16-00:00</EndDateTime> <TotalPrice> <Amount>1950</Amount> <CurrencyCode>RUB</CurrencyCode> </TotalPrice> <UserId>123</UserId> <EEUserId /> <UserLogin>userLogin</UserLogin> <GroupId>332</GroupId> <UserStatus>Менеджер</UserStatus> <DateCreate>2014.03.21-16:11</DateCreate> </Common> <Payment> <Status>booked</Status> <PenaltyDate>2014.04.13-00:00</PenaltyDate> <Timelimit>2014-04-13 00:00:00</Timelimit> <Charge> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Charge> <Book> <Amount>1950</Amount> <CurrencyCode>RUB</CurrencyCode> </Book> <Penalty> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </Penalty> <Total> <Amount>1950</Amount> <CurrencyCode>RUB</CurrencyCode> </Total> <Commission> <Amount>112</Amount> <CurrencyCode>RUB</CurrencyCode> </Commission> <PaidValue> <Amount>0</Amount> <CurrencyCode>RUB</CurrencyCode> </PaidValue> </Payment> <Client> <LastName>Сидоров</LastName> <Name>Владимир</Name> <MiddleName>Константинович</MiddleName> <Number>1806326598</Number> <Birth>1987-05-20</Birth> <Email>mail@hostсм.com</Email> <Phone>+79871234567</Phone> </Client> <Passengers> <Passenger> <nationality>RU</nationality> <lastname>IVANOV</lastname> <name>IVAN</name> </Passenger> </Passengers> <Info> <Name>Интурист</Name> <City> <Code>34</Code> <Name>Великий Новгород</Name> </City> <Location /> <StarRating>3</StarRating> <Days>2</Days> <Nights>1</Nights> <CheckInDate>2014.04.15</CheckInDate> <CheckOutDate>2014.04.16</CheckOutDate> <CheckInTime>14https:00</CheckInTime> <CheckOutTime>12:00</CheckOutTime> <OnRequest>false</OnRequest> </Info> <Rooms> <Room> <Name>Двухместный стандарт (две кровати)</Name> <Type>SNGL</Type> <FareId>1</FareId> </Room> </Rooms> <Fares> <Fare> <Id>1</Id> <Price> <Amount>1950</Amount> <CurrencyCode>RUB</CurrencyCode> </Price> <Meals>Завтрак "Шведский стол",Отсутствует</Meals> <Description>Одноместный</Description> </Fare> </Fares> <CancelCharges> <Charge> <DateFrom>2014.04docs.13-00:00</DateFrom> <DateTo>2014nemo.04.15-00:00</DateTo> <Amount>1488</Amount> <CurrencyCode>RUB</CurrencyCode> </Charge> </CancelCharges> <ModifyCharges /> <ModificationMethods> <Method>MOD_PASS_NAMES</Method> <Method>MOD_DATES</Method> <travel/ModificationMethods><ru/PNR><hotels/syntaxhighlight>hotelsbackoffice
</div>
</div>
=== Выгрузка заказа для компонента «ЖД» ===
Для компонента '''«ЖД»''' доступна выгрузка заказов в формате форматах Nemoи/или JSON.
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">
|-
| id
| Номер заказа в Немо{{NameSystem}}.
| Число. Пример: 268281.
|-
|-
| UserId
| Идентификатор пользователя в системе Немо{{NameSystem}}, оформившего заказ.
| Число. Пример: 123.
|-
| UserLogin
| Логин пользователя в системе Немо{{NameSystem}}, оформившего заказ.
| Строка. Пример: userLogin.
|-
| GroupId
| Идентификатор группы пользователя в системе Немо{{NameSystem}}, оформившего заказ.
| Число. Пример: 122.
|-
| UserStatus
| Тип пользователя в системе Немо{{NameSystem}}.
| Строка. Пример: Менеджер.
|-
|-
| BillingId
| Идентификатор транзакции Немо{{NameSystem}}.
| Строка. Пример: 117603370.
|-
| Date
| Дата и время оплаты платежной транзакции Немо{{NameSystem}}.
| Строка. Пример: 2014-04-24 15:10:12.
|-
| CreateDate
| Дата и время создания платежной транзакции Немо{{NameSystem}}.
| Строка. Пример: 2014-06-06 15:10:00.
|-
| Status
| Статус заказа в системе Немо{{NameSystem}}.
| Строка. Пример: booked.<br/>Допустимые значения:
<ul>
</div>
<div class="toccolours mw-collapsible mw-collapsed" style="width:1000px">==== Формат JSON ====<div class="mw-collapsible-content">см. http://docs.nemo.travel/ru/nemo-backoffice-api/json_api/order_export</div></div> == Пакетный экспорт заказов в формате Nemo==Сервис выгрузки заказов позволяет экспортировать интересующие необходимые выборки по заказам в формате XML, XLS(X). Например, можно выбрать все заказы по дате бронирования и получить информацию по ним в XML-виденужном формате. Экспорт в формате XLS(X) единовременно выгружает не более 1000 заказов. Если требуется выгрузка большего количества заказов (для получения полной статистики по всем заказам), то нужно выгружать заказы за последовательные периоды. При выгрузке данных по заказам в формате XLS(X) ценовые параметры конвертируются в валюту агентства по курсам, зафиксированным на момент оплаты конкретного заказа.  Панель выгрузки всегда доступна для менеджеров и экспертов.
=== Экспорт заказов под авторизованным пользователем (в личном кабинете) ===
[[Файл:Экспортировать_в_XML_(ЛК)exportxmlxlsxlsx.pngjpg|400px600px|thumb|right|Фильтры пакетного экспорта заказов в личном кабинете]]Порядок пользования сервисом:Псевдоссылка ''Показать панель экспорта'' раскрывает форму, позволяющую экспортировать заказы в файл формат XML, XLS или XLSX.# Перейти Выгружаются заказы выбранного пользователя/компании и принадлежащих к ним субагентов/пользователей с учетом примененных параметров фильтра.  Запрос на выгрузку данных по заказам отобразится в личный кабинетсистеме логирования с XML файлом, содержащим данные выгрузки. # Для экспорта отложенных заказов в формате XLS(X) нужно в фильтрах заказов установить параметр «Статус бронирования» в значение «Отложен».  В данный момент установлен лимит на количество выгружаемых единовременно заказов, равный 1000. В адресной строке браузера к текущему адресу дописать параметр '''''&exportxml'''''случае, если требуется выгрузка большего количества заказов (для получения полной статистики по всем заказам), это возможно сделать, выгружая заказы за определенные периоды. Должен получиться адрес вида: <syntaxhighlight lang ==== Параметры пакетной выгрузки ==== {| class="textwikitable mw-collapsible mw-uncollapsed" enclose|-! scope="divcol" style| Параметр! scope="fontcol" | XLS -size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0; width: 800px;выгрузка! scope="col"| XML -выгрузка|-| Номер билета| нет| Passengers->Passenger->Tickets->Ticket->Num|-|Маршрут| service_summary| OrderInfo|-http://DOMAIN/index| Дата выписки| ticketing_date| Common->TicketingDateTime|-| Дата вылета| date_begin| OrderInfo->Info->StartDate,StartTime|-|Тариф в валюте сайта (по каждому билету)|только суммарно за всех пассажиров| нет|-|Таксы в валюте сайта (по каждому билету)|только суммарно за всех пассажиров| нет|-|Тариф в валюте выписки (по каждому билету)|нет |нет|-| фамилия пассажира (по каждому билету)| нет| Passengers->Passenger->lastname|-|} === Повторная выгрузка заказов ===Если выгрузка заказа прошла неуспешно, в системе предусмотрена возможность выгрузить его повторно. Для этого менеджеру агентства необходимо на странице проблемного заказа перейти в раздел «Служебная информация», где расположена ссылка «Выгрузить заказ повторно», после нажатия на которую заказ будет выгружен повторно.php?go=poffice/table&exportxml</syntaxhighlight># После обновления страницы под блоком фильтров должна появиться кнопка Причем в случае, если в разделе настроек '''Настройки системы → Интеграция → Выгрузка заказов'''включена настройка '«Экспортировать в XML»''Выгрузка одновременно и Nemo и Софи'''. При ее нажатии на странице появляется предложение сохранить , повторная выгрузка будет выполнена и в формате Nemo, и в XML-файл выборку отфильтрованных заказовформате СОФИ.
Пользователь может произвести выгрузку только своих Также, доступна повторная выгрузка заказовчерез Личный кабинет. Для этого разделе «Заказы», для нужного заказа в колонке «Действия» требуется нажать на ссылку «Выгрузить заказ повторно».
<!-- Выпилино по тикету 13622 (МР)
Документацию закомментировал, удалять пока не нужно ее совсем. -->
<!--
=== Экспорт заказов под неавторизованным пользователем (под «гостем») ===
В Nemo {{NameSystem}} существует возможность получить выборку заказов под неавторизованным пользователем («гостем»). Для этого необходимо выполнить запрос вида: <syntaxhighlight lang="text" enclose="div" style="font-size:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0; width: 800px;">
http://DOMAIN/index.php?go=export_xml_key/search&параметры экспорта&xmlKey=ХХХ
</syntaxhighlight>
</div>
</div>
 
-->
 
<!--
== Пакетный экспорт заказов в формате СОФИ ==
Для использования выгрузки заказов в формате СОФИ у агентства должен быть включен модуль "Выгрузка заказов Софи" и заданы настройки:
* "Тип выгрузки СОФИ" должен иметь значение "Выгрузка заказов СОФИ" или должна быть включена настройка "Выгрузка одновременно и Nemo, и Софи",
* Должен быть указан "Url скрипта для выгрузки в формате СОФИ",
* Должен быть указан "Код сайта в системе СОФИ".
 
Выгрузка конкретного заказа:
http://DOMAIN/booking__sofi_export_bookings&booking_id=123456
где booking_id — номер заказа в системе {{NameSystem}}.
 
Выгрузка заказов забронированных за определенный период:
http://DOMAIN/booking__sofi_export_bookings&date_begin=01.01.2014&date_end=01.01.2015
где [date_begin; date_end] — период бронирования заказа (забронированные заказы с датой бронирования совпадающей с началом/окончанием периода, заданного в запросе, попадают в экспорт), формат — дд.мм.гггг.
 
=== Ошибки при выгрузке ===
* '''Attention! Check date_begin and date_end!''' — некорректно указана дата начала/окончания периода бронирования выборки экспортируемых заказов.
* '''no_xml''' — нет данных по заказу
* '''OK''' — выгрузка данных по заказу прошла успешно
* '''BAD''' — выгрузка данных по заказу не прошла
* '''fail - settings'''
* '''fail error: BAD_PARAMETER message: Date of the departure or arrival date can`t be in the past'''
-->
 
<!--
== Пакетный экспорт заказов по категориям в формате СОФИ ==
Для использования выгрузки заказов в формате СОФИ у агентства должен быть включен модуль "Выгрузка заказов Софи" и заданы настройки:
* "Тип выгрузки СОФИ" должен иметь значение "Выгрузка заказов СОФИ" или должна быть включена настройка "Выгрузка одновременно и Nemo, и Софи",
* Должен быть указан "Url скрипта для выгрузки в формате СОФИ",
* Должен быть указан "Код сайта в системе СОФИ".
 
Выгрузка конкретного заказа:
http://DOMAIN/booking__sofi_export_bookings&booking_id=123456
где booking_id — номер заказа в системе {{NameSystem}}.
 
Выгрузка заказов забронированных за определенный период:
http://DOMAIN/booking__sofi_export_bookings&date_begin=01.01.2014&date_end=01.01.2015
где [date_begin; date_end] — период бронирования заказа (забронированные заказы с датой бронирования совпадающей с началом/окончанием периода, заданного в запросе, попадают в экспорт), формат — дд.мм.гггг.
-->
== См. также ==
'