БРОНИРОВАНИЕ И ПРОДАЖА ПАССАЖИРСКИХ АВИАПЕРЕВОЗОК С ИСПОЛЬЗОВАНИЕМ ГЛОБАЛЬНОЙ РАСПРЕДЕЛИТЕЛЬНОЙ СИСТЕМЫ «СИРЕНА–ТРЭВЕЛ»

СисТЕМА Online-ticket

Инструкция пользователя

Версия 2.0

Содержание

1.  Назначение и принцип работы системы Online-ticket

2.  Настройка клиентской части системы Online-ticket

2.1. Запуск в ОС семейства windows

2.2. Запуск в ОС семейства *nix

Приложение . Описание XML-формата обменного файла

Приложение . Описание полей XML документа

1. Назначение и принцип работы системы Online-ticket

Система оперативной передачи информации о продажах авиабилетов (далее системы Online-ticket) предназначена для автоматизации процесса обработки финансовой информации и учета операций над билетами (продажа, обмен, возврат и т. д.) в режиме реального времени.

Схема работы системы Online-ticket представлена на рис.1. Рассмотрим каким образом информация о продаже билета от кассира поступает заинтересованным сторонам. В качестве заинтересованной стороны может выступать агентство, авиакомпания, пункт продажи или любая их комбинация.


Рис.1. Схема работы системы Online-ticket.

При выполнении кассиром одной из системных операций с билетом, таких как: печать билета, обмен билета при изменении условий полета, БЛ - обмен билета при изменении фамилии, возврат в АРС «Сирена-Трэвел» (далее ГРС), формируется управляющее сообщение для сервера системы Online-ticket, который на основе полученных данных формирует один или несколько XML-файлов для клиента. Таким образом, информация об операции с билетом «почти мгновенно» оказывается у сервера системы Online-ticket.

НЕ нашли? Не то? Что вы ищете?

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

1.  Клиент подключен к серверу;

2.  Клиент не подключен к серверу.

Если клиент подключен к серверу, то он получит сообщение из очереди почти мгновенно.

Если клиент не подключен к серверу в данный момент, то сообщение (которое состоит из идентификатора клиента и XML-файла) встанет в очередь на доставку и будет там находится пока клиент не установит соединение с сервером, но не больше 30 дней. После авторизации (об этом ниже), клиент делает запрос на наличие сообщений для него, и в случае положительного ответа «забирает» их из очереди сообщений клиентам (при этом на сервере сообщение стирается).

Из выше сказанного следует, что если клиенту требуется получать информацию мгновенно, то он должен всегда находится в состоянии соединения с сервером, и при разрыве связи подключаться заново. В программе клиента при разрыве соединения реализовано автоматическое подключение.

Клиент получив XML-файл сохраняет его в директории (папке) указанной в файле конфигурации. В данную директорию (папку), также имеет доступ программа обрабатывающая финансовую информацию и ведущая учет проданных билетов.

Авторизация клиентов основана на основе сертификатов. Клиенту после обработки заявки высылается два файла:

1.  ca. crt - корневой сертификат авторизационного центра;

2.  <имя клиента>.pem - данный файл содержит сертификат клиента и его закрытый ключ.

Данные файлы после их получения необходимо скопировать в директорию с программой и указать к ним путь в конфигурационном файле.

Внимание!!! Файл «имя клиента. pem» не должен быть доступен никому, кроме пользователя работающего с системой. В противном случае ваши данные с сервера может скачать любой обладатель данного файла.

2. Настройка клиентской части системы Online-ticket

В настоящее время поддерживаются две разновидности программы клиента: одна для семейства операционных систем (ОС) Windows, другая - GNU/Linux. Клиент включает в себя 5 файлов:

1.  Исполняемый файл: stat_client. exe - Windows, stat_client - Linux;

2.  Файл конфигурации (stat_client. conf - по умолчанию);

3.  ca. crt - корневой сертификат (сертификат авторизационного центра);

4.  «***».pem - сертификат пользователя;

5.  client. out - лог-файл.

При запуске исполняемого файла с ключом --help программа выведет справку и прекратит работу.

При подключении клиент посылает заявку в договорной отдел и скачивает с сайта необходимую ему версию ПО. Далее необходимо отредактировать файл конфигурации stat_client. conf, параметры, которые обязательно необходимо заполнить (поправить):

connect - строка подключения к серверу, придет в письме;

ca_cert - сертификат придет в письме, называется ca. crt;

client_cert - сертификат клиента, придет в письме, содержит подстроку agn, ppr или awk, в зависимости от заказанной конфигурации;

storage — путь к директории, куда клиент будет сохранять файлы;

logger — путь к файлу, куда будет записываться лог.

В конфигурационном файле скачанном с сайта, есть примеры заполнения всех параметров.

Во всех поддерживаемых ОС клиент можно запустить, как из командной строки (вручную), так и в режиме демона (службы).

