Balance Сheck — различия между версиями
(→Создание пары ключей защиты канала связи) |
(→Журнал работы приложений 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}} == | == Как пользоваться приложением {{cb}} == | ||
− | После установки приложения {{cb}} и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса. | + | После установки приложения {{cb}} и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на примере попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса. |
=== Попытка выписки билета для клиента, на счете которого недостаточно средств === | === Попытка выписки билета для клиента, на счете которого недостаточно средств === | ||
Попробуем выписать билет для клиента Client1. Вот профиль в {{an}} клиента Client1 с идентификатором ''1234567'', для которого мы будем пытаться выписать билет: | Попробуем выписать билет для клиента Client1. Вот профиль в {{an}} клиента Client1 с идентификатором ''1234567'', для которого мы будем пытаться выписать билет: | ||
− | [[image: | + | [[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}} вычисляет сервисный сбор''' Для поддержки гибкой структуры сборов в {{an}} должны содержаться сведения о договорных отношениях между разными сторонами, в том числе об ограничениях маршрутов, типах пассажиров, владельцах бланков, валидирующих перевозчиках и т. п. Эту функциональность невозможно реализовать в рамках приложения Red. |
# '''{{an}} возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.''' | # '''{{an}} возвращает информацию о доступном балансе, сервисном сборе и запрете или разрешении на выписку билета.''' | ||
# '''Приложение отображает доступный баланс в терминале Sabre Red Workspace''', добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета. | # '''Приложение отображает доступный баланс в терминале Sabre Red Workspace''', добавляет ремарки о сборах в PNR и разрешает или блокирует выписку билета. | ||
Строка 124: | Строка 85: | ||
== Журнал работы приложений Red == | == Журнал работы приложений Red == | ||
− | При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала Red-приложений, который может быть полезным для настройки приложения {{ | + | При необходимости полезную информацию можно получить из журнала, где фиксируются выполняемые действия. Файл журнала 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>В конце файла log4j.properties добавьте следующие строки: | <li>В конце файла log4j.properties добавьте следующие строки: | ||
− | <pre>log4j. | + | <pre style="white-space: pre-wrap;"> |
− | log4j.appender. | + | log4j.logger.com.gridnine.xtrip.server.parsers2.redapp = ALL, redapp |
− | log4j.appender. | + | log4j.additivity.com.gridnine.xtrip.server.parsers2.redapp = false |
− | log4j.appender. | + | log4j.appender.redapp = org.apache.log4j.DailyRollingFileAppender |
− | log4j.appender. | + | log4j.appender.redapp.file = ${applicationRoot}/logs/redapp/redapp.log |
− | log4j.appender. | + | 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> | </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 | + | * [[Приложения Red для Mid Office Manager]] |
Текущая версия на 16:08, 8 июля 2020
При выписке билетов в Red Workspace для корпоративного клиента или субагентства агент обычно проверяет, достаточно ли средств на счете клиента. Для этого ему надо выполнить ряд дополнительных действий: открыть окно Mid Office Manager, найти нужного клиента и проверить баланс его расчетов с агентством. Это отвлекает агента от основной задачи и увеличивает общее время выписки билета. Приложение Balance Check позволяет автоматически проверять баланс счета клиента при попытке выписать билет в терминале Red Workspace и блокирует операцию, если средств на счете недостаточно.
Содержание |
[править] Предварительные условия
Для нормальной работы приложения требуется следующее:
- Доступ к серверу Mid Office Manager. Сервер Mid Office Manager не обязательно должен размещаться на той же машине, что и Red Workspace, — достаточно доступа к серверу по локальной сети или через интернет. После такой настройки Balance Check сможет перехватывать команды выписки билетов (W‡) и проверять доступные средства на счете, на средства которого предпринимается попытка выписать билет. Подробнее о подключении к серверу Mid Office Manager см. Подключение приложений Red к серверу Mid Office Manager.
- Приложение Balance Check должно быть надлежащим образом установлено в среде Red Workspace.
- Настроенное подключение к серверу Mid Office Manager в параметрах приложения Red. В параметрах приложения Red надо задать адрес сервера и учетные данные для входа.
- Настроенные на сервере Mid Office Manager параметры для создания защищенного канала. В параметрах Mid Office Manager надо задать параметры защищенного канала между серверами Mid Office Manager и Red.
- Надлежащим образом настроенные профили и договоры на сервере Mid Office Manager.
- Надлежащим образом заданный сток в терминале Red Workspace (например, с помощью формата W*RU).
[править] Как пользоваться приложением Balance Check
После установки приложения Balance Check и подготовки среды, как описано в предыдущем разделе можно использовать приложение. Далее описывается, как использовать приложение на примере попытки выписать билет для корпоративного клиента, на счете которого недостаточно средств для выписки билета, и простой проверки текущего баланса.
[править] Попытка выписки билета для клиента, на счете которого недостаточно средств
Попробуем выписать билет для клиента Client1. Вот профиль в Mid Office Manager клиента Client1 с идентификатором 1234567, для которого мы будем пытаться выписать билет:
В этом примере предполагается, что в терминале Red Workspace уже задан сток для выписки. |
Далее предпринимается попытка выписать билет для 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-приложений, который может быть полезным для настройки приложения Balance Check, называется redapp.log и находится в подпапке logs установочной папки сервера Mid Office Manager.
По умолчанию журнал неактивен или вообще отсутствует, а события Red-приложений в журнале не регистрируются. Для включения регистрации событий Red-приложений нужно предпринять ряд действий.
Чтобы включить регистрацию событий Red-приложений в Mid Office Manager:
- В подпапке ..\client\config\xtrip\server папки сервера Mid Office Manager откройте файл log4j.properties в текстовом редакторе.
- В конце файла 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
- Сохраните и закройте файл log4j.properties.
- Перезагрузите сервер Mid Office Manager.