Booking - Core

Update a booking

Changed on

Update an existing booking as an admin.

This uses the same booking update flow as staff members would from the admin dashboard.

Only send what you want to change: since API 2.6.0 every field you leave out keeps its current value, including the time, room, price, customer, group, extras, assigned staff and studio notes. Times, room and price go inside booking_details. The price is never recalculated: moving, resizing or re-rooming a booking keeps its current price unless you also send price. Sending only some of date, start_time and end_time keeps the others. Sending extras or staff_ids replaces the whole list, so an empty list removes them all.

The booking is identified by its code (same as the GET endpoint).

patch/bookings/{code}.json

Request

  • Base URL
    https://api.jammed.app/api/v2
  • Auth
    none declared. Required headers: Authorization

Path parameters

codestring required

The booking code

Headers

Authorizationstring required

Request body

Example request

{
  "booking": {
    "booking_details": {
      "start_at": "2026-11-10T10:00:00Z",
      "end_at": "2026-11-10T12:00:00Z"
    },
    "number_expected": 4
  }
}

Response

Booking updated successfully

codestring

The code of the booking - seen by customers on the booking page

idstring

Same as code

recordingboolean

Whether the room has been marked as a recording

regularboolean

Whether the booking is part of a regular booking

online_bookingboolean

Whether the booking was made online by the customer

created_atinteger

Unix timestamp from epoch

updated_atinteger

Unix timestamp from epoch

approved_atinteger

Unix timestamp from epoch - when the booking was approved (if approved)

rejected_atinteger

Unix timestamp from epoch - when the booking was rejected (if rejected)

priceinteger

The price of the booking time only in cents/pence/units

price_currencystring

The currency of the price

titlestring

The title of the booking - this is generated from the customer and group names

start_atinteger

Unix timestamp from epoch

end_atinteger

Unix timestamp from epoch

durationinteger

The duration of the booking in seconds

duration_hoursnumber

The duration of the booking in hours, e.g. 1pm-2.30pm = 2.5 hours

duration_full_hoursinteger

The duration of the booking in hours, rounded up to each full hour, e.g. 1pm-2.30pm = 3 hours

activity_namestring

The name of the activity the booking is part of - e.g. 'Rehearsal'

datesstring[]

The dates that the booking is part of in local time - given as strings YYYYMMDD format

timezonestring

The timezone of the booking

has_amount_dueboolean

Whether the booking still has an amount due

remaining_amountinteger

The remaining amount due for the booking

cancelledboolean

Whether the booking has been cancelled

taken_bystring

The name of the staff member who took the booking - if null, the booking was made by the customer themselves

Example response

{
  "cancellation_link": {
    "url": "https://studio.jammed.app/reserved?booking=ABC123&hash=...&validation=...",
    "expires_at": 1762352400
  }
}

Changes

    • info

      api tag Booking - Core added

    • info

      api tag Booking Endpoints removed

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • warning

      removed the request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /