Skip to content

svc-analytics

NovaTrek Analytics Service  |  Support  |  v1.3.0  |  NovaTrek Data & Insights Team

Provides operational analytics, reporting dashboards, and key performance

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

Delivery Status

Delivery Wave: 5 -- Analytics, Loyalty, and Media

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-analytics C4 context diagram

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

Data Store

Entity Relationship Diagram

svc-analytics entity relationship diagram

Generated from architecture/metadata/data-stores.yaml

Overview

Property Detail
Engine Oracle Database 19c
Schema ANALYTICS
Tables BOOKING_METRICS, REVENUE_METRICS, UTILIZATION_METRICS, SATISFACTION_SCORES, SAFETY_METRICS, GUIDE_PERFORMANCE
Estimated Volume ~50K metric inserts/day (event-driven)
Connection Pool min 5 / max 20 / idle timeout 10min
Backup Strategy Oracle RMAN incremental backup, 90-day retention

Key Features

  • Oracle Partitioning for time-series data (range partitioning by month)
  • Materialized views with fast refresh for real-time dashboards
  • Oracle Advanced Analytics (DBMS_PREDICTIVE_ANALYTICS) for trend forecasting

Table Reference

BOOKING_METRICS

Aggregated booking KPIs partitioned by month

Column Type Constraints
METRIC_ID NUMBER(19) PK
METRIC_DATE DATE NOT NULL
REGION_ID VARCHAR2(36) NOT NULL
BOOKINGS_COUNT NUMBER(10) NOT NULL
CANCELLATION_COUNT NUMBER(10) NOT NULL, DEFAULT 0
TOTAL_REVENUE NUMBER(12,2) NOT NULL
AVG_PARTY_SIZE NUMBER(4,1) NULL
CREATED_AT TIMESTAMP WITH TIME ZONE NOT NULL

Indexes:

  • IDX_BM_DATE_REGION on METRIC_DATE, REGION_ID

REVENUE_METRICS

Daily revenue aggregation across payment channels

Column Type Constraints
METRIC_ID NUMBER(19) PK
METRIC_DATE DATE NOT NULL
CHANNEL VARCHAR2(30) NOT NULL
GROSS_REVENUE NUMBER(12,2) NOT NULL
REFUND_TOTAL NUMBER(12,2) NOT NULL, DEFAULT 0
NET_REVENUE NUMBER(12,2) GENERATED ALWAYS AS (GROSS_REVENUE - REFUND_TOTAL)
TRANSACTION_COUNT NUMBER(10) NOT NULL

Indexes:

  • IDX_RM_DATE on METRIC_DATE

GUIDE_PERFORMANCE

Guide performance metrics for scheduling optimization

Column Type Constraints
METRIC_ID NUMBER(19) PK
GUIDE_ID VARCHAR2(36) NOT NULL
METRIC_DATE DATE NOT NULL
TRIPS_LED NUMBER(5) NOT NULL
AVG_RATING NUMBER(3,2) NULL
INCIDENTS_COUNT NUMBER(5) NOT NULL, DEFAULT 0
UTILIZATION_PCT NUMBER(5,2) NULL

Indexes:

  • IDX_GP_GUIDE_DATE on GUIDE_ID, METRIC_DATE

Solutions Affecting This Service

Ticket Solution Capabilities Date
NTK-10009 Refund and Dispute Management Workflows CAP-5.5, CAP-5.4 2026-03-06

Endpoints (6 total)


GET /analytics/bookings -- Get booking analytics for a period

View in Swagger UI

GET /analytics/bookings sequence diagram

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


GET /analytics/revenue -- Get revenue analytics for a period

View in Swagger UI

GET /analytics/revenue sequence diagram

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


GET /analytics/utilization -- Get resource utilization analytics

View in Swagger UI

GET /analytics/utilization sequence diagram

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


GET /analytics/guest-satisfaction -- Get guest satisfaction metrics

View in Swagger UI

GET /analytics/guest-satisfaction sequence diagram

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


GET /analytics/safety-metrics -- Get safety and incident metrics

Aggregates data from svc-safety-compliance incident reports.

View in Swagger UI

GET /analytics/safety-metrics sequence diagram

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


GET /analytics/guide-performance/{guide_id} -- Get performance metrics for a specific guide

View in Swagger UI

GET /analytics/guide-performance/{guide_id} sequence diagram

Generated from architecture/specs/svc-analytics.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 Analytics Dashboard

Events Consumed

Event Producer Channel
reservation.created svc-reservations novatrek.booking.reservation.created
reservation.status_changed svc-reservations novatrek.booking.reservation.status-changed
guest.registered svc-guest-profiles novatrek.guest-identity.guest.registered
checkin.completed svc-check-in novatrek.operations.checkin.completed
incident.reported svc-safety-compliance novatrek.safety.incident.reported
emergency.triggered svc-emergency-response novatrek.safety.emergency.triggered
wildlife_alert.issued svc-wildlife-tracking novatrek.safety.wildlife-alert.issued