---
updatedAt: 2025-11-13T14:12:48.000Z
agentTools:
  siteIndex: https://docs.affirm.com/llms.txt
  projectIndex: https://docs.affirm.com/developers/llms.txt
---

# The Itinerary Object

The itinerary array contains travel objects that define a portion of the itinerary. The itinerary array should only be included within the metadata object.

> 🚧 Travel Merchant Requirement
>
> If you are a travel merchant, you are **required** to include the itinerary object in your checkout flow.

## Attributes

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Attribute
      </th>

      <th style={{ textAlign: "left" }}>
        Data type
      </th>

      <th style={{ textAlign: "left" }}>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        **type** 
      </td>

      <td style={{ textAlign: "left" }}>
        *string*
      </td>

      <td style={{ textAlign: "left" }}>
        The type of itinerary object.\
        Allowed values:  

        * `flight`  
        * `hotel`  
        * `cruise`  
        * `vacation_rental`  
        * `rental_car`  
        * `event`
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **sku** 
      </td>

      <td style={{ textAlign: "left" }}>
        *string*
      </td>

      <td style={{ textAlign: "left" }}>
        The booking/itinerary number (if applicable).
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **display\_name** 
      </td>

      <td style={{ textAlign: "left" }}>
        *string*
      </td>

      <td style={{ textAlign: "left" }}>
        Readable description of the itinerary item.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **additional\_value**
      </td>

      <td style={{ textAlign: "left" }}>
        *array*
      </td>

      <td style={{ textAlign: "left" }}>
        Array of data objects that may help Affirm verify the validity of the order. This is a future proofing attribute that allows receiving additional info without having to change the JSON structure of the itinerary objects.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **add-ons**
      </td>

      <td style={{ textAlign: "left" }}>
        *hash*
      </td>

      <td style={{ textAlign: "left" }}>
        Set of key-value pairs that you can attach an amount in cents. This can be useful for storing additional information.  

        * trip\_insurance  
        * seat\_upgrade  
        * service\_package  
        * mean\_package\_a  
        * pool\_cabana  
        * late\_checkout  
        * cleaning\_service  
        * etc.
      </td>
    </tr>
  </tbody>
</Table>

***

## Flight attributes

The`flight` type provides additional attributes that define each flight leg of the itinerary.

| Attributes             | Data type  | Description                                                                                                                                                                            |
| :--------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **flight\_number**     | *string*   | The unique identifier for a flight including the airline IATA code. For example, if describing United flight 110, where the IATA code for United is 'UA', the flightNumber is 'UA110'. |
| **origin**             | *string*   | Airport code of flight origin.                                                                                                                                                         |
| **destination**        | *string*   | Airport code of flight destination.                                                                                                                                                    |
| **date\_start**        | *datetime* | Date and time of take-off for flight segment. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.                                   |
| **date\_end**          | *datetime* | Date and time of take-off for flight segment. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.                                   |
| **date\_start\_local** | *datetime* | Date and time of take-off for flight segment. ISO format, excluding milliseconds. Note: This specific time should be kept in local time with the timezone specified.                   |
| **date\_end\_local**   | *datetime* | Date and time of take-off for flight segment. ISO format, excluding milliseconds. Note: This specific time should be kept in local time with the timezone specified.                   |
| **num\_travelers**     | *integer*  | Number of travelers.                                                                                                                                                                   |
| **travelers**          | *array*    | Array of traveler objects that contains the details of the individuals flying.                                                                                                         |

### Example

```json
{
   "type":"flight",
   "sku":"a9dladiak",
   "display_name":"MIA-DCA-2019-12-11T12:07",
   "flight_number":"UA110",
   "origin":"MIA",
   "destination":"DCA",
   "date_start":"2019-12-11T12:07",
   "date_end":"2019-12-11T15:21",
   "fare_type":"economy",
   "num_travelers":2,
   "travelers":{
      "0":{
         "name":"John Smith",
         "dob":"1954-12-26",
         "frequent_flyer_number":"false",
         "tsa_pre_enrolled":"true",
         "passport_number_on_file":"true"
      },
      "1":{
         "name":"Jane Smith",
         "dob":"1955-11-22",
         "frequent_flyer_number":"true",
         "tsa_pre_enrolled":"true",
         "passport_number_on_file":"true"
      }
   },
   "add-ons":{
      "trip_insurance":5300
   }
}
```

***

## Hotel attributes

The `hotel` type provides additional attributes that define each hotel stay of the itinerary.

| Attributes           | Data type  | Description                                                                                                                        |
| :------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------- |
| **management**       | *string*   | The hotel corporation. For example, “Marriott”, “Hilton”, etc.                                                                     |
| **brand**            | *string*   | The specific brand of the property.                                                                                                |
| **location**         | *object*   | The address object that can be parsed.                                                                                             |
| **date\_start**      | *datetime* | Date and time of check-in. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.  |
| **date\_end**        | *datetime* | Date and time of check-out. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization. |
| **num\_rooms**       | *integer*  | The number of rooms that were included in the reservation.                                                                         |
| **rooms\_details**   | *object*   | The room details.                                                                                                                  |
| **num\_travelers**   | *integer*  | Number of travelers.                                                                                                               |
| **discount\_rates**  | *boolean*  | Is the customer receiving a discounted rate or not.                                                                                |
| **loyalty\_program** | *boolean*  | Is the customer enrolled in a loyalty program.                                                                                     |

