Skip to content
Last updated

Introduction

This guide will help you configure your environment for integrating with the Check In Service API. This API facilitates the transfer of check-in and check-out information to CLC while providing robust security and reliability. Follow these steps to set up your development and production environments effectively.


Prerequisites

Before you begin, ensure you have:

  • API Key: Obtain your X-Api-Key from the administrator.
  • Base URLs:
    • Mock Server URL: https://c3a1ba49-c2e4-4e2f-829e-1195823e9d09.mock.pstmn.io
    • Production URL: (provided during production setup)
  • An HTTP client or tool like Postman, cURL, or a supported SDK in your programming language.
  • Basic understanding of RESTful APIs, JSON, and authentication headers.

Step 1: Configure Your Development Environment

  1. Set Up Access to the Mock Server

    • Use the following URL for testing and simulating API requests:
      https://c3a1ba49-c2e4-4e2f-829e-1195823e9d09.mock.pstmn.io
  2. Store Your API Key Securely

    • Your X-Api-Key must be included in all requests.
    • Example for cURL:
      curl -X POST https://c3a1ba49-c2e4-4e2f-829e-1195823e9d09.mock.pstmn.io/api/v1/card/authorize \
      -H "X-Api-Key: your-api-key-here" \
      -H "Content-Type: application/json" \
      -d '{"membershipId": "123456789"}'
  3. Install Required Tools

    • Install a library for HTTP requests (e.g., requests for Python or axios for Node.js).
  4. Test Your Connection

    • Verify connectivity by calling the GET /api/v1/reservation/status/{requestId} endpoint with a valid requestId:

      curl -X GET https://c3a1ba49-c2e4-4e2f-829e-1195823e9d09.mock.pstmn.io/api/v1/reservation/status/bb8350fc-dce1-41a1-91b1-91b0d64b5eeb \
      -H "X-Api-Key: your-api-key-here"
    • Expected response:

      {
        "authId": 177317191,
        "authStatus": "checked_in",
        "employeeIdentifier": "123456789"
      }

Step 2: Set Up Your Production Environment

  1. Switch to Production URL

    • Update the base URL to the production environment provided by the administrator.
      https://api.yourcompany.com
  2. Use Separate API Keys

    • Use a distinct production X-Api-Key to ensure secure access.
  3. Test Production Access

    • Start by verifying the status endpoint in production:

      curl -X GET https://api.yourcompany.com/api/v1/reservation/status/{requestId} \
      -H "X-Api-Key: your-production-api-key"
    • Ensure the response matches expectations before deploying live requests.


Step 3: Handle Tokenised Linking Between Requests

  1. Card Authorisation (/api/v1/card/authorize)

    • Authorise the customer’s membership card and retrieve an authId:
      {
        "authId": 177317191,
        "authStatus": "authorized",
        "employeeIdentifier": "123456789"
      }
  2. Check-In (/api/v1/reservation/checkin)

    • Use the authId from the authorisation step to check in a guest:
      {
        "authId": 177317191,
        "authStatus": "checked_in",
        "employeeIdentifier": "1234345",
        "supplierReservationId": "1234",
        "checkInDateTime": "2024-10-17T14:30:00-05:00",
        "roomNumber": "204",
        "folioNumber": "204",
        "guestFirstName": "Ada",
        "guestLastName": "Lovelace"
      }
  3. Check-Out (/api/v1/reservation/checkout)

    • Use the same authId to check out the guest and provide stay details:
      {
        "authId": 177317191,
        "authStatus": "checked_out",
        "employeeIdentifier": "1234345",
        "supplierReservationId": "1234",
        "checkOutDateTime": "2025-10-17T14:30:00-05:00",
        "roomNumber": "204",
        "folioNumber": "204",
        "guestFullName": "Ada Lovelace",
        "checkInDateTime": "2024-10-17T14:30:00-05:00"
      }

Best Practices

  • Use Environment Variables: Store URLs and API keys securely as environment variables.
  • Log All Requests and Responses: Maintain a clear audit trail.
  • Validate All Inputs: Ensure payloads conform to the schema specified in the API Reference.

Troubleshooting

  • 400 Bad Request: Verify your payload against the schema.
  • 404 Not Found: Ensure your requestId or authId exists.
  • 500 Internal Server Error: Contact support if this persists.

For detailed endpoint information, visit the API Reference.