Hotel
Hotels have many touchpoints with guests, from before travel all the way through check-out. PBCP captures every touchpoint in a single Guest Story, enabling a deeper understanding of each guest across every stay.
Business problems solved
| Problem | How PBCP solves it |
|---|---|
| No idea what a VIP guest likes or which room they requested last time | Guest Story → preferences, history, special requests |
| Low revenue per room with no upsell opportunities | Intelligence → offer upgrade / dining package based on guest profile |
| Regular guests go silent without explanation | Churn signal → win-back campaign before they leave permanently |
| No visibility into which periods will have low occupancy | Pattern Intelligence → run promotions in advance targeting guests who book during those periods |
| Staff unaware of guest preferences before arrival | Guest Context → surfaced to front desk before check-in |
Story types
Guest Story
How many times has this guest stayed? What room type do they prefer? What services do they use?
Reservation Story
How has this reservation changed? What mid-stay requests were made?
Room Story
How often is this room booked? What is the average review score?
Staff Story
How well does this staff member handle complaints? Guest satisfaction score
Key events
| Event | Occurs when |
|---|---|
reservation.created | New reservation created (online / call / walk-in) |
reservation.confirmed | Reservation confirmed with booking number |
reservation.modified | Dates / room / number of guests modified |
reservation.cancelled | Reservation cancelled |
pre_arrival.message_sent | Pre-arrival message sent to ask about preferences |
pre_arrival.preferences_received | Guest responds (pillow type, food, check-in time) |
check_in.completed | Check-in complete, room key received |
room_upgrade.offered | Room upgrade offered |
room_upgrade.accepted | Guest accepts upgrade |
room_service.ordered | Room service ordered |
amenity.used | Amenity used (spa, pool, gym, restaurant) |
housekeeping.requested | Room cleaning requested |
complaint.raised | Problem reported / complaint made |
complaint.resolved | Problem resolved |
late_checkout.requested | Late check-out requested |
check_out.completed | Check-out complete |
payment.completed | Payment made |
review.submitted | Review submitted (TripAdvisor, Google, internal) |
loyalty.points_earned | Points earned |
loyalty.tier_upgraded | Tier upgraded (Silver → Gold → Platinum) |
Intelligence use cases
| Use case | Signal | Action |
|---|---|---|
| Room upgrade upsell | Guest profile → prefers high-floor rooms + availability exists | Offer special upgrade price 24 hours before check-in |
| Dining package | amenity.used at restaurant every stay | Offer half-board package during pre-arrival |
| Anniversary / Birthday | Special date approaching per guest profile | Flowers + cake in room before check-in |
| Win-back regular guest | No reservation.created for >180 days | Email + exclusive member rate |
| Complaint follow-up | complaint.raised → check_out.completed | Post-stay call + compensation |
| Low occupancy period | Pattern from check_in.completed history | Flash sale to loyal guests before public release |
Guest story timeline
reservation.created → 3 weeks prior (Deluxe Sea View booked)
reservation.confirmed → 3 weeks prior
pre_arrival.message_sent → 3 days prior
pre_arrival.preferences_received → 2 days prior (soft pillow, no seafood)
room_upgrade.offered → day before (Suite at +800/night)
room_upgrade.accepted → day before
check_in.completed → arrival day 14:30
amenity.used → 16:00 (pool)
room_service.ordered → 19:30 (dinner ฿1,850)
amenity.used → day 2, 09:00 (spa)
check_out.completed → day 3, 11:45
payment.completed → 11:46 (฿18,400)
review.submitted → day 4 (★★★★★)
loyalty.points_earned → automatic (+1,840 pts)
RevPAR: 40% above baseline from upgrade + ancillary spend