При обновлении клиента на более новую версию, перед установкой новой версии, требуется удалить службу созданную старой версией!!!

2.1. Запуск в ОС семейства windows

a. Запуск из командной строки (из «окошка» explorer'а)

Заходим в директорию, куда установлен клиент, запускаем stat_client. exe. Если в файле конфигурации все настроено верно, то появится черное окно, выводится в него ничего не будет. Контролировать работу по файлу лога и хранилищу, куда должны складываться файлы.

Выключить клиент можно только закрыв окно (крестик в правом верхнем углу).

b. Запуск клиента в качестве службы

Для того, чтобы запустить клиента в качестве службы необходимо сначала службу инсталлировать. Инсталляция осуществляется командой

stat_client. exe - i - f tch. conf

где ключ - i указывает на установку службы;

- f путь и имя конфигурационного файла (можно не указывать, по умолчанию берет stat_client. conf из директории, где находится исполняемый файл).

Зайти в Пуск->Панель управления->Администрирование->Службы. Запустить службу, и настроить тип запуска. (чтобы загружалась вместе с windows поставить авто).

stat_client. exe - u

где ключ - u указывает на удаление службы.

c. Запуск двух служб (клиентов) на одной машине

Если на одной машине требуется установить две службы, чтобы забирать файлы по двум разным сертификатам (например, двум агентствам), то имеется два пути:

- создать две копии (две одинаковых директории) ПО online-ticket, отредактировать конфигурационные файлы и инсталлировать с указанием имени сервиса (см. выше).

- создать два конфигурационного файла в одной директории и инсталлировать с указанием имени сервиса и пути к конфигурационному файлу (см. выше).

Если рабочая директория программы переименовывается или перемещается, то службы необходимо удалить и поставить заново.

2.2. Запуск в ОС семейства *nix

a. Запуск из командной строки

Проверяем наличие директории «/var/lock/» и соответствующих прав доступа, если нет - создаем. Заходим в директорию, куда установлен клиент и запускаем./stat_client Если в файле конфигурации все настроено верно, то в окне повиснет эта команда и выводится ничего не будет. Контролировать работу по файлу лога и хранилищу, куда должны складываться файлы.

b. Запуск клиента в качестве демона

Клиент также можно запустить со следующими опциями

stat_client -d - p stat_client. pid - f stat_client. conf

где ключ - d запускает в режиме демона;

- p указывает путь к файлу и его имя. В нем сохранится pid (по умолчанию в /var/run/stat_client/)

- f указывает путь и имя файла конфигурации.

Для запуска вместе с OC предлагается записать команду в « /etc/rc. local».

Остановить клиент можно запустив его с опцией

stat_client -s - p stat_client. pid

где ключ - s указывает демону остановиться;

- p указывает путь к файлу и его имя. В нем хранится pid.

c. Запуск двух служб (клиентов) на одной машине

Если на одной машине требуется установить две версии клиента, чтобы забирать файлы по двум разным сертификатам (например, двум агентствам), то имеется два пути:

- создать две копии (две одинаковых директории) ПО online-ticket, отредактировать конфигурационные файлы и запускать из разных директорий, но обязательно с указанием ключа - p.

- создать два конфигурационного файла в одной директории и запускать с двумя разными конфигурационными файлами и фалами *.pid.

Приложение . Описание XML-формата обменного файла

Файл с информацией о билетах

<TICKETS version=”2.0”>

<TICKET>

<TYPE DESC=«TICKET, ETICKET, MCO, RECEIPT, EMD»>varchar2(10)</CURRENCY>

<CURRENCY DESC=«код валюты оплаты – USD, RUB...»>varchar2(3)</CURRENCY>

<DEALDATE DESC=«дата продажи, возврта, обмена – дата сделки»> varchar2(8)</DEALDATE>

<DEALTIME DESC=«время продажи, возврата, обмена – время сделки»>varсhar2(6)</DEALTIME>

<OPTYPE DESC=«SALE, REFUND»>varchar2(10)</OPTYPE>

<TRANS_TYPE DESC=«SALE, REFUND, CANCEL, EXCHANGE, ERASE»>varchar2(10)</TRANS_TYPE>

<MCO_TYPE DESC=«PTA, PENALTY, RECEIPT»>varchar2(10)</MCO_TYPE>

<BSONUM DESC=«номер БСО - »>varchar2(20)</BSONUM>

<EX_BSONUM DESC=«номер БСО сданного билета, или выданного взамен»>varchar2(20) </EX_BSONUM>

<FIO DESC=«ФИО пассажира»>varchar2(100)</FIO>

<SURNAME DESC=«Фамилия в первоначально введённом в PNR виде »>varchar2(100)</SURNAME>

<NAME DESC=«Имя в первоначально введённом в PNR виде»>varchar2(100)</NAME>

<PASS DESC=«документ, удостоверяющий личность»>varchar2(100)</PASS>

<BENEFIT_DOC DESC=«информация о документе на льготу»varchar2(100)</BENEFIT_DOC>

<BIRTH_DATE DESC=«дата рождения пассажира »>varchar2(8)</BIRTH_DATE>

<GENERAL_CARRIER DESC=«ответственный перевозчик – 421»>varchar2(10) </GENERAL_CARRIER>

<RETTYPE DESC=«вид возврата – добровольный=0, вынужденный=1»>varchar2(1)</RET­TYPE>

<TOURCODE DESC=«код тура»>varchar2(15)</TOURCODE>

<OCURRENCY DESC=«код валюты отчетности – EUR…»> varchar2(3) </OCURRENCY>

<ORATE DESC=«курс перевода из валюты назначения в валюту отчетности – 0.7103»> number </ORATE>

<NCURRENCY DESC=«код валюты назначения тарифа – USD, RUB…»> varchar2(3) </NCURRENCY>

<NRATE DESC=«курс перевода из валюты назначения в валюту оплаты – 25.9003»> number </NRATE>

<OPRATE DESC=«курс перевода из валюты отчетности в валюту платежа»> number </OPRATE>

<FARE @type @vat_type @vat_rate > тарифная информация: тариф валюте оплаты;

сумма НДС по тарифу; процентная ставка НДС по тарифу. number</FARE>

<NFARE DESC=«тариф в валюте назначения 400.00»>number</NFARE>

<PNR DESC=«номер заказа»>varchar2(8)</PNR>

<PNR_LAT DESC=«номер заказа на латинице»>varchar2(8)</PNR_LAT>

<CONJ DESC=«номера дополнительных бланков»>varchar2(100)</CONJ>

<TO_BSONUM DESC=«номер основного билета»>varchar2(20)</TO_BSONUM>

<TYP_NUM @ser DESC=«типографский номер бланка»>varchar2(20)</TYP_NUM>

<FCMODE DESC=«режим тарификации AUTO, MANUAL»>varchar2(6)</FCMODE>

<COMISSION @type @currency @amount @rate>агентская комиссия заполняется только в сеансе BSP</COMISSION>

<BOOK @agency @date @disp @opr_num @stamp @tap @time @utc>информация о бронировани: код агенства; дата бронирования по местному времени пульта; идентификатор оператора, проведшего бронирование; номер оператора; идентификатор ппр, в котором было проведено бронирование; пульт, с которого было проведено бронирование; время проведение бронирования по местному времени пульта; UTC дата и время проведения бронирования в iso формате (YYYYMMDDThhmmss).</BOOK>

<DEAL @agency @date @disp @opr_num @stamp @tap @time @utc>информация о сделке: код агенства; дата проведения операции по местному времени пульта; идентификатор оператора, проведшего операцию; номер оператора; идентификатор ппр, в котором была проведена операция; пульт, с которого была проведена операция; время проведения операции по местному времени пульта; UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).</DEAL>

