БРОНИРОВАНИЕ И ПРОДАЖА ПАССАЖИРСКИХ АВИАПЕРЕВОЗОК С ИСПОЛЬЗОВАНИЕМ ГЛОБАЛЬНОЙ

advertisement
БРОНИРОВАНИЕ И ПРОДАЖА ПАССАЖИРСКИХ
АВИАПЕРЕВОЗОК С ИСПОЛЬЗОВАНИЕМ ГЛОБАЛЬНОЙ
РАСПРЕДЕЛИТЕЛЬНОЙ СИСТЕМЫ «СИРЕНА–ТРЭВЕЛ»
СИСТЕМА ONLINE-TICKET
ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ
Версия 2.0
МОСКВА, 2012 год
Содержание
1. Назначение и принцип работы системы Online-ticket
2. Настройка клиентской части системы Online-ticket
2.1. Запуск в ОС семейства windows
2.2. Запуск в ОС семейства *nix
Приложение №1. Описание XML-формата обменного файла
Приложение №2. Описание полей XML документа
1. Назначение и принцип работы системы Online-ticket
Система оперативной передачи информации о продажах авиабилетов
(далее системы Online-ticket) предназначена для автоматизации процесса
обработки финансовой информации и учета операций над билетами (продажа,
обмен, возврат и т.д.) в режиме реального времени.
Схема работы системы Online-ticket представлена на рис.1. Рассмотрим
каким образом информация о продаже билета от кассира поступает
заинтересованным сторонам. В качестве заинтересованной стороны может
выступать агентство, авиакомпания, пункт продажи или любая их комбинация.
Кассир
ГРС
Сервер
Клиент
Общая
директория
(папка)
Online-ticket
Программа учета
финансовой
информации
Рис.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.
Приложение №1. Описание 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=«номер БСО - 421 4200000001»>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=«дата рождения пассажира 01021978»>varchar2(8)</BIRTH_DATE>
<GENERAL_CARRIER DESC=«ответственный перевозчик – 421»>varchar2(10) </GENERAL_CARRIER>
<RETTYPE DESC=«вид возврата – добровольный=0, вынужденный=1»>varchar2(1)</RETTYPE>
<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ПРОЧРМРКНК12345678»>varchar2(50)</CONTACTS>
<RESERV_NUM DESC=«номер заказа: 3ПРОЧРМРКНЗ12345678»>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=”дата рождения пассажира 01021978”>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>
Приложение №2.Описание полей XML документа
TICKETS — корневой узел XML документа , состоит из записи об операции TICKET.
Поля записи об операции TICKET.
TYPE
CURRENCY
DEALDATE
DEALTIME
OPTYPE
TRANS_TYPE
Тип документа
TICKET, ETICKET, MCO, RECEIPT, EMD
код валюты оплаты - USD,RUB...
дата продажи, возврата, обмена – дата сделки
время продажи, возврата, обмена – время сделки
SALE, REFUND для обычных билетов,
в случае обмена формируется пара сообщений, первое с
данными возвращаемого билета,
второе с данными выданного.
Общий тип транзакции
SALE, REFUND, CANCEL, EXCHANGE, ERASE
Если сообщение является
MCO_TYPE
данными MCO то указывается тип
MCO из ряда : PTA, RECEIPT, PENALTY
EMD_NUM
Номер EMD
номер БСО - 4214200000001
BSONUM
Содержит расчетный код авиакомпании и номер билета без
пробела
Заполняется при обменах, обеспечивает связь пары сообщений
по обмену.
EX_BSONUM
Содержит номер БСО сданного билета для сообщения SALE,
или выданного взамен для REFUND
FIO
ФИО пассажира
SURNAME
Фамилия пассажира введённая в PNR при бронировании
NAME
Имя пассажира введённая в PNR при бронировании
PASS
документ, удостоверяющий личность
BENEFIT_DOC
документ о предоставлении льготы
BIRTH_DATE
дата рождения пассажира — 25011950
GENERAL_CARRIER ответственный перевозчик - 421
RETTYPE
Вид возврата – добровольный=0, вынужденный=1
TOURCODE
Код тура
Код валюты отчетности – EUR,USD,
OCURRENCY
RUB…
ORATE
OPRATE
NCURRENCY
Курс перевода из валюты
назначения в валюту
отчетности – 0.7103
курс перевода из валюты отчетности в валюту оплаты
Код валюты назначения тарифа – USD, RUB…
NFARE
Тариф в валюте назначения 400.00
type - тариф валюте оплаты
FARE
Тариф в валюте оплаты 10360.00 TYPE принимает значения:
FREE — бесплатный билет, IT - IT-тариф, BT - BT-тариф или
отсутствует в случае других тарифов.
vat_type - сумма НДС по тарифу
vat_rate - процентная ставка НДС по
тарифу
NRATE
PNR
PNR_LAT
CONJ
TO_BSONUM
TYP_NUM @ ser
SEGMENTS
TAXES
FOPS
FCMODE
COMISSION
BOOK
DEAL
Курс перевода из валюты назначения в валюту оплаты –
25.9003
PNR заказа
PNR заказа на латинице
Номера дополнительных бланков
Заполняется для МСО. Номер основного билета
Типографский номер бланка, ser —
серия бланка
Одна или несколько записей участка маршрута SEGMENT
Ни одной, одна или несколько записей сборов TAX
Одна или несколько записей форм оплаты FOP
Режим тарификации. «AUTO, MANUAL»
Информация об агентской комиссии заключена в атрибутах:
type — тип комиссии, принимает значения fixed или percent;
currency — код валюты комиссии; amount — сумма валюты;
rate — процентная величина комиссии.
Заполняется только для сеанса BSP.
Информация о бронировании заключена в атрибутах:
agency — код агентства, в котором была создана бронь;
date — дата бронирования;
disp — идентификатор оператора, создавшего бронь;
opr_num — номер (жетон) оператора, создавшего бронь;
stamp — идентификатор ППР, в котором была создана бронь;
tap — пульт, с которого была проведена операция
бронирования;
time — время проведения бронирования.
utc — UTC дата и время проведения операции бронирования в
iso формате (YYYYMMDDThhmmss).
Информация о сделке заключена в атрибутах:
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
SEG_BSONUM
COUPON_NO
IS_VOID
STPO
CITY1CODE
CITY2CODE
PORT1CODE
PORT2CODE
TERM1
TERM2
CARRIER
CLASS
REIS
FLYDATE
FLYTIME
ARRDATE
ARRTIME
BASICFARE
номер участка – от 1 до 4
номер бланка на сегменте
номер купона
F – flight, V – VOID, S - Surface
Признак стоповера, 0 – остановка разрешена, 1 – запрещена
(на билете Х)
Код города отправления, как на бланке - LED
Код города прибытия, как на бланке - MOW
Код порта отправления, как на бланке - PUL
Код порта прибытия, как на бланке - VKO
терминал вылета;
терминал прибытия;
Код перевозчика на участке – S7
X,N…
Номер рейса
Дата отправления . ДДММГГГГ
Время отправления . ЧЧММ
Дата прибытия. ДДММГГГГ
Время прибытия. ЧЧММ
Базовый тариф, FARE BASIS, название атрибута некорректное,
но так уж исторически сложилось
информация о часто летающем пассажире(ЧЛП):
FFP_INFO
number - номер бонусной карты программы ЧЛП,
certificate -номер сертификата программы ЧЛП.
NFARE
Тариф в валюте назначения 400.00
Поля записи сбора TAX
SEGNO
CODE
AMOUNT
NAMOUNT
NCURRENCY
NRATE
OAMOUNT
OCURRENCY
ORATE
OPRATE
Номер участка –от 1 до 4
Код таксы – RU, YQ…
Сумма сбора в валюте оплаты 389.00
Сумма сбора в валюте назначения 15.00
Код валюты назначения тарифа — EUR, USD
Курс перевода из валюты назначения в валюту оплаты — 1.33
Сумма сбора в валюте отчетности — 500.00
Код валюты отчетности — EUR, USD
Курс перевода из валюты назначения в валюту отчетности —
1.56
курс перевода из валюты отчетности в валюту оплаты
Поля записи информации о страховках
TYPE
FARE
FARE_CURRENCY
AMOUNT
Тип услуги — ACCIDENT, LUGGAGE
Страховая сумма
Валюта страховой суммы
Страховой взнос
Поля записи формы оплаты FOP
TYPE
ORG
DOCSER
DOCNUM
DOCINFO
AUTH_INFO
AMOUNT
Форма оплаты - CA, СС, INV, ПК.
Организация – MO (Министерство обороны)…
Серия документа
Номер документа
Полная информация о платежном документе
информация о пластиковой карте:
code - код авторизации
currency - код валюты авторизации
amount - сумма авторизации
Сумма итого в валюте оплаты 389.00
Поля записи формы контактов CONTACTS
CONTACT
Контактная информация
Поля записи формы информации агентств AGN_INFO
CLIENT_NUM
RESERV_NUM
Номер клиента (3ПРОЧРМРКНК00000000)
Номер заказа (3ПРОЧРМРКНЗ00000000)
Логика заполнения тега <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.
ПБ печать билета.
Формируется одно или два сообщения:
 одно сообщение с данными по напечатанному билету.
TRANS_TYPE равен SALE, MCO_TYPE не заполнен.

OPTYPE равен SALE,
второе с данными квитанции, если квитанция печатается. Тег /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/FARE@type
ставится тип тарифа, напечатанный в билете в графе «ТАРИФ» .
С целью обеспечения единообразной идентификации документов меняется
формат заполнения полей /TICKETS/TICKET/BSONUM ,
/TICKETS/TICKET/EX_BSONUM , /TICKETS/TICKET/TO_BSONUM на
следующий: «3 символа расчетного кода» + «номер документа», пробел между
расчетным кодом и номером документа не ставится. Поле
/TICKETS/TICKET/SEGMENTS/SEGMENT/SEG_BSONUM, с момента введения в
формат, заполняется аналогично. Серия бланка всегда присутствует в атрибуте
/TICKETS/TICKET/TYP_NUM@ser .
Download