Skip to content
Last updated

Multi-traveler booking

The Spotnana platform allows you to search for and book hotel rooms that can accommodate more than one traveler. In the hotel search API, use the occupancy > numAdults and numChildren fields to enter the number of fellow travelers who'll be sharing the room with you. For example, if you are going to share the room with one adult and one child, then numAdults will be 2 and numChildren will be 1.

Every hotel establishment will have their own restrictions on how many adults and children can share a room. In the get hotel details API, use the rooms > rateOptions > maxOccupancy field to determine the maximum number of adults and children allowed to share a room in their hotel. The hotel search results will be filtered based on the occupancy details entered.

For a multi-traveler booking, you only need to pass the primary traveler's information when creating a hotel booking. The total number of travelers staying in the room is already conveyed through the occupancy values set during search. The supplier uses the primary traveler's data (user identifier, name, email, and phone number) to create the reservation, and the room is reserved for the full occupancy specified. Enter the primary traveler's information in the travelers array at index 0. You do not need to add entries for any other travelers sharing the room.

Sample request payload

Assume John Smith is a primary traveler and he is creating a hotel reservation for a total of 3 travelers including himself.

In the hotel search request, set numAdults to 3 in the occupancy field to indicate that three adults will share the room:

// ... payload truncated for focus
{
  "searchParams": {
    "occupancyDates": {
      "occupancy": [
        {
          "numAdults": 3,
          "numChildren": 0
        }
      ],
      "checkInDate": {
        "iso8601": "2026-06-15T15:00"
      },
      "checkOutDate": {
        "iso8601": "2026-06-18T11:00"
      }
    }
  }
}

Then, when creating a hotel booking, pass only the primary traveler's information in the travelers array:

// ... payload truncated for focus
{
  "travelers": [
    {
      "travelerId": {
        "id": "a90e38d1-7c9f-4b2a-8c8a-2c8c3e8f9e6a"
      },
      "name": {
        "family1": "Smith",
        "given": "John"
      },
      "phoneNumber": {
        "countryCode": 1,
        "nationalNumber": 2125550101
      },
      "email": "john.smith@example.com"
    }
  ]
}

See the create hotel booking workflow guide to learn more about the steps involved in creating a hotel booking.