---
title: "Validate a booking."
method: POST
path: "/api/v2/organizations/{orgSlug}/bookings/validate"
tags: ["Bookings"]
---

# Validate a booking.

`POST /api/v2/organizations/{orgSlug}/bookings/validate`

## Request

- Base URL: `https://app.officernd.com`
- URL: `https://app.officernd.com/api/v2/organizations/{orgSlug}/bookings/validate`
- Auth: OAuth 2
  - Authorization code: `https://identity.officernd.com/auth/authorize`
  - Client credentials
  - Token URL: `https://identity.officernd.com/auth/token` scopes: `flex.space.bookings.validate`

Validates a booking and returns a result stating if the booking is valid and any charges, fees, or credits that are going to be used. 

 Required scopes: `flex.space.bookings.validate`

## Path parameters

- `orgSlug` string, required

## Request body

- ValidateBookingRequestDto
  - `_id` string: The _id of the existing booking which you'd like to edit. This parameter is used only when validating changes to existing bookings.
  - `resource` string, required: The _id of the resource for which the booking is going to be created.
  - `start` string, required: Contains the start date of the booking.
  - `end` string, required: Contains the end date of the booking.
  - `member` string: Contains the _id of the member associated with the booking summary request.
  - `company` string: Contains the _id of the team associated with the booking summary request.
  - `editFrom` string: The date from which the booking occurrences are going to be edited. If no value is provided, the start date of the booking is used.

## Response `200`

- BookingResultDto
  - `properties` object: An object that contains all custom properties that can be applied to the item.
  - `_id` string: The _id of the booking.
  - `timezone` string: The timezone of the booking.
  - `start` string: The start date of the booking.
  - `end` string: The end date of the booking.
  - `recurrence` BookingRecurrenceResultDto
    - `rrule` string: The recurrence rule for the booking.
    - `exdates` string[]: The dates that are marked as an exception from the recurrence.
  - `seriesStart` string: The start date of the series or standalone booking. For recurring bookings, this refers to the start of the entire series
  - `seriesEnd` string: The end date of the series or standalone booking. For recurring bookings, this refers to the end of the last occurrence.
  - `location` string: The _id of the location of booking.
  - `company` string: Reference to the company.
  - `member` string: Reference to the member.
  - `resource` string: Reference to the booked resource.
  - `fees` BookingFeeResultDto[]: Array of items describing how the booking will be charged for.
    - `date` string, date-time: The date of the occurrence the fee has been generated for.
    - `fee` string: The actual charge generated for this occurrence.
    - `extraFees` string[]: Array of fees generated for the extras.
    - `passes` string[]: Array of passes used for this occurrence.
    - `credits` BookingCreditsResultDto[]: The credits used for the booking.
      - `count` number: The number of credits used for the booking.
      - `credit` string: The _id of the set of credits used for the booking.
    - `coins` BookingCoinResultDto[]: The coins used for the booking.
      - `_id` string: The _id of the coin used for the fee.
      - `count` number: The count of the coins used for the fee.
    - `customPrice` number: Used if you want to set a custom price for the booking and ignore the standard rate. Can also be used a in PUT request to update an existing booking.
  - `reference` string: The reference id of the booking.
  - `isCancelled` boolean: Whether the booking got canceled or not.
  - `title` string: Booking title/summary.
  - `rate` string: Reference to the resource rate used for the booking.
  - `description` string: Long description of the booking.
  - `isTentative` boolean: True if the booking is not confirmed. Tentative bookings are not charged.
  - `isFree` boolean: True if the booking is marked as free. If create a booking marked as free, no fees will be added for it.
  - `isAccounted` boolean: True if the booking is marked as accounted.
  - `extras` object[]: Extras that are added to the booking.
  - `visitors` string[]: An array containg a list of all the ids of external visitors associated with the booking.
  - `members` string[]: An array containing a list of all the _ids of teammates associated with the booking. This is possible if the member associated with the booking is part of a company - these company members can be added here.
  - `serviceSlots` BookingServiceSlotResultDto
    - `before` number: The amount of buffer time before the booking in minutes.
    - `after` number: The amount of buffer time after the booking in minutes.
  - `source` string: Shows where the booking was created
  - `createdAt` string: The date when the booking has been created.
  - `createdBy` string: The user that created the booking.
  - `modifiedAt` string: The date of the last update of the booking.
  - `modifiedBy` string: The user that did the last modification to the booking. If no update is made this field will match the createdBy field.

---

[API](https://skmtc.dev/officernd/apis/space-api.md) - [All operations](https://skmtc.dev/officernd/apis/space-api/llms.txt) - [OpenAPI document](https://skmtc.dev/officernd/apis/space-api/revisions/f7e2e1e4ba60?raw)
