Balance Сheck — различия между версиями

Материал из Mid Office Manager Help
Перейти к: навигация, поиск
(Создание пары ключей защиты канала связи)
(Журнал работы приложений Red)
 
(не показаны 28 промежуточных версий 2 участников)
Строка 1: Строка 1:
 +
<!-- Balance Сheck (новый клиент) clientfx -->
 
При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно {{an}}, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение {{cb}} позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.
 
При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно {{an}}, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение {{cb}} позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.
 
<!-- TBD Для поддержки функциональности проверки баланса необходимо наладить взаимодействие {{an}} с приложением {{cb}}, а также система должна поддерживать ряд конкретных сценариев и функций, описанных в этом разделе. При  конфигурировании {{an}} системы нужно учитывать следующее:
 
<!-- TBD Для поддержки функциональности проверки баланса необходимо наладить взаимодействие {{an}} с приложением {{cb}}, а также система должна поддерживать ряд конкретных сценариев и функций, описанных в этом разделе. При  конфигурировании {{an}} системы нужно учитывать следующее:
Строка 10: Строка 11:
 
<!-- здесь должна быть информация об установке приложения -->  
 
<!-- здесь должна быть информация об установке приложения -->  
 
Для нормальной работы приложения требуется следующее:
 
Для нормальной работы приложения требуется следующее:
# '''Доступ к серверу {{an}}.''' Сервер {{an}} не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет.
+
# '''Доступ к серверу {{an}}.''' Сервер {{an}} не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет. После такой настройки {{cb}} сможет перехватывать команды выписки билетов (<tt>W‡</tt>) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет. Подробнее о подключении к серверу {{an}} см. [[Подключение приложений Red к серверу Mid Office Manager]].
 
# '''Приложение {{cb}}''' должно быть надлежащим образом установлено в среде Red Workspace.
 
# '''Приложение {{cb}}''' должно быть надлежащим образом установлено в среде Red Workspace.
 
# '''Настроенное подключение к серверу {{an}} в параметрах приложения Red.''' В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
 
# '''Настроенное подключение к серверу {{an}} в параметрах приложения Red.''' В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
 
# '''Настроенные на сервере {{an}} параметры для создания защищенного канала.''' В параметрах {{an}} надо задать параметры защищенного канала между серверами {{an}} и Red.
 
# '''Настроенные на сервере {{an}} параметры для создания защищенного канала.''' В параметрах {{an}} надо задать параметры защищенного канала между серверами {{an}} и Red.
 
# '''Надлежащим образом настроенные профили и договоры''' на сервере {{an}}.
 
# '''Надлежащим образом настроенные профили и договоры''' на сервере {{an}}.
 
+
# '''Надлежащим образом заданный сток''' в терминале Red Workspace (например, с помощью формата <tt>W*RU</tt>).
Далее описывается, как настроить подключение приложения {{cb}} к серверу {{an}}, а также как настроить на сервере {{an}} самоподписанный сертификат для SSL-подключения.
+
 
+
'''Чтобы создать подключение приложения Red к серверу {{an}}:'''
+
# Откройте окно '''Sabre Red Workspace'''.
+
# В меню последовательно выберите '''Инструменты''' и '''Параметры'''.
+
# В левой панели окна '''Параметры''' разверните узел '''Настройки для приложений Red''' и выберите узел '''CreditCheck Preferences'''.
+
# В правой панели задайте значения следующих полей:
+
#* '''MOM server address'''  — сетевой адрес сервера {{an}}, например ''<nowiki>https://localhost:8445</nowiki>''.
+
#* '''Login'''  — имя пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
+
#* '''Password'''  — пароль пользователя {{an}}, в контексте которого будут выполняться запросы информации в {{an}} из приложения.
+
#:  [[image:RedAppSettings.png|550px]]
+
# Щелчком кнопки '''ОК''' закройте окно '''Параметры'''.
+
 
+
После такой настройки {{cb}} сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет.
+
 
