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

Материал из Центр поддержки системы бронировании
Версия от 13:39, 3 апреля 2014; Сергей Михалёв (обсуждение | вклад) (Статусы выгрузки заказа)
Перейти к навигации Перейти к поиску

Выгрузка заказов — это экспорт данных заказа или заказов для различных компонентов системы Nemo.

Описание

Модуль позволяет внешней системе получать данные по заказам для дальнейшей обработки.

Процесс выгрузки

Схематично процесс выгрузки заказов представлен на блок-схеме.

Export.png

Настройки

Настройка процесса выгрузки заказов для авиабилетов

На странице настроек выгрузки заказов доступны следующие опции:

  • Выгрузка одновременно и Nemo, и Софи — настройка позволяет производить экспорт данных одновременно в двух форматах.
    Внимание! Опция доступна только для компонента «Авиабилеты», при включенном модуле «Выгрузка заказов Софи».
  • Тип выгрузки — настройка определяет один из доступных форматов выгрузки заказов:
    • Выгрузка заказов Nemo — внутренний формат системы Nemo, доступен по умолчанию.
    • Выгрузка заказов Софи — дополнительный формат, становится доступным при включении модуля «Выгрузка заказов Софи».
  • Url стороннего скрипта для XML уведомлений — URL, на который будет производиться выгрузка данных.
  • Код сайта в системе Софи
    Внимание! Необходимо заполнить поля "Url стороннего скрипта для XML уведомлений" и "Код сайта в системе Софи", которые становятся доступными только при переключении "Типа выгрузки" в значение "Выгрузка заказов Софи", а также поле "Url стороннего скрипта для XML уведомлений" для типа выгрузки "Nemo".
  • Повторная отправка в случае неудачи — настройка позволяет производить повторные попытки экспорта заказа через определенный интервал времени (максимум 3 попытки).
  • Список адресов для уведомлений (разделяется запятыми) — настройка позволяет определить один или более адресов электронной почты, на которые будет отправлено уведомление о проблемном заказе, в случае, если все попытки выгрузки заказа закончатся неудачно.
  • Экспортировать после оплаты — настройка позволяет дополнительно производить выгрузку заказов после события оплаты заказа.
    Внимание! Доступно только для формата Nemo.
  • Отправлять нотификацию о необходимости установки кода валидатора в реквизитах — настройка позволяет автоматически отправлять нотификацию при выгрузке заказа в Софи без кода валидатора.
  • E-mail для отправки нотификации о необходимости установки кода валидатора в реквизитах

Форматы выгрузки заказов

Система поддерживает выгрузку заказов в форматах Nemo и Софи.

Компоненты, поддерживающие выгрузку заказов

Авиабилеты Отели ЖД
Формат Nemo + + +
Формат Софи +

События, поддерживающие выгрузку заказов

Авиабилеты Бронирование Оплата* Синхронизация** Выписка Войдирование Аннуляция
Формат Nemo + + + + + +
Формат Софи + + +
Отели Бронирование Оплата* Синхронизация** Выписка Войдирование Аннуляция
Формат Nemo + + + войдирование отсутствует +
ЖД Бронирование Оплата Синхронизация** Выписка Войдирование Аннуляция
Формат Nemo + + + + + +

*  Выгрузка заказа при оплате произойдет только если включена настройка «Экспортировать после оплаты» в разделе «Заказы»«Выгрузка заказов».
** Выгрузка заказа при синхронизации произойдет только если в заказе произошли изменения.

Статусы выгрузки заказа

Коды статусов выгрузки заказа соответствуют кодам состояния HTTP. Фактически указывается последний полученный код состояния HTTP, полученный при выгрузке данных по адресу, указанному в настройках выгрузки. Коды относятся к серверу, на который происходит выгрузка заказов.

Код Описание
0 Обязательный. Идентификатор города в системе Nemo.
200 OK — успешный запрос.
301 Запрошенный документ был окончательно перенесен на новый URI, указанный в поле Location заголовка.
403 Сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу.
404 Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.
500 Любая внутренняя ошибка сервера.

Выгрузка заказа для компонента «Авиабилеты»

