1 · The legacy-connected state
Most room blocks look exactly as they do today. The new state only appears when the organization uses Groups & Events but this room block is still connected to the old Groups module — for example, when the automatic relink job has not reached it yet.
| Contracted | Blocked | Picked up | Net |
|---|---|---|---|
| 30 | 24 | 18 | $14,250 |
2 · Confirmation and progress
Clicking the button opens a confirmation dialog. The sync itself reuses the existing machinery: spinner status icon, polling, and a snackbar on completion.
- Link this booking to the event Cloudbeds created from the old group
- Create a profile in Cloudbeds for the account, if one doesn’t exist
- Update the event with this booking’s name, status, and dates
No data is deleted, and the room block itself is not changed. This can’t be undone.
3 · Copy reference
All strings in one place, with suggested i18n keys for common.json.
| Where | Suggested key | Text |
|---|---|---|
| Menu item (Fetch from PMS dropdown) | syncToGroupsAndEvents |
Sync to Groups & Events… |
| Status icon tooltip (amber state) | syncToGroupsAndEventsTooltip |
This room block is connected to the old Cloudbeds Groups module. New bookings sync to Groups & Events. Use “Sync to Groups & Events” in the Fetch from PMS menu to update its connection. |
| Dialog title | syncToGroupsAndEventsTitle |
Sync room block to Groups & Events |
| Dialog body | syncToGroupsAndEventsBody |
This room block is connected to the old Cloudbeds Groups module. Syncing it will: link this booking to the event Cloudbeds created from the old group; create a profile in Cloudbeds for the account, if one doesn’t exist; update the event with this booking’s name, status, and dates. No data is deleted, and the room block itself is not changed. This can’t be undone. |
| Dialog confirm / cancel | syncToGroupsAndEvents / cancel |
Sync to Groups & Events / Cancel |
| Success snackbar | syncedToGroupsAndEvents |
Room block synced to Groups & Events. |
| Failure | existing pattern | Red status icon + “Sync with PMS failed: {error}” tooltip (unchanged). |
pms_provider.config.groups_and_events_enabled is true
and the room block’s pms_record.synced_module === 'legacy' (new
serialized field). For everyone else, Fetch from PMS stays a plain button and the header
is unchanged from today.