{"generatedAt":1793673519318,"lastChecked":1793673480000,"stale":false,"status":"operational","services":[{"id":"website","name":"Marketing website","group":"Edge services","description":"Public website and product information.","url":"https://aerovms.net/","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":137,"detail":"HTTP check passed.","history":[{"service":"website","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"portal","name":"Customer portal","group":"Edge services","description":"Portal sign-in page availability; authenticated actions are not probed.","url":"https://my.aerovms.net/login","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":1543,"detail":"HTTP check passed.","history":[{"service":"portal","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"admin","name":"Operations console","group":"Edge services","description":"Admin sign-in page availability; authenticated actions are not probed.","url":"https://admin.aerovms.net/login","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":807,"detail":"HTTP check passed.","history":[{"service":"admin","day":"2026-11-03","good":139,"degraded":1,"bad":0,"unknown":0}]},{"id":"app","name":"Airline application","group":"Platform services","description":"Shared application HTTP liveness through Fly routing; not every region or tenant.","url":"https://aerovms-app.fly.dev/internal/health","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":88,"detail":"HTTP check passed.","history":[{"service":"app","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"catalog","name":"Control database","group":"Platform services","description":"Read access to the platform catalog. Individual airline databases are not scanned.","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":82,"detail":"Catalog read check passed.","history":[{"service":"catalog","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"provisioning","name":"Airline provisioning queue","group":"Platform services","description":"Queue progress: degrades when unfinished work has not progressed for 15 minutes. An empty queue does not prove worker liveness.","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":null,"detail":"No stalled provisioning work detected.","history":[{"service":"provisioning","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"realtime-us","name":"Realtime presence · US","group":"Regional services","description":"Fresh service heartbeats in Ashburn (IAD), including catalog and Redis readiness.","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":null,"detail":"2 of 2 service heartbeats are current.","history":[{"service":"realtime-us","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]},{"id":"realtime-eu","name":"Realtime presence · EU","group":"Regional services","description":"Fresh service heartbeats in Frankfurt (FRA), including catalog and Redis readiness.","status":"operational","measuredStatus":"operational","stale":false,"checkedAt":1793673480000,"latency":null,"detail":"2 of 2 service heartbeats are current.","history":[{"service":"realtime-eu","day":"2026-11-03","good":140,"degraded":0,"bad":0,"unknown":0}]}],"metrics":{"at":1793673480000,"queued":0,"running":0,"failed":0,"completed":1,"oldest_seconds":0,"healthy_realtime":4,"total_realtime":4},"latency":[{"at":1793664900000,"latency":637},{"at":1793665200000,"latency":520},{"at":1793665500000,"latency":441},{"at":1793665800000,"latency":618},{"at":1793666100000,"latency":489},{"at":1793666400000,"latency":593},{"at":1793666700000,"latency":359},{"at":1793667000000,"latency":478},{"at":1793667300000,"latency":599},{"at":1793667600000,"latency":525},{"at":1793667900000,"latency":550},{"at":1793668200000,"latency":407},{"at":1793668500000,"latency":416},{"at":1793668800000,"latency":349},{"at":1793669100000,"latency":434},{"at":1793669400000,"latency":492},{"at":1793669700000,"latency":567},{"at":1793670000000,"latency":503},{"at":1793670300000,"latency":560},{"at":1793670600000,"latency":575},{"at":1793670900000,"latency":470},{"at":1793671200000,"latency":616},{"at":1793671500000,"latency":590},{"at":1793671800000,"latency":585},{"at":1793672100000,"latency":342},{"at":1793672400000,"latency":628},{"at":1793672700000,"latency":472},{"at":1793673000000,"latency":493},{"at":1793673300000,"latency":446}],"queue":[{"at":1793664900000,"queued":0,"running":0},{"at":1793665200000,"queued":0,"running":0},{"at":1793665500000,"queued":0,"running":0},{"at":1793665800000,"queued":0,"running":0},{"at":1793666100000,"queued":0,"running":0},{"at":1793666400000,"queued":0,"running":0},{"at":1793666700000,"queued":0,"running":0},{"at":1793667000000,"queued":0,"running":0},{"at":1793667300000,"queued":0,"running":0},{"at":1793667600000,"queued":0,"running":0},{"at":1793667900000,"queued":0,"running":0},{"at":1793668200000,"queued":0,"running":0},{"at":1793668500000,"queued":0,"running":0},{"at":1793668800000,"queued":0,"running":0},{"at":1793669100000,"queued":0,"running":0},{"at":1793669400000,"queued":0,"running":0},{"at":1793669700000,"queued":0,"running":0},{"at":1793670000000,"queued":0,"running":0},{"at":1793670300000,"queued":0,"running":0},{"at":1793670600000,"queued":0,"running":0},{"at":1793670900000,"queued":0,"running":0},{"at":1793671200000,"queued":0,"running":0},{"at":1793671500000,"queued":0,"running":0},{"at":1793671800000,"queued":0,"running":0},{"at":1793672100000,"queued":0,"running":0},{"at":1793672400000,"queued":0,"running":0},{"at":1793672700000,"queued":0,"running":0},{"at":1793673000000,"queued":0,"running":0},{"at":1793673300000,"queued":0,"running":0}],"incidents":[]}