### UTM Parameter Configuration Examples Source: https://docs.flip.to/platform/collaboratives/campaign-tracking Examples demonstrating how to configure UTM parameters for campaign tracking on Flip.to, including the use of wildcards for flexible matching. ```APIDOC Campaign Parameter Setup Examples: Example 1: All campaigns that run on google Source: overlook_google Example 2: All campaigns that run during the summer across all sources Campaign: overlook_summer% Example 3: All paid campaigns on google that run during the summer Source: overlook_google Medium: cpc Campaign: overlook_summer% ``` -------------------------------- ### Example Booking Engine URL Source: https://docs.flip.to/platform/mission-control/booking-engine-url An example of a booking engine URL template utilizing various Flip.to tokens for passing dynamic reservation details. ```URL https://your.bookingengine.com/page.html?hotel=12345&aDate={start-date,format=MM/dd/yyyy}&dDate={end-date,format=MM/dd/yyyy}&rooms={rooms,fallback=1}&adults={adults}&child={children,fallback=0}&pc={promo-code}&airport={traveler-airport-code} ``` -------------------------------- ### Signup Data Response Example Source: https://docs.flip.to/api/reference/platform-api Example JSON response structure for signup data, including total count, pagination details, and a list of signups with their associated property and contact information. ```json { "total": 19388, "page": 1, "signups": [ { "id": "C123600-2B05-47E3-8FBE-3EAB9E8A5Q11", "createDate": "2021-12-01T00:01:00", "propertyId": "1234DF43-C41C-442F-804C-1234A7952738", "propertySlug": "overlook-hotel", "email": "james@flip.to", "first": "James", "last": "Smith", "phone": "1234567890", "phoneConsentMode": "Checkbox", "languageCode": "en", "isOptout": false, "isPrivacyRestricted": false, "layerType": "photo contest", "category": "friend", "country": "United States", "region": "FL", "city": "Orlando" } ] } ``` -------------------------------- ### Sponsor Referrals Channel Impact Example Response Source: https://docs.flip.to/api/reference/collaborative-api An example JSON response structure for the Sponsor Referrals Channel Impact API endpoint, showing aggregated referral and influenced transactions and revenue. ```JSON [ { "year": 2023, "timeGrouping": 1, "source": "google", "medium": "search", "term": null, "referralTransactions": 3, "referralRevenue": 1500, "influencedTransactions": 2, "influencedRevenue": 1000 }, { "year": 2023, "timeGrouping": 2, "source": "google", "medium": "search", "term": null, "referralTransactions": 5, "referralRevenue": 2500, "influencedTransactions": 4, "influencedRevenue": 2000 } ] ``` -------------------------------- ### Sample Image URL Source: https://docs.flip.to/integrations/email/cancellation-email An example of how to construct the image source URL with various parameters for cancellation tracking. ```html ``` -------------------------------- ### Add Flip.to Booking Engine Snippet to RezTrip Source: https://docs.flip.to/integrations/booking-engines/vendors/reztrip This snippet initializes the Flip.to data layer for the RezTrip booking engine. It requires your Flip.to companyCode and RezTrip property code to be configured. Place this within the \ tag of your booking engine. ```javascript ``` -------------------------------- ### Configure DNS CNAME Record Source: https://docs.flip.to/platform/mission-control/custom-domains Add a CNAME record with your domain registrar to point your custom domain to Flip.to's servers. This is a crucial step for directing traffic correctly. ```APIDOC DNS Configuration: CNAME Record - Purpose: To point your custom domain to Flip.to's servers. - Parameters: - Name: Your custom domain (e.g., `stories.yourwebsite.com`) - Value (or Points-to): `hub.flip.to` - Notes: - This record must be configured at your domain registrar. - Ensure the 'Value' field is exactly `hub.flip.to`. - DNS changes can take up to 24 hours to propagate. ``` -------------------------------- ### Add Flip.to Booking Engine Integration Snippet Source: https://docs.flip.to/integrations/booking-engines/vendors/revraise-by-azds This JavaScript snippet integrates Flip.to with the RevRaise booking engine. It should be placed within the \ tag of the booking engine. Replace 'XX' with your Flip.to companyCode. This script initializes Flip.to's data layer and loads the discovery script for the booking engine. ```javascript ``` -------------------------------- ### Flip.to Booking Engine Integration Snippet Source: https://docs.flip.to/integrations/booking-engines/set-up-your-booking-engine This snippet should be added to the \"\" tag of every page of your booking engine, including the confirmation page. It initializes the Flip.to data layer with essential configuration details. Key parameters include bookingEngine, companyCode, code, and language, which must be configured with your unique IDs and desired language settings. ```javascript ``` -------------------------------- ### Add Flip.to Discovery Integration Snippet Source: https://docs.flip.to/integrations/websites/set-up-your-website If you are implementing Flip.to Discovery, this additional script snippet is required. Place it on your website pages and replace YOUR_DISCOVERY_ID_HERE with your unique Discovery ID. Like the main integration snippet, it loads asynchronously. ```html ``` -------------------------------- ### Add Flip.to Website Integration Snippet Source: https://docs.flip.to/integrations/websites/set-up-your-website This script snippet should be added to the `` tag of every page on your website. It requires your unique Website ID and loads asynchronously to ensure it doesn't delay page load, impacting user experience and tracking. ```html ``` -------------------------------- ### Sponsor Referrals Geo Impact Example Response Source: https://docs.flip.to/api/reference/collaborative-api An example JSON response structure for the Sponsor Referrals Geo Impact API endpoint, showing aggregated referral and influenced transactions and revenue. ```JSON [ { "year": 2023, "timeGrouping": 1, "referralTransactions": 3, "referralRevenue": 1500, "influencedTransactions": 2, "influencedRevenue": 1000 }, { "year": 2023, "timeGrouping": 2, "referralTransactions": 5, "referralRevenue": 2500, "influencedTransactions": 4, "influencedRevenue": 2000 } ] ``` -------------------------------- ### Add Flip.to Confirmation Snippet (JavaScript) Source: https://docs.flip.to/integrations/booking-engines/set-up-your-booking-engine This JavaScript snippet should be included in the tag of your confirmation page. It initializes the Flip.to data layer with guest and booking details, allowing for event tracking and data collection. Ensure dynamic tokens from your booking engine are correctly substituted. ```javascript ``` -------------------------------- ### POST /v1/collaborative/report/lodging/lookahead Source: https://docs.flip.to/api/reference/collaborative-api Retrieves collaborative members' occupancy, ADR, and revenue data for a specified date range. Useful for forecasting future stay dates. Requires start and end dates, and optionally accepts property type, grouping, and start weekday. ```APIDOC POST https://api.flip.to/v1/collaborative/report/lodging/lookahead Query Parameters: - startdate (Date, Required): The inclusive date range in ISO 8601 format yyyy-MM-dd. - enddate (Date, Required): The inclusive date range in ISO 8601 format yyyy-MM-dd. - type (String, Optional): Accommodation property type. Valid values: FullServiceHotel, SelectServiceHotel, Condotel, VacationRental, RVResort. - grouping (String, Optional): Defines how data is grouped. Default: Week. Valid values: Month, Week, Day. - startWeekDay (String, Optional): Defines the start day of the week. Default: Sunday. Valid values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. Example Response: { "totalProperties": 32, "totalRooms": 9660, "data": [ { "startDate": "2021-01-01", "endDate": "2021-01-31", "occupancy": { "availableBookNights": 289800, "bookedNights": 4008 }, "dailyRate": { "minDailyRate": 25.81, "maxDailyRate": 521.54, "avgDailyRate": 47.57 }, "stayLength": { "minStayNights": 1, "maxStayNights": 74, "avgStayNights": 2 }, "revenue": { "totalTransactions": 1719, "totalTransactionNights": 4585, "minTransactionRevenue": 48, "maxTransactionRevenue": 3132.03, "totalTransactionRevenue": 459003.23, "avgTransactionRevenue": 267.02 } } ] } ``` -------------------------------- ### Preview Discovery Feature URL Parameters Source: https://docs.flip.to/platform/discovery/launchpad These URL parameters allow users to preview the 'Discovery' feature or the 'Control' (standard website) experience. Append these to your website's URL to switch between variations. ```URL http://www.yourwebsite.com?ftvariation=flipto ``` ```URL http://www.yourwebsite.com?ftvariation=client ``` -------------------------------- ### Add Custom Domain to Flip.to Account Source: https://docs.flip.to/platform/mission-control/custom-domains After configuring the DNS CNAME record, add your custom domain within your Flip.to account settings to activate it for Flip.to experiences. ```APIDOC Flip.to Account Domain Setup: Action: Add Domain - Location: Navigate to 'Platform' -> 'Domains' within your Flip.to account. - Input: - Custom Domain Name: Enter the exact custom domain name configured in your CNAME record (e.g., `stories.yourwebsite.com`). - Process: - The platform verifies that the custom domain correctly points to Flip.to's servers. - If the configuration is correct, the custom domain will be enabled and ready for use. - Error Handling: - If the domain is not pointing correctly, it will be saved but remain switched off. - Re-check your registrar's DNS configuration and allow for propagation time (up to 24 hours). ``` -------------------------------- ### Flip.to Confirmation Snippet Parameters (APIDOC) Source: https://docs.flip.to/integrations/booking-engines/set-up-your-booking-engine This section details the parameters required for the Flip.to confirmation page snippet. Each parameter corresponds to a piece of guest or booking information that should be passed to track the reservation accurately. Dynamic tokens from your booking engine should be used to populate these fields. ```APIDOC Flip.to Confirmation Snippet Parameters: Parameters for the data object passed to `fliptoDataLayer`: - bookingEngine: The Flip.to string to define the booking engine used. Contact Customer Success for the correct name. - companyCode: Your company's unique code. - code: The property code. - confirmation: Guest’s confirmation number. - loyalty: Guest's loyalty program number, if any. - first: Guest’s first name. - last: Guest’s last name. - email: Guest’s email address. - phone: Guest’s phone number. - startDate: Guest’s check-in date. Format: 'yyyy-MM-dd' or as defined by `dateFormat`. - endDate: Guest’s check-out date. Format: 'yyyy-MM-dd' or as defined by `dateFormat`. - guests: The total number of guests. - adults: The total number of adult guests. - children: The total number of children guests. - type: The guest’s room type, if available. Use the booking engine internal code. - rateCode: The guest’s rate code, if available; otherwise blank. - groupCode: The guest’s group code (or block code), if available; otherwise blank. - promoCode: The guest’s promo code, if available; otherwise blank. - language: The ISO 639-1 language code used for the reservation (e.g., 'en', 'fr'). Can also use culture names like 'en-US'. - currency: The 3-character ISO 4217 currency code (e.g., 'USD'). - amount: The total pre-tax amount for the room purchase, as a number. - flightAmount: Optional. The total pre-tax amount for the flight portion of the purchase, as a number. Omit or set to null if not applicable. - addonAmount: Optional. The total amount for any add-on products and/or services, as a number. - dateFormat: Specify a custom date format for `startDate` and `endDate` (e.g., 'M/d/yyyy'). Defaults to 'yyyy-M-d'. ``` -------------------------------- ### Advocacy Stories API Endpoint Source: https://docs.flip.to/api/reference/platform-api Retrieves advocacy stories submitted within a specified date range, limited to submissions that include a photo. Requires start and end dates for filtering. ```APIDOC POST https://api.flip.to/v1/company/data/advocacy/stories Description: Provides data for Advocacy stories that were submitted within a specified date range. Results limited to stories that include a photo submission. Query Parameters: - startdate (String, required): The inclusive date range in ISO 8601 format `yyyy-MM-dd` (e.g. 2022-09-18). - enddate (String, required): The inclusive date range in ISO 8601 format `yyyy-MM-dd` (e.g. 2022-10-18). - page (String, optional): The page number of the data to consume. Defaults to 1 if not specified. - pagesize (String, optional): The total number of records to send for each page. Page size cannot exceed 500 records, and defaults to 100 if not specified. Request Body: - properties[] (String, optional): An array of property IDs to limit results to. If no properties are specified, all properties the key has access to will be returned. - isIncludeRestricted (Boolean, optional): Indicates whether to include restricted (GDPR) data. - isIncludeOptout (Boolean, optional): Indicate whether to include leads who have chosen to opt-out. Example Response Structure: { "total": 5679, "page": 1, "stories": [ { "propertyId": "1234DF43-C41C-442F-804C-1234A7952738", "propertySlug": "overlook-hotel", "email": "james@flip.to", "first": "James", "last": "Smith", "phone": "1234567890", "phoneConsentMode": "Checkbox", "category": "guest", "startDate": "2021-12-25", "endDate": "2021-12-29", "languageCode": "en", "isOptout": false, "isPrivacyRestricted": false, "submissionDate": "2022-01-02T06:32:00", "photo": { "id": "C123600-2B05-47E3-8FBE-3EAB9E8A5Q11", "contestName": "Myrtle Beach Vacation Memories Giveaway!", "finalistDate": "2022-01-06T19:25:00", "internalRating": "2022-01-06T19:25:00", "score": 13, "caption": "I awoke this particular morning to look at the sunrise and was surprised to see the moon still out as well! The view was breathtaking along with the beautiful waves gently hitting the shore!", "captionInternalRating": 3, "url": "https:\/\/cdn.flip.to\/public\/c123600-2b05-47e3-8fbe-3eab9e8a5q11.jpg" }, "review": { "rating": 5, "quote": "Waking up to the beautiful sun rises in the morning was very relaxing so much so part of the family did not want to leave.", "internalRating": 2 } } ] } ``` -------------------------------- ### Preview Flip.to Features via URL Source: https://docs.flip.to/integrations/websites/feature-previews Use the `flipto-preview` URL parameter to enable feature previews on your website. This allows you to see new features before they are officially launched. You can preview all available features or a specific one by appending its ID. ```APIDOC Flip.to Preview URL Parameters: To see all features available for preview, visit your website with the `?flipto-preview` parameter added to your URL. Example: `https://yourwebsite.com?flipto-preview` To go to a specific feature, add the feature ID to the `flipto-preview` parameter. Example: `https://yourwebsite.com?flipto-preview=planner-headcount` Available Feature IDs: - `discovery`: Preview the Discovery flow. - `planner-headcount`: Headcount adds extra steps to Discovery. - `planner-flight`: Flight path adds extra steps to Discovery. - `planner-experiences`: Experiences displays upcoming experiences. - `planner-special-codes`: Special codes adds support for promo, group, and other special codes in Discovery. Note: Placeholders for text, images, or data are only visible to you during preview if feature settings are not fully configured. ``` -------------------------------- ### API Key Authorization Source: https://docs.flip.to/api/introduction All requests to the Flip.to API must be authorized with an API Key. The key should be sent using basic authentication as the username with no password. The example shows the required Authorization header format. ```APIDOC Authorization: Basic bmV2ZXJnb2luZ3RvZ2l2ZXlvdXVwOg== ``` -------------------------------- ### Flip.to Dynamic Configuration Script Source: https://docs.flip.to/integrations/booking-engines/set-up-your-booking-engine This snippet shows how to dynamically configure Flip.to settings using a JavaScript object. It includes parameters for persistent URL access and Adobe Analytics cross-domain tracking. ```javascript window.ftParams = { "_ga-ft": ".................", "enableAdobeCrossDomain": true } ``` -------------------------------- ### Discovery Planners API Endpoint Source: https://docs.flip.to/api/reference/platform-api Retrieves data for planners who started planning within a specified date range. Supports filtering by discovery IDs, reservations, restricted data, guests, and opt-out status. ```APIDOC POST https://api.flip.to/v1/company/data/discovery/planners Description: Provides data for planners who started planning within a specified date range. Query Parameters: - startdate (String, required): The inclusive date range in ISO 8601 format `yyyy-MM-dd` (e.g. 2022-09-18). - enddate (String, required): The inclusive date range in ISO 8601 format `yyyy-MM-dd` (e.g. 2022-10-18). - page (String, optional): The page number of the data to consume. Defaults to 1 if not specified. - pagesize (String, optional): The total number of records to send for each page. Cannot exceed 500 records. Defaults to 100. Request Body: - discoveries[] (Array of Strings, optional): An array of discovery IDs to limit results to. If not specified, all discoveries the key has access to will be returned. - isIncludeReservations (Boolean, optional): Indicates whether to include the plan's associated reservations. - isIncludeRestricted (Boolean, optional): Indicates whether to include restricted (GDPR) data. - isIncludeGuests (Boolean, optional): Indicates whether to include guests planners. - isIncludeOptout (Boolean, optional): Indicates whether to include planners who have chosen to opt-out. Example Response: ```json { "total": 1669, "page": 1, "planners": [ { "discoveryName": "www.overlookhotel.com", "plannerId": "1D5892B3-48A9-3102-BED1-32BC97AAF577", "createDate": "2022-01-01T17:36:58.4478437", "email": "james@gmail.com", "first": "James", "languageCode": "en", "isBooked": true, "isUninterested": false, "isPrivacyRestricted": false, "isOptout": false, "activePlan": { "propertyId": "1234DF43-C41C-442F-804C-1234A7952738", "propertySlug": "overlook-hotel", "adults": 2, "children": 0, "beds": null, "rooms": 1, "arrival": "2022-01-01", "departure": "2022-01-02", "promo": null }, "reservations": [ { "propertyId": "1234DF43-C41C-442F-804C-1234A7952738", "propertySlug": "overlook-hotel", "createDate": "2022-01-02T04:14:00", "pmsNumber": "161000", "crsNumber": "10622SC40", "email": "james@flip.to", "first": "James", "last": "Smith", "phone": "1234567890", "phoneConsentMode": "Checkbox", "arrival": "2022-01-01", "departure": "2022-01-02", "currency": "USD", "amount": 365.11 } ] } ] } ``` ``` -------------------------------- ### POST /v1/company/data/advocacy/signups Source: https://docs.flip.to/api/reference/platform-api Retrieves advocacy sign-up data for leads within a specified date range. Supports filtering by properties and inclusion of opt-out or restricted data. The response includes pagination details and a list of opt-out records. ```APIDOC POST https://api.flip.to/v1/company/data/advocacy/signups Query Parameters: startdate (String, required): The inclusive date range in ISO 8601 format yyyy-MM-dd (e.g. 2022-09-18). enddate (String, required): The inclusive date range in ISO 8601 format yyyy-MM-dd (e.g. 2022-10-18). page (String, optional): The page number of the data to consume. If a page isn't specified, page should be set to 1. pagesize (String, optional): The total number of records to send for each page. Page size cannot exceed 500 records at a time, and if not specified, the default value would be set to 100. Request Body: properties[] (String, optional): An array of property IDs to limit results to. If no properties are specified, all properties the key has access to will be returned. isIncludeRestricted (Boolean, optional): Indicates whether to include restricted (GDPR) data. isIncludeOptout (Boolean, optional): Indicate whether to include leads who have chosen to opt-out. Returns: JSON object containing total records, current page, and an array of opt-out data. ``` ```JSON { "total": 150, "page": 1, "optouts": [ { "discoveryName": "www.overlookhotel.com", "email": "james@gmail.com", "optoutDate": "2022-05-04T18:21:58.1272137" } ] } ```