svc-partner-integrations¶
NovaTrek Partner Integrations Service | External | v1.0.0 | NovaTrek Partnerships Team
Manages third-party partner relationships and bookings from travel agents,
Swagger UI Download OpenAPI Spec Live Service (Dev) Azure Portal CI/CD Pipeline Source Code Technology Stack
Delivery Status¶
Delivery Wave: 6 -- External Integrations
| Stage | Status |
|---|---|
| Infrastructure (Bicep) | |
| Database Schema (Flyway) | |
| Deployed to Dev | |
| Smoke Tested | |
| Deployed to Prod | not-started |
| Pipeline | Status |
|---|---|
| CI Pipeline | |
| CD Pipeline |
Azure Resources (Dev):
Integration Context¶
Generated from architecture/specs/svc-partner-integrations.yaml + cross-service-calls.yaml
Data Store¶
Entity Relationship Diagram¶
Generated from architecture/metadata/data-stores.yaml
Overview¶
| Property | Detail |
|---|---|
| Engine | PostgreSQL 15 |
| Schema | partners |
| Tables | partners, partner_bookings, commission_records, reconciliation_log |
| Estimated Volume | ~400 partner bookings/day |
| Connection Pool | min 3 / max 10 / idle timeout 10min |
| Backup Strategy | Daily pg_dump, 30-day retention |
Key Features¶
- Partner API key management with rotation policy
- Commission calculation engine with tiered rates
- Idempotency keys for booking creation
Table Reference¶
partners¶
External partner organizations and their API credentials
| Column | Type | Constraints |
|---|---|---|
partner_id | UUID | PK |
name | VARCHAR(200) | NOT NULL |
api_key_hash | VARCHAR(128) | NOT NULL |
commission_rate | DECIMAL(4,2) | NOT NULL |
status | VARCHAR(20) | NOT NULL, DEFAULT 'active' |
key_rotated_at | TIMESTAMPTZ | NOT NULL |
created_at | TIMESTAMPTZ | NOT NULL |
Indexes:
idx_partner_statusonstatus
partner_bookings¶
Bookings originated from partner channels
| Column | Type | Constraints |
|---|---|---|
booking_id | UUID | PK |
partner_id | UUID | NOT NULL, FK -> partners |
reservation_id | UUID | NOT NULL |
idempotency_key | VARCHAR(64) | NOT NULL, UNIQUE |
commission_amount | DECIMAL(10,2) | NOT NULL |
created_at | TIMESTAMPTZ | NOT NULL |
Indexes:
idx_pb_partneronpartner_ididx_pb_idempotencyonidempotency_key(UNIQUE)idx_pb_reservationonreservation_id
Endpoints (7 total)¶
POST /partner-bookings -- External partner creates a booking¶
Allows an authenticated partner to submit a booking request. Creates
Architect-authored — overrides auto-generated baseline Source: architecture/diagrams/endpoints/svc-partner-integrations--post-partner-bookings.puml
GET /partner-bookings/{booking_id} -- Get partner booking details¶
Generated from architecture/specs/svc-partner-integrations.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.
PATCH /partner-bookings/{booking_id} -- Update a partner booking¶
Generated from architecture/specs/svc-partner-integrations.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.
POST /partner-bookings/{booking_id}/confirm -- Confirm a pending partner booking¶
Confirms availability and finalizes the partner booking. Triggers
Architect-authored — overrides auto-generated baseline Source: architecture/diagrams/endpoints/svc-partner-integrations--post-partner-bookings-booking_id-confirm.puml
GET /partners -- List registered partners¶
Generated from architecture/specs/svc-partner-integrations.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.
POST /partners -- Register a new partner¶
Generated from architecture/specs/svc-partner-integrations.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.
GET /partners/{partner_id}/commission-report -- Get commission report for a partner¶
Generated from architecture/specs/svc-partner-integrations.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.
Consuming Applications¶
| Application | Screens Using This Service |
|---|---|
| Operations Dashboard | Partner Bookings |