Для компонента «Авиабилеты» доступна выгрузка заказов в форматах Nemo и/или Софи (при включенном модуле «Выгрузка заказов Софи»).

Формат Nemo

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <PNR>
  3    <Common>
  4       <id>263440</id>
  5       <Type>FLIGHTS</Type>
  6       <Service>SABRE</Service>
  7       <Locator>MHKPTF</Locator>
  8       <BeginDateTime>2014.04.22-11:55</BeginDateTime>
  9       <EndDateTime>2014.04.22-13:25</EndDateTime>
 10       <TotalPrice>
 11          <Amount>2189</Amount>
 12          <CurrencyCode>RUB</CurrencyCode>
 13       </TotalPrice>
 14       <UserId>123</UserId>
 15       <EEUserId />
 16       <UserLogin>userLogin</UserLogin>
 17       <GroupId>122</GroupId>
 18       <UserStatus>Менеджер</UserStatus>
 19       <DateCreate>2014.03.21-13:33</DateCreate>
 20    </Common>
 21    <Payment>
 22       <Title>Testpay</Title>
 23       <Method>Testpay</Method>
 24       <BillingId>117601216</BillingId>
 25       <Date>2014-03-21 13:38:26</Date>
 26       <CreateDate>2014-03-21 13:38:24</CreateDate>
 27       <Status>ticket</Status>
 28       <PenaltyDate />
 29       <Timelimit>2014-03-28 23:59:00</Timelimit>
 30       <Charge>
 31          <Amount>0</Amount>
 32          <CurrencyCode>RUB</CurrencyCode>
 33       </Charge>
 34       <BaseFare>
 35          <Amount>2000</Amount>
 36          <CurrencyCode>RUB</CurrencyCode>
 37       </BaseFare>
 38       <Book>
 39          <Amount>2189</Amount>
 40          <CurrencyCode>RUB</CurrencyCode>
 41       </Book>
 42       <Penalty>
 43          <Amount>0</Amount>
 44          <CurrencyCode>RUB</CurrencyCode>
 45       </Penalty>
 46       <Total>
 47          <Amount>2189</Amount>
 48          <CurrencyCode>RUB</CurrencyCode>
 49       </Total>
 50       <Commission>
 51          <Amount>0</Amount>
 52          <CurrencyCode>RUB</CurrencyCode>
 53       </Commission>
 54       <AirlineCommission>
 55          <Amount>20</Amount>
 56          <CurrencyCode>RUB</CurrencyCode>
 57       </AirlineCommission>
 58       <PaidValue>
 59          <Amount>2189</Amount>
 60          <CurrencyCode>RUB</CurrencyCode>
 61       </PaidValue>
 62    </Payment>
 63    <Client>
 64       <LastName>Сидоров</LastName>
 65       <Name>Владимир</Name>
 66       <MiddleName>Константинович</MiddleName>
 67       <Number>1806326598</Number>
 68       <Birth>1987-05-20</Birth>
 69       <Email>mail@host.com</Email>
 70       <Phone>+79871234567</Phone>
 71    </Client>
 72    <PassengersCount>1</PassengersCount>
 73    <Passengers>
 74       <Passenger>
 75          <nationality>RU</nationality>
 76          <passenger_type>ADT</passenger_type>
 77          <lastname>IVANOV</lastname>
 78          <name>IVAN</name>
 79          <gender>M</gender>
 80          <date_of_birth>20.05.1987</date_of_birth>
 81          <doc_type>C</doc_type>
 82          <passport_number>1806326598</passport_number>
 83          <currency_of_passport>20.03.2019</currency_of_passport>
 84          <middlename />
 85          <passenger_id>36801</passenger_id>
 86          <email>MAIL@HOST.COM</email>
 87          <Tickets>
 88             <Seg>1</Seg>
 89             <Num>5554659179055</Num>
 90             <Date>2014-03-21 13:39:00</Date>
 91          </Tickets>
 92          <PriceInfo>
 93             <BaseFare>
 94                <Amount>2000</Amount>
 95                <CurrencyCode>RUB</CurrencyCode>
 96             </BaseFare>
 97             <TotalFare>
 98                <Amount>2189</Amount>
 99                <CurrencyCode>RUB</CurrencyCode>
