---
title: "Add reservations"
method: POST
path: "/api/connector/v1/reservations/add"
tags: ["Reservations"]
---

# Add reservations

`POST /api/connector/v1/reservations/add`

Adds the specified reservations as a single group. If `GroupId` is specified, adds the reservations to an already existing group. Note that all reservations linked to an availability block must belong to the same reservation group.

## Request body

- ReservationAdditionParameters
  - `ClientToken` string, required — Token identifying the client application.
  - `AccessToken` string, required — Access token of the client application.
  - `Client` string, required — Name and version of the client application.
  - `EnterpriseId` string, uuid, nullable — Unique identifier of the enterprise. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise.
  - `ServiceId` string, uuid, required — Unique identifier of the `Service` to be reserved.
  - `GroupId` string, uuid, nullable — Unique identifier of the `ReservationGroup` where the reservations are added. If not specified, a new group is created.
  - `GroupName` string, nullable — Name of the `ReservationGroup` where the reservations are added to. If `GroupId` is specified, this field is ignored. If not specified, the group name is automatically created.
  - `Reservations` ReservationData[], required — Parameters of the new reservations.
    - `Identifier` string, nullable — Identifier of the reservation within the transaction.
    - `ChannelNumber` string, nullable
    - `State` 'Enquired' | 'Confirmed' | 'Started' | 'Processed' | 'Canceled' | 'Optional' | 'Requested'
    - `StartUtc` string, date-time, required — Reservation start in UTC timezone in ISO 8601 format.
    - `EndUtc` string, date-time, required — Reservation end in UTC timezone in ISO 8601 format.
    - `ReleasedUtc` string, date-time, nullable — Release date and time of an unconfirmed reservation in UTC timezone in ISO 8601 format.
    - `AdultCount` integer
    - `ChildCount` integer
    - `PersonCounts` ReservationPersonCount[], required — Number of people per age category the reservation was booked for. At least one category with valid count must be provided.
      - `AgeCategoryId` string, uuid, required — Unique identifier of the [Age category](https://mews-systems.gitbook.io/connector-api/operations/agecategories#age-category).
      - `Count` integer, required — Number of people of a given age category. Only positive value is accepted.
    - `CustomerId` string, uuid, required — Unique identifier of the `Customer` who owns the reservation.
    - `BookerId` string, uuid, nullable — Unique identifier of the `Customer` on whose behalf the reservation was made.
    - `RequestedCategoryId` string, uuid, required — Identifier of the requested `ResourceCategory`.
    - `AssignedResourceId` string, uuid, nullable — Identifier of the assigned `Resource`.
    - `AssignedResourceLocked` boolean, nullable — Whether the reservation should be locked to the assigned `Resource`. (`null` or `false` if the reservation should not be locked)
    - `RateId` string, uuid, required — Identifier of the reservation `Rate`.
    - `VoucherCode` string, nullable — Voucher code value providing access to specified private `Rate` applied to this reservation.
    - `CreditCardId` string, uuid, nullable — Identifier of `CreditCard` belonging either to the `Customer` who owns the reservation or to the `Booker`.
    - `TravelAgencyId` string, uuid, nullable — Identifier of the `Company` that mediated the reservation.
    - `CompanyId` string, uuid, nullable — Identifier of the `Company` on behalf of which the reservation was made.
    - `BusinessSegmentId` string, uuid, nullable — Identifier of the reservation `BusinessSegment`.
    - `Notes` string, nullable — Additional notes.
    - `TimeUnitAmount` AmountParameters — Price of the product that overrides the price defined in Mews.
      - `Currency` string, currency, required
      - `TaxCodes` string[], required
      - `NetValue` number, double, nullable
      - `GrossValue` number, double, nullable
    - `TimeUnitPrices` PerUnitPriceParameters[], nullable — Prices for time units of the reservation. E.g. prices for the first or second night.
      - `Index` integer — Index of the unit. Indexing starts with `0`. E.g. the first night of the reservation has index `0`.
      - `Amount` AmountParameters — Price of the product that overrides the price defined in Mews.
        - `Currency` string, currency, required
        - `TaxCodes` string[], required
        - `NetValue` number, double, nullable
        - `GrossValue` number, double, nullable
    - `ProductOrders` ProductOrderAdditionData[], nullable — Parameters of the products ordered together with the reservation.
      - `ProductId` string, uuid, required — Unique identifier of the `Product` to be ordered.
      - `Count` integer, nullable — Count of products to be ordered, e.g. 10 in case of 10 beers.
      - `UnitAmount` AmountParameters — Price of the product that overrides the price defined in Mews.
        - `Currency` string, currency, required
        - `TaxCodes` string[], required
        - `NetValue` number, double, nullable
        - `GrossValue` number, double, nullable
      - `StartUtc` string, date-time, nullable — Product start in UTC timezone in ISO 8601 format. For products with charging `Once` and `PerPerson` must be set to same value as `EndUtc`. Use only with operation [Add reservations](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservations) or [Add reservation product](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservation-product), can be omitted for [Add order](https://mews-systems.gitbook.io/connector-api/operations/orders#add-order) operation.
      - `EndUtc` string, date-time, nullable — Product end in UTC timezone in ISO 8601 format. For products with charging `Once` and `PerPerson` must be set to same value as `StartUtc`. Use only with operation [Add reservations](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservations) or [Add reservation product](https://mews-systems.gitbook.io/connector-api/operations/reservations#add-reservation-product), can be omitted for [Add order](https://mews-systems.gitbook.io/connector-api/operations/orders#add-order) operation.
      - `ExternalIdentifier` string, nullable — External identifier of the product order.
    - `AvailabilityBlockId` string, uuid, nullable — Unique identifier of the `AvailabilityBlock` the reservation is assigned to.
  - `CheckRateApplicability` boolean, nullable — Indicates whether the system will check and prevent a booking being made using a restricted rate, e.g. a private rate. The default is `true`, i.e. the system will normally check for this unless the property is set to `false`.
  - `CheckOverbooking` boolean, nullable — Indicates whether the system will check and prevent a booking being made in the case of an overbooking, i.e. where there is an insufficient number of resources available to meet the request. The default is `true`, i.e. the system will normally check for this unless the property is set to `false`.
  - `SendConfirmationEmail` boolean, nullable — Whether the confirmation email is sent. Default value is `true`.

## Response `200`

OK

- ReservationAdditionResult
  - `Reservations` AddedReservation[], required — The added reservations.
    - `Identifier` string, nullable — Identifier of the reservation within the transaction.
    - `Reservation` ReservationOld, required
      - `Id` string, uuid, required — Unique identifier of the reservation.
      - `ServiceId` string, uuid, required — Unique identifier of the Service that is reserved.
      - `GroupId` string, uuid, required — Unique identifier of the Reservation group.
      - `Number` string, required — Confirmation number of the reservation in Mews.
      - `ChannelNumber` string, nullable — Number of the reservation within the Channel (i.e. OTA, GDS, CRS, etc) in case the reservation group originates there (e.g. Booking.com confirmation number).
      - `ChannelManagerNumber` string, nullable — Unique number of the reservation within the reservation group.
      - `ChannelManagerGroupNumber` string, nullable — Number of the reservation group within a Channel manager that transferred the reservation from Channel to Mews.
      - `ChannelManager` string, nullable — Name of the Channel manager (e.g. AvailPro, SiteMinder, TravelClick, etc).
      - `State` 'Enquired' | 'Confirmed' | 'Started' | 'Processed' | 'Canceled' | 'Optional' | 'Requested', required
      - `Origin` 'Distributor' | 'ChannelManager' | 'Import' | 'Connector' | 'Navigator' | 'CommanderInPerson' | 'CommanderChannel' | 'CommanderPhone' | 'CommanderEmail' | 'CommanderWebsite' | 'CommanderMessage' | 'CommanderCallCenter' | 'CommanderRoomingList', required
      - `OriginDetails` string, nullable — Details about the reservation origin.
      - `Purpose` 'Leisure' | 'Business' | 'Student'
      - `CreatedUtc` string, required — Creation date and time of the reservation in UTC timezone in ISO 8601 format.
      - `UpdatedUtc` string, required — Last update date and time of the reservation in UTC timezone in ISO 8601 format.
      - `CancelledUtc` string, nullable — Cancellation date and time in UTC timezone in ISO 8601 format.
      - `StartUtc` string, required — Start of the reservation in UTC timezone in ISO 8601 format. This is either the scheduled reservation start time, or the actual customer check-in time if this is earlier than the scheduled start time.
      - `EndUtc` string, required — End of the reservation (departure) in UTC timezone in ISO 8601 format.
      - `ReleasedUtc` string, nullable — Date when the optional reservation is released in UTC timezone in ISO 8601 format.
      - `RequestedCategoryId` string, uuid, required — Identifier of the requested Resource category.
      - `AssignedSpaceId` string, uuid, nullable — Identifier of the assigned Space.
      - `AssignedSpaceLocked` boolean — Whether the reservation is locked to the assigned Space and cannot be moved.
      - `AssignedResourceId` string, uuid, nullable — Identifier of the assigned Resource.
      - `AssignedResourceLocked` boolean, required — Whether the reservation is locked to the assigned Resource and cannot be moved.
      - `BusinessSegmentId` string, uuid, nullable — Identifier of the reservation Business segment.
      - `CompanyId` string, uuid, nullable — Identifier of the Company on behalf of which the reservation was made.
      - `TravelAgencyId` string, uuid, nullable — Identifier of the Company that mediated the reservation.
      - `AvailabilityBlockId` string, uuid, nullable — Unique identifier of the Availability block the reservation is assigned to.
      - `RateId` string, uuid, required — Identifier of the reservation Rate.
      - `VoucherId` string, uuid, nullable — Unique identifier of the Voucher that has been used to create reservation.
      - `CreditCardId` string, uuid, nullable — Unique identifier of the Credit card.
      - `CancellationReason` 'Other' | 'ConfirmationMissed' | 'BookedElsewhere' | 'ForceMajeure' | 'GuestComplaint' | 'NoShow' | 'PriceTooHigh' | 'ServiceNotAvailable' | 'InputError' | 'InvalidPayment' | 'TravelAgency' | 'RequestedByGuest' | 'Update' | 'BookingAbandoned' | 'RequestedByBooker'
      - `AdultCount` integer — Count of adults the reservation was booked for.
      - `ChildCount` integer — Count of children the reservation was booked for.
      - `PersonCounts` ReservationPersonCount[], required — Number of people per age category the reservation was booked for.
        - `AgeCategoryId` string, uuid, required — Unique identifier of the [Age category](https://mews-systems.gitbook.io/connector-api/operations/agecategories#age-category).
        - `Count` integer, required — Number of people of a given age category. Only positive value is accepted.
      - `OwnerId` string, uuid, required — Unique identifier of the Customer or Company who owns the reservation.
      - `CustomerId` string, uuid, required — Unique identifier of the Customer who owns the reservation.
      - `BookerId` string, uuid, nullable — Unique identifier of the Customer on whose behalf the reservation was made.
      - `CompanionIds` string[], required — Unique identifiers of the `Customer`s that will use the resource.
      - `ChannelManagerId` string, nullable — Channel Manager number.
      - `Options` ReservationOptions, required
        - `OwnerCheckedIn` boolean, required — Owner of the reservation checked in.
        - `AllCompanionsCheckedIn` boolean, required — All companions of the reservation checked in.
        - `AnyCompanionCheckedIn` boolean, required — Any companion of the reservation checked in.

## Other responses

- `204` — Server has successfully fulfilled the request and there is no additional information to send back.
- `400` — Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
- `401` — Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
- `403` — Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
- `408` — Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
- `429` — Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
- `500` — Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).

---

[API](https://skmtc.net/mews/apis/connector-api.md) · [All operations](https://skmtc.net/mews/apis/connector-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mews/connector-api/revisions/eb29e5887d8a/schema)
