Calendar feed & CSV export
iCal feed
POST /businesses/:businessId/calendar-feeds (OWNER or STAFF session; { "providerId": "…" } for one provider's bookings) returns a feed URL once:
https://api.chalehq.com/api/v1/feeds/<token>/calendar.ics
Subscribe to it from Google Calendar (Other calendars → From URL), Apple Calendar or Outlook. The token is the credential: anyone with the URL can read the bookings, so treat it like a password and revoke it (DELETE /calendar-feeds/:id) if it leaks. The feed lists every held, confirmed and checked-in booking from 30 days ago to 90 days ahead — held bookings as TENTATIVE — with the unit or service and the customer's first name in the title, the delivery area as the location, and a link to the booking. Calendar clients refresh on their own schedule (Google: every few hours); the feed itself is cached for 60 seconds.
CSV export
GET /businesses/:businessId/bookings/export.csv?from=2026-09-01&to=2026-09-30 (OWNER session) downloads the bookings of the range (≤ 366 days, default this month) as UTF-8 CSV with the columns id, status, source, startsAt, endsAt, item, customerName, customerPhone, area, totalPesewas, paidPesewas, duePesewas, createdAt. Amounts are integer pesewas (GHS × 100). Cells that would run as spreadsheet formulas are prefixed with '.