Добрый день!

Была старенькая система бронирования билетов на автобусы.

Разрабатываем новую https://infobus24.de/ 

Система создана на основе стека технологий MERN (MongoDb, Express.js, React.js, Node.js.).
Соответственно база данных на MongoDb
API для управления БД на Node.js. с Express.js
Сайт на React.js

Сайт на трех языках: рус, укр и нем.

Есть несколько уровней доступа со своим функционалом. Для каждого свой личный кабинет.

Плюс ко всему нужно настроить формирование и отправку билетов и налоговой отчетности по образцу.

На данном этапе много недочетов и багов.

Все нужно исправить, чтоб работало и сохранить весь функционал старой системы (все доступы предоставлю).

Типы пользователей:

1) Супер админ - это главный консолидатор - владелец. Он может делать все: добавлять консолидаторов, агентов, перевозчиков, вносить любую информацию и править ее, давать и закрывать любые доступы.

2) Консолидатор - те, кому мы даём систему в аренду, в том числе и наша собственная  (мы тоже продаем билеты).

Консолидатор может делать:

- создает фирм перевозчиков и агентов (тех, кто просто продает билеты), добавляет в свою группу (Firmengruppe),

- создает маршруты с привязкой к перевозчику,

- создает и вносит разную доп информацию для создания марштрутов (скидки, багаж, километраж и т д).

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

3) Шеф - это тот, кто может выполнять обязанности консолидатора вместо него, его назначает консолидатор, выдает ему доступ, может доступ открыть или закрыть. Он имеет частично ограниченный доступ, без права удалять и добавлять новых консолидаторов,  перевозчиков. Но позволяет создать или редактировать агентства, маршруты, расписание, условия перевозок, цены, багаж, скидки, счета и билеты.

4) Диспетчер – ограниченный доступ, разрешено редактирование заказов, выставление счетов и билетов, закрытие обратной даты, доступ к созданию  и редактированию информации по отправке автобусов, доступ к посадочным листам. Диспетчера назначает консолидатор и точно также выдает ему доступ.

5) Агентство (агента) регистрирует консолидатор и выдает ему доступ (так работает сейчас).

Агент сам может менять пароль, если он его забыл. Но у консолидатора всегда есть право закрыть доступ агенту.  У агента есть доступ к бронированию маршрутов, своему рабочему кабинету, информации и коду (фрейму) бронирования для установки на свой сайт.

6) Перевозчик – только доступ непосредственно к своим листам пассажиров.

Что нужно сделать.

------------

1. Когда ищем билет (Поиск рейсов):

- не находит все доступные рейсы туда и обратно. 

Например, из Берлина в Калининград может быть 2 и больше рейса, которые отправляются в один день, но в разное время.

Сейчас показывает только 2 рейса и время отправления одинаковое (хотя оно разное).

- не видны изменения в найденных рейсах.

Например, изменили дни недели, по которым отправляется рейс. 

Показывает только старые дни недели, которые были раньше.

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

Сейчас просто показывается одно время, хотя рейсов несколько с разным временем отправления.

2. При бронировании агентству нужно поле Off.N. (столбец) - офис номер, это их личный номер резервирования.

3. В билете убрать наш личный номер телефона. В билете слева поставить номер телефона агентства.

4. Добавить возможность редактировать комиссию для агентства на вкладке Агентства.

5. Сделать множественный выбор для изменения в рейсе: отключить города, изменить цену и т.д? Чтоб не изменять по-отдельности для каждого города.

6. На вкладке Рейсы добавить возможность удалить рейс

7. Добавить возможность изменять в расписании дни недели, по которым отправляется рейс, например, пт и вс. 

Учесть, что в разные дни недели автобус может отправляться из разных локаций одного города или из разных городов.

8. Возможность блокировать бронирование билетов по городу, локации посадки в отдельном рейсе.

9. Добавить в списке бронирований к каждому бронированию всю информацию о пассажире (например, отдельная кнопка I - с раскрывающейся информацией).

10. Список пассажиров по образцу с возможностью распечатки (сейчас это не доделано).

11. Добавить статусы бронирования.

1) Статус Новый - когда происходит новая бронь

2) Статус В обработке - отправка перевозчику email Reservierung.

Перевозчик подтверждает наличие места по телефону или присылает  емейл с подтверждением.

3) Статус "Подтверждено счет" - после подтверждения перевозчиком места - отправка счета агентству или клиенту на email. Причем форма этих счетов разная.

Агентство присылает нам квитанцию об плате или мы сами в банке видим, что оплатили.

4) Статус "Подтверждено билет" - после подтверждения оплаты  билет отправляется на почту агентству или клиенту и отображается в системе.

5) Статус Оплачено

6) Статус Отменён - удаляется счёт и билет, соответственно место освобождается для бронирования и агентству отправляется email, что брони отменена.

Все статусы выбираются вручную, кроме первого "Новый", который автоматически применяется к новому бронированию.

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

10 месяцев назад
svzem
52 года
12 лет в сервисе
Была
месяц назад
Файлы доступны только авторизованным пользователям

Заявки фрилансеров

Аркадий
 
24 года
7 лет в сервисе
Был
10 дней назад
47 отзывов
10 месяцев назад
Максим
 
48 лет
19 лет в сервисе
Был
17 дней назад
10 месяцев назад
Сергей
 
40 лет
5 лет в сервисе
Был
19 часов назад
1 отзыв
10 месяцев назад
Сергей
 
27 лет
10 месяцев в сервисе
Был
10 месяцев назад
10 месяцев назад