Added
OnSched 3.12.0 - reschedule predecessor start time and cancelled interval
about 14 hours ago by ReadMe GitHub Action
API
- Reschedule predecessor start: After
PUT /v3/appointment/{id}/reschedule, the new appointment includesrescheduledFromStartTime— the immediate predecessor's scheduled start instant (Unavailability.startTimeat reschedule time). It pairs withrescheduledFromAppointmentIdon the same hop. Null when the row was not created by a reschedule. Read-only; sending it on create, update, book, reschedule, cancel, or confirm returns400. - Cancelled scheduled interval: After
PUT /v3/appointment/{id}/cancel, private appointment responses includescheduledStartTimeandscheduledEndTime— the occupancy interval at cancel time. NestedUnavailabilityis still destroyed so the slot is free. Read-only; sending either field on create, update, book, reschedule, cancel, or confirm returns400.GET /v3/appointmentsfrom/tofilters match cancelled rows via the scheduled start when occupancy is gone. - No backfill: Successors created before this release keep
nullfor the start field, including rows that already hadrescheduledFromAppointmentId. Appointments cancelled before this release keepnullscheduled fields. - Audit: Success
rescheduleaudit snapshots includerescheduledFromStartTimewhen the predecessor had a start time.rescheduleFromTrailstays ids-only. Cancel audit continues to storeslotStart/slotEnd. - Public and V1 unchanged: Public GET still omits predecessor and scheduled-interval fields; V1
rescheduledIdstaysnull.
See Appointments Guide and Appointment Audit Events.
Dashboard
- Appointment detail: When a booking has a predecessor, the edit panel shows the predecessor's previous start time above the predecessor id link.
- Cancelled appointments: The appointments table and appointment detail show
scheduledStartTimewhen occupancyUnavailabilityis gone after cancel. The operator calendar still hides cancelled rows. - Appointment list sort:
GET /v3/appointmentsacceptssort=created|scheduledandorder=asc|desc. Default is newest row first (sort=created,order=desc). Usesort=scheduledto order the full paginated result by occupancy start, elsescheduledStartTimeafter cancel (defaultorder=asc). The Merchant Portal appointments table uses scheduled sort.
