Interaction Studio (formerly Evergage) is now known as Marketing Cloud Personalization. The new name reflects our mission and vision for innovation in Salesforce Marketing Cloud. We wish we could snap our fingers to update the name everywhere, but you can expect to see the previous name in various places until we replace it.
Interaction Studio supports ingesting booking add-on transactions, like room service or travel transportation, to enhance our understanding of a customer's reservation. Multiple booking add-ons can be applied to a single booking by including the same bookingId on all add-on transactions. Files should be sorted by bookingId, but Interaction Studio also provides the ability to sort if needed.
This article details the requirements and schema of the Booking Add-On ETL and provides a sample file structure and download.
Requirements and Schema
Each booking add-on is connected to an overarching booking transaction via a bookingId. If a booking with a matching bookingId exists in the system, the add-ons will be applied to that booking. If no matching bookingId exists in the system at the time of upload, a new booking with the id provided in the add-on file will be created. This newly created booking will only have the add-on information available, but can be updated with the additional stay information via the Booking ETL if a row with a matching bookingId is ingested.
In addition to requiring a matching bookingId to attach add-ons to an existing booking transaction, the customer identifier must match that of the customer identifier on the existing booking. If the customer identifier does not match, a duplicate booking will be created for the new identifier. A matching bookingId does not trigger a merge on user records.
For customers leveraging Interaction Studio’s multiple identities system, at least one identity attribute is required to be present in the ETL file. If you would like to send in multiple identity attributes for a single customer, this is supported by simply having multiple identity attribute columns in the file.
The correct ETL header format for identity attributes is attribute:value. Examples of the out-of-the box identity attributes with proper formatting is as follows:
userId is not referenced in ETL processing when the multiple identities system is enabled. For customers NOT leveraging Interaction Studio’s multiple identities system, userId will still be supported for profile merging.
The Booking Add-On ETL expects each booking to potentially have multiple line items associated with it. By default, the Interaction Studio parser expects that booking files are sorted by bookingId. If the file needs to be sorted, the Booking add-On ETL can be sorted by an Admin in the Gear Configuration screen and marking the box to enable bookingAddOnETLSortBeforeGrouping. This will result in the file being sorted prior to loading the data into Interaction Studio.
File Name Format: booking-addon-YYYY-MM-DD_HH-MM-SS.csv
Interaction Studio Data Type
|userId OR an Identity Attribute|
|bookingId||Required: The bookingId field is required for every record in the file. This represents a unique identifier for an individual booking. All line items from a booking must share the same booking ID. It is required that files be sorted by bookingId so that all records in a file that share a bookingId are represented in consecutive rows.||860340254||255||String|
|bookingDate||Required: ISO 8601 Date time string for when the transaction occurred. All dates are stored in UTC time only.|
|productId||Required: Represents the product in the catalog which is being purchased as an add-on to a booking. If the ID does not reflect an existing product in the catalog, a new item with the productId will be created in the catalog. This value should be the same product ID that would be provided in a Product ETL or tracked on the website.|
|price||Required: The unit price the user was charged. Period as the decimal separator, no thousands separator. This will be multiplied by the quantity to determine the total value of this line item. For instance, if price is $1.10 and quantity is 3, the total value of the line item is $3.30.||150, 63.25, 10||1023||Decimal|
|quantity||Required: This is the net quantity purchased. It is multiplied by the price to determine the total cost of that line item in the transaction which are then all summed to reflect the total value of the order in Interaction Studio.||1, 50, 100||1023||Integer|
Optional: The currency of the transaction. The currency must be consistent across all records in a transaction. If no currency is provided the currency of the transaction will default to the currency as defined in the Catalog Setup screen for that dataset. Must be in ISO 4217 format, 3 Uppercase letters.
|USD, AUD, EUR||3||String|
Sample File Download booking-addon-2020-10-16_00-00-00.csv (For clients that are NOT leveraging Interaction Studio's multiple identities system)
Sample File Download booking-addon-2020-10-17_00-00-00.csv (For clients leveraging Interaction Studio's multiple identities system)