Update availability for a service

Merge-updates the vendor-editable booking configuration for one service. Every body
property is optional — absent or null properties are left unchanged, so you can send
just the fields you want to change. If nothing actually changes, the current
configuration is returned and no audit entry is written.

Rules:

  • bookingWindows, when present, replaces the whole set (maximum 20 windows).
    Windows are weekly recurring preferences in local clinic time; days are full English
    day names, and each window must be long enough for the service's effective duration.
    An invalid window fails the request with 400 invalid_window naming the zero-based
    window index. There is no per-date, blackout or capacity model.
  • durationMinutes and bookingLeadValue: 0 clears the value; negative values are
    rejected.
  • Enum inputs (deliveryMode, bookingMode, bookingLeadUnit) are matched
    case-insensitively and stored in canonical casing; unrecognised values are rejected
    with 400 naming the valid values (nothing is silently defaulted).
  • Walk-in side-effects: when the effective bookingMode is WalkIn, the service
    takes no appointments, so selfServiceBooking is forced to false and
    bookingWindows and bookingLeadValue are cleared, regardless of what else the
    request says. The audit diff records these changes.
  • Setting selfServiceBooking: true while the windows list is empty is allowed, but
    members then have no windows to request — the service is effectively unbookable
    until windows are published.

Not editable via the API (ignored if sent): nationwide, locationIds and the
results-turnaround fields — service coverage is managed by the Precursor care team.
The API also cannot add or remove services; a serviceId you do not offer returns
404. Changes are recorded in your activity log with a field-by-field diff.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The service's identifier, from the availability or bookings endpoints.

Body Params

A merge-update: absent or null properties are left unchanged. bookingWindows, when present, replaces the whole set.

string
enum

How the service is delivered. Case-insensitive; stored in canonical casing.

Allowed:
string
enum

Appointment or WalkIn. Switching to WalkIn forces selfServiceBooking off and clears the booking windows and lead time.

Allowed:
boolean

Whether members can request this service themselves in the app.

integer
≥ 0

The appointment duration in minutes. 0 clears the value.

integer
≥ 0

The minimum notice members must give, in bookingLeadUnit. 0 clears the value.

string
enum

The unit for bookingLeadValue. Case-insensitive; stored in canonical casing.

Allowed:
bookingWindows
array of objects
length ≤ 20

Replaces the full set of weekly windows (maximum 20). Each window must use full English day names and be long enough for the service's effective duration.

bookingWindows
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json