<SALE @agency @date @disp @opr_num @stamp @tap @time @utc>информация о продаже при обмене/возврате: код агенства; дата проведения операции продажи по местному времени пульта; идентификатор оператора, проведшего операцию продажи; номер оператора; идентификатор ппр, в котором была проведена операция продажи; пульт, с которого была проведена операция продажи; время проведения операции продажи по местному времени пульта; UTC дата и время проведения операции продажи в iso формате (YYYYMMDDThhmmss).</SALE>

<SEGMENT>

<SEGNO DESC=«номер участка –от 1 до 4»>number</SEGNO>

<SEG_BSONUM DESC=«номер бланка на сегменте»>varchar2(20)</SEG_BSONUM>

<COUPON_NO DESC=«номер купона»>number</COUPON_NO>

<IS_VOID DESC=«F – flight, V – VOID, S - Surface»>varchar2(1)</IS_VOID>

<STPO DESC=«признак стоповера, 0 – остановка разрешена, 1 – запрещена на билете Х»>number</STPO>

<CITY1CODE DESC=«код, как на бланке – SIP»>varchar2(3)</CITY1CODE>

<CITY2CODE DESC=«код, как на бланке – VKO»>varchar2(3)</CITY2CODE>

<PORT1CODE DESC=«код, как на бланке – SIP»>varchar2(3)</PORT1CODE>

<PORT2CODE DESC=«код, как на бланке – VKO»>varchar2(3)</PORT2CODE>

<TERM1 DESC=«терминал вылета»>varchar2(6)</TERM1>

<TERM2 DESC=«терминал прибытия»>varchar2(6)</TERM2>

<CARRIER DESC=«код перевозчика на участке – S7»>varchar2(2)</CARRIER>

<CLASS DESC=«X, N…»>varchar2(2)</CLASS>

<REIS DESC=«номер рейса»>varchar2(5)</REIS>

