Revinate snapshot

A high-level look at Stitch's Revinate integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release Status

Released

Supported By

Singer Community

Stitch Plan

Free

Singer GitHub Repository

Revinate Repository

DATA SELECTION
Table Selection

Unsupported

Column Selection

Unsupported

REPLICATION SETTINGS
Anchor Scheduling

Supported

Table-level Reset

Unsupported

Configurable Replication Methods

Unsupported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting Revinate

Revinate setup requirements

To set up Revinate in Stitch, you need:

  • A Revinate account with API access. Reach out to your Revinate sales representative or account manager to obtain the correct permissions.

  • A Revinate API token and secret. To obtain these credentials, reach out to your Revinate sales representative or account manager.

Step 1: Add Revinate as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the Revinate icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch Revinate” would create a schema called stitch_revinate in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Username field, enter your Revinate username.
  6. In the API Key field, paste your Revinate API key. Your Revinate API token must be obtained through your Revinate sales representative or account manager.
  7. In the API Secret field, paste your Revinate API secret. Your Revinate API secret must be obtained through your Revinate sales representative or account manager.

Step 2: Define the historical sync

The Sync Historical Data setting will define the starting date for your Revinate integration. This means that:

  • For tables using Incremental Replication, data equal to or newer than this date will be replicated to your data warehouse.
  • For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond Revinate’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 3: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

Stitch offers two methods of creating a replication schedule:

  • Replication Frequency: This method requires selecting the interval you want replication to run for the integration. Start times of replication jobs are based on the start time and duration of the previous job. Refer to the Replication Frequency documentation for more information and examples.
  • Anchor scheduling: Based on the Replication Frequency, or interval, you select, this method “anchors” the start times of this integration’s replication jobs to a time you select to create a predictable schedule. Anchor scheduling is a combination of the Anchor Time and Replication Frequency settings, which must both be defined to use this method. Additionally, note that:

    • A Replication Frequency of at least one hour is required to use anchor scheduling.
    • An initial replication job may not begin immediately after saving the integration, depending on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.

To help prevent overages, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Initial and historical replication jobs

After you finish setting up Revinate, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


Revinate Replication

Extraction overview

When Stitch runs a replication job for Revinate, a few things will happen:

  1. First, Stitch will get all the hotels that the authenticating user has access to.
  2. Stitch will replicate review snapshot data (hotel_reviews_snapshot, hotel_reviews_snapshot_by_site, hotel_reviews_snapshot_by_time) for the hotel.
  3. Stitch will replicate data about the hotel (hotels).
  4. Stitch will repeat steps 2-3 until review snapshot and hotel data has been replicated for all accessible hotels.
  5. Stitch will replicate review data (reviews) based on the last saved updated_at value, which is the table’s Replication Key.

Replicating review snapshots

When Stitch extracts review snapshot data, it will do so using an Attribution Window of 1 week. This means that during each replication job, Stitch will replicate snapshot data for that last completed week. For example: If the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.

This is applicable to the hotel_reviews_snapshot, hotel_reviews_snapshot_by_site, and hotel_reviews_snapshot_by_time tables.


Revinate table schemas

hotel_reviews_snapshot

Replication Method :

Key-based Incremental

Replication Key :

snapshot_start_date

Primary Key :

hotel_id : snapshot_start_date

API endpoint :

Get review snapshots by hotel ID

The hotel_reviews_snapshot table contains snapshot summary stats of reviews for the last completed week, segmented by hotel.

Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.

Replication

During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.

hotel_id
INTEGER

The hotel ID.

snapshot_start_date
INTEGER

The snapshot start date as a Unix timestamp.

aggregate_average_rating
NUMBER
aggregate_new_reviews
NUMBER
aggregate_pos_reviews_pct
NUMBER
aggregate_trip_advisor_market_ranking
INTEGER
aggregate_trip_advisor_marke_ranking_pctl
NUMBER
aggregate_trip_advisor_market_size
INTEGER
aggregate_values_json
STRING
hotel_reviews_snapshot_json
STRING
hotel_reviews_snapshot_url
STRING
links_json
STRING
snapshot_end_date
INTEGER

The snapshot end date as a Unix timestamp.

values_by_review_site_json
STRING
values_by_time_json
STRING

hotel_reviews_snapshot_by_site

Replication Method :

Key-based Incremental

Replication Key :

snapshot_start_date

Primary Key :

hotel_id : review_site_id : snapshot_start_date

API endpoint :

Get review snapshots by hotel ID

The hotel_reviews_snapshot_by_site table contains snapshot summary stats of reviews for the last completed week, segmented by hotel and review site.

Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.

