-
Notifications
You must be signed in to change notification settings - Fork 0
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
Introduce OJP resources #19
Comments
@derhuerst OJP is a CEN standard, so the main document needs to be ordered from the national standardisation body for a fee as mentioned. CEN and ISO standards always are that way. The XSD however is GPL, so you can use it. We try to pack the crucial implementation information into the XSD. We also provide the cookbook and expand on it, if this is desired : https://opentransportdata.swiss/en/cookbook/open-journey-planner-ojp/ Our demonstrator contains an SDK and shows how things can be done: https://opentdatach.github.io/ojp-demo-app/ . It is also open source. It allows you to inspect requests and responses. We also have an API explorer in the cookbook for that: https://opentransportdata.swiss/en/cookbook/open-journey-planner-ojp/#API-Explorer Code generation from the XSD we will expand on that in github in near furutre @skinkie is working on that. The Swiss service is available and working and less than 50 requests per minute are free (you need to get youself an API key https://opentransportdata.swiss/en/cookbook/open-journey-planner-ojp/#Access_to_the_API For some EU projects "Profiles" will be compiled, that are probably also published. If we can do anything else, please say, what you need. |
a work-in-progress OJP SDK: https://github.com/openTdataCH/ojp-js |
Since we mentioned OJP in public-transport/transport-apis#43, I thought it would be good to have a new issue similar to #18 to collect useful resources for anyone not familar with it (it was my first time hearing it as well, even though it's already a few years old).
OJP stands for "Open Journey Planner" and it is called the Open API for distributed journey planning. While being an extension of the German TRIAS, it apparently has been developed in cooperation with some european countries and has been approved as a Technical Specification by the the European Commitee for Standardization (CEN). As far as I understand, this does not make it legally binding to use it, but the CEN recommds its usage to local, regional and national travel information service providers.
What does this mean for TRIAS?
I think this is a step in the right direction. The TRIAS specification was always somewhat limited to German public transport providers, simply because it's a German development, but this did not stop providers from other countries to use it (for example SBB and VSTG).
It's unclear to me what this means for TRIAS and providers currently implementing TRIAS. So far, the TRIAS specification has not been deprecated and - as far as I can tell - no providers except for SBB have any ambitions to change to the new standard.
What is the difference in the specification?
I did not have a detailed look into the specification yet, but it seems like the request and response XML structures are largely the same. You just would need to replace TRIAS tags with OJP tags and it should work. See here for examples by SBB.
One new feature apparently are chained requests, where you can include multiple OJP requests in just one HTTP call with a
AbstractFunctionalServiceRequest
. That sounds cool.Where can I see the specification?
You can find the OJP XML schemas on GitHub: https://github.com/VDVde/OJP
But there does not seem to be any freely available documentation on the standard. You could buy it for around 140€ here. The SSB even states that the documentation has been copyrighted and cannot be published. While this seems to be normal procedure for CEN standards (as read in their FAQs), it baffles me how they are aiming to introduce a new standard and at the same time copyright the standard's documentation.
What providers support OJP?
For now I was only able to find the SBB.
What now?
I'd be interested to hear your thoughts on this.
The text was updated successfully, but these errors were encountered: