Skip to content

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


Integration Context

svc-partner-integrations C4 context diagram

Data Store

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_status on status

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_partner on partner_id
  • idx_pb_idempotency on idempotency_key (UNIQUE)
  • idx_pb_reservation on reservation_id

Endpoints (7 total)


POST /partner-bookings -- External partner creates a booking

Allows an authenticated partner to submit a booking request. Creates

View in Swagger UI

POST /partner-bookings sequence diagram

GET /partner-bookings/{booking_id} -- Get partner booking details

View in Swagger UI

GET /partner-bookings/{booking_id} sequence diagram

PATCH /partner-bookings/{booking_id} -- Update a partner booking

View in Swagger UI

PATCH /partner-bookings/{booking_id} sequence diagram

POST /partner-bookings/{booking_id}/confirm -- Confirm a pending partner booking

Confirms availability and finalizes the partner booking. Triggers

View in Swagger UI

POST /partner-bookings/{booking_id}/confirm sequence diagram

GET /partners -- List registered partners

View in Swagger UI

GET /partners sequence diagram

POST /partners -- Register a new partner

View in Swagger UI

POST /partners sequence diagram

GET /partners/{partner_id}/commission-report -- Get commission report for a partner

View in Swagger UI

GET /partners/{partner_id}/commission-report sequence diagram

Consuming Applications

Application Screens Using This Service
Operations Dashboard Partner Bookings