<FLYDATE DESC=«дата вылета»>varchar2(8)</FLYDATE>

<FLYTIME DESC=«время вылета»>varchar2(4)</FLYTIME>

<ARRDATE DESC=«дата прибытия»>varchar2(8)</ARRDATE>

<ARRTIME DESC=«время прибытия»>varchar2(4)</ARRTIME>

<BASICFARE DESC=«базовый тариф, FARE BASIS, название атрибута некорректное, но так уж исторически сложилось»>varchar2(13)</BASICFARE>

<NFARE DESC=«тариф в валюте назначения 400.00»>number</NFARE>

<FFP_INFO @number @ certificate > информация о часто летающем пассажире: номер бонусной карты программы ЧЛП, номер сертификата программы ЧЛП. number < / FFP_INFO>

</SEGMENT>

</SEGMENTS>

<TAXES vat_amount="сумма НДС по АГС" vat_rate="процентная ставка НДС по АГС">

<TAX vat_amount="сумма НДС по сбору, не включенному в НДС по АГС" vat_rate="процентная ставка НДС по сбору, не включенному в НДС по АГС">

<SEGNO DESC=«номер участка –от 1 до 4»>number</SEGNO>

<CODE DESC=«Код таксы – RU, YQ…»>varchar2(20)</CODE>

<AMOUNT DESC=«сумма сбора в валюте оплаты 389.00»>number</AMOUNT>

<NAMOUNT DESC=«сумма сбора в валюте назначения 15.00»>number</NAMOUNT>

<NCURRENCY DESC=«код валюты назначения тарифа – USD, RUB…»>varchar2(3)</NCURRENCY>

<NRATE DESC=«курс перевода из валюты назначения в валюту оплаты – 25.9003»>number</NRATE>
<OAMOUNT DESC=«сумма сбора в валюте отчетности 510.00»>number</OAMOUNT>
<OCURRENCY DESC=«код валюты отчетности – EUR…»>varchar2(3)</OCURRENCY>

<ORATE DESC=«курс перевода из валюты назначения в валюту отчетности – 0.7103»>number</ORATE>

<OPRATE DESC=«курс перевода из валюты отчетности в валюту оплаты»>number</OPRATE>

</TAX>

</TAXES>

<FOPS>

<FOP>

<TYPE DESC=«форма оплаты - CA, CC, IN, ПК >varchar2(50) </TYPE>

<ORG DESC=«организация – MO (Министерство обороны)…»>varchar2(100) </ORG>

<DOCSER DESC=«серия документа»>varchar2(10)</DOCSER>

<DOCNUM DESC=«номер документа»>varchar2(20)</DOCNUM>

<AUTH_INFO @code @currency @amount> информация о пластиковой карте: код авторизации, код валюты авторизации, сумма авторизации. number, varchar2(3), number </AUTH_INFO>

<DOCINFO DESC=«полная информация о платежном документе пласт. карты»>varchar2(200)</DOCINFO>

<AMOUNT DESC=«сумма итого в валюте оплаты 389.00»>number</AMOUNT>

</FOP>

</FOPS>

<CONTACTS>

<CONTACT DESC=«контактная информация»>varchar2(50)</CONTACTS>

</CONTACTS>

<AGN_INFO>

<CLIENT_NUM DESC=«номер клиента: 3ПРОЧРМРКНК»>varchar2(50)</CONTACTS>

<RESERV_NUM DESC=«номер заказа: 3ПРОЧРМРКНЗ»>varchar2(50)</CONTACTS>

</AGN_INFO>

</TICKET>

</TICKETS>

Файл с информацией о страховках

<TICKETS version="2.0">

<TICKET>

<TYPE DESC=”INSURCAR, EINSURCAR ”>varchar2(10)</TYPE>

<DEALDATE DESC=”дата операции”>varchar2(8)</DEALDATE>

<DEALTIME DESC=”время операции”>varchar2(6)</DEALTIME>

<OPTYPE DESC=”SALE или REFUND”>varchar2(10)</OPTYPE>

<TRANS_TYPE DESC=”SALE, REFUND, ERASE, CANCEL”>varchar2(10)</TRANS_TYPE>

<BSONUM DESC=”серия и номер страхового полиса”>varchar2(20)</BSONUM>

<FIO DESC=”ФИО страхователя (пассажира)”>varchar2(100)</FIO>

<PASS DESC=”информация о документе, удостоверяющим личность”>varchar2(100)</PASS>

<BIRTH_DATE DESC=”дата рождения пассажира ”>varchar2(8)</BIRTH_DATE>

<PNR DESC=”номер pnr на кириллице”>varchar2(8)</PNR>

<PNR_LAT DESC=”номер pnr на латинице”>varchar2(8)</PNR_LAT>

<CARRIER DESC=”код перевозчика (латинский если есть)”>varchar2(2)</CARRIER>

<REIS DESC=”номер рейса”>varchar2(5)</REIS>

