How Magellan runs in production
A single-screen view of the operational shape of the platform — ingest, processing, push, observability. Use this to answer “what happens when a contract comes in?” without diving into a specific service repo.
A single-screen view of the operational shape of the platform — ingest, processing, push, observability. Use this to answer “what happens when a contract comes in?” without diving into a specific service repo.
A high-level view of how a single hotel contract flows through Magellan — from inbox or upload, through verification and matching, to a confirmed rate push and a Slack notification.
The system dataflow above shows where email enters the pipeline. For the full Magellan Online Room Blocks routing flowchart — every REF email, decision gate, chase sequence, and go-live step — use the dedicated trace below.
Patterns that span more than one service — async jobs, the data ownership map, observability through Slack, and the metrics collector that drives the daily report.
Every long-running operation in the Agent Interactions API returns HTTP 202 immediately with a job_id. Clients poll GET /jobs/{id}. Jobs live in Valkey under job:{uuid} as JSON with a TTL of JOB_TTL_SECONDS. Hung coroutines time out; stale processing jobs are auto-failed on the next poll.
Slack is the universal notification channel. Every service emits events here; the daily report aggregates the lot into a single digest with tier breakdowns.
dupload or blockload.snapshot_and_reset() drives the daily Slack report and resets the day's counters. A background reporter loop sleeps until the target time, posts, and resets.