### Example

```json
{
   "type":"hotel",
   "sku":"124blksn3",
   "display_name":"The Grand Hotel & Beach Club by ZZzz Hotels",
   "management":"ZZzz Hotels",
   "location":"3925 Collins Avenue, Miami Beach, FL, 33140, US",
   "date_start":"2019-12-05",
   "date_end":"2019-12-10",
   "num_rooms":1,
   "room_details":{
      "night_rate":19993,
      "room_type":"suite",
      "num_adults":2,
      "num_children":2,
      "num_beds":2
   },
   "num_traveler":4,
   "discount_rates":"true",
   "loyalty_program":"true"
}
```

***

## Cruise attributes

The `cruise` type provides additional attributes that define each cruise itinerary.

| Attribute            | Data type  | Description                                                                                                                               |
| :------------------- | :--------- | :---------------------------------------------------------------------------------------------------------------------------------------- |
| **cruiseline**       | *string*   | The name of the cruise line. For example, "Carnival", "Norwegian", "Princess", etc.                                                       |
| **origin**           | *string*   | Location where cruise will start.                                                                                                         |
| **destination**      | *string*   | Location where cruise will end.                                                                                                           |
| **location\_stops**  | *array*    | Array of international port codes where the boat will stop.                                                                               |
| **date\_start**      | *datetime* | Date and time of initial check in. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization. |
| **date\_end**        | *datetime* | Date and time of final check out. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.  |
| **room\_details**    | *object*   | Details around the room.                                                                                                                  |
| **travelers**        | *array*    | Array of traveler objects with additional details.                                                                                        |
| **loyalty\_program** | *boolean*  | Is the customer enrolled in a loyalty program.                                                                                            |

***

## Vacation\_rental attributes

The `vacation_rental` type provides additional attributes that define each vacation rented during the itinerary.

| Attributes           | Data type  | Description                                                                                                                        |
| :------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------- |
| **management**       | *string*   | The individual or company.                                                                                                         |
| **brand**            | *string*   | The specific brand of the property.                                                                                                |
| **location**         | *array*    | The address object that can be parsed.                                                                                             |
| **date\_start**      | *datetime* | Date and time of check-in. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.  |
| **date\_end**        | *datetime* | Date and time of check-out. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization. |
| **rental\_details**  | *object*   | Details around the rental.                                                                                                         |
| **num\_travelers**   | *integer*  | Number of travelers.                                                                                                               |
| **loyalty\_program** | *boolean*  | Is the customer enrolled in a loyalty program.                                                                                     |

***

## Rental\_car attributes

The `rental_car` type provides additional attributes that define each car rented during the itinerary.

| Attributes           | Data type  | Description                                                                                                                              |
| :------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------- |
| **company**          | *string*   | The name of the rental car company. For example, "Hertz", "Enterprise", etc.                                                             |
| **origin**           | *string*   | Address of the rental car pick-up location. Airport code if applicable.                                                                  |
| **destination**      | *string*   | Address of the rental car return location. Airport code if applicable.                                                                   |
| **date\_start**      | *datetime* | Date and time of initial pick up. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization. |
| **date\_end**        | *datetime* | Date and time of final drop off. ISO format, excluding milliseconds. Note: All times should be converted into UTC, for standardization.  |
| **car\_detail**      | *object*   | Details around the car.                                                                                                                  |
| **driver\_detail**   | *list*     | Array of driver names.                                                                                                                   |
| **loyalty\_program** | *boolean*  | Is the customer enrolled in a loyalty program.                                                                                           |

***

## Event attributes

| Attributes      | Data type  | Description                                                                                                                           |
| :-------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------ |
| **venue**       | *string*   | The name of the venue where the event is hosted. E.g., "Yankee Stadium".                                                              |
| **location**    | *string*   | The address object that can be parsed.                                                                                                |
| **date\_start** | *datetime* | Date and time of check-in. ISO format, excluding milliseconds. **Note:** All times should be converted into UTC, for standardization. |

### Example

```json
{
"type":"event",
"sku":"ABC123",
"display_name":"Bad Bunny at Petco Park",
"venue": "Petco Park",
"location": "100 Park Blvd, San Diego, CA 92101, US",
"date_start":"2022-12-06T03:00:00.000Z UTC"
}
```

# Sibling pages

* [The Merchant Object](https://docs.affirm.com/developers/reference/the-merchant-object.md)
* [The Discount Object](https://docs.affirm.com/developers/reference/the-discount-object.md)
* [The Metadata Object](https://docs.affirm.com/developers/reference/the-metadata-object.md)
* [The Store Object](https://docs.affirm.com/developers/reference/the-store-object.md)
* [The Item Object](https://docs.affirm.com/developers/reference/the-item-object.md)
* [Shipping & Billing Objects](https://docs.affirm.com/developers/reference/shipping-billing-object.md)
* [Name Object](https://docs.affirm.com/developers/reference/name.md)
* [Address Object](https://docs.affirm.com/developers/reference/address.md)