Product Catalog Domain¶
Team: Product Team
Services: 2
Domain color: #d97706
Adventure products, trip definitions, trail data, and the classification system that drives check-in UI patterns and safety workflows.
Topology¶
Services¶
| Service | Database Engine | Schema | Tables | API Endpoints |
|---|---|---|---|---|
| svc-trip-catalog | PostgreSQL 15 | catalog | 6 | 11 |
| svc-trail-management | PostGIS (PostgreSQL 15) | trails | 4 | 9 |
Data Ownership¶
Every data entity has exactly one owning service. Other services access it read-only through APIs.
| Data Entity | Owning Service | Read Access |
|---|---|---|
| Adventure catalog | svc-trip-catalog | svc-check-in, svc-reservations, svc-partner-integrations |
| Trail data | svc-trail-management | svc-trip-catalog, svc-safety-compliance, svc-scheduling-orchestrator |
Data Stores¶
svc-trip-catalog¶
- Engine: PostgreSQL 15
- Schema:
catalog - Tables:
trips,trip_schedules,pricing_tiers,requirements,regions,activity_types - Features:
- Full-text search index on trip name and description
- Materialized view for availability calendar
- JSONB columns for flexible requirement definitions
- Volume: ~50 catalog updates/day, ~10K availability reads/day
- Backup: Daily pg_dump, 14-day retention
svc-trail-management¶
- Engine: PostGIS (PostgreSQL 15)
- Schema:
trails - Tables:
trails,waypoints,closures,condition_reports - Features:
- PostGIS geometry columns for trail routes and waypoints
- Spatial indexes (GiST) for proximity queries
- Time-series condition data with hypertable extension
- Volume: ~200 condition updates/day, ~5K trail reads/day
- Backup: Daily pg_dump with PostGIS extensions, 14-day retention
Bounded Context Rules¶
These rules are non-negotiable for this domain.
- Adventure classification is configuration-driven via YAML — no hardcoded constants (ADR-004)
- Trail elevation data may be null; all consumers must handle gracefully (ADR-003)
- Unknown adventure categories MUST default to Pattern 3 (Full Service) for safety (ADR-005)
Cross-Domain Integration¶
Outbound (this domain calls)¶
| Source | Target | Target Domain | Action | Async |
|---|---|---|---|---|
| svc-trail-management | svc-weather | Support | Correlate weather data | No |
| svc-trail-management | svc-location-services | Support | Get trail coordinates | No |
| svc-trail-management | svc-safety-compliance | Safety | Update trail safety assessment | No |
| svc-trail-management | svc-notifications | Support | Alert park rangers | Yes |
| svc-trail-management | svc-safety-compliance | Safety | Validate trail safety rating | No |
Inbound (called by other domains)¶
| Source | Source Domain | Target | Action | Async |
|---|---|---|---|---|
| svc-check-in | Operations | svc-trip-catalog | Get adventure category | No |
| svc-reservations | Booking | svc-trip-catalog | Check trip availability | No |
| svc-reservations | Booking | svc-trip-catalog | Verify availability | No |
| svc-scheduling-orchestrator | Operations | svc-trail-management | Verify trail conditions | No |
| svc-scheduling-orchestrator | Operations | svc-trip-catalog | Get trip details | No |
| svc-scheduling-orchestrator | Operations | svc-trip-catalog | Get trip requirements | No |
| svc-partner-integrations | External | svc-trip-catalog | Check trip availability | No |
| svc-wildlife-tracking | Safety | svc-trail-management | Identify nearest trails to sighting location | No |
| svc-wildlife-tracking | Safety | svc-trail-management | Recommend trail closure for affected corridors | No |
Domain Events¶
Events Consumed¶
| Event | Channel | Producer | Producer Domain | Consuming Service |
|---|---|---|---|---|
wildlife_alert.issued | novatrek.safety.wildlife-alert.issued | svc-wildlife-tracking | Safety | svc-trail-management |
Architecture Decisions¶
ADRs that directly constrain or shape this domain.
| ADR | Title |
|---|---|
| ADR-003 | Nullable Elevation Fields |
| ADR-004 | Configuration-Driven Classification |
Business Capabilities¶
Capabilities served by this domain's services.
| ID | Capability | Status | Description |
|---|---|---|---|
| CAP-1.2 | Adventure Discovery and Browsing | IMPLEMENTED | Search, filter, and browse available adventures and trails |
| CAP-2.4 | Trail Operations | IMPLEMENTED | Trail condition monitoring, elevation data, difficulty classification |
| CAP-3.4 | Wildlife and Environmental Monitoring | IMPLEMENTED | Wildlife sighting reporting, trail closure triggers, environmental risk assessment |
| CAP-5.2 | Trip Pricing and Yield Management | PARTIAL | Dynamic pricing, seasonal rates, and demand-based yield optimization |
Quick Links¶
- Domain Topology View
- svc-trip-catalog Microservice Page
- svc-trail-management Microservice Page
- Event Catalog
- Business Capabilities
Generated from architecture/metadata/ YAML files by portal/scripts/generate-domain-pages.py.