Page Introduction

Page contract details

This contract page maps concrete frontend page behavior to API calls, payloads, and response fields.

  • Use the endpoint matrix as implementation checklist.
  • Use page-specific try-it for fast request verification.
  • Keep request/response shape aligned with listed frontend usage fields.

Platform Page Contract

03 - Kalender

## Page purpose Kalendersiden (`/calendar`) shows kommende avtaler i måned/uke/dag, og lar bruker åpne bookingdetaljer eller utføre raske statushandlinger.

5Mapped endpoints
2Frontend files
26Lines
1.6 KBFile size

Source: API-DOC/page-api-mapping/03-kalender.md

Mapped endpoints for this page

MethodPathScopeUI usageTest
GET/api/ws/v2/bookings/calendarPage-specific (kanonisk)Fetch kalenderhendelserTry-It
GET/api/ws/v2/calendar/eventsPage-specific alias (deprecated)Temporary compatibilityTry-It
POST/api/ws/v2/bookings/status-transitionsSharedHurtig avbestill/fullførTry-It
POST/api/ws/bookings/cancel/:booking_idShared fallback (feature-flagged)Legacy fallback under migreringTry-It
POST/api/ws/bookings/complete/:booking_idShared fallback (feature-flagged)Legacy fallback under migreringTry-It
GET/api/ws/v2/bookings/calendar

Scope: Page-specific (kanonisk)

UI usage: Fetch kalenderhendelser

Response fields used: events[].booking_id, start, end, status, customer, vehicle, service

GET/api/ws/v2/calendar/events

Scope: Page-specific alias (deprecated)

UI usage: Temporary compatibility

Response fields used: samme som over

POST/api/ws/v2/bookings/status-transitions

Scope: Shared

UI usage: Hurtig avbestill/fullfør

Response fields used: updated[], failed[], totals

POST/api/ws/bookings/cancel/:booking_id

Scope: Shared fallback (feature-flagged)

UI usage: Legacy fallback under migrering

Response fields used: statusmeldinger

POST/api/ws/bookings/complete/:booking_id

Scope: Shared fallback (feature-flagged)

UI usage: Legacy fallback under migrering

Response fields used: statusmeldinger

Try this page endpoints

Interactive console below is filtered to endpoints mapped for this page contract.

Source markdown

03 - Kalender

Page purpose

Kalendersiden (/calendar) shows kommende avtaler i måned/uke/dag, og lar bruker åpne bookingdetaljer eller utføre raske statushandlinger.

Frontend methods and components

  • src/features/calendar/Calendar.tsx
    • getCalendarEvents(...)
    • mapCalendarEventToLegacyBooking(...)
  • src/features/bookings/BookingCard.tsx
    • cancelBooking(...)
    • completeBooking(...)

Endpoint matrix

Scope Method Endpoint UI usage Request Response fields used by frontend
Page-specific (kanonisk) GET /api/ws/v2/bookings/calendar Fetch kalenderhendelser from, to, tz, ev. status events[].booking_id, start, end, status, customer, vehicle, service
Page-specific alias (deprecated) GET /api/ws/v2/calendar/events Temporary compatibility from, to, tz samme som over
Shared POST /api/ws/v2/bookings/status-transitions Hurtig avbestill/fullfør booking_ids, target_status, apply_scope, reason, metadata updated[], failed[], totals
Shared fallback (feature-flagged) POST /api/ws/bookings/cancel/{booking_id} eller /api/ws/bookings/complete/{booking_id} Legacy fallback under migrering legacy payload statusmeldinger

What frontend expects from backend

  • Kalenderrespons må inneholde entydig booking_id for navigasjon til /booking/{id}.
  • Tidspunkter må være ISO-format som kan vises direkte i norsk locale.
  • Statusmutasjoner må være konsistente med samme statuskodekatalog som bestillingssiden.