Мастер-Тур(15):Личный Кабинет (ЛК) — различия между версиями
| [непроверенная версия] | [досмотренная версия] |
Gavrilov (обсуждение | вклад) |
Gavrilov (обсуждение | вклад) (→Финансы) |
||
| Строка 508: | Строка 508: | ||
* '''Дата полной оплаты''' – крайний срок для внесения всех средств. | * '''Дата полной оплаты''' – крайний срок для внесения всех средств. | ||
| + | =====Подключение отчётных форм===== | ||
| + | ======Общие положения====== | ||
| + | * Для отображения ссылки и печати отчёта в Личном кабинете необходимо добавить соответствующую запись в файле [[Мастер-Тур(15):Личный Кабинет (ЛК)#Настройки клиента Личного кабинета (AccountClient)|settings.json]] клиента ЛК. В массиве ''ORDER_REPORTS'' каждая запись соответствует одной печатной форме. | ||
| + | * На текущий момент поддерживается подключение печатных форм '''типа 4001'''. | ||
| + | * Каждый подключаемый отчёт печатается по '''GUID профиля'''. Для нестандартных профилей требуется уникальный GUID. | ||
| + | |||
| + | ======Требования к профилю и GUID====== | ||
| + | * Профиль отчёта, предназначенный для печати в ЛК, должен иметь '''уникальный GUID'''. | ||
| + | * GUID можно получить: | ||
| + | * из установочного файла профиля (файл вида ''Report4xxx.xml'', строка ''<GUID>…</GUID>''), | ||
| + | * либо запросом к БД: | ||
| + | <syntaxhighlight lang="sql" enclose="div"> | ||
| + | SELECT * | ||
| + | FROM Rep_Profiles | ||
| + | WHERE RP_RepKey = 4001; -- номер отчёта | ||
| + | </syntaxhighlight> | ||
| + | * Если установлено несколько профилей одного отчёта, '''каждому''' присваивается свой GUID. | ||
==== Услуги ==== | ==== Услуги ==== | ||
Текущая версия на 19:51, 22 октября 2025
Статья находится на стадии разработки.
Версия статьи от 22-10-2025.
Содержание
Введение
Личный кабинет — это веб-интерфейс, предназначенный для турагентств и их сотрудников, предоставляющий доступ к информации о заказах, финансовых операциях и другим важным данным. В нём реализованы функции управления бронированиями, взаимодействия с туроператором и контроля платежей.
Основные возможности личного кабинета:
- Просмотр списка заказов с детальной информацией – позволяет агентам быстро получать сведения о бронированиях, статусах заявок, суммах оплат и задолженностях.
- Фильтрация и сортировка заявок – помогает находить нужные заявки по заданным параметрам (номер заявки, фамилия туриста, даты поездки и т. д.).
- Управление учётными данными агентства – включает редактирование контактной информации, реквизитов компании и управление учетными записями сотрудников.
- Доступ к финансовой информации и отчетам – позволяет просматривать суммы оплат, задолженности и формировать отчёты для контроля финансовых операций.
- Взаимодействие с туроператором через сообщения и уведомления – обеспечивает связь между агентством и туроператором, уведомляя о важных изменениях и позволяя вести переписку.
Настройки личного кабинета
Перед использованием Личного кабинета необходимо настроить файлы конфигурации для сервисов AccountClient, AccountService и PrintReportAPI
Настройки клиента Личного кабинета (AccountClient)
настройки, задаваемые в файле settings.json
| № | Описание | Значение | Настройка |
|---|---|---|---|
| 1 | Базовый адрес сервиса | URL сервиса (HTTP/HTTPS) | {
"API_URL": "http://localhost:7000"
}
|
| 2 | Перечень отчётов, доступных к печати | Массив объектов; каждый элемент — один отчёт | {
"ORDER_REPORTS": [ { /* элементы см. пп. 3–6 */ } ]
}
|
| 3 | Идентификатор отчёта | "series" — строковый код/номер отчёта | { "series": "4001" }
|
| 4 | Заголовок отчёта в интерфейсе | Строка для отображения в меню «Отчёты» | { "title": "Лист бронирования" }
|
| 5 | Профиль отчёта | "guid" — уникальный GUID используемого профиля | { "guid": "E147D680-AF8C-414C-958F-E0F2C2E4E592" }
|
Пример:
{
"API_URL": "http://localhost:7000",
"ORDER_REPORTS": [
{
"series": "ARM",
"title": "Отчёт агента",
"guid": "57E0E9DB-8F20-4151-B0D4-40F1138D5E01"
}
]
}
Примечание. Для каждого подключённого отчёта должен использоваться корректный GUID профиля, существующий в базе.
Настройки аккаунт сервиса (AccountService)
настройки, задаваемые в файле appsettings.json
| № | Описание | Значение | Настройка |
|---|---|---|---|
| 1 | Ключ и TTL JWT-токена | Секрет и время жизни (в минутах) | "Jwt": {
"Key": "SecretKey10125779374235322",
"TokenValidityInMinutes": 100
}
|
| 2 | Тип используемой СУБД | 1 — Microsoft SQL Server; 2 — PostgreSQL; … до 5; 6–9 — зарезервировано | "ConnectionParameters": { "databaseType": 1}
|
| 3 | Адрес сервера БД | Имя/адрес инстанса | "ConnectionParameters": { "server": "ip-адрес сервера базы данных ПК Мастер-Тур" }
|
| 4 | Имя базы данных | Название БД | "ConnectionParameters": { "database": "название базы данных ПК Мастер-Тур" }
|
| 5 | Учётные данные БД | Пользователь и пароль | "ConnectionParameters": {
"user": "логин пользователя ПК Мастер-Тур",
"password": "пароль пользователя ПК Мастер-Тур"
}
|
| 6 | Имя приложения в коннекте | Для трассировки в БД | "ConnectionParameters": { "appName": "MegatecAccountService" }
|
| 7 | Логирование сервиса: включить консоль | true/false | "Logger": { "EnableConsole": true, ... }
|
| 8 | Путь к лог-файлам | Папка ("" — отключено) | "Logger": { "FilePath": "" }
|
| 9 | Ротация логов по размеру | Максимальный размер (МБ) и число файлов | "Logger": {
"MaxLogFileSize": 10,
"MaxOldLogFilesCount": 30
}
|
| 10 | Имя службы и адрес(а) прослушивания | ServiceName и список URL | "Install": {
"ServiceName": "MegatecAccountService",
"ServiceAddress": [ "http://*:7000" ]
}
|
| 11 | IP-интерфейс привязки | IPv6Any / конкретный IP | "Install": { "IPAddress": "IPAddress.IPv6Any" }
|
| 12 | Адрес удалённого сервиса печати отчетов | Базовый URL PrintReportAPI | "RemoteServices": {
"ReportServiceUrl": "http://localhost:7050/PrintReportAPI/"
}
|
| 13 | Разрешённые хосты | "*" — без ограничений | "AllowedHosts": "*"
|
Пример:
{
"Jwt": {
"Key": "SecretKey10125779374235322",
//"Issuer": "https://localhost:44341",
//"Audience": "https://localhost:44341",
"TokenValidityInMinutes": 100
},
"ConnectionParameters": {
// Database types:
// "Micrisoft_SQLServer" = 1
// "PostgreSQL" = 2
// ... to 5
// For databases not supported with EF Core reserved numbers from 6 to 9
"databaseType": 1,
"server": "ip-адрес сервера базы данных ПК Мастер-Тур",
"database": "название базы данных ПК Мастер-Тур",
"user": "логин пользователя ПК Мастер-Тур",
"password": "пароль пользователя ПК Мастер-Тур",
"appName": "MegatecAccountService"
},
"Logger": {
"EnableConsole": true,
"FilePath": "",
"MaxLogFileSize": 10, // МБ
"MaxOldLogFilesCount": 30
},
"Install": {
"ServiceName": "MegatecAccountService",
"ServiceAddress": [ "http://localhost:7000" ],
"IPAddress": "IPAddress.IPv6Any"
},
"RemoteServices": {
"ReportServiceUrl": "http://localhost:7050/PrintReportAPI/"
},
"AllowedHosts": "*"
}
Настройки сервиса печати отчетов (PrintReportAPI)
Служба печати генерирует файл отчёта по переданному идентификатору и профилю.
| № | Описание | Значение | Настройка |
|---|---|---|---|
| 1 | Параметры логирования | Путь к логам, уровень, вывод в консоль | <loggerSection>
<Loggers path="Logs">
<Logger level="ALL" name="ReportLoger" console="false" />
</Loggers>
</loggerSection>
|
| 2 | Строка подключения к БД | Data Source, Initial Catalog, User Id, Password, Application Name | <appSettings>
<add key="connectionString"
value="Data Source=ip-адрес сервера;
Initial Catalog=название базы;
User Id=логин пользователя;Password=пароль;
Application Name=PrintReportAPI" />
</appSettings>
|
| 3 | Базовый адрес сервиса | URL PrintReportAPI | <appSettings>
<add key="serviceAddress" value="http://localhost:7050/PrintReportAPI/" />
</appSettings>
|
| 4 | Имя службы | Текстовое имя сервиса | <appSettings>
<add key="serviceName" value="MegatecPrintReportAPI" />
</appSettings>
|
| 5 | Тип общей платформы | "MasterTour" | <appSettings>
<add key="CommonType" value="MasterTour" />
</appSettings>
|
Пример:
<loggerSection>
<Loggers path="Logs">
<Logger level="ALL" name="ReportLoger" console="false" />
</Loggers>
</loggerSection>
<appSettings>
<add key="connectionString" value="Data Source=IP; Initial Catalog=DB;User Id=USER;Password=PWD;Application Name=PrintReportAPI" />
<add key="serviceAddress" value="http://localhost:7050/PrintReportAPI/" />
<add key="serviceName" value="MegatecPrintReportAPI" />
<add key="CommonType" value="MasterTour" />
</appSettings>
Заголовок и общие элементы страницы «Личный кабинет»
Любая страница Личного кабинета содержит заголовок и меню для перехода на основные экраны. В заголовке отображаются:
- Контактные данные туроператора (телефон, email) – предназначены для оперативной связи с отделом бронирования.
- Курсы валют (список настраивается) – отображают актуальные курсы, которые могут изменяться в зависимости от настроек.
- Логотип туроператора – по умолчанию устанавливается логотип компании, но его можно заменить на пользовательский через настройки.
- Ссылки на онлайн–бронирование – позволяют агентам быстро перейти к оформлению новых заявок.
- Название агентства, к которому привязан личный кабинет – отображает текущее агентство, под учетной записью которого выполнен вход.
- Ссылка на страницу оформления неформального заказа(кнопка "оставить заявку") – предоставляет возможность оставить заявку без строгого соответствия стандартным параметрам бронирования.
- Кнопка выхода из личного кабинета – завершает сессию пользователя.
После авторизации пользователь попадает на основную страницу Личного кабинета, с которой может перейти к другим разделам через меню.
- Основное меню
- Информация
- Заявки
- Бонусы
- Учётные данные
- Юридические документы
После выбора раздела открывается соответствующий экран.
Заявки
Список заявок доступен авторизованным пользователям по умолчанию после входа в систему или при выборе соответствующего пункта меню.
- Основной сценарий
Пользователь заходит в личный кабинет. Отображается список заказов с учётом прав доступа. По умолчанию заявки отсортированы по дате оформления (новые сверху), сортировка регулируется стрелками в заголовках таблицы.
- Настройки отображения
- Количество строк на странице (по умолчанию 20)
- Элемент управления: раскрывающееся меню в правом нижнем углу списка заказов.
- Пользователь может выбрать количество отображаемых строк: 20, 50 или 100.
- Выбранное значение сохраняется в cookies браузера и применяется при следующем входе.
- Возможные ошибки: при сбое cookies настройки могут сбрасываться.
- Возможность настройки видимых столбцов
- Элемент управления: кнопка «Настройки» в правом верхнем углу таблицы списка заказов.
- При нажатии открывается всплывающее окно со списком всех доступных колонок.
- Для включения/отключения колонки используются чекбоксы.
- Выбранные настройки сохраняются в cookies.
По умолчанию отображаются:
- Номер заявки
- Страна (страна проведения тура)
- Дата заезда
- Главный турист по заявке
- Статус заявки
- Стоимость
- Долг в валюте заявки
Дополнительные столбцы (по настройке)
- Город (город проживания в туре, по отелю)
- Название тура
- Скидка (комиссия) в нац валюте – слово скидка, есть залогинен частник, комиссия – если агент
- Скидка (комиссия) в валюте тура – слово скидка, есть залогинен частник, комиссия – если агент
- Оплачено в нац валюте
- Оплачено в валюте заявки
- Долг в нац валюте
- Полная стоимость в нац валюте
- Полная стоимость в валюте
- Полная стоимость в нац валюте за вычетом комиссии
- Полная стоимость в валюте заявки за вычетом комиссии
- Менеджер
- Статус визы
- Дата окончания тура
- Предоплата до
- Полная оплата до
- Число туристов
- Менеджер
- Дата оформления
Фильтры поиска
Фильтрация заявок осуществляется по следующим параметрам:
- Номер заявки
- Фамилия туриста
- Статус визы
- Страна тура
- Даты тура (с, по)
- Дата оформления заявки
- Наличие визы
- Наличие задолженности
- Срок полной оплаты
Дополнительные условия
- Любые изменения фильтров сохраняются для пользователя.
- Фильтры «С наличием визы» и «Задолженность» запоминаются между сеансами.
После выбора заявки осуществляется переход на страницу с детальной информацией по заказу (OrderInfo).
Информация по заказу (OrderInfo)
После выбора конкретной заявки из списка, пользователь попадает на страницу детальной информации по заказу. Данный экран позволяет просмотреть полную информацию о выбранной заявке, включая состав тура, данные туристов, расчеты, историю изменений и другую сопутствующую информацию.
- Назначение
Экран предназначен для:
- Просмотра всех деталей заявки
- Отслеживания истории изменений по заказу
- Контроля финансовых расчётов
- Проверки актуальности виз, оплаты и сроков
Структура страницы
Страница состоит из следующих информационных и функциональных блоков:
- Заголовок и действия
- Информация по заявке
- Финансы
- Услуги
- Туристы
- Чат
- Документы
- История изменений
Заголовок и действия

Расположен в верхней части страницы и включает:
- Название агентства – указывается текущее агентство, от имени которого пользователь вошёл.
- Основное меню навигации – вкладки: Информация, Заявки, Бонусы, Учётные данные, Юридические документы.
- Номер заявки и даты поездки – номер заявки выделен синим, продолжительность тура прописывается в скобках.
- Кнопки управления:
- Оставить заявку – предоставляет возможность оставить заявку без строгого соответствия стандартным параметрам бронирования.
- Запрос на аннуляцию – подача заявки на аннуляцию текущего заказа.
- Отчёты – доступ к печатным и финансовым документам по заявке.
- Контактные данные и текущий пользователь – отображаются телефон и email туроператора, курсы валют, имя пользователя, кнопка выхода.
Информация по заявке
Находится в левом верхнем блоке. Содержит ключевые параметры заявки:
- Статус – текущее состояние заявки.
- Дата создания – с точным временем оформления.
- Агентская комиссия – процент комиссии.
- Страна – страна тура.
- Название тура – отображается название тура.
- Дата заезда и выезда – даты тура.
Финансы

Находится в правом верхнем блоке и включает:
- Стоимость тура – полная цена.
- Комиссия* – отображается в процентах и сумме.
- Курс валюты – при необходимости указывается курс расчёта.
- Скидка клиенту – если применима.
- Оплачено – сумма, уже внесённая клиентом.
- Задолженность – остаток к оплате.
- Дата предоплаты / сумма предоплаты – используются для планирования платежей.
- Дата полной оплаты – крайний срок для внесения всех средств.
Подключение отчётных форм
Общие положения
- Для отображения ссылки и печати отчёта в Личном кабинете необходимо добавить соответствующую запись в файле settings.json клиента ЛК. В массиве ORDER_REPORTS каждая запись соответствует одной печатной форме.
- На текущий момент поддерживается подключение печатных форм типа 4001.
- Каждый подключаемый отчёт печатается по GUID профиля. Для нестандартных профилей требуется уникальный GUID.
Требования к профилю и GUID
- Профиль отчёта, предназначенный для печати в ЛК, должен иметь уникальный GUID.
- GUID можно получить:
* из установочного файла профиля (файл вида Report4xxx.xml, строка <GUID>…</GUID>), * либо запросом к БД:
SELECT *
FROM Rep_Profiles
WHERE RP_RepKey = 4001; -- номер отчёта
- Если установлено несколько профилей одного отчёта, каждому присваивается свой GUID.
Услуги

Блок со списком всех туристических услуг, входящих в заявку:
- Дата – дата начала услуги.
- День – день предоставления услуги.
- Продолжительность – продолжительность услуги.
- Услуга – подробное описание услуги (например, перелёты, отели, трансферы).
- Человек – количество туристов, участвующих в услуге.
- Статус – статус услуги.
Дополнительно:
- Кнопка «Раскрыть колонки» позволяет настроить отображаемые поля таблицы.
Туристы

Таблица с информацией по каждому туристу в заявке(символом
обозначается главный турист по заявке):
- Пол – обозначение пола туриста.
- Фамилия и имя – в латинской транслитерации, если применимо.
- *Дата рождения
- Паспорт – серия и номер паспорта
- Виза – статус или информация о наличии визы (может быть пустым, если виза не требуется или ещё не оформлена).
Чат
Раздел для общения между агентом и туроператором:
- Каждое сообщение сопровождается датой, временем и именем отправителя.
- Новое сообщение вводится в текстовом поле снизу.
- Для отправки используется кнопка со стрелкой.
- Поддерживается вертикальный скролл в истории сообщений.
Документы

Раздел предназначен для загрузки и просмотра файлов по заявке:
- Список загруженных файлов – отображаются прикрепленные документы.
- Категории – могут быть разбиты по типам.
- Кнопка "Загрузка" – позволяет загрузить документы с окна информации о путевке.
История изменений

Хронологический список изменений по заявке:
- Каждая запись содержит дату и описание изменения (например, изменение данных туриста, паспорта и т. д.)
- Изменения фиксируются автоматически при любом действии с данными заявки.
План рассадки
Раздел отображает визуальную схему рассадки туристов, применимую, например, для трансферов, автобусов или ж/д переездов.
- Цветовая индикация
- 🟩 Свободно – место доступно для бронирования
- 🟥 Занято – место уже выбрано другим туристом
- Заблокировано — место нельзя выбрать (например, резерв, санитарная зона и т.п.)
- Структура отображения
- Схема рассадки разделена на зоны (например, "ЗОНА 1", "ЗОНА 2")
- Каждое место имеет уникальный номер и может содержать символы:
- П – проход
- Л, П – левая/правая сторона
- *, **, && – специальные метки, уточняющие особенности места (например, приоритетное, техническое, нестандартное)
- Поведение
- Пользователь может просматривать занятость мест в реальном времени.
- При нажатии может зафиксировать место за туристом.






