Balance Сheck — различия между версиями
(→Общая схема работы приложения {{cb}}) |
(→Как {{cb}} различает собственные и субагентские продажи) |
||
Строка 113: | Строка 113: | ||
== Как {{cb}} различает собственные и субагентские продажи == | == Как {{cb}} различает собственные и субагентские продажи == | ||
− | В этом разделе описывается, как {{cb}} различает собственные (корпоративному | + | В этом разделе описывается, как {{cb}} различает собственные (корпоративному клиенту) и субагентские продажи в п.3 в предыдущем разделе. |
− | На основе информации приложения {{an}} (адрес сервера {{an}}, имя входа и пароль) система определяет два профиля агентств — основное агентство (назовем его АгентствоГЛ) и субагентство (АгентствоСУБ) (это может быть один и тот же профиль). Информация об этих агентствах позволяет определить тип продажи — собственная (для корпоративного | + | На основе информации приложения {{an}} (адрес сервера {{an}}, имя входа и пароль) система определяет два профиля агентств — основное агентство (назовем его АгентствоГЛ) и субагентство (АгентствоСУБ) (это может быть один и тот же профиль). Информация об этих агентствах позволяет определить тип продажи — собственная (для корпоративного клиента) или субагентская. Определение профилей выполняется в следующей последовательности: |
* '''АгентствоГЛ''' определяется по следующему алгоритму: система пытается сопоставить имя входа (логин) из параметров Red-приложения и имя входа {{an}} с профилем агента. (Если имя входа не связано ни с каким профилем, выполнение прекращается с ошибкой.) '''АгентствоГЛ''' определяется как основное место работы, указанное в профиле агента. | * '''АгентствоГЛ''' определяется по следующему алгоритму: система пытается сопоставить имя входа (логин) из параметров Red-приложения и имя входа {{an}} с профилем агента. (Если имя входа не связано ни с каким профилем, выполнение прекращается с ошибкой.) '''АгентствоГЛ''' определяется как основное место работы, указанное в профиле агента. |
Версия 17:27, 27 марта 2015
При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно Mid Office Manager, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение Balance Check позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.
Содержание |
Предварительные условия
Для нормальной работы приложения требуется следующее:
- Доступ к серверу Mid Office Manager. Сервер Mid Office Manager не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет.
- Приложение Balance Check должно быть надлежащим образом установлено в среде Red Workspace.
- Настроенное подключение к серверу Mid Office Manager в параметрах приложения Red. В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
- Настроенные на сервере Mid Office Manager параметры для создания защищенного канала. В параметрах Mid Office Manager надо задать параметры защищенного канала между серверами Mid Office Manager и Red.
- Надлежащим образом настроенные профили и договоры на сервере Mid Office Manager.
Далее описывается, как настроить подключение приложения Balance Check к серверу Mid Office Manager, а также как настроить на сервере Mid Office Manager самоподписанный сертификат для SSL-подключения.
Чтобы создать подключение приложения Red к серверу Mid Office Manager:
- Откройте окно Sabre Red Workspace.
- В меню последовательно выберите Инструменты и Параметры.
- В левой панели окна Параметры разверните узел Настройки для приложений Red и выберите узел CreditCheck Preferences.
- В правой панели задайте значения следующих полей:
- MOM server address — сетевой адрес сервера Mid Office Manager, например https://localhost:8445.
- Login — имя пользователя Mid Office Manager, в контексте которого будут выполняться запросы информации в Mid Office Manager из приложения.
- Password — пароль пользователя Mid Office Manager, в контексте которого будут выполняться запросы информации в Mid Office Manager из приложения.
- Щелчком кнопки ОК закройте окно Параметры.
После такой настройки Balance Check сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет.
Чтобы настроить безопасный канал связи между сервером приложений Red и сервером Mid Office Manager:
Перед настройкой сервера нужно создать файл с парой ключей для шифрования канала связи. Подробнее о создании пары ключей см. Создание пары ключей защиты канала связи.
- В подпапке ..\server\config\xtrip\server папки сервера Mid Office Manager откройте файл boot.properties для редактирования.
- В конец файла boot.properties добавьте следующие строки:
# 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
где- <путь к хранилищу ключей> — путь к файлу, в котором хранится самоподписанный ключ для шифрования защищенного канала связи, например c://keystore//redapp.jks
- <пароль ключа> — пароль, который нужен для извлечения ключа для шифрования канала связи, например P@ssw0rd1.
- Перезапустите сервер Mid Office Manager.
Как пользоваться приложением Balance Check
После установки приложения Balance Check и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса.
Попытка выписки билета для клиента, на счете которого недостаточно средств
Попробуем выписать билет для клиента Client1. Вот профиль в Mid Office Manager клиента Client1 с идентификатором 1234567, для которого мы будем пытаться выписать билет:
Далее предпринимается попытка выписать билет для Client1 в среде Red Workspace:
Как видите, попытка терпит неудачу из-за недостатка средств на счете клиента: Цена билета 40 523 руб. (строка TOTAL), а на счете клиента всего 15 000 руб.:
Приложение эффективно блокирует выписку билета корпоративному клиенту, если на его счете недостаточно средств.
Balance Check также позволяет отслеживать баланс субагентств и блокировать продажи, выходящие за рамки баланса субагентства.
Если на счете корпоративного клиента или субагентства достаточно средств, выписка билета проходит, как обычно, а Balance Check выполняет проверку прозрачно, то есть незаметно для пользователя.
Проверка текущего баланса
В предыдущем разделе речь шла о контроле баланса при выписке билета, но в случае субагента приложение Balance Check позволяет узнать его текущий баланс независимо от выписки билета. Для этого достаточно выполнить команду BALANCE:
С балансом корпоративного агента ситуация иная: в случае собственной продажи корпоративному клиенту Balance Check предоставляет информацию о балансе только при определенных условиях: для этого нужно наличие PNR с идентификатором клиента DK. Без DK невозможно идентифицировать клиента, а, значит, и определить его баланс расчетов. В таком случае при попытке проверить баланс Balance Check вернет сообщение об ошибке:
или
А вот пример успешной проверки баланса корпоративного клиента (в PNR указан идентификатор DK):
При необходимости можно настроить среду 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.
- В процессе взаимодействия с Sabre Red Workspace приложение получает данные из записи PNR, в том числе информацию о пассажире и маршруте, сконфигурированном принтере, записях LNIATA, DK и PQ, а также квалификаторы и привязки пассажиров.
- Приложение упаковывает данные и передает их в Mid Office Manager и ожидает получить из Mid Office Manager информацию о доступном балансе и всех применимых сборах, а также разрешение или запрет на выписку билета. Обмен данными с Mid Office Manager системой осуществляется в формате XML.
- Mid Office Manager определяет тип продажи (субагентская продажа или продажа корпоративному клиенту), а также субагентство или корпоративного клиента, и вычисляет доступный баланс соответствующего контрагента и сравнивает с ценовой квотой.
- Подробнее о том, как Balance Check различает собственные и субагентские продажи см. Как Balance Check различает собственные и субагентские продажи.
- Mid Office Manager вычисляет сервисный сбор. Для поддержки гибкой структуры сборов в Mid Office Manager должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red.
- Mid Office Manager возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.
- Приложение отображает доступный баланс в терминале 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-приложений, который может быть полезным для настройки приложения Fee and Commission Calculator, называется redapp.log и находится в подпапке logs установочной папки сервера Mid Office Manager.
По умолчанию журнал неактивен или вообще отсутствует, а события Red-приложений в журнале не регистрируются. Для включения регистрации событий Red-приложений нужно предпринять ряд действий.
Чтобы включить регистрацию событий Red-приложений в Mid Office Manager:
- В подпапке ..\client\config\xtrip\server папки сервера Mid Office Manager откройте файл log4j.properties в текстовом редакторе.
- Найдите раздел, начинающийся со строки # Loggers configuration, например:
# Loggers configuration log4j.rootLogger = OFF, null log4j.logger.com.gridnine.xtrip = ALL, xtrip log4j.logger.com.gridnine.xtrip.TIMING = ALL, xtrip
- Добавьте в раздел # Loggers configuration
следующую строку:
log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, xtrip-redapp
- В конце файла log4j.properties добавьте следующие строки:
log4j.appender.xtrip-redapp = org.apache.log4j.FileAppender log4j.appender.xtrip-redapp.file = ${applicationRoot}/logs/redapp.log log4j.appender.xtrip-redapp.encoding = UTF-8 log4j.appender.xtrip-redapp.layout = org.apache.log4j.PatternLayout log4j.appender.xtrip-redapp.layout.conversionPattern = %d [%15.15t] %-5p %40.40c : %m%n log4j.appender.xtrip-redapp.append = false
- Сохраните и закройте файл log4j.properties.
- Перезагрузите сервер Mid Office Manager.
Создание пары ключей защиты канала связи
В этом разделе приводится инструкция по созданию файла-хранилища с парой ключей c помощью Java-утилиты keytool.exe. Эта утилита находится в подпапке /jre/bin версии клиента Mid Office Manager со средой JRE.
Если вы используете клиент Mid Office Manager без среды JRE, то нужно использовать утилиту keytool.exe входящую в состав Java JDK или JRE. В этом случае на машине должен быть установлен как минимум один из этих пакетов. Утилита keytool.exe обычно находится в подпапке bin установочной папки Java.
Чтобы создать файл с парой ключей для связи:
- Выполните в командной строке следующую команду:
keytool -genkeypair -alias redapp -keyalg RSA -keysize 2048 -validity 3650 -keystore <путь_к_файлу_хранилища>
где
<путь_к_файлу_хранилища> — путь к файлу с парой ключей шифрования, например c:\keystore\redapp.jks
- В ответ на вопросы команды Enter keystore password: и Re-enter new password: введите и подтвердите пароль хранилища ключей.
На остальные вопросы отвечать не нужно — в ответ просто нажимайте Enter.Не задавайте никакого пароля в ответ на вопрос Enter key password for <redapp> (RETURN if same as keystore password): — пароль ключа обязательно должен совпадать с паролем на хранилище! - Убедитесь, что в указанном месте создан файл хранилища ключей с расширением .jks и при необходимости скопируйте его на машину с сервером Mid Office Manager.