Added
OnSched 3.10.0 - filter locations by custom field, filter appointments by status
about 21 hours ago by ReadMe GitHub Action
API
- Filter locations by custom field:
GET /v3/locationsacceptsCustomFields.<key>=<value>query parameters, matched exactly and combined with AND, the same wayGET /v3/customersalready works. Use it to look up a location by your own region code, store number, or CRM id. See Locations. - Authenticated requests only:
GET /v3/public/locationsreturns400forCustomFields.<key>parameters, because public location responses contain onlyidandname. - Invalid shapes are rejected:
CustomFields={...}andcustomFields.<key>return400, matching the customers list. - Filter appointments by status:
GET /v3/appointmentsacceptsstatuswith one or more values. Repeat the parameter (?status=BK&status=CN) or send a comma-separated list (?status=BK,CN) to retrieve booked and cancelled appointments together. Values are case-insensitive, so?status=bkalso works. See Appointment Guide. - Appointment status default unchanged: Omitting
statusstill returns appointments of every status, including holds (IN,RS) and rescheduled placeholders (RE). An unrecognized or emptystatusreturns400listing the accepted values, where such a request previously failed with500.
Dashboard
- Custom Fields tab on locations: the Location profile has a Custom Fields tab, alongside the existing tabs on Resource, Service, and Customer profiles.
Availability
- Weekly allocation days are local:
GET /v3/availabilityand hold/book validation no longer offer the previous local evening when a resource, service, or pair weekly Allocation omits that weekday. Friday-only 09:00–17:00 inAmerica/New_Yorkdoes not return Thursday 20:00–00:00 (EDT) or 19:00–00:00 (EST). Weekly Operating Hours that run to 22:00 still offer Friday 20:00. A location that is closed on a calendar day stays closed across UTC midnight when a weekly allocation is open on a neighboring day. - Rescheduled holds keep their slot:
PUT /v3/appointment/{id}/rescheduleon a hold at a location withexpirationDelay0no longer writes an already-elapsed expiration, soGET /v3/availabilitykeeps the new slot blocked until you book or delete the hold. - Zero booking timer does not break availability:
GET /v3/availabilityfor a location withexpirationDelay0returns slots instead of500.