100             </TotalFare>
101             <Commission>
102                <Amount>0</Amount>
103                <CurrencyCode>RUB</CurrencyCode>
104             </Commission>
105             <AirlineCommission>
106                <Amount>20</Amount>
107                <CurrencyCode>RUB</CurrencyCode>
108             </AirlineCommission>
109          </PriceInfo>
110       </Passenger>
111    </Passengers>
112    <FlightType>Внутренний</FlightType>
113    <OrderInfo>
114       <Info>
115          <Company>Аэрофлот - Российские авиалинии</Company>
116          <CompanyCode>SU</CompanyCode>
117          <StartDate>2014.04.22</StartDate>
118          <StartTime>11:55</StartTime>
119          <StartDayOfWeek>Tuesday</StartDayOfWeek>
120          <FlightNumber>0014 (SU0014)</FlightNumber>
121          <StartAirportCode>SVO</StartAirportCode>
122          <StartAirportName>Шереметьево, Москва</StartAirportName>
123          <StartCountry>Россия</StartCountry>
124          <StartCountryCode>RU</StartCountryCode>
125          <EndAirportCode>LED</EndAirportCode>
126          <EndAirportName>Санкт-Петербург, Пулково</EndAirportName>
127          <EndCountry>Россия</EndCountry>
128          <EndCountryCode>RU</EndCountryCode>
129          <Time>1:30</Time>
130          <Equip>
131             <Name>Airbus 320</Name>
132             <Type>320</Type>
133          </Equip>
134          <ClassType>economy</ClassType>
135          <ClassTypeCode>N</ClassTypeCode>
136          <Meal>L</Meal>
137       </Info>
138    </OrderInfo>
139    <Remarks>Debit</Remarks>
140 </PNR>

Ремарка <Remarks>Debit</Remarks> является не обязательной, означает что заказ был оплачен с помощью способа оплаты «Депозит»; если же заказ был оплачен с использованием депозитного кредита, и депозит ушел в минус даже на 1 руб., то будет <Remarks>Credit</Remarks>.

Элемент <TotalFare> возвращает стоимость уже оплаченного заказа. Если же заказ забронирован, но не оплачен, то значение будет 0 RUB.

Элемент <CreateDate> в зависимости от состояния брони возвращает время окончания бронирования, если бронирование было завершено, иначе возвращает время создания брони.

Формат Софи

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <order_snapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 3    <header currency="RUB" time_gmt="2014-03-21 09:39:47" time="2014-03-21 13:39:47" ord_id="263440" site="332" />
 4    <customer email="mail@host.com" phone="XXXX4567" name="Сидоров В. К." corp_code="332" />
 5    <products>
 6       <product>
 7          <air_ticket_prod prod_id="0" psg_type="A" title="Москва - Санкт-Петербург" taxes="189" fare="2000" origin="MOW" service_fee="0" form_owner="SU" validating_carrier="SU" destination="LED" comission="0">
 8             <air_seg segment_id="0" carrier="SU" flight_number="0014" op_carrier="SU" departure_datetime="2014-04-22 11:55:00" arrival_datetime="2014-04-22 13:25:00" departure_airport="SVO" arrival_airport="LED" fare_basis="NPXOWRF" />
 9          </air_ticket_prod>
10       </product>
11    </products>
12    <reservations>
13       <reservation crs="SABRE" rloc="MHKPTF" />
14    </reservations>
15    <passengers>
16       <passenger doc_number="1806326598" psgr_id="0" doc_country="RU" psgr_type="A" doc_type="C" birth_date="1987-05-20" name="IVAN" gender="M" first_name="IVANOV" />
17    </passengers>
18    <travel_docs>
19       <travel_doc>
20          <air_ticket_doc tkt_oper="TKT" tkt_number="5554659179055" tkt_date="2014-03-21 13:39:00" prod_id="0" psgr_id="0" />
21       </travel_doc>
22    </travel_docs>
23    <payments>
24       <payment pay_id="117601216" pay_oper="PAY" pay_time="2014-03-21 13:38:26" psp_code="011" psp_name="Testpay" psp_pay_id="" amount="2189" fop="CA" />
25    </payments>
26 </order_snapshot>

