# Airports and Geographic Information Metadata
# Complete metadata definition for Airports and Geographic Information dataset

# Basic Information
title: Airports and Geographic Information
version: 1.0.0
status: active
type: object
description: Default metadata for Airports and Geographic Information
validation_title: Airports and Geographic Information

# Audit Information
created_at: '2025-08-28T04:10:45.905705+00:00'
updated_at: '2025-08-28T04:10:45.905712+00:00'
created_by: IOC DE
updated_by: IOC DE

# Data Feed Information
data_feed_association:
  - title: Airports and Geographic Information
    type: Operational

# Data Lineage
pulls_from:
  - "NetlineOpsReplica"
pushes_to:
  - "SCR"
  - "Fleetwise"
system_sources:
  - "NetlineBase"
dependencies:
  - "Airport"
  - "City"
  - "Country"
  - "Runway"

# Business Context
# Ownership - references owner IDs from owners table
# These will be stored in join tables: metadata_record_business_owners, etc.
business_owners:
  - "operations-team"
bu_sme: []
it_application_owners: []
it_sme: []
domain: "NetlineOps configuration"

# Data Quality
data_quality:
  accuracy: 0.0
  monitoring_enabled: false
  sla: null
  total_records: 0
  last_updated: '2024-01-01T00:00:00'

# Governance Rules
governance_rules:
  data_retention:
    days: 2555
    reason: Regulatory compliance for airport and geographic records
  pii_fields:
    fields: []
  sensitivity: Internal
  access_control:
    read:
      - operations-team
      - data-team
    write:
      - operations-team

# Business Rules
business_rules:
  validity_period:
    description: valid_since must be before valid_until
    enforced: true

# API Serve Configuration
serve:
  api:
    type: GET
    endpoint: "/v1/airports-and-geographic-information"
    rate_limit: "120/min"
    cache_ttl: 3600
    confluence_page: "https://cathaypacific-prod.atlassian.net/wiki/spaces/DEN/pages/AirportsAndGeographicInformation"
    params:
      - name: "iata_ap_code"
        in: query
        required: false
        description: Filter by IATA airport code
        schema:
          type: "string"
        example: "HKG"
      - name: effective_date
        in: query
        required: false
        description: Filter by effective date in ISO format, default will be request timestamp
        example: "2025-03-29T00:00:00Z"
        schema:
          type: string
          format: date-time

# Database Indexes
indexes:
  - cluster: ioc-de-{env}
    database: internal
    collection: replica_nlo_airports_and_geographic_information_serve
    indexes:
      - airports_and_geographic_information_unique_index:
          iata_ap_code: 1
          valid_since: 1
        unique: true
        background: true
  - cluster: ioc-de-{env}
    database: internal
    collection: replica_nlo_airports_and_geographic_information_staging
    indexes:
      - airports_and_geographic_information_unique_index:
          iata_ap_code: 1
          valid_since: 1
        unique: true
        background: true

