Skip to content

svc-location-services

NovaTrek Location Services API  |  Support  |  v1.2.0  |  NovaTrek Platform Engineering

Manages physical locations across the NovaTrek network including base camps,

Swagger UI Download OpenAPI Spec Live Service (Dev) Azure Portal CI/CD Pipeline Source Code Technology Stack

Delivery Status

Delivery Wave: 4 -- Guide and Transport Operations

Stage Status
Infrastructure (Bicep) ✅ complete
Database Schema (Flyway) ✅ complete
Deployed to Dev ✅ complete
Smoke Tested ✅ complete
Deployed to Prod not-started
Pipeline Status
CI Pipeline ✅ complete
CD Pipeline ✅ complete

Azure Resources (Dev):


Integration Context

svc-location-services C4 context diagram

Generated from architecture/specs/svc-location-services.yaml + cross-service-calls.yaml

Data Store

Entity Relationship Diagram

svc-location-services entity relationship diagram

Generated from architecture/metadata/data-stores.yaml

Overview

Property Detail
Engine PostGIS (PostgreSQL 15)
Schema locations
Tables locations, capacity_records, operating_hours
Estimated Volume ~100 updates/day, ~2K reads/day
Connection Pool min 3 / max 10 / idle timeout 10min
Backup Strategy Daily pg_dump, 14-day retention

Key Features

  • PostGIS geometry for geofencing and proximity queries
  • Real-time capacity tracking with threshold alerts
  • Timezone-aware operating hours management

Table Reference

locations

Adventure locations and facilities with geospatial boundaries

Column Type Constraints
location_id UUID PK
name VARCHAR(200) NOT NULL
location_type VARCHAR(30) NOT NULL
boundary GEOMETRY(Polygon, 4326) NOT NULL
center_point GEOMETRY(Point, 4326) NOT NULL
max_capacity INTEGER NOT NULL
timezone VARCHAR(50) NOT NULL
active BOOLEAN NOT NULL, DEFAULT TRUE

Indexes:

  • idx_loc_boundary on boundary (GiST spatial)
  • idx_loc_center on center_point (GiST spatial)
  • idx_loc_type on location_type

capacity_records

Real-time occupancy tracking for locations

Column Type Constraints
record_id UUID PK
location_id UUID NOT NULL, FK -> locations
current_count INTEGER NOT NULL
recorded_at TIMESTAMPTZ NOT NULL

Indexes:

  • idx_cap_loc_time on location_id, recorded_at DESC

Endpoints (6 total)


GET /locations -- List all locations

Returns a paginated list of NovaTrek locations with optional filtering by type, region, or status.

View in Swagger UI

GET /locations sequence diagram

Generated from architecture/specs/svc-location-services.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.


POST /locations -- Create a new location

View in Swagger UI

POST /locations sequence diagram

Generated from architecture/specs/svc-location-services.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.


GET /locations/{location_id} -- Get location details

View in Swagger UI

GET /locations/{location_id} sequence diagram

Generated from architecture/specs/svc-location-services.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.


PATCH /locations/{location_id} -- Update location details

View in Swagger UI

PATCH /locations/{location_id} sequence diagram

Generated from architecture/specs/svc-location-services.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.


GET /locations/{location_id}/capacity -- Get current capacity utilization

View in Swagger UI

GET /locations/{location_id}/capacity sequence diagram

Generated from architecture/specs/svc-location-services.yaml Auto-generated baseline — shows standard request flow. For detailed behavioral sequences, see the relevant solution design.


GET /locations/{location_id}/operating-hours -- Get operating hours for a location

View in Swagger UI

GET /locations/{location_id}/operating-hours sequence diagram

Generated from architecture/specs/svc-location-services.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 Daily Schedule Board, Transport Dispatch
Adventure App Live Trip Map