@ossy/booking
v1.16.0
Published
Booking feature package — services, availability, and appointment management for Ossy consultants
Readme
@ossy/booking
Booking feature package for the Ossy platform. Lets consultants define services, set weekly availability, and accept client bookings with optional Stripe payment.
Pages
| Page | Path | Audience |
|------|------|----------|
| booking-page | /book/:workspaceId | Public (clients) |
| services | /services | Consultant (authenticated) |
| bookings | /bookings | Consultant (authenticated) |
| availability | /availability | Consultant (authenticated) |
Resource templates
Three resource schemas are registered under the @ossy/booking category:
@ossy/booking/service— what a consultant sells@ossy/booking/booking— a confirmed appointment@ossy/booking/availability— recurring weekly availability window
Resource view slots
Register custom UI for resource types via *.component.jsx with metadata.id matching the slot key (see @ossy/design-system SLOTS.md):
| Component | Slot key |
|-----------|----------|
| service-detail.component.jsx | resource:booking/service/detail |
| service-card-slot.component.jsx | resource:booking/service/card |
| booking-card.component.jsx | resource:booking/booking/card |
Dedicated pages (services.page.jsx, booking-detail.page.jsx, etc.) continue to work alongside generic @ossy/resources slot hosts.
What still needs implementation
- Slot generation — derive available time slots from
availabilityrecords minus existingbookingrecords - Stripe integration — create a PaymentIntent on booking submit, webhook to flip
paymentStatus - Confirmation emails —
booking.send-confirmation-emailtask - Public workspace resolution — resolve
workspaceIdparam on the public booking page without auth
