Skip to main content
POST
/
api
/
spaces
/
bookingproducts
{
  "Status": 123,
  "Message": "<string>",
  "Value": "<any>",
  "WasSuccessful": true,
  "Errors": [
    {
      "AttemptedValue": "<any>",
      "Message": "<string>",
      "PropertyName": "<string>"
    }
  ]
}
A BookingProduct links a Product to a Booking. Only products that are associated with the resource being booked (via ResourceProduct) can be used. For example, if a meeting room resource has a “Catering” product linked through ResourceProduct, that product can be added to bookings for that room as a BookingProduct.

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 BookingProduct-Create role.

Request Body

Required Fields

BookingId
integer
required
Booking Id.
ProductId
integer
required
Product Id.
Quantity
integer
required
The number of units of this product to include in the booking.

Optional Fields

InvoiceInMinutes
boolean
Whether to invoice this product based on the booking duration in minutes.
MrmReminded
boolean
Mrm Reminded.

Code Examples

curl -X POST \
  "https://spaces.nexudus.com/api/spaces/bookingproducts" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "BookingId": 0,
    "ProductId": 0,
    "Quantity": 0
}'

Response

200

Status
integer
HTTP status code. 200 on success.
Message
string
A human-readable message confirming the creation.
Value
object
Contains the Id of the newly created record.
WasSuccessful
boolean
true if the bookingproduct was created successfully.
Errors
array
null on success.
Example Response
{
  "Status": 200,
  "Message": "BookingProduct was successfully created.",
  "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": "Name: is a required field",
  "Value": null,
  "Errors": [
    {
      "AttemptedValue": null,
      "Message": "is a required field",
      "PropertyName": "Name"
    }
  ],
  "WasSuccessful": false
}