Skip to main content
PUT
/
api
/
spaces
/
bookings
Update Booking
curl --request PUT \
  --url https://spaces.nexudus.com/api/spaces/bookings \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "Id": 123,
  "ResourceId": 123,
  "FromTime": "<string>",
  "ToTime": "<string>",
  "Repeats": 123,
  "WhichBookingsToUpdate": 123
}
'
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
Updates an existing Booking record. You must include the Id of the record to update along with all required fields.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the Booking-Edit role.

Enums

ValueName
1Daily
2Weekly
3Monthly
4Yearly
5FirstOfMonth
6SecondOfMonth
7ThirdOfMonth
8LastOfMonth
9FourthOfMonth
ValueName
1UpdateThisBookingOnly
2UpdateFutureBookingsOnly
3UpdateAllBookings
4UpdateNotChargedBookings
5DeleteAllBookings
6DeleteBookingsAfterThis
7DeleteNotChargedBookings
8RevertAllCharges

Request Body

Required Fields

Id
integer
required
The Id of the Booking record to update.
ResourceId
integer
required
ID of the resource linked to this record.
FromTime
string
required
Booking start time.
ToTime
string
required
Booking end time.
Repeats
integer
required
Repeat cycle. Create-only.
WhichBookingsToUpdate
integer
required
Action to apply when updating or deleting bookings in a repeated series. This is the only field that can modify a series after creation.

Optional Fields

FloorPlanDeskId
integer
ID of the floor plan desk linked to this record.
CoworkerId
integer
ID of the coworker linked to this record.
ExtraServiceId
integer
ID of the extra service linked to this record.
Notes
string
Optional notes or comments about this booking.
InternalNotes
string
Internal notes.
ChargeNow
boolean
Charge immediately.
InvoiceNow
boolean
Invoice immediately.
InvoiceThisCoworker
boolean
Charge the booking to the customer making it rather than their paying member (if any).
DoNotUseBookingCredit
boolean
Do not use booking credit.
PurchaseOrder
string
Purchase order.
DiscountCode
string
Discount code.
LastNotificationTime
string
Date/time value for last notification time.
GoogleCalendarId
string
ID of the google calendar associated with this record.
GoogleEventId
string
ID of the google event associated with this record.
Office365EventId
string
ID of the office365 event associated with this record.
PublicGoogleEventId
string
ID of the public google event associated with this record.
Tentative
boolean
Tentative booking. Must be approved by an administrator before confirmed or charged. Tentative bookings still block the calendar.
TeamsAtTheTimeOfBooking
string
Teams at the time of booking.
TariffAtTheTimeOfBooking
string
Tariff at the time of booking.
RepeatSeriesUniqueId
string
ID of the repeat series unique associated with this record.
RepeatBooking
boolean
Create a repeating booking series. Create-only: once created, only WhichBookingsToUpdate can be used to update the series. No new bookings can be added to the series.
RepeatEvery
integer
Repeat every N periods. Create-only.
RepeatUntil
string
Repeat until date. Create-only.
RepeatOnMondays
boolean
Repeat on Mondays. Create-only.
RepeatOnTuesdays
boolean
Repeat on Tuesdays. Create-only.
RepeatOnWednesdays
boolean
Repeat on Wednesdays. Create-only.
RepeatOnThursdays
boolean
Repeat on Thursdays. Create-only.
RepeatOnFridays
boolean
Repeat on Fridays. Create-only.
RepeatOnSaturdays
boolean
Repeat on Saturdays. Create-only.
RepeatOnSundays
boolean
Repeat on Sundays. Create-only.
Reminded
boolean
Whether reminded is enabled.
MrmReminded
boolean
Whether mrm reminded is enabled.
OverridePrice
number
Admin-set fixed price for the booking, regardless of what extra service (rate) is associated with it.
KisiKeyId
integer
ID of the kisi key associated with this record.
StartScheduledJobId
string
ID of the start scheduled job associated with this record.
EndScheduledJobId
string
ID of the end scheduled job associated with this record.
Billed
boolean
Whether billed is enabled.
FromTimeLocal
string
Date/time value for from time local.
ToTimeLocal
string
Date/time value for to time local.
InvoiceDateLocal
string
Date/time value for invoice date local.
CoworkerExtraServicePrice
number
The coworker extra service price value for this booking.
IncludeZoomInvite
boolean
Include Zoom invite.
ZoomEventData
string
The zoom event data value for this booking.
Office365AdminEventId
string
ID of the office365 admin event associated with this record.

Children

BookingProducts
object[]
Products to include with this booking
BookingVisitors
object[]
Visitors to add to this booking

Code Examples

curl -X PUT \
  "https://spaces.nexudus.com/api/spaces/bookings" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ResourceId": 0,
    "FromTime": "2025-01-15T10:30:00Z",
    "ToTime": "2025-01-15T10:30:00Z",
    "Repeats": 0,
    "WhichBookingsToUpdate": 0,
    "Id": 87654321,
    "BookingProducts": [
        {
            "ProductId": 0,
            "Quantity": 0,
            "InvoiceInMinutes": false
        }
    ],
    "BookingVisitors": [
        {
            "VisitorFullName": null,
            "VisitorEmail": null
        }
    ]
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the update.
Value
object
Contains the Id of the updated record.
WasSuccessful
boolean
true if the booking was updated successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "Booking was successfully updated.",
  "Value": {
    "Id": 87654321
  },
  "OpenInDialog": false,
  "OpenInWindow": false,
  "RedirectURL": null,
  "JavaScript": null,
  "UpdatedOn": "2025-01-15T10:30:00Z",
  "UpdatedBy": "admin@example.com",
  "Errors": null,
  "WasSuccessful": true
}

400

Message
string
A summary of the validation error(s), in the format PropertyName: error message.
Value
any
null on validation failure.
Errors
object[]
Array of validation errors.
WasSuccessful
boolean
false when the request fails validation.
Example Response
{
  "Message": "FromTime: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "FromTime"
    }
  ],
  "WasSuccessful": false
}