Colour Key
Cyan. Normal Flow
Entry points, informational emails, approvals.
Entry points, informational emails, approvals.
Amber. Action Required
A party must act before flow can continue.
A party must act before flow can continue.
Red. Escalation
Normal flow has broken down.
Normal flow has broken down.
Green. Resolved
Confirmed or cleared. Flow proceeds.
Confirmed or cleared. Flow proceeds.
Key Principles
Contract is truth. It is never the contract that needs correcting.
Every action email includes CONFIRM and CHAT TO US buttons.
Weekends excluded from all timing calculations.
Original email attached to every chaser.
Unexpected inbound? Escalate to Supply Chain immediately.
Go-live deadline is sacred. Chase cadence is the safeguard. HITL is the backstop.
Track opens and actions on all emails for proof of life.
REF Summary
| REF | To | ||
|---|---|---|---|
| 01 | Upload Rejected | Client | |
| 02 | Client FYI | Client | |
| 03 | Hotel Discrepancy | Hotel | |
| 04 | Chaser 1 | H / C | |
| 05 | Chaser 2 | H / C | |
| 06 | Passkey Codes | Hotel | |
| 07 | Client Approval | Client | |
| 08 | Post Go-Live | Hotel | |
| 09 | Booking Discrepancy | Hotel |
Pre-Filter
Front Line Router
Incoming Email
Incoming Email
magellan@hotelmap.comDecision
Is the sender pre-registered?
Authorised HotelMap staff or pre-registered partner contacts only
NO
Triage
Unregistered Address
Router assesses content
Spam
BIN
Looks Real
Escalate
Supply Chain
YES
Decision
Duplo booking link?
YES (Link)
Decision
Contains contract?
YES
Stage 0 ↓
NO
✉ Action
Request Contract
Preview email
Await Resubmission
NO (No Link)
Decision
Contains contract?
YES
Offline Block
NO
Escalate
Supply Chain
Await Resubmission
Developer Notes
The router checks the sender against a pre-registered whitelist (HotelMap staff + partner contacts). Unregistered senders are triaged by content analysis, not discarded. If content looks like a legitimate contract or booking link from an unknown sender, it goes to Supply Chain for manual review. Spam detection is conservative: false negatives are preferable to false positives.
Stage 0
Intake
Stage 0
Intake
Magellan's preliminary processing of contract + booking link
Decision
Passes rejection checks?
Rejection Triggers
- Cut-off date is past today
- Event date is past today
- Commission is 0%
- Room counts are 0
PASS
Stage 1 ↓
FAIL
✉ REF 01
Upload Rejected
Issue found. Re-upload.
Preview email
Developer Notes
Runs automatically the moment Pre-Filter passes a valid submission. Four binary checks evaluated in parallel. Any single failure rejects the submission. Commission of 0% is a data entry error. Past dates indicate stale contracts. REF 01 fires immediately, no queue.
Stage 1
Verification
Stage 1
Magellan Verifies
Cross-references contract vs. booking link across all fields
Decision
Discrepancy found?
No, All Clear
Both fire simultaneously
✉ REF 07
Client Approval
Summary for sign-off
Preview email
✉ REF 06
Passkey Codes
If Feed = Passkey
Preview email
Stage 3 ↓
Yes, Discrepancy
Both fire simultaneously
✉ REF 02
Client FYI
Hotel contacted to rectify
Preview email
✉ REF 03
Hotel Action
Correct link to match contract
Preview email
Stage 2 ↓
Developer Notes
Field-by-field comparison: room types, rates, dates, cancellation terms, commission, payment terms. Any single mismatch triggers the discrepancy path. The contract is always correct. Both REF 02 (Client FYI) and REF 03 (Hotel Action) fire simultaneously on discrepancy. On all-clear, REF 07 and REF 06 (if Passkey) also fire simultaneously.
Stage 2
Chase Sequence
Fires if no response to any action-required email. Weekends excluded. Original email attached to every chaser.
✉ REF 04
Chaser 1
Following up. Please complete required actions.
Preview email
+ 48 Business Hours
✉ REF 05
Chaser 2, Urgent
Urgent action required. Please action immediately.
Preview email
+ 48 Business Hours
Escalation
HITL. Homeland In The Loop
Manual intervention. Slack: #magellan-escalations + email to assigned SC manager.
Hotel Responds
↩ Re-verify at Stage 1
Chase Exhausted
Last Resort
Client Fallback
Client asked to engage the hotel directly
Developer Notes
Business hours only: weekends and bank holidays excluded from the 48-hour countdown. Original email always attached. HITL means a real human from Supply Chain takes over via Slack #magellan-escalations plus email to the assigned SC manager. If chase is fully exhausted and HITL cannot resolve, client is contacted directly. This is the absolute last resort.
Stage 3
Approval & Go-Live
Convergence Point
Both the all-clear path (Stage 1) and the resolved discrepancy path (Stage 2) merge here. REF 07 is one email template used in both cases.
✉ REF 07
Client Approval Email
Summary table: room types, rates, dates, cancellation, payment terms
Preview email
Decision
Client confirms?
YES
✓ Live
Room Block Goes Live
Stage 4 ↓
Flags Correction
Re-verify
Check Booking Link
↩ Back to Stage 1
24 Hrs No Reply
✉ Resend REF 07
Approval resent once
Preview email
Developer Notes
Two paths converge: all-clear from Stage 1 and resolved from Stage 2. REF 07 appears visually in Stage 1 and Stage 3 but it is one template. If no reply within 24 business hours, REF 07 is resent exactly once. If the client flags a correction, flow loops back to Stage 1. The go-live deadline cannot be missed.
Stage 4
Post Go-Live
✉ REF 08
Post Go-Live Confirmation. To Hotel
Weekly pick-up report request
Preview email
Developer Notes
Fires automatically once live. One-shot informational email to the hotel. No chase loop. If no response, flag internally for the account manager but do not block the live room block.
Stage 5
Discrepancies at Booking Stage
Separate escalation path. Can trigger at any point after go-live.
Trigger Conditions
- No availability on link
- Rate discrepancy (HotelMap vs. booking link)
- Booking link showing error
✉ REF 09
Discrepancies at Booking Stage. To Hotel
Same 48hr / 48hr / HITL chase cadence applies
Preview email
Developer Notes
Independent of Stages 0 through 4. Fired when a guest or internal team reports a booking link problem. Same chase cadence as Stage 2. If this triggers, someone is already trying to book and failing, so speed matters.
Email Reference
| REF | To | Purpose | Status | ||
|---|---|---|---|---|---|
| 01 | Upload Rejected | Client | Submission failed intake checks | PREVIEW | |
| 02 | Client FYI | Client | Discrepancy found, hotel contacted | PREVIEW | |
| 03 | Hotel Discrepancy | Hotel | Booking link does not match contract | PREVIEW | |
| 04 | Chaser 1 | Hotel / Client | First follow-up after no response | PREVIEW | |
| 05 | Chaser 2 | Hotel / Client | Urgent second follow-up | PREVIEW | |
| 06 | Passkey Codes | Hotel | Request event codes for Passkey feed | PREVIEW | |
| 07 | Client Approval | Client | Summary table for sign-off before go-live | PREVIEW | |
| 08 | Post Go-Live | Hotel | Weekly pick-up report request | PREVIEW | |
| 09 | Booking Discrepancy | Hotel | Live booking link issue after go-live | PREVIEW |
End of Flow
Magellan Email Routing v1.0, HotelMap Design Engineering