+
'''Чтобы настроить безопасный канал связи между сервером приложений Red и сервером {{an}}:'''<br>
+
Перед настройкой сервера нужно создать файл с парой ключей для шифрования канала связи. Подробнее о создании пары ключей см. [[#Создание пары ключей защиты канала связи | Создание пары ключей защиты канала связи]].
+
 
+
<ol>
+
<li> В подпапке <tt>..\server\config\xtrip\server</tt> папки сервера {{an}} откройте файл '''boot.properties''' для редактирования. </li>
+
<li> В конец файла boot.properties добавьте следующие строки:
+
<pre># Tomcat settings for interaction with RedApps
+
com.gridnine.xtrip.server.tomcat.redapp.port = 8445
+
com.gridnine.xtrip.server.tomcat.redapp.protocol = org.apache.coyote.http11.Http11Protocol
+
com.gridnine.xtrip.server.tomcat.redapp.proxyName =
+
com.gridnine.xtrip.server.tomcat.redapp.proxyPort =
+
com.gridnine.xtrip.server.tomcat.redapp.secure = true
+
com.gridnine.xtrip.server.tomcat.redapp.scheme = https
+
com.gridnine.xtrip.server.tomcat.redapp.URIEncoding = utf-8
+
com.gridnine.xtrip.server.tomcat.redapp.SSLEnabled = true
+
com.gridnine.xtrip.server.tomcat.redapp.sslProtocol = TLSv1
+
com.gridnine.xtrip.server.tomcat.redapp.clientAuth = false
+
com.gridnine.xtrip.server.tomcat.redapp.keystoreFile = <путь к хранилищу ключей >
+
com.gridnine.xtrip.server.tomcat.redapp.keystorePass = <пароль ключа>
+
com.gridnine.xtrip.server.tomcat.redapp.default = false </pre>
+
где <ul>
+
<li><''путь к хранилищу ключей''> — путь к файлу, в котором хранится самоподписанный ключ для шифрования защищенного канала связи, например ''c://keystore//redapp.jks''</li>
+
<li><''пароль ключа''> — пароль, который нужен для извлечения ключа для шифрования канала связи, например P@ssw0rd1. </li>
+
</ul>
+
</li>
+
<li> Перезапустите сервер {{an}}.</li>
+
</ol>
+
  
 
== Как пользоваться приложением {{cb}} ==
 
== Как пользоваться приложением {{cb}} ==
После установки приложения {{cb}} и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса.
+
После установки приложения {{cb}} и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на примере попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса.
  
 
=== Попытка выписки билета для клиента, на счете которого недостаточно средств ===
 
=== Попытка выписки билета для клиента, на счете которого недостаточно средств ===
 
Попробуем выписать билет для клиента Client1. Вот профиль в {{an}} клиента Client1 с  идентификатором ''1234567'', для которого мы будем пытаться выписать билет:
 
Попробуем выписать билет для клиента Client1. Вот профиль в {{an}} клиента Client1 с  идентификатором ''1234567'', для которого мы будем пытаться выписать билет:
  
[[image: ClientProfile.png|500px]]
+
[[image: NCClientProfile.png|500px]]
 +
 
 +
{{Info|В этом примере предполагается, что в терминале Red Workspace уже задан сток для выписки.}}
  
 
Далее предпринимается попытка выписать билет для Client1 в среде Red Workspace:
 
Далее предпринимается попытка выписать билет для Client1 в среде Red Workspace:
Строка 75: Строка 36:
 
[[image: IssueTicketShort.png|400px]]
 
[[image: IssueTicketShort.png|400px]]
  
Приложение эффективно блокирует выписку билета корпоративному клиенту, если на его счете недостаточно средств.
+
Приложение эффективно блокирует корпоративному клиенту возможность выписки билета, если на его счете недостаточно средств.
  
 
{{cb}} также позволяет отслеживать баланс субагентств и блокировать продажи, выходящие за рамки баланса субагентства.
 
{{cb}} также позволяет отслеживать баланс субагентств и блокировать продажи, выходящие за рамки баланса субагентства.
Строка 98: Строка 59:
 
[[image: CheckBalanceClient2.png]]
 
[[image: CheckBalanceClient2.png]]
  
{{info|При необходимости можно настроить среду Red Workspace так, чтобы она в принудительном порядке требовала задавать идентификатор DK в каждой записи PNR. Чтобы сделать поле DK обязательным для заполнения в каждом PNR в PCC надо активировать уровень доступа менеджера агентства командой SI9 и ввести команду W/DK¥ON. Отключить эту возможность повторным применением команды SI9, а затем командой W/DK¥OFF. Подробнее см. статью tjrfo080 в Format Finder. }}
+
{{info|При необходимости можно настроить среду Red Workspace так, чтобы она в принудительном порядке требовала задавать идентификатор DK в каждой записи PNR. Чтобы сделать поле DK обязательным для заполнения в каждом PNR в PCC надо активировать уровень доступа менеджера агентства командой SI9 и ввести команду <tt>W/DK¥ON</tt>. Отключить эту возможность повторным применением команды SI9, а затем командой <tt>W/DK¥OFF</tt>. Подробнее см. статью tjrfo080 в Format Finder. }}
  
 
== Общая схема работы приложения {{cb}} ==  
 
== Общая схема работы приложения {{cb}} ==  
Приложение {{cb}} автоматически инициируется при запросе на выписку билета в среде Red Workspace или при выполнении специальной команды для проверки доступного баланса. Приложение всегда проверяет баланс при попытке выполнить команду, которая начинается с W‡ или EW‡.
+
Приложение {{cb}} автоматически инициируется при запросе на выписку билета в среде Red Workspace или при выполнении специальной команды для проверки доступного баланса. Приложение всегда проверяет баланс при попытке выполнить команду, которая начинается с <tt>W‡</tt> или <tt>EW‡</tt>.
  
 
Далее описываются основные этапы работы приложения {{cb}}.
 
Далее описываются основные этапы работы приложения {{cb}}.
Строка 108: Строка 69:
 
# '''{{an}} определяет тип продажи''' (субагентская продажа или продажа корпоративному клиенту), а также субагентство или корпоративного клиента, и вычисляет доступный баланс соответствующего контрагента и сравнивает с ценовой квотой.
 
# '''{{an}} определяет тип продажи''' (субагентская продажа или продажа корпоративному клиенту), а также субагентство или корпоративного клиента, и вычисляет доступный баланс соответствующего контрагента и сравнивает с ценовой квотой.
 
#: Подробнее о том, как {{cb}} различает собственные и субагентские продажи см. [[#Как {{cb}} различает собственные и субагентские продажи| Как {{cb}} различает собственные и субагентские продажи]].
 
#: Подробнее о том, как {{cb}} различает собственные и субагентские продажи см. [[#Как {{cb}} различает собственные и субагентские продажи| Как {{cb}} различает собственные и субагентские продажи]].
# '''{{an}} вычисляет сервисный сбор.''' Для поддержки гибкой структуры сборов в {{an}}  должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red.
+
# '''{{an}} вычисляет сервисный сбор''' Для поддержки гибкой структуры сборов в {{an}}  должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red.
 
# '''{{an}} возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.'''  
 
# '''{{an}} возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.'''  
 
# '''Приложение отображает доступный баланс в терминале Sabre Red Workspace''', добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета.
 
# '''Приложение отображает доступный баланс в терминале Sabre Red Workspace''', добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета.
Строка 124: Строка 85:
  
 
== Журнал работы приложений Red ==
 
== Журнал работы приложений Red ==
При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала Red-приложений, который может быть полезным для настройки приложения {{cf}}, называется redapp.log и находится в подпапке logs установочной папки сервера {{an}}.
+
При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала Red-приложений, который может быть полезным для настройки приложения {{cb}}, называется redapp.log и находится в подпапке logs установочной папки сервера {{an}}.
  
 
По умолчанию журнал неактивен или вообще отсутствует, а события Red-приложений в журнале не регистрируются. Для включения регистрации событий Red-приложений нужно предпринять ряд действий.
 
По умолчанию журнал неактивен или вообще отсутствует, а события Red-приложений в журнале не регистрируются. Для включения регистрации событий Red-приложений нужно предпринять ряд действий.
Строка 131: Строка 92:
 
<ol>
 
<ol>
 
         <li>В подпапке '''..\client\config\xtrip\server''' папки сервера {{an}} откройте файл '''log4j.properties''' в текстовом редакторе. </li>
 
         <li>В подпапке '''..\client\config\xtrip\server''' папки сервера {{an}} откройте файл '''log4j.properties''' в текстовом редакторе. </li>
         <li>Найдите раздел, начинающийся со строки <tt># Loggers configuration</tt>, например:
+
          
<pre># Loggers configuration
+
 
+
log4j.rootLogger = OFF, null
+
log4j.logger.com.gridnine.xtrip = ALL, xtrip
+
log4j.logger.com.gridnine.xtrip.TIMING = ALL, xtrip
+
</pre>
+
        </li>
+
<li>Добавьте в раздел <tt># Loggers configuration</tt>
+
следующую строку:
+
<pre> log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, xtrip-redapp</pre>
+
 
+
</li>
+
 
         <li>В конце файла log4j.properties добавьте следующие строки:  
 
         <li>В конце файла log4j.properties добавьте следующие строки:  
  
<pre>log4j.appender.xtrip-redapp = org.apache.log4j.FileAppender
+
<pre style="white-space: pre-wrap;">
log4j.appender.xtrip-redapp.file = ${applicationRoot}/logs/redapp.log
+
log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, redapp
log4j.appender.xtrip-redapp.encoding = UTF-8
+
log4j.additivity.com.gridnine.xtrip.server.parsers2.redapp = false
log4j.appender.xtrip-redapp.layout = org.apache.log4j.PatternLayout
+
log4j.appender.redapp = org.apache.log4j.DailyRollingFileAppender
log4j.appender.xtrip-redapp.layout.conversionPattern = %d [%15.15t] %-5p %40.40c : %m%n
+
log4j.appender.redapp.file = ${applicationRoot}/logs/redapp/redapp.log
log4j.appender.xtrip-redapp.append = false
+
log4j.appender.redapp.DatePattern = '.'yyyy-MM-dd
 +
log4j.appender.redapp.encoding = UTF-8
 +
log4j.appender.redapp.layout = org.apache.log4j.PatternLayout
 +
log4j.appender.redapp.layout.conversionPattern = %d [%15.15t] %-5p %40.40c : %m%n
 +
log4j.appender.redapp.append = true
 
</pre>
 
</pre>
 
</li>
 
</li>
 
         <li>Сохраните и закройте файл '''log4j.properties'''.</li>
 
         <li>Сохраните и закройте файл '''log4j.properties'''.</li>
 
         <li>Перезагрузите сервер {{an}}.</li>
 
         <li>Перезагрузите сервер {{an}}.</li>
</ol>
 
 
== Создание пары ключей защиты канала связи ==
 
В этом разделе приводится инструкция по созданию файла-хранилища с парой ключей c помощью Java-утилиты keytool.exe. Эта утилита находится в подпапке /jre/bin версии сервера и клиента {{an}} со средой JRE.
 
 
Если вы используете клиент или сервер {{an}} без среды JRE, то нужно использовать утилиту keytool.exe входящую в состав Java JDK или JRE. В этом случае на машине должен быть установлен как минимум один из этих пакетов. Утилита keytool.exe обычно находится в подпапке bin установочной папки Java.
 
 
'''Чтобы создать файл с парой ключей для связи:'''
 
<ol>
 
<li>Выполните в командной строке следующую команду:
 
<pre>keytool -genkeypair -alias redapp -keyalg RSA -keysize 2048 -validity 3650
 
  -keystore <путь_к_файлу_хранилища> </pre>
 
 
где <br>
 
<''путь_к_файлу_хранилища''> — путь к файлу с парой ключей шифрования, например c:\keystore\redapp.jks<br>
 
</li>
 
<li>В ответ на вопросы команды ''Enter keystore password:'' и ''Re-enter new password:'' введите и подтвердите пароль хранилища ключей.
 
<br>
 
На остальные вопросы отвечать не нужно — в ответ просто нажимайте '''Enter'''.
 
{{warn|Не задавайте никакого пароля в ответ на вопрос '''Enter key password for <redapp> (RETURN if same as keystore password): ''' — пароль ключа обязательно должен совпадать с паролем на хранилище!}}
 
</li>
 
<li>Убедитесь, что в указанном месте создан файл хранилища ключей с расширением .jks и при необходимости скопируйте его на машину с сервером {{an}}.</li>
 
 
</ol>
 
</ol>
  
 
== Ссылки по теме ==  
 
== Ссылки по теме ==  
 +
* [[Подключение приложений Red к серверу Mid Office Manager]]
 
* [[Профили]]
 
* [[Профили]]
 
* [[Договоры]]
 
* [[Договоры]]
 
* [https://richmedia.sabre.com/Docs_BusinessTools/Communities/EUru/Sabre_Red_Apps_Download_And_Activate_RUSSIAN.pdf Руководство «Загрузка приложений Red. Краткая пошаговая инструкция»]
 
* [https://richmedia.sabre.com/Docs_BusinessTools/Communities/EUru/Sabre_Red_Apps_Download_And_Activate_RUSSIAN.pdf Руководство «Загрузка приложений Red. Краткая пошаговая инструкция»]
* [[Red приложения для Mid Office Manager]]
+
* [[Приложения Red для Mid Office Manager]]

Текущая версия на 16:08, 8 июля 2020

При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно Mid Office Manager, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение Balance Check позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.

Содержание

[править] Предварительные условия

Для нормальной работы приложения требуется следующее:

  1. Доступ к серверу Mid Office Manager. Сервер Mid Office Manager не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет. После такой настройки Balance Check сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет. Подробнее о подключении к серверу Mid Office Manager см. Подключение приложений Red к серверу Mid Office Manager.
  2. Приложение Balance Check должно быть надлежащим образом установлено в среде Red Workspace.
  3. Настроенное подключение к серверу Mid Office Manager в параметрах приложения Red. В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
  4. Настроенные на сервере Mid Office Manager параметры для создания защищенного канала. В параметрах Mid Office Manager надо задать параметры защищенного канала между серверами Mid Office Manager и Red.
  5. Надлежащим образом настроенные профили и договоры на сервере Mid Office Manager.
  6. Надлежащим образом заданный сток в терминале Red Workspace (например, с помощью формата W*RU).

[править] Как пользоваться приложением Balance Check

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

[править] Попытка выписки билета для клиента, на счете которого недостаточно средств

Попробуем выписать билет для клиента Client1. Вот профиль в Mid Office Manager клиента Client1 с идентификатором 1234567, для которого мы будем пытаться выписать билет:

NCClientProfile.png

Info.png В этом примере предполагается, что в терминале Red Workspace уже задан сток для выписки.

Далее предпринимается попытка выписать билет для Client1 в среде Red Workspace:

IssueTicketLong.png

Как видите, попытка терпит неудачу из-за недостатка средств на счете клиента: Цена билета 40 523 руб. (строка TOTAL), а на счете клиента всего 15 000 руб.:

IssueTicketShort.png

Приложение эффективно блокирует корпоративному клиенту возможность выписки билета, если на его счете недостаточно средств.

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

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

[править] Проверка текущего баланса

В предыдущем разделе речь шла о контроле баланса при выписке билета, но в случае субагента приложение Balance Check позволяет узнать его текущий баланс независимо от выписки билета. Для этого достаточно выполнить команду BALANCE:

CheckBalanceSubagent2.png

С балансом корпоративного агента ситуация иная: в случае собственной продажи корпоративному клиенту Balance Check предоставляет информацию о балансе только при определенных условиях: для этого нужно наличие PNR с идентификатором клиента DK. Без DK невозможно идентифицировать клиента, а, значит, и определить его баланс расчетов. В таком случае при попытке проверить баланс Balance Check вернет сообщение об ошибке:

CheckBalanceNoPNR.png

или

ClientBalanceDKNotFound.png

А вот пример успешной проверки баланса корпоративного клиента (в PNR указан идентификатор DK):

CheckBalanceClient2.png

Info.png При необходимости можно настроить среду Red Workspace так, чтобы она в принудительном порядке требовала задавать идентификатор DK в каждой записи PNR. Чтобы сделать поле DK обязательным для заполнения в каждом PNR в PCC надо активировать уровень доступа менеджера агентства командой SI9 и ввести команду W/DK¥ON. Отключить эту возможность повторным применением команды SI9, а затем командой W/DK¥OFF. Подробнее см. статью tjrfo080 в Format Finder.

[править] Общая схема работы приложения Balance Check

Приложение Balance Check автоматически инициируется при запросе на выписку билета в среде Red Workspace или при выполнении специальной команды для проверки доступного баланса. Приложение всегда проверяет баланс при попытке выполнить команду, которая начинается с W‡ или EW‡.

Далее описываются основные этапы работы приложения Balance Check.

  1. В процессе взаимодействия с Sabre Red Workspace приложение получает данные из записи PNR, в том числе информацию о пассажире и маршруте, сконфигурированном принтере, записях LNIATA, DK и PQ, а также квалификаторы и привязки пассажиров.
  2. Приложение упаковывает данные и передает их в Mid Office Manager и ожидает получить из Mid Office Manager информацию о доступном балансе и всех применимых сборах, а также разрешение или запрет на выписку билета. Обмен данными с Mid Office Manager системой осуществляется в формате XML.
  3. Mid Office Manager определяет тип продажи (субагентская продажа или продажа корпоративному клиенту), а также субагентство или корпоративного клиента, и вычисляет доступный баланс соответствующего контрагента и сравнивает с ценовой квотой.
    Подробнее о том, как Balance Check различает собственные и субагентские продажи см. Как Balance Check различает собственные и субагентские продажи.
  4. Mid Office Manager вычисляет сервисный сбор Для поддержки гибкой структуры сборов в Mid Office Manager должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red.
  5. Mid Office Manager возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.
  6. Приложение отображает доступный баланс в терминале Sabre Red Workspace, добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета.

[править] Как Balance Check различает собственные и субагентские продажи

В этом разделе описывается, как Balance Check различает собственные (корпоративному клиенту) и субагентские продажи в п.3 в предыдущем разделе.

На основе информации приложения Mid Office Manager (адрес сервера Mid Office Manager, имя входа и пароль) система определяет два профиля агентств — основное агентство (назовем его АгентствоГЛ) и субагентство (АгентствоСУБ) (это может быть один и тот же профиль). Информация об этих агентствах позволяет определить тип продажи — собственная (для корпоративного клиента) или субагентская. Определение профилей выполняется в следующей последовательности:

  • АгентствоГЛ определяется по следующему алгоритму: система пытается сопоставить имя входа (логин) из параметров Red-приложения и имя входа Mid Office Manager с профилем агента. (Если имя входа не связано ни с каким профилем, выполнение прекращается с ошибкой.) АгентствоГЛ определяется как основное место работы, указанное в профиле агента.
  • АгентствоСУБ определяется по следующему алгоритму: отбираются все точки продаж, у которых значение в поле Агентство на вкладке Точка продаж совпадает с АгентствоГЛ. У этих точек продаж просматриваются все пульты и отбираются те, у которых PCC совпадает с PCC, возвращенным командой *S, выполненной из Red-приложением. При наличии нескольких подходящих пультов с одинаковыми PCC они отфильтровываются по полю LNIATA (если оно заполнено). Из валидаторов оставшихся пультов отбираются те, у которых поле Владелец бланка совпадает с владельцем бланка, полученным путем выполнения команды *S*P в Red-приложении. Соответствующее этому валидатору значение в поле Агентство считается агентством АгентствоСУБ. (Если в результате указанных операций получено несколько валидаторов, выбирается первый из списка.)

Если найденные АгентствоКЛ и АгентствоСУБ совпадают, значит это прямая продажа клиенту и определяется баланс для профиля корпоративного клиента. Если АгентствоКЛ и АгентствоСУБ не совпадают, значит это субагентская продажа и определяется баланс для профиля субагентства (в данной терминологии АгентствоКЛ).

[править] Журнал работы приложений Red

При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала Red-приложений, который может быть полезным для настройки приложения Balance Check, называется redapp.log и находится в подпапке logs установочной папки сервера Mid Office Manager.

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

Чтобы включить регистрацию событий Red-приложений в Mid Office Manager:

  1. В подпапке ..\client\config\xtrip\server папки сервера Mid Office Manager откройте файл log4j.properties в текстовом редакторе.
  2. В конце файла log4j.properties добавьте следующие строки:
    log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, redapp
    log4j.additivity.com.gridnine.xtrip.server.parsers2.redapp = false
    log4j.appender.redapp = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.redapp.file = ${applicationRoot}/logs/redapp/redapp.log
    log4j.appender.redapp.DatePattern = '.'yyyy-MM-dd
    log4j.appender.redapp.encoding = UTF-8
    log4j.appender.redapp.layout = org.apache.log4j.PatternLayout
    log4j.appender.redapp.layout.conversionPattern = %d [%15.15t] %-5p %40.40c : %m%n
    log4j.appender.redapp.append = true
    
  3. Сохраните и закройте файл log4j.properties.
  4. Перезагрузите сервер Mid Office Manager.

[править] Ссылки по теме

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Печать/экспорт
Инструменты