Выгрузка заказа для компонента «Отели»

Для компонента «Авиабилеты» доступна выгрузка заказов в формате Nemo.

Формат Nemo

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <PNR>
  3    <Common>
  4       <id>263462</id>
  5       <Type>HOTELS</Type>
  6       <Service>ACADEM</Service>
  7       <Locator>3028655</Locator>
  8       <BeginDateTime>2014.04.15-00:00</BeginDateTime>
  9       <EndDateTime>2014.04.16-00:00</EndDateTime>
 10       <TotalPrice>
 11          <Amount>1950</Amount>
 12          <CurrencyCode>RUB</CurrencyCode>
 13       </TotalPrice>
 14       <UserId>123</UserId>
 15       <EEUserId />
 16       <UserLogin>userLogin</UserLogin>
 17       <GroupId>332</GroupId>
 18       <UserStatus>Менеджер</UserStatus>
 19       <DateCreate>2014.03.21-16:11</DateCreate>
 20    </Common>
 21    <Payment>
 22       <Status>booked</Status>
 23       <PenaltyDate>2014.04.13-00:00</PenaltyDate>
 24       <Timelimit>2014-04-13 00:00:00</Timelimit>
 25       <Charge>
 26          <Amount>0</Amount>
 27          <CurrencyCode>RUB</CurrencyCode>
 28       </Charge>
 29       <Book>
 30          <Amount>1950</Amount>
 31          <CurrencyCode>RUB</CurrencyCode>
 32       </Book>
 33       <Penalty>
 34          <Amount>0</Amount>
 35          <CurrencyCode>RUB</CurrencyCode>
 36       </Penalty>
 37       <Total>
 38          <Amount>1950</Amount>
 39          <CurrencyCode>RUB</CurrencyCode>
 40       </Total>
 41       <Commission>
 42          <Amount>112</Amount>
 43          <CurrencyCode>RUB</CurrencyCode>
 44       </Commission>
 45       <PaidValue>
 46          <Amount>0</Amount>
 47          <CurrencyCode>RUB</CurrencyCode>
 48       </PaidValue>
 49    </Payment>
 50    <Client>
 51       <LastName>Сидоров</LastName>
 52       <Name>Владимир</Name>
 53       <MiddleName>Константинович</MiddleName>
 54       <Number>1806326598</Number>
 55       <Birth>1987-05-20</Birth>
 56       <Email>mail@host.com</Email>
 57       <Phone>+79871234567</Phone>
 58    </Client>
 59    <Passengers>
 60       <Passenger>
 61          <nationality>RU</nationality>
 62          <lastname>IVANOV</lastname>
 63          <name>IVAN</name>
 64       </Passenger>
 65    </Passengers>
 66    <Info>
 67       <Name>Интурист</Name>
 68       <City>
 69          <Code>34</Code>
 70          <Name>Великий Новгород</Name>
 71       </City>
 72       <Location />
 73       <StarRating>3</StarRating>
 74       <Days>2</Days>
 75       <Nights>1</Nights>
 76       <CheckInDate>2014.04.15</CheckInDate>
 77       <CheckOutDate>2014.04.16</CheckOutDate>
 78       <CheckInTime>14:00</CheckInTime>
 79       <CheckOutTime>12:00</CheckOutTime>
 80       <OnRequest>false</OnRequest>
 81    </Info>
 82    <Rooms>
 83       <Room>
 84          <Name>Двухместный стандарт (две кровати)</Name>
 85          <Type>SNGL</Type>
 86          <FareId>1</FareId>
 87       </Room>
 88    </Rooms>
 89    <Fares>
 90       <Fare>
 91          <Id>1</Id>
 92          <Price>
 93             <Amount>1950</Amount>
 94             <CurrencyCode>RUB</CurrencyCode>
 95          </Price>
 96          <Meals>Завтрак "Шведский стол",Отсутствует</Meals>
 97          <Description>Одноместный</Description>
 98       </Fare>
 99    </Fares>
