Scheduling
BIAB's scheduling engine powers appointment booking — event types, available time slots, and full confirm/reschedule/cancel lifecycle.
// List event types (services you can book)
const eventTypes = await client.scheduling.listEventTypes()
// → [{ id, title, duration, price, description }, ...]
// Get available slots for a date range
const slots = await client.scheduling.getAvailableSlots({
eventTypeId: 'evt-1',
dateFrom: '2026-07-01',
dateTo: '2026-07-07',
})
// → [{ start: '2026-07-01T09:00', end: '2026-07-01T10:00' }, ...]
// Confirm a booking
const booking = await client.scheduling.confirmBooking({
eventTypeId: 'evt-1',
start: '2026-07-01T09:00',
end: '2026-07-01T10:00',
name: 'Jane Doe',
email: 'jane@example.com',
})
// Reschedule or cancel
await client.scheduling.reschedule(booking.id, { start: '2026-07-02T09:00' })
await client.scheduling.cancel(booking.id, { reason: 'schedule conflict' })
The scheduling UI (date picker, time slot grid) is built client-side from
the returned slot data. Use a <BiabForm> with schedule fields for a
drop-in booking widget.