---
title: "Check out"
url: "https://portal2.konghotels.cloud/apis/kong-hotels-guest-stay-api-1/versions/b4bfa113-0e33-46cc-8723-38e7ac5e7863/operations/checkOut"
---

> Full API specification: https://portal2.konghotels.cloud/apis/kong-hotels-guest-stay-api-1/versions/b4bfa113-0e33-46cc-8723-38e7ac5e7863.md

# Check out

`POST` `/stays/{confirmationNumber}/check-out`

Operation ID: `checkOut`

**Write.** Express check-out. The folio is settled with the payment on file and a receipt is emailed to the guest. Mobile keys are revoked.

## Path parameters

- `confirmationNumber` (string, required) - Confirmation number from the Partner API reservation.

## Header parameters

- `Idempotency-Key` (string, optional) - Optional. Makes the request safe to retry for 24 hours.

## Request body

Content types: `application/json`

## Responses

- `200` - Checked out. Returns the updated stay.
- `401` - Rejected by Kong Gateway: missing or invalid credentials.
- `404` - Not found, or not visible to your consumer.
- `409` - The stay is not in a state that allows this action. Check `actions` on the stay.
- `429` - Too many requests.

## OpenAPI definition

```yaml
openapi: 3.1.0
info:
  title: Kong Hotels Guest Stay API
  version: 1.0.0
servers:
  - url: https://stay.konghotels.cloud
    description: Production (Kong Gateway)
paths:
  /stays/{confirmationNumber}/check-out:
    post:
      tags:
        - Check-in & Check-out
      operationId: checkOut
      summary: Check out
      description: "**Write.** Express check-out. The folio is settled with the
        payment on file and a receipt is emailed to the guest. Mobile keys are
        revoked."
      parameters:
        - $ref: "#/components/parameters/ConfirmationNumber"
        - $ref: "#/components/parameters/IdempotencyKey"
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CheckOutRequest"
      responses:
        "200":
          description: Checked out. Returns the updated stay.
          headers:
            X-Request-ID:
              $ref: "#/components/headers/RequestId"
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                properties:
                  data:
                    $ref: "#/components/schemas/Stay"
        "401":
          $ref: "#/components/responses/Unauthorized"
        "404":
          $ref: "#/components/responses/NotFound"
        "409":
          $ref: "#/components/responses/Conflict"
        "429":
          $ref: "#/components/responses/RateLimited"
security:
  - KongKeyAuth: []
components:
  parameters:
    ConfirmationNumber:
      name: confirmationNumber
      in: path
      required: true
      description: Confirmation number from the Partner API reservation.
      schema:
        type: string
        examples:
          - KH4DEMO01
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      description: Optional. Makes the request safe to retry for 24 hours.
      schema:
        type: string
        maxLength: 255
  schemas:
    CheckOutRequest:
      type: object
      properties:
        receipt_email:
          type:
            - string
            - "null"
          format: email
          description: Defaults to the email on the reservation.
        feedback_score:
          type:
            - integer
            - "null"
          minimum: 1
          maximum: 5
    Stay:
      type: object
      required:
        - confirmation_number
        - property_code
        - status
        - room
      properties:
        confirmation_number:
          type: string
          examples:
            - KH4DEMO01
        property_code:
          type: string
          examples:
            - KTNYC
        status:
          $ref: "#/components/schemas/StayStatus"
        arrival_date:
          type: string
          format: date
        departure_date:
          type: string
          format: date
        room:
          type: object
          required:
            - status
          properties:
            status:
              $ref: "#/components/schemas/RoomStatus"
            number:
              type:
                - string
                - "null"
              examples:
                - "1412"
            floor:
              type:
                - integer
                - "null"
              examples:
                - 14
            estimated_ready_at:
              type:
                - string
                - "null"
              format: date-time
        check_in_time:
          type: string
          description: Property's standard check-in time (local).
          examples:
            - 15:00
        check_out_time:
          type: string
          description: Agreed check-out time (local), including any approved late check-out.
          examples:
            - 11:00
        checked_in_at:
          type:
            - string
            - "null"
          format: date-time
        checked_out_at:
          type:
            - string
            - "null"
          format: date-time
        actions:
          type: object
          description: What the guest can do right now. Use these instead of re-deriving
            the rules.
          properties:
            can_check_in:
              type: boolean
            can_issue_key:
              type: boolean
            can_request_service:
              type: boolean
            can_check_out:
              type: boolean
    StayStatus:
      type: string
      enum:
        - pre_arrival
        - checked_in
        - checked_out
        - no_show
        - cancelled
      description: "`pre_arrival`: booked, not yet checked in. `checked_in`: guest is
        in house. `checked_out`: stay complete."
    RoomStatus:
      type: string
      enum:
        - not_assigned
        - assigned
        - ready
      description: "`ready` means cleaned and inspected; keys can be issued."
    Problem:
      type: object
      description: RFC 9457 problem details. Same shape as the Partner API.
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        instance:
          type: string
        request_id:
          type: string
      additionalProperties: true
  headers:
    RequestId:
      description: Unique request identifier for support.
      schema:
        type: string
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  responses:
    Unauthorized:
      description: "Rejected by Kong Gateway: missing or invalid credentials."
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://api.konghotels.cloud/problems/unauthorized
            title: Unauthorized
            status: 401
            detail: Missing or invalid API key.
            request_id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
    NotFound:
      description: Not found, or not visible to your consumer.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://api.konghotels.cloud/problems/not-found
            title: Resource not found
            status: 404
            detail: Stay not found.
            request_id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
    Conflict:
      description: The stay is not in a state that allows this action. Check `actions`
        on the stay.
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
          example:
            type: https://api.konghotels.cloud/problems/invalid-stay-state
            title: Action not available
            status: 409
            detail: The stay is not checked in yet.
            request_id: 9a8b7c6d-5e4f-4a3b-2c1d-0e9f8a7b6c5d
    RateLimited:
      description: Too many requests.
      headers:
        Retry-After:
          $ref: "#/components/headers/RetryAfter"
      content:
        application/problem+json:
          schema:
            $ref: "#/components/schemas/Problem"
  securitySchemes:
    KongKeyAuth:
      type: apiKey
      in: header
      name: apikey
      description: Your API key, validated by Kong Gateway.
```
