---
schema_version: "1"
id: 118ab01c8e5cb7d38154f1e3697c15ad2b1b36f9783512d0753ddceeeb1e5313
title: Booking Add-On ETL File Schema
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/mktg/264-0-0/mc_pers_hotel_gear_booking_add_on_schema.md
canonical_url: https://help.salesforce.com/s/articleView?id=mktg.mc_pers_hotel_gear_booking_add_on_schema.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 02845fbb633c8186b93c8b55fe50a4db29b1b4dd14dc92141c2eca3935333319
description: If you send booking add-on data from your hotel booking system to Personalization, configure your file according to the Booking Add-On ETL file schema.
products:
  - Marketing
  - Salesforce Personalization
release: "264"
---
# Booking Add-On ETL File Schema

If you send booking add-on data from your hotel booking system to Personalization, configure your file according to the Booking Add-On ETL file schema.

## File Name Format

`booking-addon-YYYY-MM-DD_HH-MM-SS.csv`

## Required Identity Fields

You must include one identity field in your Booking ETL file. Depending on whether you use the multiple identities system, the required identity field is different.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:16.211878009630816%">
          <col style="width:34.831460674157306%">
          <col style="width:17.49598715890851%">
          <col style="width:21.187800963081862%">
          <col style="width:10.272873194221509%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e63">Field Name </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e66">Minimum Requirements </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e69">Sample Values </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e72">Maximum Length </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e75">Personalization Data Type </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e63 ">
              <ul>
                <li>
                  <code>userId</code>
                </li>

                <li>another identity attribute, such as email address</li>

              </ul>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e66 ">
              <p> Required.</p>
              <ul>
                <li>If you aren’t using Personalization's multiple identities system, you
                  must include a user ID for each record. The user ID must be one that
                  the Personalization platform tracks so that it can attach events to
                  the specific user profile.</li>

                <li>If you’re using Personalization's multiple identities system, you
                  must include at least one identity attribute because ETL file loads
                  don’t reference userID. You can include multiple identity attributes
                  for a single user by adding multiple columns to the file. For more
                  information, see <a href="https://help.salesforce.com/s/articleView?id=mktg.mc_pers_hotel_gear_etl_multiple_identities.htm&amp;release=264.0.0&amp;type=5" title="If you use the multiple identities system, you must include at least one identity attribute in the Booking ETL file. You can send multiple identity attributes for a single bookingID by adding multiple identity attribute columns in the file.">Guidelines for Sending Multiple Identities in a Booking ETL File</a>.</li>

              </ul>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e69 ">
              <ul>
                <li>user168515262</li>

                <li>jdoe@test.com</li>

              </ul>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e72 ">
              <p style="margin-bottom:0;">120</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e75 ">
              <p style="margin-bottom:0;">String</p>
            </td>

          </tr>
        </tbody>
      </table>

## Other Required Fields

There are additional fields that you must include in any Booking ETL file you send. Match the field names and meet the requirements.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:14.606741573033707%">
          <col style="width:41.25200642054575%">
          <col style="width:15.409309791332262%">
          <col style="width:15.890850722311397%">
          <col style="width:12.841091492776885%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e180">Field Name </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e183">Minimum Requirements </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e186">Sample Values </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e189">Maximum Length </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e192">Personalization Data Type </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e180 ">
              <code>bookingId</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e183 ">
              <p style="margin-bottom:0;"> Required. The <code>bookingId</code> is a unique
                identifier for an individual booking and is a requirement for each record
                in the file. All line items from a booking must share a bookingID. Sort
                Booking Add-On ETL files by bookingID so that all records that share a
                bookingID are in consecutive rows.</p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e186 ">
              <p style="margin-bottom:0;">860340254</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e189 ">
              <p style="margin-bottom:0;">255</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e192 ">
              <p style="margin-bottom:0;">String</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e180 ">
              <code>bookingDate</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e183 ">
              <p style="margin-bottom:0;"> Required. The <code>bookingDate</code> is the
                date of the transaction. Format booking date and time strings in the
                <a href="https://www.iso.org/iso-8601-date-and-time-format.html" target="_blank">ISO 8601</a> format. Personalization
                stores all dates in UTC time.
              </p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e186 ">
              <p>2020-10-15</p>
              <p style="margin-bottom:0;">2020-01-09T11:24:59Z</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e189 ">
              <p style="margin-bottom:0;">1023</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e192 ">
              <p style="margin-bottom:0;">Date</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e180 ">
              <code>productId</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e183 ">
              <p style="margin-bottom:0;"> Required. The <code>productId</code> represents
                the product in the catalog that is purchased as an add-on to a booking.
                If the ID doesn’t reflect an existing product in the catalog,
                Personalization creates an item in your catalog with the <code>productId</code>. The <code>productId</code> value must match the format of
                other product IDs that exist in your catalog, that you send through a
                Product ETL data feed, or that you track on your website.</p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e186 ">
              <p>prod001,</p>
              <p style="margin-bottom:0;">prod1101</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e189 ">
              <p style="margin-bottom:0;">255</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e192 ">
              <p style="margin-bottom:0;">String</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e180 ">
              <code>price</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e183 ">
              <p style="margin-bottom:0;"> Required. The <code>price</code> is the unit
                price for the add-on. Use a period as the decimal separator. Don’t
                include a thousand separator. Personalization multiplies the price by the
                quantity to determine the total cost of the booking record. For example,
                if the price is $1.10 and the quantity is 3, the total cost of the line
                item is $3.30.</p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e186 ">
              <p style="margin-bottom:0;">150, 63.25, 10</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e189 ">
              <p style="margin-bottom:0;">1023</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e192 ">
              <p style="margin-bottom:0;">Decimal</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e180 ">
              <code>quantity</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e183 ">
              <p style="margin-bottom:0;"> Required. The <code>quantity</code> is the net
                quantity a user purchases. Personalization multiplies the quantity by the
                price to determine the total cost of the line item in the transaction.
                Personalization adds all line items for a single bookingID, which equals
                the total value of the order. </p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e186 ">
              <p style="margin-bottom:0;">1, 50, 100</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e189 ">
              <p style="margin-bottom:0;">1023</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e192 ">
              <p style="margin-bottom:0;">Integer</p>
            </td>

          </tr>
        </tbody>
      </table>

## System Fields

Additional system fields aren’t required in the file, but if you include them, you must match the field names and meet the requirements.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:17.335473515248793%">
          <col style="width:38.362760834670944%">
          <col style="width:16.853932584269664%">
          <col style="width:11.556982343499197%">
          <col style="width:15.890850722311397%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e430">Field Name </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e433">Minimum Requirements </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e436">Sample Values </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e439">Maximum Length </th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d17535e442">Personalization Data Type </th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Field Name" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e430 ">
              <code>attribute: currency</code>
            </td>

            <td data-label="Minimum Requirements" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e433 ">
              <p style="margin-bottom:0;">The currency of the transaction. The currency must be consistent across
                all records in a transaction. If you don’t send a currency, the system
                assigns the currency defined in Catalog Setup for that dataset. Currency
                must be in <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank">ISO 4217</a> format and include
                three uppercase letters.</p>
            </td>

            <td data-label="Sample Values" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e436 ">
              <p style="margin-bottom:0;">USD, AUD, EUR</p>
            </td>

            <td data-label="Maximum Length" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e439 ">
              <p style="margin-bottom:0;">3</p>
            </td>

            <td data-label="Personalization Data Type" class="slds-cell-wrap" style="vertical-align:top;" headers="d17535e442 ">
              <p style="margin-bottom:0;">String</p>
            </td>

          </tr>
        </tbody>
      </table>