Schedule & cruise departures module — JetSetGo MCP reference
The schedule module turns a configured product — resource, route, layout template, pricing — into bookable departures. It covers recurrence-driven service generation, multi-night accommodated cruise departures, day-of-service control (status changes, runtime reassignment, reservation moves), and three scheduling-convenience template sets.
What the operator uses it for
The core workflow is generating timetabled services: each service is one bookable date and time on a specific route and resource. Creation goes through a composite backend operation (schedule_create_services) whose load-bearing side effect is instantiating the chosen layout template into per-service capacity — without that instantiation a service has no sellable capacity. The tool's preview always warns about this side effect.
Operators also manage accommodated cruise departures (named multi-night entries with check-in/check-out dates and times; the per-night services are generated through the same service-creation operation), and exercise day-of-service control: setting service status (active / stop-sell / cancelled), swapping the runtime asset or team lead, moving every reservation from one service to another, and bulk-applying a capacity structure over a slice of services (each receives a snapshot first).
Finally the module owns three template sets used while scheduling: stops profiles (resource-scoped pick-up/drop-off presets), price-type allocation rule templates (rules mapping fare items — passenger or vehicle types — onto capacity within a layout template), and restriction templates (per-allocation-category reserve/release/limit rules attached to a layout template).
Where it sits
Upstream: resources, routes, layout templates, pricing structures, tracks, passenger-or-vehicle-type definitions, and assets. Downstream: bookings sell against generated services; inventory owns each service's capacity structure after instantiation; manifests, boarding, and reporting consume services as the operational unit of the day.
Key concepts
- Service — a single bookable departure (one date + time on a route + resource); identified by id, not by name.
- Cruise departure — a multi-night accommodated-cruise entry with per-night services auto-created alongside it.
- Layout-template instantiation — the backend cloning the chosen layout template's capacity structure into each newly created service.
- Stop-sell — a service status that halts sales without cancelling the departure.
- Stops profile — a saved pick-up/drop-off preset scoped to one resource.
- Price-type allocation rule template — maps fare items (passenger or vehicle types) to capacity values inside a layout template; may carry a default fare item.
- Restriction template — reserve/release/limit rules per allocation category, attached to a layout template.
Tools
| Tool | Class | Purpose |
|---|---|---|
schedule_list_services |
Read | List services (date range, statuses, resource filter). |
schedule_get_service |
Read | Fetch one service by id. |
schedule_check_service_reservations |
Read | Count a service's non-deleted reservations (cancel pre-check). |
schedule_list_cruise_departures |
Read | List cruise departures (date range/status/search). |
schedule_list_cruise_departure_templates |
Read | List reusable cruise configurations. |
schedule_get_service_assignments |
Read | Team lead + capacity-set id for given services. |
schedule_check_existing_services_for_dates |
Read | Which dates in a range already have services for a resource. |
schedule_create_services |
Guarded write | Generate services; the backend instantiates the layout template into per-service capacity. |
schedule_set_service_status |
Guarded write (destructive when cancelling) | Set active / stop-sell / cancelled; cancel-guard enforced. |
schedule_reassign_services |
Guarded write | Swap runtime asset and/or team lead on services. |
schedule_bulk_move_reservations |
Guarded write (destructive) | Move all reservations from one service to another. |
schedule_bulk_apply_blueprint |
Guarded write (destructive) | Overwrite live capacity trees from layout-template JSON; snapshots first. |
schedule_create_cruise_departures |
Guarded write | Bulk-create accommodated cruise departures. |
schedule_set_cruise_departure_status |
Guarded write (destructive when cancelling) | Set active / cancelled on cruise departures. |
schedule_save_cruise_departure_template |
Guarded write | Create a reusable cruise configuration. |
schedule_list_stops_profiles |
Read | List stops profiles for a resource. |
schedule_save_stops_profile |
Guarded write | Create a resource-scoped pick-up/drop-off preset. |
schedule_delete_stops_profile |
Guarded write (destructive) | Soft-delete a stops profile. |
schedule_list_ptar_templates |
Read | List price-type allocation rule templates for a layout template. |
schedule_save_ptar_template |
Guarded write | Create an allocation-rule template. |
schedule_delete_ptar_template |
Guarded write (destructive) | Soft-delete an allocation-rule template. |
schedule_list_restriction_templates |
Read | List restriction templates for a layout template. |
schedule_save_restriction_template |
Guarded write | Create a restriction template. |
schedule_delete_restriction_template |
Guarded write (destructive) | Soft-delete a restriction template. |
Rules worth knowing
- Services are created only via
schedule_create_services. A raw record insert would skip layout-template instantiation and leave a service with no sellable capacity; the preview states this warning explicitly. - Status is the only service field written directly after creation; every other field is set by the backend at creation time. Cancelling is blocked while any non-deleted reservations exist — the guard runs at preview and is re-checked at confirm, so a booking arriving between the two forces a re-preview.
- Reservation bulk-move semantics: source and target must differ; mode is
best_effort(skip failures) orall_or_nothing; classified destructive because it relocates live bookings. - Capacity bulk-apply overwrites live capacity trees on every targeted service after snapshotting them; classified destructive.
- Reassignment argument semantics: a number assigns,
nullclears, omitting leaves unchanged; a zero value coerces to null rather than being written. - Soft deletes for templates. Stops profiles and the two layout-template-scoped template sets hide rows via deleted flags; cruise departures exit via status
cancelled; cruise-departure templates deliberately have no delete operation. - Cruise defaults. Nights range 1–30; omitted check-in/check-out times default to 14:00 and 10:00 respectively.
- Name enrichment is probe-gated. Reads include resource/route/price-list names only where the tenant tracks those relationships; otherwise they degrade to flat id columns.
Related modules
- Routes — every service runs on a route's ordered stop sequence.
- Blueprints — layout templates instantiated into per-service capacity at creation.
- Resources — supplies the operating assets and runtime assignment targets.