<FLYDATE DESC=”дата вылета”>varchar2(8)</FLYDATE>

<CITY1CODE DESC=”код города вылета (латинский если есть)”>varchar2(3)</CITY1CODE>

<CITY2CODE DESC=”код города прилета (латинский если есть)”>varchar2(3)</CITY2CODE>

<FARE DESC=”сумма страхового покрытия”>number</FARE>

<FARE_CURRENCY DESC=”валюта суммы страхового покрытия”>varchar2(3)</FARE_CURRENCY>

<CURRENCY DESC=”валюта оплаты страхового взноса”>varchar2(3)</CURRENCY>

<AMOUNT DESC=”страховой взнос”>number</AMOUNT>

<TO_BSONUM DESC=”номер билета, к которому оформлена страховка”>varchar2(20)</TO_BSONUM>

<INSURER DESC=”название организации страховщика”>varchar2(40)</INSURER>

<INSURTYPE DESC=”код типа страхования”>varchar2(2)</INSURER>

<INSURCODE DESC=”код страхового покрытия”>varchar2(2)</INSURER>

<INSURORDER DESC=«идентификатор страховки на несколько сегментов(сквозной номер страховки)»>varchar2(20)</INSURORDER>

<DEAL @agency @date @disp @opr_num @stamp @tap @time @utc>информация о сделке: код агенства; дата проведения операции по местному времени пульта; идентификатор оператора, проведшего операцию; номер оператора; идентификатор ппр, в котором была проведена операция; пульт, с которого была проведена операция; время проведения операции по местному времени пульта; UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).</DEAL>

<SALE @agency @date @disp @opr_num @stamp @tap @time @utc>информация об операции продажи при возврате: код агенства; дата проведения операции по местному времени пульта; идентификатор оператора, проведшего операцию; номер оператора; идентификатор ппр, в котором была проведена операция; пульт, с которого была проведена операция; время проведения операции по местному времени пульта; UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).</SALE>

<SERVICES DESC=”массив информации по страховым услугам”

<SERVICE>

<TYPE DESC=”тип услуги”>varchar2(10)</TYPE>

<FARE DESC=”сумма страхового покрытия”>number</FARE>

<FARE_CURRENCY DESC=”валюта суммы страхового покрытия”>varchar2(3)</FARE_CURRENCY>

<AMOUNT DESC=”страховой взнос”>number</AMOUNT>

</SERVICE>

<CONTACTS DESC=”массив контактной информации”>

<CONTACT DESC=”контактная информация”>varchar2(50)</CONTACT>

</CONTACTS>

<FOPS>

<FOP>

<TYPE DESC=«форма оплаты - CA, CC, IN, ПК >varchar2(50) </TYPE>

<ORG DESC=«организация – MO (Министерство обороны)…»>varchar2(100) </ORG>

<DOCSER DESC=«серия документа»>varchar2(10)</DOCSER>

<DOCNUM DESC=«номер документа»>varchar2(20)</DOCNUM>

<DOCINFO DESC=«полная информация о платежном документе»>varchar2(200)</DOCINFO>

<AMOUNT DESC=«сумма страхового взноса итого в валюте оплаты 389.00»>number</AMOUNT>

<AUTH_INFO @code @currency @amount> информация о пластиковой карте: код авторизации, код валюты авторизации, сумма авторизации. number, number , varchar2(3), number </AUTH_INFO>

</FOP>

</FOPS>

</TICKET>

</TICKETS>

Файл с информацией о билетах Aeroexpress

<TICKETS version="2.0">

<TICKET>

<TYPE DESC=”AE_TICKET”>varchar2(10)</TYPE>

<DEALDATE DESC=”дата операции”>varchar2(8)</DEALDATE>

<DEALTIME DESC=”время операции”>varchar2(6)</DEALTIME>

<OPTYPE DESC=”SALE, REFUND”>varchar2(10)</OPTYPE>

<TRANS_TYPE DESC=”SALE, REFUND”>varchar2(10)</TRANS_TYPE>

<EMD_NUM DESC=”номер EMD”>varchar2(20)</EMD_NUM>

<TICKNUM DESC=”номер билета”>varchar2(20)</TICKNUM>

<ORDER_NUM DESC=”номер заказа Aeroexpress”>varchar2(20)</ORDER_NUM>

<PNR DESC=”номер pnr на кириллице”>varchar2(8)</PNR>

<PNR_LAT DESC=”номер pnr на латинице”>varchar2(8)</PNR_LAT>

<FARE DESC=”тариф в валюте оплаты”>varchar2(100)</FARE>

<CURRENCY DESC=”валюта оплаты”>varchar2(100)</CURRENCY>

<FARETYPE DESC=”тип тарифа, возм. значения full, child, roundtrip, family”>varchar2(100)</FARETYPE>

<EMD_NUM DESC=”номер EMD”></EMD_NUM>

