These docs are for v1.0. Click to read the latest docs for v3-prod.
Fixed

OnSched API & dashboard 3.22.5 — Calendar pages and customer delete

Merchant Portal calendar

The calendar follows the appointment list page by page for the dates on screen, so a busy week no longer hides appointments after the first page. The appointments table is unchanged and still moves through results one page at a time.

A busy month can need more list pages than the appointment list allows in one burst. The calendar waits for that limit to refill and retries a rate-limited page. If a later page still cannot load, appointments already shown stay on the calendar, and a notice says that some appointments could not load. If the first page fails, the calendar shows the error instead of that notice.

Dashboard customers

Confirming delete on the Customers page now removes that customer. The dialog closes after the customer is deleted, and the list refreshes. If the delete fails, the dialog stays open and the portal shows the error.

Google Calendar write access

A Google connection that grants calendar read access without write access stays connected. Appointment push stays off (write false, writeGranted false) and calendar health stays healthy while reads succeed. Resource and external-calendar responses include writeGranted. Enabling write without that grant returns 400 and code CALENDAR_WRITE_NOT_GRANTED, with the reconnect endpoint in errors[].reconsentPath. A grant with no calendar scope is still a failed authorization. A completed reconnect replaces the refresh token. Booking still succeeds when Google rejects an event write on a calendar that is already set to write; that resource's calendar health is marked failed.