Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create data type for Places within Stops #549

Open
avatarneil opened this issue Jul 8, 2020 · 7 comments
Open

Create data type for Places within Stops #549

avatarneil opened this issue Jul 8, 2020 · 7 comments
Assignees
Labels
Agency Specific to the Agency API Provider Specific to the Provider API Schema Implications for JSON Schema or OpenAPI
Milestone

Comments

@avatarneil
Copy link
Contributor

avatarneil commented Jul 8, 2020

Is your feature request related to a problem? Please describe.

As brought up in Provider and City Services WG calls when discussing the preliminary spec for Stops in MDS, there is a desire to represent more information on a per-Place level. Examples of Places could range from vehicle docks, to painted parking spots on the curb, to dynamically allocated curb areas for parking, etc... Various kinds of places can have additional properties: in the case of docks (very relevant for micromobility), charging is the first thing that was brought up on the WG calls.

Describe the solution you'd like

Create a data type for a Place that lives within a Stop. Minimally, it should consist of a:

  • Unique identifier (UUID) for each Place.
  • Property/properties which represent charging capabilities of the Place. Scooters, bikes, electric cars, and many other EVs have different charging ports, and charging requirements -- how can we best represent these options? Is there a standard we can pull from, or should MDS define its own?
  • List of vehicles which are currently at the Place.

Possible additional properties that could be beneficial to add include:

  • Capacity for a given Place (similar to what we do for Stops, potentially this could result in no need for that information to live at the top level of a Stop)
  • Availability at a Place given current occupancy. This is tricky because a Place could potentially house certain permutations of multiple vehicle_types simultaneously, while not allowing others (e.g. you could have a bike and 2 scooters, but not a car and 2 scooters), however I think it could be exceptionally powerful if we come up with a good way to represent this.
  • If vehicles are currently using the charging capabilities of the Place, with details on their usage.

These would be added to the Stop definition under a places property defined as:

property type
places Place[]

Is this a breaking change

  • I'm not sure

One could argue it's breaking if it potentially deprecates existing properties which live at the Stop level, however we can probably work around that. Additionally, Stops are currently in beta, so there may be more flexibility around potentially-breaking changes.

Impacted Spec

For which spec is this feature being requested?

  • agency
  • provider

Describe alternatives you've considered

Including charging capability at the top level of a Stop, I attempted to design that early on in the drafting of Stops, and there was no clean solution I could find.

Additional context

Some historical context can be found here

@marie-x marie-x changed the title Create data type for Spaces Create data type for Spaces within Stops Jul 8, 2020
@marie-x marie-x added this to the 1.1.0 milestone Jul 8, 2020
@schnuerle schnuerle changed the title Create data type for Spaces within Stops Create data type for Places within Stops Aug 12, 2020
@schnuerle schnuerle added Agency Specific to the Agency API Schema Implications for JSON Schema or OpenAPI Provider Specific to the Provider API labels Aug 12, 2020
@schnuerle
Copy link
Member

schnuerle commented Sep 17, 2020

We will be discussing this tomorrow at our Joint Working Group meeting, so attend if you are interested. @avatarneil

https://github.com/openmobilityfoundation/mobility-data-specification/wiki/Web-conference-notes,-2020.09.17-(Joint-Working-Group-City-Services)

@schnuerle
Copy link
Member

From working group call yesterday.

Need use cases for place definitions within Stops.
Need proposals for charging capabilities.
Need feedback on this issue from the community to assess demand and need/priority.
Will mention at next Provider WG call

How does GBFS handle spaces?
Has it included in station_information.

  • Capacity count (capacity)
  • Capacity by vehicle type count (vehicle_type_capacity and vehicle_capacity) - but this assumes there are a set number of places per vehicle type, not a certain size capacity total to be used by multiple vehicles. So more of a physical dock definition per vehicle.

Estimated # of devices in a corral or spray painted area on the ground can be challenging.
Eg an area might fit 1 car, but 3 bikes or 6 scooters.
Should we capture the dimensions of vehicles in new fields?
Should this apply to charging/docking/locking stations with physical connections only?

@schnuerle
Copy link
Member

@avatarneil Is this something you think you have a clear enough idea of to make PR for?

@avatarneil
Copy link
Contributor Author

@avatarneil Is this something you think you have a clear enough idea of to make PR for?

@schnuerle One thing I'm still trying to figure out is how to best represent all of the possible permutations of capacity. Do we think it'd be okay if for now capacity is exclusive: e.g. fits 2 bikes or fits 4 scooters or fits 1 car, and not handling cases like: fits 1 bike and 2 scooters simultaneously? Additionally, I'd love to have detailed information about charging (thinking about how there are different chargers for EV cars), but I'm not sure if there's a good specification we could pull from for that, or if it's even necessary for the time being.

If we're okay with the simplified version of capacity (exclusive to one vehicle_type at a time instead of potentially multiple vehicle_types occupying the same place simultaneously), and simplified version of charging (just a boolean or something), I can definitely make a PR for the 1.1 timeframe.

@schnuerle schnuerle modified the milestones: 1.1.0, Future Oct 14, 2020
@schnuerle
Copy link
Member

Moving this to a future release, maybe the next release, per a conversation with @avatarneil about his availability. If anyone else wants to start to tackle this please do.

@schnuerle
Copy link
Member

We will be talking about this on today's working group call. Please join if you can.

@schnuerle
Copy link
Member

See meeting minutes here.

We did not get into a discussion about Places within stops.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Agency Specific to the Agency API Provider Specific to the Provider API Schema Implications for JSON Schema or OpenAPI
Projects
None yet
Development

No branches or pull requests

3 participants