VSN-2102/ refactor(passenger-schedule): Implement schedule config management API with week templates and exceptions
This merge request includes the following changes:
- Full backend implementation of the schedule configuration system for passengers
- Support for week parity (EVEN/ODD/ALL) with template-based schedule management
- Exception system allowing modification or cancellation of specific dates
- Computed daily schedule endpoint considering templates, parity, and exceptions
Endpoints
-
POST
/{passengerUuid}— Create a schedule config with name, date range, week type, and day schedules -
GET
/{passengerUuid}— Retrieve all schedule configs for a passenger -
GET
/uuid/{configUuid}— Retrieve a single schedule config by UUID -
POST
/{configUuid}/update— Update a schedule config (name, dates, days) -
POST
/{configUuid}/delete— Delete a schedule config -
POST
/{configUuid}/week-template— Add a week template (EVEN or ODD) -
POST
/{configUuid}/week-template/{weekType}/update— Update a week template (full day replacement) -
POST
/{configUuid}/week-template/{weekType}/delete— Delete a week template -
POST
/{configUuid}/exceptions— Add an exception (MODIFIED or CANCELLED) for a specific date -
POST
/{configUuid}/exceptions/{exceptionUuid}/remove— Remove an exception -
GET
/{passengerUuid}/daily?date=— Get computed schedule for a single date -
GET
/{passengerUuid}/range?startDate=&endDate=— Get computed schedules for a date range