100    <CancelCharges>
101       <Charge>
102          <DateFrom>2014.04.13-00:00</DateFrom>
103          <DateTo>2014.04.15-00:00</DateTo>
104          <Amount>1488</Amount>
105          <CurrencyCode>RUB</CurrencyCode>
106       </Charge>
107    </CancelCharges>
108    <ModifyCharges />
109    <ModificationMethods>
110       <Method>MOD_PASS_NAMES</Method>
111       <Method>MOD_DATES</Method>
112    </ModificationMethods>
113 </PNR>

Выгрузка заказа для компонента «ЖД»

Для компонента «ЖД» доступна выгрузка заказов в формате Nemo.

Формат Nemo

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <PNR>
  3    <Common>
  4       <id>263470</id>
  5       <Type>TRAINS</Type>
  6       <Service>UFS</Service>
  7       <Locator>63483439</Locator>
  8       <BeginDateTime>2014.04.11-12:26</BeginDateTime>
  9       <EndDateTime>2014.04.11-15:18</EndDateTime>
 10       <TotalPrice>
 11          <Amount>1562.2</Amount>
 12          <CurrencyCode>RUB</CurrencyCode>
 13       </TotalPrice>
 14       <UserId>123</UserId>
 15       <EEUserId />
 16       <UserLogin>userLogin</UserLogin>
 17       <GroupId>122</GroupId>
 18       <UserStatus>Менеджер</UserStatus>
 19       <DateCreate>2014.03.21-17:10</DateCreate>
 20    </Common>
 21    <Payment>
 22       <Title>Testpay</Title>
 23       <Method>Testpay</Method>
 24       <BillingId>117601226</BillingId>
 25       <Date>2014-03-21 17:12:39</Date>
 26       <CreateDate>2014-03-21 17:12:36</CreateDate>
 27       <Status>ticket</Status>
 28       <PenaltyDate />
 29       <Timelimit>2014-03-21 20:10:56</Timelimit>
 30       <Charge>
 31          <Amount>500</Amount>
 32          <CurrencyCode>RUB</CurrencyCode>
 33       </Charge>
 34       <Book>
 35          <Amount>1062.2</Amount>
 36          <CurrencyCode>RUB</CurrencyCode>
 37       </Book>
 38       <Penalty>
 39          <Amount>0</Amount>
 40          <CurrencyCode>RUB</CurrencyCode>
 41       </Penalty>
 42       <Total>
 43          <Amount>1562.2</Amount>
 44          <CurrencyCode>RUB</CurrencyCode>
 45       </Total>
 46       <PaidValue>
 47          <Amount>1562.2</Amount>
 48          <CurrencyCode>RUB</CurrencyCode>
 49       </PaidValue>
 50    </Payment>
 51    <Client>
 52       <LastName>Сидоров</LastName>
 53       <Name>Владимир</Name>
 54       <MiddleName>Константинович</MiddleName>
 55       <Number>1806326598</Number>
 56       <Birth>1987-05-20</Birth>
 57       <Email>mail@host.com</Email>
 58       <Phone>+79871234567</Phone>
 59    </Client>
 60    <Passengers>
 61       <Passenger>
 62          <lastname>Иванов</lastname>
 63          <middlename>Иванович</middlename>
 64          <gender>M</gender>
 65          <name>Иван</name>
 66          <passport_number>1806326598</passport_number>
 67          <date_of_birth>20.05.1987</date_of_birth>
 68          <currency_of_passport>24.03.2023</currency_of_passport>
 69          <phone>
 70             <country />
 71             <city />
 72             <number>+79271031610</number>
 73             <expansion />
 74          </phone>
 75          <email>mlsdsar@gmail.com</email>
 76          <doc_type>C</doc_type>
 77          <nationality>RU</nationality>
 78          <passenger_type>ADT</passenger_type>
 79          <passenger_id>1</passenger_id>
 80       </Passenger>
 81    </Passengers>
 82    <Info>
 83       <transactionNumber>63483439</transactionNumber>
 84       <trainNumber>356ЙА</trainNumber>
 85       <trainName />
 86       <departureStation>МОСКВА КАЗ</departureStation>
 87       <departureStationCode>2000000</departureStationCode>
 88       <arrivalStation>УФА</arrivalStation>
 89       <arrivalStationCode>2000125</arrivalStationCode>
 90       <trainCategory>0</trainCategory>
 91       <beginStation>МОСКВА</beginStation>
 92       <endStation>РЯЗАНЬ</endStation>
 93       <startDate>2014.04.11-12:26</startDate>
 94       <endDate>2014.04.11-15:18</endDate>
 95       <timeInRoad>10320</timeInRoad>
 96       <carNumber>6</carNumber>
 97       <carType>4</carType>
 98       <choosenSeats>
 99          <type>
