bookings
$
npx mdskill add BuilderIO/agent-native/bookingsManage end-to-end booking states and attendee interactions.
- Handles lifecycle transitions from pending to confirmed or cancelled.
- Integrates with Google Calendar, Zoom, and external reference systems.
- Uses magic tokens for secure attendee self-service management.
- Delivers RFC 5545 calendar files for email attachments and invites.
SKILL.md
.github/skills/bookingsView on GitHub ↗
--- name: bookings description: Booking lifecycle — pending, confirmed, rescheduled, cancelled — plus attendees, references, no-shows, and reminders. --- # Bookings ## Lifecycle - **pending** — requires-confirmation event types start here - **confirmed** — normal state - **rescheduled** — the old booking after a reschedule (the new one is confirmed; `from_reschedule` links them) - **cancelled** — either party cancelled - **rejected** — pending was declined ## Reschedule vs cancel+rebook The `reschedule-booking` action creates a new booking with a link back to the old via `fromReschedule`. iCalUID is preserved across the reschedule chain (RFC 5545), and `iCalSequence` is bumped. ## No-show `mark-no-show` sets `noShow: true` on an attendee. Round-robin calibration uses this to penalize hosts whose attendees no-show frequently. ## Cancel / reschedule tokens Every booking has a `cancelToken` and `rescheduleToken` used in public magic links sent to attendees. These let them manage the booking without logging in. ## References External system IDs: Google Calendar event id, Zoom meeting id, Daily.co room name. Stored in `booking_references`, used during cancel/reschedule to propagate changes back to the source system. ## ICS `/booking/:uid.ics` returns the RFC 5545 calendar file. Used for confirmation-email attachments and "Add to calendar" buttons.
More from BuilderIO/agent-native