generated: '2026-10-09' method: derived generator: derive-data-model.py source: - openapi/open-mobility-foundation-mds-agency-openapi.yml - openapi/open-mobility-foundation-mds-geography-openapi.yml - openapi/open-mobility-foundation-mds-jurisdiction-openapi.yml - openapi/open-mobility-foundation-mds-metrics-openapi.yml - openapi/open-mobility-foundation-mds-policy-openapi.yml - openapi/open-mobility-foundation-mds-provider-openapi.yml notation: has_one = property $ref; has_many = array of $ref; belongs_to = _id field summary: entities: 40 entities_in_spec: 40 relationships: 22 entities: - name: column fields: 3 - name: data-types_geojson-featurecollection fields: 3 - name: data-types_gps fields: 8 - name: data-types_vehicle-type-counts fields: 0 description: A dictionary of vehicle counts, keyed by [`vehicle_type`](./vehicle-type.yaml). - name: event fields: 0 description: Events represent changes in [Vehicle Status](./vehicle-status.yaml). - name: geography fields: 9 description: A Geography object is a description of geographical information, e.g. a multi-polygon, represented via GeoJSON. - name: jurisdiction fields: 7 description: 'A jurisdiction is:' - name: modes_car-share_event fields: 0 description: Event definition for the `car-share` mode. - name: modes_car-share_trip fields: 6 description: Trip definition for the `car-share` mode. - name: modes_car-share_vehicle fields: 2 description: Vehicle definition for the `car-share` mode. - name: modes_delivery-robots_accessibility-attributes fields: 3 description: Accessibility options definition for the `delivery-robots` mode. - name: modes_delivery-robots_event fields: 0 description: Event definition for the `delivery-robots` mode. - name: modes_delivery-robots_trip fields: 5 description: Trip definition for the `delivery-robots` mode. - name: modes_delivery-robots_vehicle fields: 2 description: Vehicle definition for the `delivery-robots` mode. - name: modes_micromobility_event fields: 0 description: Event definition for the `micromobility` mode. - name: modes_micromobility_trip fields: 2 description: Trip definition for the `micromobility` mode. - name: modes_micromobility_vehicle fields: 2 description: Vehicle definition for the `micromobility` mode. - name: modes_passenger-services_event fields: 0 description: Event definition for the `passenger-services` mode. - name: modes_passenger-services_trip fields: 6 description: Trip definition for the `passenger-services` mode. - name: modes_passenger-services_vehicle fields: 2 description: Vehicle definition for the `passenger-services` mode. - name: mutable-stop fields: 9 description: The fields of a Stop that can be changed in the Agency API. - name: policy fields: 11 description: A policy describes the digital relationship between _mobility as a service_ providers and the agencies that regulate them. - name: policy-rule fields: 20 description: An individual rule in a policy. - name: query fields: 7 - name: requirements fields: 2 description: Enumerates all of the parts of MDS, CDS, GBFS, and other specifications that an agency requires from providers for certain programs. - name: response_bulk fields: 3 description: For multi-record POST and PUT calls, e.g. sending Events using the Agency API, the bulk-response structure describes a list of results. - name: response_error fields: 3 description: An error message for troubleshooting. - name: response_error_already_registered fields: 3 description: An item with that identifier is already registered. - name: response_error_bad_param fields: 3 description: A validation error occurred. - name: response_error_missing_param fields: 3 description: A required parameter is missing. - name: response_error_unregistered fields: 3 description: An item with that identifier is not registered. - name: response_last_updated fields: 1 - name: response_paging fields: 1 - name: response_ttl fields: 1 - name: response_version fields: 1 description: Response bodies must be a UTF-8 encoded JSON object and must minimally include the MDS `version`. - name: stop fields: 0 description: Stops describe vehicle trip start and end locations in a pre-designated physical place. They can vary from docking stations - name: telemetry fields: 13 description: A standard point of vehicle telemetry. References to latitude and longitude imply coordinates encoded in the - name: trip fields: 0 description: A trip represents a journey taken by a _mobility as a service_ customer with a geo-tagged start and stop point. - name: vehicle fields: 0 description: Vehicle object in MDS. - name: vehicle-status fields: 5 description: A vehicle status record represents the current or last-known event and telemetry from a [vehicle](./vehicle.yaml). relationships: - from: modes_delivery-robots_vehicle to: modes_delivery-robots_accessibility-attributes type: has_one via: accessibility_attributes - from: vehicle-status to: event type: has_one via: last_event - from: vehicle-status to: telemetry type: has_one via: last_telemetry - from: event to: data-types_gps type: has_one via: location - from: event to: trip type: belongs_to via: trip_ids - from: telemetry to: trip type: belongs_to via: trip_ids - from: telemetry to: stop type: belongs_to via: stop_id - from: telemetry to: data-types_gps type: has_one via: location - from: trip to: data-types_gps type: has_one via: start_location - from: trip to: data-types_gps type: has_one via: end_location - from: modes_delivery-robots_trip to: modes_delivery-robots_accessibility-attributes type: has_one via: accessibility_attributes - from: stop to: data-types_gps type: has_one via: location - from: stop to: data-types_vehicle-type-counts type: has_one via: capacity - from: stop to: geography type: belongs_to via: geography_id - from: mutable-stop to: stop type: belongs_to via: stop_id - from: mutable-stop to: data-types_vehicle-type-counts type: has_one via: num_vehicles_available - from: mutable-stop to: data-types_vehicle-type-counts type: has_one via: num_vehicles_disabled - from: mutable-stop to: data-types_vehicle-type-counts type: has_one via: num_places_available - from: mutable-stop to: data-types_vehicle-type-counts type: has_one via: num_places_disabled - from: geography to: data-types_geojson-featurecollection type: has_one via: geography_json - from: jurisdiction to: geography type: belongs_to via: geography_id - from: policy to: policy-rule type: has_many via: rules