100             <lower>1</lower>
101          </type>
102          <type>
103             <upper>0</upper>
104          </type>
105          <type>
106             <lower_side>0</lower_side>
107          </type>
108          <type>
109             <upper_side>0</upper_side>
110          </type>
111          <type>
112             <undefined>0</undefined>
113          </type>
114       </choosenSeats>
115       <choosenRange>
116          <start>17</start>
117          <end>17</end>
118       </choosenRange>
119       <serviceClass>Вагон без услуг. В стоимость входит - постельное белье. Наличие установки кондиционирования воздуха не гарантировано.</serviceClass>
120    </Info>
121 </PNR>

Пакетный экспорт заказов

Сервис выгрузки заказов позволяет экспортировать интересующие выборки по заказам в формате XML. Например, можно выбрать все заказы по дате бронирования и получить информацию по ним в XML-виде.

Экспорт заказов под авторизованным пользователем (в личном кабинете)

Фильтры пакетного экспорта заказов в личном кабинете

Порядок пользования сервисом:

  1. Перейти в личный кабинет
  2. В адресной строке браузера к текущему адресу дописать параметр &exportxml. Должен получиться адрес вида:
    http://DOMAIN/index.php?go=poffice/table&exportxml
    
  3. После обновления страницы под блоком фильтров должна появиться кнопка «Экспортировать в XML». При ее нажатии на странице появляется предложение сохранить в XML-файл выборку отфильтрованных заказов.

Пользователь может произвести выгрузку только своих заказов.

Экспорт заказов под неавторизованным пользователем (под «гостем»)

В Nemo существует возможность получить выборку заказов под неавторизованным пользователем («гостем»). Для этого необходимо выполнить запрос вида:

http://DOMAIN/index.php?go=export_xml_key/search&параметры экспорта&xmlKey=ХХХ

где

  • host — доменное имя сайта, с которого необходимо сделать экспорт;
  • параметры поиска — параметры, по которым следует сделать экспорт;
  • xmlKey — ключ, который задается в разделе «Администрирование»«Настройки агентства»«Ключ безопасности для сервиса выставления оплаты и получения XML выгрузки».


Параметры экспорта заказов

НазваниеОписание Возможные значения
serviceПоставщикGALILEO, SABRE, SIRENA2000, GTA, MIKI, SERHS, DOTW, HOTELBEDS и т.д.
typeКомпонентFLIGHTS, HOTELS и т.д.
set_userId пользователячисловые
statusстатус бронированияbooked - забронирован, cancelled - аннулирован, ticket - выписан, waiting - в работе (только для компонента «Отели»), pending confirmation - ожидает подтверждения (только для «отелей»). Для выборки заказов с любым статусом - этот параметр нужно не указывать.
paymentСтатус оплаты1 - не оплачен, 2 - частично оплачен, 3 - оплачен.
documentСтатус загрузки документа1 - документ не загружался, 2 - документ загружался
book_date[from], book_date[to]«Забронировано»выбранные даты
date_begin[from], date_begin[to]«Начало»выбранные даты
update_date[from], update_date[to]«Изменен»выбранные даты
autocancel_date[from], autocancel_date[to]«Истекает»выбранные даты
penalty[from], penalty[to]«Штрафы»выбранные даты

См. также