Operations Domain¶
Team: NovaTrek Operations Team
Services: 2
Domain color: #2563eb
Day-of-adventure workflows including guest check-in, schedule management, and real-time operational coordination. This domain orchestrates the core guest experience on the day of their adventure.
Topology¶
Services¶
| Service | Database Engine | Schema | Tables | API Endpoints |
|---|---|---|---|---|
| svc-check-in | PostgreSQL 15 | checkin | 3 | 5 |
| svc-scheduling-orchestrator | PostgreSQL 15 + Valkey 8 | scheduling | 4 | 5 |
Data Ownership¶
Every data entity has exactly one owning service. Other services access it read-only through APIs.
| Data Entity | Owning Service | Read Access |
|---|---|---|
| Check-in records | svc-check-in | svc-analytics, svc-notifications |
| Daily schedules | svc-scheduling-orchestrator | svc-guide-management (read), svc-check-in (read) |
Data Stores¶
svc-check-in¶
- Engine: PostgreSQL 15
- Schema:
checkin - Tables:
check_ins,gear_verifications,wristband_assignments - Features:
- Indexes on reservation_id and check_in_date
- TTL-based cleanup of stale check-ins (older than 24h)
- Composite unique constraint on (reservation_id, participant_id)
- Volume: ~5,000 check-ins/day peak season
- Backup: Continuous WAL archiving, daily base backup, 7-day PITR
svc-scheduling-orchestrator¶
- Engine: PostgreSQL 15 + Valkey 8
- Schema:
scheduling - Tables:
schedule_requests,daily_schedules,schedule_conflicts,optimization_runs - Features:
- Optimistic locking per ADR-011
- Valkey for schedule lock cache and optimization queue
- JSONB columns for constraint parameters
- Volume: ~500 schedule requests/day
- Backup: Continuous WAL archiving, daily base backup, 14-day PITR
Bounded Context Rules¶
These rules are non-negotiable for this domain.
- svc-check-in is the designated orchestrator for all day-of-adventure workflows (ADR-006)
- svc-scheduling-orchestrator owns the schedule lifecycle — other services MUST NOT mutate schedule data directly
- Schedule updates use PATCH semantics with optimistic locking to prevent data overwrites (ADR-010, ADR-011)
Cross-Domain Integration¶
Outbound (this domain calls)¶
| Source | Target | Target Domain | Action | Async |
|---|---|---|---|---|
| svc-check-in | svc-reservations | Booking | Verify reservation exists | No |
| svc-check-in | svc-guest-profiles | Guest Identity | Validate guest identity | No |
| svc-check-in | svc-trip-catalog | Product Catalog | Get adventure category | No |
| svc-check-in | svc-safety-compliance | Safety | Validate active waiver | No |
| svc-check-in | svc-notifications | Support | Send check-in confirmation | Yes |
| svc-check-in | svc-gear-inventory | Logistics | Verify gear assignment | No |
| svc-check-in | svc-safety-compliance | Safety | Log gear verification | No |
| svc-scheduling-orchestrator | svc-guide-management | Guide Management | Check guide availability | No |
| svc-scheduling-orchestrator | svc-trail-management | Product Catalog | Verify trail conditions | No |
| svc-scheduling-orchestrator | svc-weather | Support | Get forecast | No |
| svc-scheduling-orchestrator | svc-trip-catalog | Product Catalog | Get trip details | No |
| svc-scheduling-orchestrator | svc-notifications | Support | Notify assigned guides | Yes |
| svc-scheduling-orchestrator | svc-guide-management | Guide Management | Get all available guides | No |
| svc-scheduling-orchestrator | svc-location-services | Support | Check location capacity | No |
| svc-scheduling-orchestrator | svc-trip-catalog | Product Catalog | Get trip requirements | No |
| svc-scheduling-orchestrator | svc-analytics | Support | Log optimization metrics | Yes |
| svc-scheduling-orchestrator | svc-guide-management | Guide Management | Reassign guide | No |
| svc-scheduling-orchestrator | svc-notifications | Support | Notify affected parties | Yes |
Inbound¶
No inbound cross-domain calls.
Domain Events¶
Events Produced¶
| Event | Channel | Producer | Summary |
|---|---|---|---|
checkin.completed | novatrek.operations.checkin.completed | svc-check-in | Published when a guest completes the check-in process |
schedule.published | novatrek.operations.schedule.published | svc-scheduling-orchestrator | Published when a daily schedule is finalized |
Consumers of these events:
checkin.completed→ svc-analytics, svc-notificationsschedule.published→ svc-guide-management, svc-notifications
Events Consumed¶
| Event | Channel | Producer | Producer Domain | Consuming Service |
|---|---|---|---|---|
reservation.created | novatrek.booking.reservation.created | svc-reservations | Booking | svc-scheduling-orchestrator |
emergency.triggered | novatrek.safety.emergency.triggered | svc-emergency-response | Safety | svc-scheduling-orchestrator |
wildlife_alert.issued | novatrek.safety.wildlife-alert.issued | svc-wildlife-tracking | Safety | svc-scheduling-orchestrator |
Architecture Decisions¶
ADRs that directly constrain or shape this domain.
| ADR | Title |
|---|---|
| ADR-004 | Configuration-Driven Classification |
| ADR-005 | Pattern 3 Default Fallback |
| ADR-006 | Orchestrator Pattern for Check-In |
| ADR-007 | Four-Field Identity Verification |
| ADR-009 | Session-Scoped Kiosk Access |
| ADR-010 | PATCH Semantics for Schedule Updates |
| ADR-011 | Optimistic Locking for Daily Schedule |
Business Capabilities¶
Capabilities served by this domain's services.
| ID | Capability | Status | Description |
|---|---|---|---|
| CAP-2.1 | Day-of-Adventure Check-In | IMPLEMENTED | Guest arrival processing, identity verification, wristband assignment, safety briefing |
| CAP-2.2 | Schedule Planning and Optimization | IMPLEMENTED | Daily schedule creation, slot management, and capacity optimization |
Quick Links¶
- Domain Topology View
- svc-check-in Microservice Page
- svc-scheduling-orchestrator Microservice Page
- Event Catalog
- Business Capabilities
Generated from architecture/metadata/ YAML files by portal/scripts/generate-domain-pages.py.