Integration of CRM and CRS explained
When a guest books a reservation through your CRS, their information automatically flows into CRM. This allows you to:
Build comprehensive guest profiles with contact information, preferences, and booking history.
Track guest loyalty and reward repeat visitors.
Send personalized marketing emails based on guest behavior and preferences.
Automate transactional communications like booking confirmations and pre-arrival messages.
Segment your audience for targeted campaigns.
Measure marketing effectiveness with detailed analytics.
How the integration works between the CRS and CRM
The integration happens automatically in real-time. No manual data entry required. Outlined below is the workflow of how the integration works.
In the CRS the guest makes a reservation.
The date is then synced with the CRM from the CRS.
Now you can market to these customers.
What data flows from the CRS to the CRM
Outlined below is the data that is sent from the CRS to the CRM.
Guest profile information
Name and contact details including email, phone and address.
Loyalty membership information.
Birthday and personal preferences.
Marketing consent preferences.
Custom fields for your specific needs.
Reservation information
Booking confirmation numbers.
Check-in and check-out dates.
Room type and rate code.
Number of guests, adults and children.
Booking channel including website, phone and OTA.
Total charges and payment details.
Special requests and notes.
When does data sync
Event | What happens in the CRM |
New Booking | Guest profile created/updated + Reservation record added |
Booking Modification | Reservation details updated |
Booking Cancellation | Reservation marked as cancelled |
Guest Profile Update | Profile information enriched with new details |
Loyalty Enrollment | Loyalty member account created |
All data syncs in real-time as events occur in your CRS. There are no batch uploads or delays - your marketing data is always current.
Guest profile management
Outlined below is an overview of how a guest profile is created and updated.
How guest profiles are created
When a guest makes their first booking, SHR CRM automatically creates a guest profile using their email address as the unique identifier.
How guest profiles are updated
Empty fields are filled in with new information.
Marketing consent preferences are always updated.
New phone numbers and addresses are added not replaced.
What is not updated on a guest profile
Existing contact information is preserved.
Guest preferences you've manually entered stay intact.
Custom notes and tags remain unchanged.
Example: If a guest's profile shows their address as 123 Main St, Boston and a new booking comes in with address 456 Oak Ave, New York, the original Boston address is kept. However, if the original address field was empty, the New York address would be added.
This approach ensures that:
Guest data quality improves over time as more information is collected.
Manually entered data is not lost through automated updates.
Guests see consistent information across all touchpoints.
Managing duplicate profiles
CRM matches guests by email address. As long as guests use the same email for all bookings, they will have a single unified profile.
Best practices of managing a guest profile
Encourage guests to use a consistent email address.
Periodically review for duplicate profiles, looking for example different email for the same person.
Use CRM's profile merge functionality when needed.
Reservation tracking and lifecycle
Outlined below are details regarding the tracking and life cycle of a reservation and how that impacts on a guest profile.
Reservation stages
CRM tracks reservations through their complete lifecycle:
Firstly there are four types of a reservation:
New booking - Reservation just created.
Modified - Guest changed their reservation details.
Cancelled- Guest cancelled the reservation.
No-show - Guest did not arrive for their reservation.
The information that is available in a reservation is outlined below:
Core details:
Confirmation number.
Hotel property.
Check-in and check-out dates.
Room type and rate.
Number of guests.
Total charges.
Booking source, where did they book the reservation web, phone or OTA.
Guest preferences:
Special requests.
Room preferences.
Accessibility needs.
VIP status.
Financial information:
Room charges.
Taxes.
Service items from CRS, if applicable.
Payment method.
Points redeemed, if loyalty member.
Important limitation
In the CRS-only integration, detailed folio information from the property is not available.
The following is not available:
Itemized charges from minibar.
Restaurant and bar charges.
Spa and activity charges.
Phone and internet charges.
Incidentals added at the property.
The following is available:
Original booking charges from CRS.
Room rate and taxes.
Service items added at booking time.
Package inclusions.
πNote: If you want to send post-stay surveys asking about dining or spa experiences, you won't know which guests actually used those services based on CRS data alone. For detailed folio data, a PMS integration is required.
Marketing and personalization capabilities
CRM allows you to personalize every email with guest-specific information using personalization tags. These tags automatically pull data from guest profiles and reservations.
Create targeted campaigns based on guest attributes and behavior.
Example segments:
Loyalty members only: Guests with {contactfield=loyaltymemberid} populated.
Frequent guests: Guests with {contactfield=loyaltymemberstaycount} > 5.
Lapsed guests: Guests with {reservationfield=lastResv_dayout} more than 1 year ago.
Family travelers: Reservations with {reservationfield=lastResv_children} > 0.
Business travelers: Reservations with specific {reservationfield=lastResv_marketcode}.
Automated campaigns
Set up triggered campaigns based on guest actions.
Pre-arrival campaigns:
30 days before arrival: Getting ready for your stay?.
Seven days before arrival: Check-in tips and local recommendations.
One day before arrival: We're ready for you!.
Post-departure campaigns:
One day after checkout: Thank you for staying with us and How was your experience surveys.
30 days after checkout: We miss you - special return offer.
Loyalty nurture campaigns:
Member anniversary: Happy {contactfield=signuptime|year} year anniversary!.
Points expiration: Don't lose your points.
Tier upgrade: Congratulations on reaching {contactfield=loyaltymembertier} status.
Almost upgraded: You're just {contactfield=marginstays} stays away from {contactfield=loyaltymembernextleveltiername}.
Loyalty program integration
Outlined below is how loyalty data syncs. When a guest enrolls in your loyalty program through the CRS, their membership information automatically flows into the CRM.
Member ID - Unique loyalty identifier.
Member tier - Current loyalty status level.
Total points - Available points balance.
Enrollment date - When they joined the program.
Points tracking
Outlined below is how points are tracked, calculated and redeemed.
How points are tracked:
Points are calculated based on reservation details at booking time.
Points are awarded after the guest completes their stay and the check-out date passes.
Cancelled reservations do not earn points.
How points are redeemed:
When guests use points for bookings, this is tracked in the CRM.
Both the points amount and monetary value are recorded.
Points balance is updated in real-time.
Loyalty marketing capabilities
There are two types of loyalty marketing capabilities, tier based and points based. Outlined below is an overview of each.
Tier-based campaigns
Send different messages to different tiers:
Bronze or silver members: Upgrade benefits.
Gold or platinum members: Exclusive perks.
All members: Tier-appropriate content using {contactfield=loyaltymembertier}.
Points-based triggers:
Low points balance: Easy ways to earn more points.
High points balance: Redeem your points for free nights.
Points expiring soon: Use them before you lose them.
Progress tracking: Use tags like {contactfield=marginstays} and {contactfield=marginnights} to show members how close they are to their next tier upgrade, creating urgency and encouraging bookings.
Multi-property loyalty:
If you have multiple properties, the CRM tracks:
Total stays across all properties.
Total nights across all properties.
Points earned at each property.
Favorite property or the most visits.
Email templates and dynamic content
Outlined below are the tags used and date formatting options.
Available personalization tags
Below is a reference of all personalization tags available for CRS-only integration. Use these tags in your email templates to dynamically insert guest-specific information.
Guest information tags
Tag | What It Shows | Example Output |
{firstname} | Guest's first name | John |
{lastname} | Guest's last name | Smith |
{contactfield=email} | Email address | |
{contactfield=phone} | Phone number | +1-555-123-4567 |
{contactfield=mobile} | Mobile phone | +1-555-987-6543 |
{contactfield=address1} | Street address | 123 Main Street |
{contactfield=city} | City | New York |
{contactfield=state} | State/Province | New York |
{contactfield=zipcode} | Postal code | 10001 |
{contactfield=country} | Country | United States |
{birthday} | Birth date | June 15, 1985 |
`{birthday | short}` | Birth date (short) |
`{birthday | month}` | Birth month |
Loyalty tags
Tag | What It Shows | Example Output |
{contactfield=loyaltymemberid} | Loyalty member number | MEM123456 |
{contactfield=loyaltymembertier} | Current tier name | Gold Member |
{contactfield=loyaltymemberavailablepoints} | Points balance | 15,000 |
{contactfield=loyaltymemberstaycount} | Total number of stays | 12 |
{contactfield=loyaltymembernightcount} | Total number of nights | 38 |
{contactfield=loyaltymembernextleveltiername} | Next tier name | Platinum Member |
{contactfield=marginstays} | Stays needed for next tier | 3 |
{contactfield=marginnights} | Nights needed for next tier | 12 |
{signuptime} | Loyalty enrollment date | January 15, 2024 |
Last reservation tags
Tag | What It Shows | Example Output |
{reservationfield=lastResv_crsresvid} | Last confirmation number | CRS123456 |
{reservationfield=lastResv_hotelname} | Last hotel name | Grand Plaza Hotel |
{reservationfield=lastResv_dayin} | Last check-in date | March 15, 2026 |
{reservationfield=lastResv_dayout} | Last check-out date | March 18, 2026 |
{reservationfield=lastResv_los} | Last length of stay | 3 nights |
{reservationfield=lastResv_roomtype} | Last room type | Deluxe King Room |
{reservationfield=lastResv_amountroom} | Last room charges | $450.00 |
Next reservation tags
Tag | What It Shows | Example Output |
{reservationfield=nextResv_crsresvid} | Next confirmation number | CRS789012 |
{reservationfield=nextResv_hotelname} | Next hotel name | Seaside Resort |
{reservationfield=nextResv_dayin} | Next check-in date | July 10, 2026 |
{reservationfield=nextResv_dayout} | Next check-out date | July 14, 2026 |
{reservationfield=nextResv_los} | Next length of stay | 4 nights |
{reservationfield=nextResv_roomtype} | Next room type | Ocean View Suite |
Date formatting options
Add | format to any date tag to control how it displays.
Format | Tag Example | Example Output |
short | {birthday|short} | 6/15/1985 |
medium | {birthday|medium} | June 15, 1985 |
long | {birthday|long} | June 15, 1985 8:30 PM |
date | {birthday|date} | 6/15/1985 |
month | {birthday|month} | June |
year | {birthday|year} | 1985 |
MM/dd/yyyy | {birthday|MM/dd/yyyy} | 06/15/1985 |
Default values
Provide fallback text if a tag value is empty:
{contactfield=mobile|[Phone number not provided]}
If the guest doesn't have a mobile number, this will display "[Phone number not provided]" instead of showing an empty space.
What to expect from CRS only integration
Outlined below is an overview of what is available and what is not available in the CRS only integration.
What is available in the integration.
Guest profile data:
Complete contact information including name, email, phone and address.
Birthday and personal details.
Loyalty membership information.
Marketing consent preferences.
Comprehensive booking history.
Reservation data:
Confirmation numbers.
Stay dates and length of stay.
Room type and rate information.
Number of guests.
Booking channel and source.
Special requests and notes.
Points used or earned.
Marketing capabilities:
Personalized email campaigns.
Audience segmentation.
Automated triggered campaigns.
Dynamic content with 50+ personalization tags.
Loyalty program tracking and communications.
Real-time data synchronization.
What is not available in the integration and requires a PMS integration.
Detailed folio data:
Itemized charges from property operations.
Minibar, restaurant and spa charges.
Incidental charges added during stay.
Actual check-in or check-out times.
Real-time in-house status.
PMS-specific features:
Real-time room status updates.
Property-level guest preferences.
PMS-managed loyalty points, separate from the CRS.
Property-specific notes and requests.
