---
title: "POST /reservations/{bookingReferenceId}/confirmation"
method: POST
path: "/reservations/{bookingReferenceId}/confirmation"
---

# POST /reservations/{bookingReferenceId}/confirmation

`POST /reservations/{bookingReferenceId}/confirmation`

Confirm a pending reservation by providing guest details and payment information. This endpoint finalizes the booking process, transforming a temporary hold into a confirmed reservation.

**Payment Methods:**
- `CreditCard`: Standard credit card payment.
- `VirtualCreditCard` (VCC): Virtual card issued for the booking. VCC details include activation/deactivation dates, currency, and balance.

**Credit Card Validation:**
- The card type provided must match one of the property's accepted card types
- Invalid or expired cards will result in a 400 error

**Important Notes:**
- Pending reservations expire after the time specified in `expiresInMinutes` from the pending reservation response
- Attempting to confirm an expired reservation will result in a 404 error
- Room availability is re-validated during confirmation to ensure inventory is still available
- Guest information provided during confirmation cannot be empty for required fields

## Path parameters

- `bookingReferenceId` string, required

## Headers

- `x-sm-api-id` string, required
- `x-sm-api-key` string, required

## Request body

- object
  - `paymentMethod` 'CreditCard' | 'VirtualCreditCard', required — The method of payment for the reservation
  - `cardNumber` integer, required — The full number of the credit card or virtual credit card
  - `cardholderName` string, required — The name of the cardholder as it appears on the card
  - `cardExpiry` string, required — The expiry date of the card in MM/YYYY format
  - `cardType` 'AX' | 'DN' | 'DS' | 'JC' | 'MC' | 'CU' | 'VI', required — The type of credit card (AX=American Express, DN=Diners, DS=Discover, JC=JCB, MC=Mastercard, CU=China UnionPay, VI=Visa)
  - `cardCvv` string, required — The Card Verification Value (CVV) of the credit card
  - `vccActivationDateTime` string, date-time — VCC activation date/time. Expressed in ISO 8601 extended format. Date Format - YYYY-MM-DDThh:mm:ss<.sss>(+|-)hh:mm where <.sss> is optional and can be 1 to 3 digits.
  - `vccDeactivationDateTime` string, date-time — VCC deactivation date/time. Expressed in ISO 8601 extended format. Date Format - YYYY-MM-DDThh:mm:ss<.sss>(+|-)hh:mm where <.sss> is optional and can be 1 to 3 digits.
  - `vccCurrency` string — The currency of the Virtual Credit Card (if applicable)
  - `vccBalance` number — The balance available on the Virtual Credit Card (if applicable)
  - `guestTitle` string, required — The title of the primary guest (e.g., Mr., Mrs., Ms., Dr.)
  - `guestFirstName` string, required — The first name of the primary guest
  - `guestLastName` string, required — The last name of the primary guest
  - `guestEmail` string, required — The email address of the primary guest
  - `guestPhoneNumber` string, required — The phone number of the primary guest
  - `guestAddress` string, nullable — The street address of the primary guest (optional)
  - `guestCity` string, nullable — The city of residence for the primary guest (optional)
  - `guestState` string, nullable — The state or region of residence for the primary guest (optional)
  - `guestPostcode` string, nullable — The postal or zip code of the primary guest (optional)
  - `guestCountry` string, nullable — The country of residence for the primary guest (optional)
  - `guestRemarks` string, nullable — Any additional remarks or special requests from the primary guest (optional)
  - `rooms` object[], required — An array of rooms in the reservation, each with its guest details
    - `roomUuid` string, required — The unique identifier of the room in the reservation
    - `guestTitle` string, required — The title of the guest for this specific room
    - `guestFirstName` string, required — The first name of the guest for this specific room
    - `guestLastName` string, required — The last name of the guest for this specific room
    - `guestRemarks` string, nullable — Any additional remarks or special requests for this specific room (optional)

## Response `200`

Successful response. The reservation has been confirmed successfully.

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `404` — The specified resource was not found
- `500` — Unexpected error occurred

---

[API](https://skmtc.net/siteminder/apis/pmsx-core-api.md) · [All operations](https://skmtc.net/siteminder/apis/pmsx-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/siteminder/pmsx-core-api/versions/4cf21cbc07ec/schema)