<DEAL @agency @date @disp @opr_num @stamp @tap @time @utc>информация о сделке: код агенства; дата проведения операции по местному времени пульта; идентификатор оператора, проведшего операцию; номер оператора; идентификатор ппр, в котором была проведена операция; пульт, с которого была проведена операция; время проведения операции по местному времени пульта; UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).</DEAL>

<SALE @agency @date @disp @opr_num @stamp @tap @time @utc>информация об операции продажи при возврате: код агенства; дата проведения операции по местному времени пульта; идентификатор оператора, проведшего операцию; номер оператора; идентификатор ппр, в котором была проведена операция; пульт, с которого была проведена операция; время проведения операции по местному времени пульта; UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).</SALE>

<SEGMENTS DESC=”участки перевозки”>

<SEGMENT DESC=”участок перевозки”>

<SEGNO DESC=”номер сегмента”>number</SEGNO>

<DEPDATE DESC=”дата отправления”>varchar2(8)</DEPDATE>

<DEPTIME DESC=”время отправления”>varchar2(8)</DEPTIME>

<DEPPORT DESC=”код пункта отправления”>varchar2(8)</DEPPORT>

<ARRPORT DESC=”код пункта назначения”>varchar2(8)</ARRPORT>

<CLASS DESC=”класс обслуживания, common или business”>varchar2(8)</CLASS>

<SEAT DESC=”номер места”>varchar2(8)</SEAT>

</SEGMENT>

</SEGMENTS>

<FOPS DESC=”формы оплаты”>

<FOP DESC=”форма оплаты”>

<TYPE DESC=”форма оплаты, CA, CC, IN, ПК, пока только CA”>varchar2(50)</TYPE>

<ORG DESC=«код организации»>varchar2(100) </ORG>

<DOCSER DESC=«серия документа»>varchar2(10)</DOCSER>

<DOCNUM DESC=«номер документа»>varchar2(20)</DOCNUM>

<DOCINFO DESC=«полная информация о платежном документе»>varchar2(200)</DOCINFO>

<AMOUNT DESC=«сумма итого в валюте оплаты 389.00»>number</AMOUNT>

<AUTH_INFO @code @currency @amount> информация о пластиковой карте: код авторизации, код валюты авторизации, сумма авторизации. number, number , varchar2(3), number </AUTH_INFO>

</FOP>

</FOPS>

</TICKET>

</TICKETS>

Приложение .Описание полей XML документа

TICKETS — корневой узел XML документа, состоит из записи об операции TICKET.

Поля записи об операции TICKET.

TYPE

Тип документа

TICKET, ETICKET, MCO, RECEIPT, EMD

CURRENCY

код валюты оплаты - USD, RUB...

DEALDATE

дата продажи, возврата, обмена – дата сделки

DEALTIME

время продажи, возврата, обмена – время сделки

OPTYPE

SALE, REFUND для обычных билетов,

в случае обмена формируется пара сообщений, первое с данными возвращаемого билета,

второе с данными выданного.

TRANS_TYPE

Общий тип транзакции

SALE, REFUND, CANCEL, EXCHANGE, ERASE

MCO_TYPE

Если сообщение является данными MCO то указывается тип MCO из ряда : PTA, RECEIPT, PENALTY

EMD_NUM

Номер EMD

BSONUM

номер БСО -

если ТКП - тип бланков и номер без пробела
если нет - код авиакомпании и номер без пробела

EX_BSONUM

Заполняется при обменах, обеспечивает связь пары сообщений по обмену.

Содержит номер БСО сданного билета для сообщения SALE, или выданного взамен для REFUND

FIO

ФИО пассажира

SURNAME

Фамилия пассажира введённая в PNR при бронировании

NAME

Имя пассажира введённая в PNR при бронировании

PASS

документ, удостоверяющий личность

BENEFIT_DOC

документ о предоставлении льготы

BIRTH_DATE

дата рождения пассажира —

GENERAL_CARRIER

ответственный перевозчик - 421

RETTYPE

Вид возврата – добровольный=0, вынужденный=1

TOURCODE

Код тура

OCURRENCY

Код валюты отчетности – EUR, USD, RUB…

ORATE

Курс перевода из валюты назначения в валюту отчетности – 0.7103

OPRATE

курс перевода из валюты отчетности в валюту оплаты

NCURRENCY

Код валюты назначения тарифа – USD, RUB…

NFARE

Тариф в валюте назначения 400.00

FARE

type - тариф валюте оплаты

Тариф в валюте оплаты 10360.00 TYPE принимает значения: FREE — бесплатный билет, IT - IT-тариф, BT - BT-тариф или отсутствует в случае других тарифов.

vat_type - сумма НДС по тарифу

vat_rate - процентная ставка НДС по тарифу

NRATE

Курс перевода из валюты назначения в валюту оплаты – 25.9003

PNR

PNR заказа

