Every registration sends four categories of information: device details, notification state, booking context, and guest preferences. Together these give the server enough to route notifications correctly and target the right content to the right guests.
Device details
The OS name, iOS version and device model are included in every registration. These fields never change between sessions and help the server understand the device landscape across the guest base.
Push notification state
The device’s Firebase push notification token is always included — this is the unique identifier that allows the server to send notifications to the right device. Alongside it:
- If the guest has disabled notifications at the iOS level or within the app, an opt-out flag is sent and nothing further is included in this category
- If notifications are enabled, a marketing flag indicates whether the guest has opted in to marketing messages specifically — guests can enable notifications generally while still declining marketing content
- The notification topics the device is currently subscribed to are confirmed with each registration, keeping subscriptions accurate automatically without any manual intervention required
Booking context
If the guest is logged in and has a booking linked to their account, the following is included:
| Field | What it is |
|---|---|
| Booking ID | The unique reference for the booking |
| Arrival date | Check-in date |
| Departure date | Check-out date |
| Party size | Total number of guests in the party |
| Has children / teenagers / infants / seniors / pets | Composition of the party |
| Unit type ID | The type of accommodation booked |
| Unit group ID | The accommodation group |
| Is touring | Whether the booking is a touring pitch |
| Is OTA | Whether the booking came through an online travel agent |
The party composition fields are what allow the server to target notifications relevant to the makeup of the group — a family with young children may receive different on-park messaging to a couple without. If the guest has no booking, none of these fields are sent.
A status field accompanies the booking data to indicate the guest type:
| Status | When it applies |
|---|---|
pms | Booking pulled from the booking system |
manual | Manually added booking |
[scheme key] | Owner or member — the scheme’s own key is used directly |
guest | Logged in with neither a booking nor a scheme |
If the guest has opted out of notifications entirely, no status is sent.
Preference tags
The guest’s current preference tag weights from the recommendation engine are included — the same tags described in the Recommendations & Personalisation chapter. These are sent as tag names paired with their current numeric weights, allowing the server to factor in guest interests when deciding which notifications are most relevant. If the guest has opted out of personalisation entirely, no tags are sent.