View the Services calendar
Use the Services calendar to review Harbor Soho's operational schedule by day, week, month or year, with the view fixed to services, private events and permitted location closures.
In this article
The Services calendar gives location operators a focused view of when services are planned, when private events block normal service time and when the location is closed, without bringing reservation counters or booking tools into the workflow.
In the GB demo, open Harbor Demo Group / Harbor Soho around `${SERVICE_OCCURRENCE_START}` to review the seeded Soho lunch service in the Europe/London timezone. The same surface can be restored from route parameters when support, training or capture production needs a repeatable view.
Before you start
- Sign in to Antylogic with Harbor Demo Group and the Harbor Soho location selected.
- Open `/:orgId/:locationId/calendars/services`, normally from the location calendar navigation or a contextual deep link.
- Use `service:view` or `service:manage` at location scope to enter the Services calendar in the UI.
- Harbor Soho provides the `Europe/London` timezone. If a location has no timezone, the calendar falls back to `UTC`.
- To see location closures in this Services view, the backend must also allow `vacation:view` or `vacation:manage` for the location.
Instructions
- 1.
Open the Services calendar
From the selected location context, open `/:orgId/:locationId/calendars/services`. For repeatable GB demo captures, use `${APP_DEEPLINK_BASE}${ORG_ID}/${LOCATION_ID}/calendars/services?mode=week&startDate=${SERVICE_OCCURRENCE_START}` to land on the week around Soho lunch service.
- 2.
Confirm the fixed scope
Read the page as the Services preset. The app requests `service`, `private_event` and `location_vacation` kinds and does not expose an operator-facing kind selector on this surface.
- 3.
Review scheduled services
Use the visible date range to read planned service entries such as Soho lunch service. Recurring services are expanded into concrete calendar instances, so operators work from the actual occurrence shown on the calendar.
- 4.
Check private events and closures
Look for private events such as Private tasting evening and any returned `location_vacation` closure entries. Closures only appear when they exist in the range and the user has the relevant vacation visibility.
- 5.
Change date or view mode
Switch between day, week, month and year, move through time or return to today from the calendar controls. On web, valid mode and date changes are reflected in route parameters so the same view can be restored.
- 6.
Refresh and stay in view-only scope
Refresh the visible range when the service schedule may have changed. This action documents viewing only: creating, editing, recurring split flows and reservation details belong to separate manual actions.
Validations and limits
- The screen requires both organisation and location context; missing context shows a location-not-found state and no calendar event request is made.
- `mode` accepts only `day`, `week`, `month` or `year`; invalid values are ignored.
- Invalid `startDate` or `firstVisibleDate` values are ignored, and date comparisons use the selected location timezone.
- The Services preset sends `kinds=service,private_event,location_vacation`; the kind filter is not exposed because this is not the all-calendar preset.
- The backend filters returned events again by view permission: `service` and `private_event` use the service permission family, while `location_vacation` uses vacation permissions.
- If the user has no backend-visible calendar kinds, the list action returns a permission error instead of a populated calendar.
- The feed endpoint is preferred with `include=instances,summary`; recoverable feed failures fall back to the classic `calendar-events` list endpoint for the current session context.
- Reservation occurrence queries, reservation lists, booking mode, acceptance state and capacity counters are not loaded in the Services preset.
- Recurring events and moved overrides are expanded into instances; cancelled overrides are omitted, and services that overlap a location closure or private event are excluded from returned service occurrences.
Expected result
Operators get a focused, permission-filtered Services calendar for Harbor Soho, can move between supported calendar views and can review services, private events and permitted closures without entering reservation or event-management workflows.