PNR_LAT

PNR заказа на латинице

CONJ

Номера дополнительных бланков

TO_BSONUM

Заполняется для МСО. Номер основного билета

TYP_NUM @ ser

Типографский номер бланка, ser — серия бланка

SEGMENTS

Одна или несколько записей участка маршрута SEGMENT

TAXES

Ни одной, одна или несколько записей сборов TAX

FOPS

Одна или несколько записей форм оплаты FOP

FCMODE

Режим тарификации. «AUTO, MANUAL»

COMISSION

Информация об агентской комиссии заключена в атрибутах:

type — тип комиссии, принимает значения fixed или percent; currency — код валюты комиссии; amount — сумма валюты; rate — процентная величина комиссии.

Заполняется только для сеанса BSP.

BOOK

Информация о бронировании заключена в атрибутах:

agency — код агентства, в котором была создана бронь;

date — дата бронирования;

disp — идентификатор оператора, создавшего бронь;

opr_num — номер (жетон) оператора, создавшего бронь;

stamp — идентификатор ППР, в котором была создана бронь;

tap — пульт, с которого была проведена операция бронирования;

time — время проведения бронирования.

utc — UTC дата и время проведения операции бронирования в iso формате (YYYYMMDDThhmmss).

DEAL

Информация о сделке заключена в атрибутах:

agency — код агентства, в котором была проведена операция;

date — дата проведения операции;

disp — идентификатор оператора, проведшего операцию;

opr_num — номер (жетон) оператора, проведшего операцию;

stamp — идентификатор ППР, в котором была проведена операция;

tap — пульт, с которого была проведена операция;

time — время проведения операции;

utc — UTC дата и время проведения операции в iso формате (YYYYMMDDThhmmss).

SALE

Информация об операции продажи при обмене/возврате заключена в атрибутах:

agency — код агентства, в котором была проведена операция продажи;

date — дата проведения операции продажи;

disp — идентификатор оператора, проведшего операцию продажи;

opr_num — номер (жетон) оператора, проведшего операцию продажи;

stamp — идентификатор ППР, в котором была проведена операция продажи;

tap — пульт, с которого была проведена операция продажи;

time — время проведения операции продажи;

utc — UTC дата и время проведения операции продажи в iso формате (YYYYMMDDThhmmss).

Поля записи участка маршрута SEGMENT

SEGNO

номер участка – от 1 до 4

SEG_BSONUM

номер бланка на сегменте

COUPON_NO

номер купона

IS_VOID

F – flight, V – VOID, S - Surface

STPO

Признак стоповера, 0 – остановка разрешена, 1 – запрещена (на билете Х)

CITY1CODE

Код города отправления, как на бланке - LED

CITY2CODE

Код города прибытия, как на бланке - MOW

PORT1CODE

Код порта отправления, как на бланке - PUL

PORT2CODE

Код порта прибытия, как на бланке - VKO

TERM1

терминал вылета;

TERM2

терминал прибытия;

CARRIER

Код перевозчика на участке – S7

CLASS

X, N…

REIS

Номер рейса

FLYDATE

Дата отправления . ДДММГГГГ

FLYTIME

Время отправления. ЧЧММ

ARRDATE

Дата прибытия. ДДММГГГГ

ARRTIME

Время прибытия. ЧЧММ

BASICFARE

Базовый тариф, FARE BASIS, название атрибута некорректное, но так уж исторически сложилось

FFP_INFO

информация о часто летающем пассажире(ЧЛП):

number - номер бонусной карты программы ЧЛП,

certificate -номер сертификата программы ЧЛП.

NFARE

Тариф в валюте назначения 400.00

Поля записи сбора TAX

SEGNO

Номер участка –от 1 до 4

CODE

Код таксы – RU, YQ…

AMOUNT

Сумма сбора в валюте оплаты 389.00

NAMOUNT

Сумма сбора в валюте назначения 15.00

NCURRENCY

Код валюты назначения тарифа — EUR, USD

NRATE

Курс перевода из валюты назначения в валюту оплаты — 1.33

OAMOUNT

Сумма сбора в валюте отчетности — 500.00

OCURRENCY

Код валюты отчетности — EUR, USD

ORATE

Курс перевода из валюты назначения в валюту отчетности — 1.56

OPRATE

курс перевода из валюты отчетности в валюту оплаты

Поля записи информации о страховках

TYPE

Тип услуги — ACCIDENT, LUGGAGE

FARE

Страховая сумма

FARE_CURRENCY

Валюта страховой суммы

AMOUNT

Страховой взнос

Поля записи формы оплаты FOP

TYPE

Форма оплаты - CA, СС, INV, ПК.

ORG

Организация – MO (Министерство обороны)…

DOCSER

Серия документа

DOCNUM

Номер документа

DOCINFO

Полная информация о платежном документе

AUTH_INFO

информация о пластиковой карте:

