[
  {
    "source": "SampleId",
    "label": "Sample number",
    "description": "Row number assigned in the supplied sample. Original order is retained.",
    "example": "1",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "DatasetGrain",
    "label": "Record type",
    "description": "One passenger journey per row. Boarding and alighting belong to the same journey.",
    "example": "PassengerJourney",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "ModelAsOfDate",
    "label": "Model reference date",
    "description": "Reference date of the supplied model extract, not the date of every journey.",
    "example": "2026-07-02",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "JourneyId",
    "label": "Journey reference",
    "description": "Identifier for this passenger journey. All 100 journey identifiers are distinct in this file.",
    "example": "469",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "JourneyGroupId",
    "label": "Journey group reference",
    "description": "Journey grouping identifier supplied by the source. A group does not by itself establish a transfer or return trip.",
    "example": "469",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "TripId",
    "label": "Trip reference",
    "description": "Identifier for the vehicle trip carrying this passenger. Other passengers may share a trip.",
    "example": "22780207",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "CitizenId",
    "label": "Citizen reference",
    "description": "Synthetic resident identifier supplied with this journey. Separate free domain samples are not guaranteed to contain the same resident.",
    "example": "20201984",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "SyntheticResident",
    "label": "Resident name",
    "description": "Supplied name of the synthetic resident; not a real passenger identity.",
    "example": "Ibidun Ikenna",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "Gender",
    "label": "Gender",
    "description": "Resident gender value exactly as supplied.",
    "example": "F",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "DOB",
    "label": "Date of birth",
    "description": "Supplied synthetic resident date of birth.",
    "example": "1979-10-10",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AgeAtJourney",
    "label": "Age at journey",
    "description": "Resident age at the journey, as supplied.",
    "example": "42",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "JourneyDate",
    "label": "Journey date",
    "description": "Date assigned to this journey by the source.",
    "example": "2022-07-23",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardedUtc",
    "label": "Boarding time (UTC)",
    "description": "Boarding timestamp in UTC, preserving the original precision. No local-time conversion is applied.",
    "example": "2022-07-23 19:28:00.000",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightedUtc",
    "label": "Alighting time (UTC)",
    "description": "Alighting timestamp in UTC, preserving the original precision. No local-time conversion is applied.",
    "example": "2022-07-23 20:21:00.000",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "JourneyDurationMinutes",
    "label": "Journey duration (minutes)",
    "description": "Elapsed minutes for this passenger journey, as supplied.",
    "example": "53",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "FareLocal",
    "label": "Passenger fare (local currency)",
    "description": "Fare for this passenger journey in the city’s local currency. It is distinct from whole-trip revenue.",
    "example": "40.00",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "PaymentMethod",
    "label": "Payment method",
    "description": "Payment method supplied for this passenger journey.",
    "example": "Mobile",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteId",
    "label": "Route reference",
    "description": "Identifier of the supplied transport route.",
    "example": "54",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteCode",
    "label": "Route code",
    "description": "Source route code, preserved as text including leading zeros.",
    "example": "054",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteName",
    "label": "Route name",
    "description": "Supplied route name. A named service is not a physical road-segment identifier.",
    "example": "Ajah-Lekki Town (Danfo)",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteType",
    "label": "Route type",
    "description": "Route service category supplied by the source.",
    "example": "Danfo Route",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteStatus",
    "label": "Route status (source)",
    "description": "Route status as supplied. This field has no explicit historical effective date; do not infer status at the journey from it.",
    "example": "Active",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteOrigin",
    "label": "Route origin",
    "description": "Reference origin of the named route. It may differ from this passenger’s boarding stage.",
    "example": "Ajah Motor Park",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteDestination",
    "label": "Route destination",
    "description": "Reference destination of the named route. It may differ from this passenger’s alighting stage.",
    "example": "Lekki Town",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RouteReferenceDistanceKm",
    "label": "Route reference distance (km)",
    "description": "Reference length of the route in kilometres, not measured passenger distance or GPS travel distance.",
    "example": "8.90",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "Direction",
    "label": "Direction",
    "description": "Source direction label for the journey within its service.",
    "example": "Inbound",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingStageId",
    "label": "Boarding stage reference",
    "description": "Identifier of the passenger’s boarding stage.",
    "example": "17",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingStageCode",
    "label": "Boarding stage code",
    "description": "Source code of the boarding stage, preserved as text.",
    "example": "STG-008",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingStage",
    "label": "Boarding stage",
    "description": "Name supplied for the passenger’s boarding stage.",
    "example": "Ajah Motor Park",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingStageType",
    "label": "Boarding stage type",
    "description": "Source category of the boarding stage.",
    "example": "Informal Motor Park",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingWardId",
    "label": "Boarding ward reference",
    "description": "Ward identifier supplied for the boarding stage.",
    "example": "187",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "BoardingWard",
    "label": "Boarding ward",
    "description": "Ward name supplied for the boarding stage.",
    "example": "Sangotedo",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingStageId",
    "label": "Alighting stage reference",
    "description": "Identifier of the passenger’s alighting stage.",
    "example": "1",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingStageCode",
    "label": "Alighting stage code",
    "description": "Source code of the alighting stage, preserved as text.",
    "example": "STG-002",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingStage",
    "label": "Alighting stage",
    "description": "Name supplied for the passenger’s alighting stage.",
    "example": "Obalende Motor Park",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingStageType",
    "label": "Alighting stage type",
    "description": "Source category of the alighting stage.",
    "example": "Informal Motor Park",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingWardId",
    "label": "Alighting ward reference",
    "description": "Ward identifier supplied for the alighting stage.",
    "example": "86",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "AlightingWard",
    "label": "Alighting ward",
    "description": "Ward name supplied for the alighting stage.",
    "example": "Obalende",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "CrossWardJourney",
    "label": "Crosses ward boundaries",
    "description": "Source flag indicating different boarding and alighting wards.",
    "example": "1",
    "populated": 100,
    "missing": 0,
    "boolean": true
  },
  {
    "source": "VehicleId",
    "label": "Vehicle reference",
    "description": "Identifier of the public transport vehicle used for the trip.",
    "example": "592",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "VehicleType",
    "label": "Vehicle type",
    "description": "Vehicle class supplied for the trip.",
    "example": "Danfo",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "FuelType",
    "label": "Fuel type",
    "description": "Fuel category supplied for the vehicle.",
    "example": "CNG",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "SeatCapacity",
    "label": "Seat capacity",
    "description": "Supplied seating capacity. This is distinct from the trip’s passenger count.",
    "example": "14",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "YearOfManufacture",
    "label": "Year of manufacture",
    "description": "Supplied vehicle manufacture year. No exact manufacture date is inferred.",
    "example": "2009",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "VehicleStatus",
    "label": "Vehicle status (source)",
    "description": "Vehicle status as supplied. This field has no explicit historical effective date; a decommissioned vehicle can have earlier journeys.",
    "example": "Decommissioned",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "OperatorId",
    "label": "Operator reference",
    "description": "Operator identifier supplied by the Lagos extract. Separate route and vehicle operator identifiers are not present.",
    "example": "55",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "DriverCitizenId",
    "label": "Driver citizen reference",
    "description": "Synthetic resident identifier supplied for the driver.",
    "example": "21627462",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "PassengerCount",
    "label": "Passenger count",
    "description": "Passenger count for the whole vehicle trip, not the number of sample rows for this journey.",
    "example": "10",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "TripRevenueLocal",
    "label": "Whole-trip revenue (local currency)",
    "description": "Revenue supplied for the whole vehicle trip. Do not treat it as this passenger’s fare or sum it across repeated trip references.",
    "example": "400.00",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "HouseholdId",
    "label": "Household reference",
    "description": "Household identifier supplied for the resident’s journey-date context. NULL means no household context is supplied.",
    "example": "4312216",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "HomeWardId",
    "label": "Home ward reference",
    "description": "Home ward identifier supplied for the resident’s journey-date context.",
    "example": "187",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "HomeWardAtJourney",
    "label": "Home ward at journey",
    "description": "Home ward name supplied for the journey date, where available.",
    "example": "Sangotedo",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "HasAsOfHouseholdContext",
    "label": "Household context available",
    "description": "Source flag indicating household context is available for the journey date.",
    "example": "1",
    "populated": 100,
    "missing": 0,
    "boolean": true
  },
  {
    "source": "ContractId",
    "label": "Contract reference",
    "description": "Employment contract identifier supplied for the journey-date context, where available.",
    "example": "45001",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "EmploymentStartDate",
    "label": "Employment start date",
    "description": "Start date of the supplied employment context. This is not the journey date.",
    "example": "2020-12-26",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "EmploymentEndDate",
    "label": "Employment end date",
    "description": "End date of the supplied employment context. NULL is preserved without inventing an end date.",
    "example": "2011-10-26",
    "populated": 24,
    "missing": 76,
    "boolean": false
  },
  {
    "source": "EmployerId",
    "label": "Employer reference",
    "description": "Employer identifier supplied for the journey-date context, where available.",
    "example": "8380",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "EmployerName",
    "label": "Employer name",
    "description": "Synthetic employer name supplied for the journey-date context.",
    "example": "AGR Enterprises 0003287",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "WorkWardId",
    "label": "Work ward reference",
    "description": "Work ward identifier supplied for the journey-date context.",
    "example": "245",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "WorkWardAtJourney",
    "label": "Work ward at journey",
    "description": "Work ward name supplied for the journey date, where available.",
    "example": "Lekki-Town",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "HasAsOfEmploymentContext",
    "label": "Employment context available",
    "description": "Source flag indicating employment context is available for the journey date.",
    "example": "1",
    "populated": 100,
    "missing": 0,
    "boolean": true
  },
  {
    "source": "JourneyEndpointContext",
    "label": "Journey endpoint context",
    "description": "Source classification comparing journey endpoint wards with available home and work wards. It does not establish trip purpose, a return trip or a transfer.",
    "example": "OTHER_JOURNEY",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "RichnessScore",
    "label": "Source richness score",
    "description": "Source-provided richness score retained unchanged. It is not a marketplace quality rating or a statistical sampling weight.",
    "example": "8",
    "populated": 100,
    "missing": 0,
    "boolean": false
  },
  {
    "source": "SampleHash",
    "label": "Source sample hash",
    "description": "Original source sample hash retained as text. Download integrity is recorded separately with a SHA-256 file checksum.",
    "example": "0x00005233C859259B29B633EE0D5BB6B5A4B4F1F73B5413989A2CF0A831098B1C",
    "populated": 100,
    "missing": 0,
    "boolean": false
  }
]
