// crubal.com/service: the service kind (a service, and bookings of it). package: service /2026-10-14 owner: crubal.com label: Services crubal: 2 licence: CC-BY-4.0 prefixes: schema: https://schema.org/ kind: service levels: service, booking base: Service schema: service: schema:Service booking: schema:Reservation vary: booking: bookingStart, bookingStatus, bookingNotes serviceName$200 =schema:name summary$ =schema:description provider$ =schema:provider area$ =schema:areaServed duration#min accepts: h, s bookingStart@ymdhm =schema:startTime bookingStatus{requested|confirmed|completed|cancelled|no-show} ranked bookingNotes$ day{mon|tue|wed|thu|fri|sat|sun} fixed opens@hm closes@hm facet: hours type: compound pick: any label: Opening hours describe: One row per opening period; a day may have several. A zone, when it matters, qualifies the times. facets: day{mon|tue|wed|thu|fri|sat|sun} fixed opens@hm closes@hm class: Service label: Service for: service facets: !serviceName summary provider area duration hours section: Booking booking::bookingStart booking::bookingStatus booking::bookingNotes rule: bookingHasStart for: booking when: bookingStatus in confirmed, completed then: bookingStart has strength: must because: a confirmed booking needs its start time