code - код авторизации

currency - код валюты авторизации

amount - сумма авторизации

AMOUNT

Сумма итого в валюте оплаты 389.00

Поля записи формы контактов CONTACTS

CONTACT

Контактная информация

Поля записи формы информации агентств AGN_INFO

CLIENT_NUM

Номер клиента (3ПРОЧРМРКНК)

RESERV_NUM

Номер заказа (3ПРОЧРМРКНЗ)

Логика заполнения тега <FOP> :

Изначально производится проверка полной информации о документе на соответствие номеру пластиковой карты по алгоритму:

Соответствие шаблону:

AADDDDDDDDDDDDDDDD

A - буква

D - цифра

AA должно соответствовать 'VI','CA','JC','DC' или 'AX'.

Проверяется также принадлежность номера карты к платежной системе.

Если проверка успешная, то записываем в тег

<DOCNUM>DDDDDDDDDDDDDDDD</DOCNUM> номер карты, без букв.

При несовпадении платежной системы, или при несовпадении размеров строки, вся

анализируемая строка помещается в тег <DOCINFO>, а <DOCNUM>, <DOCSER>, <ORG>

заполняются, если в ГРС удалось определить номер, серию и организацию платежного документа.

Представление операций.

ПБ печать MCO.

Формируется одно сообщение с данными по напечатанному MCO. OPTYPE равен SALE, TRANS_TYPE равен SALE, MCO_TYPE равен PTA.

ПБ печать билета.

Формируется одно или два сообщения:

-  одно сообщение с данными по напечатанному билету. OPTYPE равен SALE, TRANS_TYPE равен SALE, MCO_TYPE не заполнен.

-  второе с данными квитанции, если квитанция печатается. Тег /TICKETS/TICKET/TYPE равен RECEIPT. Пока поддерживается только квитанция К95. Данные о сумме сбора в квитанции помещаются в единственный тег /TICKETS/TICKET/SEGMENTS/SEGMENT.

ПO и БЛ обмен билета.

Формируется пара сообщений, в обоих TRANS_TYPE равен EXCHANGE: первое с данными возвращаемого билета, OPTYPE равен REFUND, второе с данными выданного взамен билета OPTYPE равен SALE. В обоих сообщениях пары заполняется поле EX_BSONUM, которое содержит номер БСО сданного билета для сообщения SALE, или выданного взамен для REFUND, таким образом, пара связывается по полям EX_BSONUM и BSONUM. Так же в информации о сданном билете заполняются поля SALE@ date, SALE@time, SALE@stamp, SALE@ agency, поле MCO_TYPE не заполняется.

ОТ отказ от билета.

Формируется одно сообщение с данными по возвращаемому билету. TRANS_TYPE равен СANCEL, OPTYPE равен REFUND. Заполняются поля SALE@ date, SALE@time, SALE@stamp, SALE@ agency, поле MCO_TYPE не заполняется.

АП возврат билета

Формируется пара сообщений в обоих TRANS_TYPE равен REFUND: первое с данными возвращаемого билета, OPTYPE равен REFUND, поле MCO_TYPE не заполняется; второе с данными МСО, OPTYPE равен SALE, MCO_TYPE равен RECEIPT. В сообщении с данными МСО заполняется поле TO_BSONUM, которое содержит номер БСО сданного билета, таким образом, МСО связывается по полю TO_BSONUM с BSONUM сданного билета. Так же в информации о сданном билете заполняются поля SALE@ date, SALE@time, SALE@stamp, SALE@ agency.

ПШ печать штрафа

Формируется одно сообщение с данными МСО. OPTYPE равен SALE MCO_TYPE равен PENALTY. Заполняется поле TO_BSONUM, которое содержит номер БСО билета, по которому взимается штраф. Поле TRANS_TYPE содержит EXCHANGE, если штраф соответствует обмену, или REFUND, если штраф соответствует возврату.

ЗБ замена бланка

Формируется одно сообщение с данными испорченного бланка. OPTYPE равен SALE. Поле TRANS_TYPE содержит ERASE, MCO_TYPE не заполнен.

Информации в случае конфиденциальных тарифов показывают примененную при оформлении стоимость тарифа, при этом в /TICKETS/TICKET/*****@*** ставится тип тарифа, напечатанный в билете в графе «ТАРИФ» .

С целью обеспечения единообразной идентификации документов меняется формат заполнения полей /TICKETS/TICKET/BSONUM, /TICKETS/TICKET/EX_BSONUM, /TICKETS/TICKET/TO_BSONUM на следующий: «3 символа расчетного кода» + «номер документа», пробел между расчетным кодом и номером документа не ставится. Поле /TICKETS/TICKET/SEGMENTS/SEGMENT/SEG_BSONUM, с момента введения в формат, заполняется аналогично. Серия бланка всегда присутствует в атрибуте /TICKETS/TICKET/TYP_NUM@ser.