Replication

During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.

hotel_id
INTEGER

The hotel ID.

review_site_id
INTEGER

The review site ID.

snapshot_start_date
INTEGER

The snapshot start date.

hotel_reviews_snapshot_url
STRING
review_site_json
STRING
review_site_main_url
STRING

The main URL of the review site.

review_site_name
STRING

The review site name.

review_site_url
STRING

The review site URL.

review_site_slug
STRING
site_average_rating
NUMBER
site_json
STRING
site_new_reviews
INTEGER
site_pos_reviews_pct
NUMBER
site_trip_advisor_market_ranking
INTEGER
site_trip_advisor_market_ranking_pctl
NUMBER
site_trip_advisor_market_size
INTEGER
snapshot_end_date
INTEGER

The snapshot end date as a Unix timestamp.


hotel_reviews_snapshot_by_time

Replication Method :

Key-based Incremental

Replication Key :
Primary Key :

hotel_id : unix_time

API endpoint :

Get review snapshots by hotel ID

The hotel_reviews_snapshot_by_time table contains snapshot summary stats of reviews for the last completed week, segmented by hotel and time.

Note: Stitch will only replicate review snapshot data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.

Replication

During each replication job, snapshot data for the last completed week will be replicated. This means that if the integration is scheduled to run every 30 minutes, then snapshot data for the last week will be replicated every 30 minutes.

hotel_id
INTEGER

The hotel ID.

unix_time
INTEGER
hotel_reviews_snapshot_url
STRING
snapshot_average_rating
NUMBER
snapshot_new_reviews
NUMBER
snapshot_pos_reviews_pct
NUMBER
snapshot_trip_advisor_market_ranking
INTEGER
snapshot_trip_advisor_market_ranking_pctl
NUMBER
snapshot_trip_advisor_market_size
INTEGER
time_period_json
STRING

Replication Method :

Full Table

Primary Key :

hotel_id

API endpoint :

Get hotels

The hotels table contains info about the hotels in your Revinate account.

Note: Stitch will only replicate data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.

hotel_id
INTEGER

The hotel ID.

hotel_url
STRING

The hotel URL.

hotel_reviews_snapshot_url
STRING

The review snapshot URL associated with the hotel.

hotel_json
STRING
name
STRING

The name of the hotel.

slug
STRING
logo
STRING

The logo associated with the hotel.

url
STRING

The hotel URL.

address1
STRING

The first line of the hotel’s address.

address2
STRING

The second line of the hotel’s address.

city
STRING

The city the hotel is in.

state
STRING

The state the hotel is in.

postal_code
STRING

The postal code for the hotel.

country
STRING

The country the hotel is in.

trip_advisor_id
INTEGER

The trip advisor ID associated with the hotel.

revinate_purchase_uri
STRING
revinate_login_uri
STRING
account_type
STRING
links_json
STRING

reviews

Replication Method :

Key-based Incremental

Replication Key :

updated_at

Primary Key :

review_id

API endpoint :

Get reviews

The table_name table contains a subset of the latest reviews for the hotels in your Revinate account.

Note: Stitch will only replicate review data for the hotels that the user whose API key is used to authenticate the integration has access to. If you’re missing records, verify that the authenticating user has access to those hotels in Revinate.

review_id
INTEGER

The review ID.

updated_at
INTEGER

The time the review was last updated.

author
STRING

The review author.

author_location
STRING

The review author’s location.

body
STRING

The body of the review.

crawled_url
STRING
date_collected
INTEGER

The date the review was collected.

date_review
INTEGER

The date of the review.

guest_stay_json
STRING
hotel_id
INTEGER

The hotel ID.

hotel_url
STRING
language_english_name
STRING
language_id
INTEGER
language_json
STRING
language_name
STRING
language_slug
STRING
language_url
STRING
links_json
STRING
nps
INTEGER
rating
NUMBER

The rating.

response_json
STRING
review_json
STRING
review_site_id
INTEGER
review_site_json
STRING
review_site_main_url
STRING
review_site_name
STRING

The name of the review site the review is on.

review_site_url
STRING
review_site_slug
STRING
review_url
STRING
subratings_json
STRING
subratings_cleanliness
NUMBER

The cleanliness subrating associated with the review.

subratings_hotel_condition
NUMBER

The hotel condition subrating associated with the review.

subratings_rooms
NUMBER

The room subrating associated with the review.

subratings_service
NUMBER

The service subrating associated with the review.

survey_topics_json
STRING
title
STRING

The title of the review.

trip_type
STRING

The trip type included in the review.



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.