offerTraQ api.offertraq.com
All Systems Operational GDS Ops → Sign in →

zeroWait Ecosystem · Platform Portal

Unified
Journey Intelligence
Platform

offerTraQ is the Rails 8 API backbone of the zeroWait ecosystem — powering the OfferVuu mobile app, cloudTraQ GDS integrations, IBM watsonx ADK skill routing, airport venue telemetry, and multi-modal passenger dispatch. This portal is the entry point for platform administrators, carrier operators, and integration engineers.

Stack Rails 8.0.3 · PostgreSQL + PostGIS · SolidQueue · Action Cable
|
Deployed on Heroku · offertraq-24
|
Phase 1B — GDS Ops Command Center live

Operations & Monitoring

🛰
Phase 1B
GDS Ops Command Center
IBM watsonx ADK skill monitoring, AVA risk distribution, channelSensor ground-truth, MSP dispatch board, carrier metrics, and third-party panel access (Sabre, Hilton, National). Real-time via OpsMonitorChannel WebSocket.
🔄
Live
Queue Monitor
All active QueueSession records in real time — status, ETA, escrow lifecycle, smart contract state, Square order linkage. Force-cancel, force-completion, and audit trail per session.
📅
SolidQueue
Schedule Monitor
SolidQueue recurring job dashboard — SessionSchedulerJob, HeartbeatMonitorJob, ChannelSensorSnapshotJob. Shows last-run timestamp, next scheduled fire, success/error rates, and job queue depth.
🌐
Indoor IPS
Network Monitor
Cisco Meraki Scanning API indoor positioning cache, device proximity via PostGIS ST_3DWithin, beacon heatmap, and OSRM route simulations from worker to passenger anchor. No Google APIs — ADR-002 enforced.
🛤️
Multi-modal
Journey Monitor
Full multi-modal journey tracking: airline + hotel + car rental segments linked by itinerary_ref. CloudMist operator messaging, AVA risk analysis, and segment gap risk flagging (IROP → hotel/car at-risk).
⬡
vuuForge
AR Simulator
ArNodeSimulatorService: simulate projected ancillary revenue per carrier — seat upgrades, lounge access, fast-track, car/hotel upgrades. Publishes AR nodes to JourneyFactory. Compare projections against CloudtraqAd actuals.

How to Navigate the Platform

1
Log in as an admin or staff user
Navigate to api.offertraq.com and sign in. Admin and staff users see the admin navigation bar at the top — guest users only see the consumer-facing offer listings. The nav bar links (Queue Monitor · Schedule · Network · GDS Ops · AR Sim · Users) are all gated behind admin_user? or staff_user?.
2
Start with the GDS Ops Command Center for live operations
The 🛰 GDS Ops button in the nav bar opens the Command Center — the primary ops screen. Use the left navigation sidebar to move between sections: Passengers (High Risk PAX, Master PNR, PNR Mutations), Ground Ops (channelSensor, Heat Map, Dispatch), Analytics (Skill Feed, Carrier Metrics, Anc Revenue), and Integrations (Third-Party Panels). Hover ⓘ on any element for a tooltip explanation.
3
Monitor live queues and sessions
Queue Monitor shows all active QueueSession records. Sessions flow through: pending → activated → approved → completed / cancelled. Escrow status mirrors the session lifecycle (pending → held → released / refunded). Click any session row to see the full audit trail, Square order linkage, and smart contract hash.
4
Verify background jobs are running on Schedule Monitor
SolidQueue runs in production. Check the Schedule Monitor to confirm SessionSchedulerJob (60s), HeartbeatMonitorJob (60s), and ChannelSensorSnapshotJob (15min) are firing. If a job appears stale, trigger it manually from the Rails console.
heroku logs --tail --app offertraq-24   # live log stream
heroku run rails console --app offertraq-24   # Rails console
5
Seed demo data to see the GDS Ops screens populated
All GDS Ops screens show empty states until data exists. Seed PNRs, skill logs, dispatch tasks, and anchors via the Rails console. The recommended sequence: create OperatorTenant records, then seed CloudtraqPnr, GdsSkillLog, DispatchTask, and PhysicalSenseAnchor records with realistic congestion_index values.
heroku run rails runner "
  tenant = OperatorTenant.find_or_create_by!(tenant_key: 'jetblue') { |t|
    t.name = 'JetBlue Airways'
    t.data_scope = { carrier_codes: ['B6'], iata_codes: ['JFK','BOS'] }
    t.is_active = true
  }
  10.times { |i|
    CloudtraqPnr.create!(pnr_locator: \"CT-B6#{i.to_s.rjust(4,'0')}\",
                         carrier_code: 'B6', tenant_key: 'jetblue',
                         segment_type: 'airline', status: 'confirmed',
                         risk_score: rand(0.3..0.9).round(2))
  }
  puts 'Done'
" --app offertraq-24
6
Connect third-party integrations via Third-Party Panels
The Third-Party Panels tab bar in GDS Ops provides scoped access to Sabre Agency360, IBM Cloud Pak, Hilton CRS, and National IDS. Each panel is gated by the logged-in operator's OperatorTenant.tenant_key. Configure a panel's dashboard_url in the operator tenant's branding JSON to enable iframe embedding.

Key Endpoints

Endpoint Description Auth
GET/api/offers Geo-located offer discovery for mobile app. Returns offers within radius of user GPS. Token
POST/api/queues Create a QueueSession. Triggers escrow init, smart_contract_ref generation, Action Cable broadcast. Token
POST/api/events ETA position update (queuePosPost), offer acceptance (AcceptOfferPost), QR checkin (queueCheckinPost). Token
POST/unified_api/orders Create a Square POS order. Body: { provider: 'square', line_items: [...] } Token
GET/admin/cloudtraq_gds GDS Ops Command Center — Inertia.js page with KPIs, risk distribution, dispatch summary. Admin
POST/admin/cloudtraq_gds/pnr/:id/ava Force fresh AVA analysis on a PNR. Triggers AvaService.analyze_journey, updates risk_score. Admin
WS/cable Action Cable. Channels: QueueSessionChannel, OpsMonitorChannel, CloudMistChannel, VenueManagerMetricsChannel. Token

Base URL: https://api.offertraq.com · Auth: Bearer token via Authorization: Bearer <token> · Format: JSON · ADR-002: OSRM/Nominatim only, no Google HTTP APIs