NS prijsberekening

296 views
Skip to first unread message

Richard Keizer

unread,
Apr 21, 2012, 8:16:33 AM4/21/12
to openov
Ik ben sinds een aantal dagen bezig de prijsberekening van de NS te
simuleren, de eerste resultaten zijn binnen.
Samen met Stefan heb ik al het een en ander besproken via mail, maar
het lijkt verstandig deze discussie ook via deze groep te laten lopen.
Concreet heb ik nu een werkbare routeplanner die adhv de
trajecteenheden en de eenheid-prijstabel de prijs berekent voor losse
kaartjes en OVC.
1e vraag: zijn er mensen die input kunnen geven mbt deze
'problematiek'
2e vraag: is er iemand die mijn huidige calculator online kan helpen
zodat we kunnen testen?

mvg,
Richard

Joel Haasnoot

unread,
Apr 21, 2012, 9:35:48 AM4/21/12
to ope...@googlegroups.com
Lijkt me interessant om dit inderdaad online te zetten en aan te
kunnen bieden als webservice. Hoe is het nu uitgewerkt technisch
(taal/platform/etc)?

Wat je dan zou kunnen doen om te testen is een test opstellen waarbij
je een X * X tabel maakt met alle mogelijke reizien in NL en dat
vergelijken met wat er nu nog online prijzen API van de NS komt. Zo
kan je makkelijk zien waar de fouten zitten.

Joel Haasnoot

2012/4/21 Richard Keizer <ra.k...@gmail.com>:

Stefan de Konink

unread,
Apr 21, 2012, 9:45:31 AM4/21/12
to ope...@googlegroups.com
On Sat, 21 Apr 2012, Joel Haasnoot wrote:

> Lijkt me interessant om dit inderdaad online te zetten en aan te
> kunnen bieden als webservice. Hoe is het nu uitgewerkt technisch
> (taal/platform/etc)?

Er is PHP code beschikbaar, wil je liever een algoritme hebben?


> Wat je dan zou kunnen doen om te testen is een test opstellen waarbij
> je een X * X tabel maakt met alle mogelijke reizien in NL en dat
> vergelijken met wat er nu nog online prijzen API van de NS komt. Zo
> kan je makkelijk zien waar de fouten zitten.

Je kunt de huidige prijs API natuurlijk leegtrekken binnen een dag.


Stefan

Message has been deleted

Richard Keizer

unread,
Apr 23, 2012, 7:03:23 AM4/23/12
to ope...@googlegroups.com
De huidige calculator is hier te vinden. Via's zitten hier nog niet in, maar dat mag de pret niet drukken.
Als ik wat tijd over heb zal ik een versie online zetten inclusief via's.
De huidige versie voorziet wel in het berekenen van een rit van lokatie A naar B, daarnaast kun je vervoerders aan- en uitzetten wat zoveel wil zeggen dat als een vervoerder niet is aangevinkt trajecten van deze vervoerder niet in de prijsberekening wordt meegenomen.
Ik heb laatst op het traject Dordrecht - Geldermalsen iets vreemds zien gebeuren: de planner van de NS gaf me de ritprijs via Breda ipv de rechtstreekse reis met Arriva. (vraag is uitgezet bij NS, nog geen antwoord).

V.w.b het testen: ik zit er inderdaad aan te denken een groot aantal willekeurige ritten te berekenen via de NS-api en dan te spiegelen tegen mijn prijzen. Deze methodiek kan voorlopig gebruikt worden, mits de prijzen API gratis blijft.

Stefan de Konink

unread,
Apr 23, 2012, 7:15:08 AM4/23/12
to ope...@googlegroups.com
On Mon, 23 Apr 2012, Richard Keizer wrote:

> V.w.b het testen: ik zit er inderdaad aan te denken een groot aantal
> willekeurige ritten te berekenen via de NS-api en dan te spiegelen tegen
> mijn prijzen. Deze methodiek kan voorlopig gebruikt worden, mits de prijzen
> API gratis blijft.

Prijzen API zal gratis blijven. Het gaat er puur om dat er afspraken
worden gemaakt wat betreft correctheid.

Stefan

Joel Haasnoot

unread,
Apr 23, 2012, 7:23:27 AM4/23/12
to ope...@googlegroups.com
> De huidige calculator is hier te vinden. Via's zitten hier nog niet in, maar
> dat mag de pret niet drukken.
Via's hoeven er niet perse in omdat via's tegenwoordig start/stops
zijn. Als je dus van A naar C gaat via B, is de prijs A naar B plus B
naar C. Het zou alleen opgaan voor het onderstaande.

> Ik heb laatst op het traject Dordrecht - Geldermalsen iets vreemds zien
> gebeuren: de planner van de NS gaf me de ritprijs via Breda ipv de
> rechtstreekse reis met Arriva. (vraag is uitgezet bij NS, nog geen
> antwoord).

Als je met Arriva wil reizien moet je perse een reis kiezen via
Gorichem, dat staat op alle automaten in de regio geloof ik. Deze
disclaimer staat nu onder de prijzentabel:

"Let op: reist u via het traject Zutphen - Hengelo, Elst - Tiel of
Dordrecht - Geldermalsen, dan kunt u de gevraagde reis ook maken met
een andere vervoerder dan NS. Om in dat geval de juiste prijs voor u
te kunnen berekenen, moet u een 'via'-station aangeven. Reist u via
het Syntus-traject Zutphen - Hengelo, dan moet u Goor als
'via'-station vermelden. Reist u via het Syntus-traject Elst - Tiel,
dan is Opheusden het 'via'-station. Reist u via het Arriva-traject
Dordrecht - Geldermalsen, dan is Gorinchem het 'via'-station. Met een
dergelijk via-kaartje kunt u uitsluitend via het Syntus- of
Arriva-traject reizen."

Zou me niks verbazen als juist dit punt voor verwarring zorgt en
daarom er een extra Prijzen API contract is. Overigens moet ik hier
bij de NS hier nu ook twee keer voor klikken en flink Googlen.

Joel Haasnoot

Richard Keizer

unread,
Apr 23, 2012, 7:57:32 AM4/23/12
to ope...@googlegroups.com
Als ik via de planner de rit Dordrecht-Geldermalsen invoer geeft hij mij de rit met Arriva, ik hoef dus geen via in te geven, controleer het maar eens. het gedrag van een automaat heb ik niet getoetst.

Joel Haasnoot

unread,
Apr 23, 2012, 8:06:55 AM4/23/12
to ope...@googlegroups.com
Hmm, dan weet ik het ook niet meer, maar er zijn dus situaties waar de
tariefroute alleen met NS wordt gepland voor reizen die logischerwijs
met Arriva worden gedaan.

Overigens: voor tarieven traject/jaarkaarten, zie deze pdf:
http://www.ns.nl/binaries/content/assets/NS/tariefinformatie/2012%5B2%5D/ns-trajectkaarten-tarieven-2012.pdf

Joel Haasnoot

2012/4/23 Richard Keizer <ra.k...@gmail.com>:

Richard Keizer

unread,
Apr 23, 2012, 8:17:18 AM4/23/12
to ope...@googlegroups.com
De constatering die ik tot dusver heb gedaan is dat er per dag verschil in kan zitten. Wat de bepalende factor hierin is weet ik niet, maar ik hoop er wel achter te komen.
Een simulatie van de prijzen API zou alleen zinvol zijn als er een garantie voor juistheid kan worden afgegeven.
Aan de ander kant: je zou natuurlijk ook kunnen stellen dat een alternatieve ritprijs calculator altijd de goedkoopste route zou geven. Commentaar?
Die tabel moet ik inderdaad nog integreren, dan kan ik ook trajectkaarten en jaarabonnementen berekenen.

Richard Keizer

unread,
Apr 24, 2012, 5:36:10 AM4/24/12
to ope...@googlegroups.com
Ik denk dat ik weet hoe het werkt mbt de via's:

- NS-planner rekent vwb het aantal tariefeenheden altijd het tarief over het NS traject mits het traject natuurlijk volledig met de NS te reizen is (zie reizen in Groningen/Friesland).
- De planner geeft vervolgens wel uit zichzelf de kortste route aan over een traject van een andere vervoerder, maar past zijn/haar tarief hier niet op aan.
- Pas als je expliciet een via opgeeft (op het traject van de andere vervoerder) wordt het aantal tariefeenheden gecorrigeerd in jouw voordeel, je bent dan ook verplicht over dat traject te reizen.
- Bij dit type 'via' wordt het lengtevoordeel niet teniet gedaan.

Zou de NS bang zijn dat iemand over Breda gaat reizen met zijn kaartje Geldermalsen-Dordrecht? Ik heb zo het vermoeden.

Aan de andere kant: hier ligt natuurlijk een schone taak: de alternatieve calculator aanpassen zodat het meteen duidelijk is hoe gereisd dient te worden.




Op maandag 23 april 2012 13:23:27 UTC+2 schreef Joel Haasnoot het volgende:

Richard Keizer

unread,
Apr 24, 2012, 5:39:20 AM4/24/12
to ope...@googlegroups.com
Wat zullen ze blij zijn met een alternatieve calculator!

Joel Haasnoot

unread,
Apr 24, 2012, 5:43:16 AM4/24/12
to ope...@googlegroups.com
> Ik denk dat ik weet hoe het werkt mbt de via's:
>
> - NS-planner rekent vwb het aantal tariefeenheden altijd het tarief over het
> NS traject mits het traject natuurlijk volledig met de NS te reizen is (zie
> reizen in Groningen/Friesland).
> - De planner geeft vervolgens wel uit zichzelf de kortste route aan over een
> traject van een andere vervoerder, maar past zijn/haar tarief hier niet op
> aan.
> - Pas als je expliciet een via opgeeft (op het traject van de andere
> vervoerder) wordt het aantal tariefeenheden gecorrigeerd in jouw voordeel,
> je bent dan ook verplicht over dat traject te reizen.
> - Bij dit type 'via' wordt het lengtevoordeel niet teniet gedaan.
>
In minder woorden probeerde ik dit uit te leggen ja, de tariefeenheden
komt inderdaad vaak niet overeen met de daadwerkelijk reis van de
reisplanner, en dat is verwarrend. Overigens zijn er nog meer
situaties: Amersfoort-Ede is tariefmatig wel via Lunteren, maar mag
wel via Utrecht (en dan niet omdat het korter is of minder
overstappen...)

> Aan de andere kant: hier ligt natuurlijk een schone taak: de alternatieve
> calculator aanpassen zodat het meteen duidelijk is hoe gereisd dient te
> worden.

De gebruikte route lijkt me inderdaad een nuttige toevoeging.

Joel Haasnoot

Richard Keizer

unread,
Apr 24, 2012, 5:54:17 AM4/24/12
to ope...@googlegroups.com
> In minder woorden probeerde ik dit uit te leggen ja, de tariefeenheden
> komt inderdaad vaak niet overeen met de daadwerkelijk reis van de
> reisplanner, en dat is verwarrend. Overigens zijn er nog meer
> situaties: Amersfoort-Ede is tariefmatig wel via Lunteren, maar mag
> wel via Utrecht (en dan niet omdat het korter is of minder
> overstappen…)

Dan is het nu dus volledig duidelijk en kan ik de planner 100% de NS prijzen laten berekenen.
Immers: het traject wat je net noemde is ook als zodanig op de kaart gemarkeerd (je hoeft dus geen via op te geven)
Als ik dat laatste aspect inbouw samen met de via mogelijkheid dan ben ik er dus, samen met een XML output identiek aan die van de NS-API ligt er dan een goed alternatief.
Iemand anders nog suggesties?

Joel Haasnoot

unread,
Apr 24, 2012, 6:07:48 AM4/24/12
to ope...@googlegroups.com
> Als ik dat laatste aspect inbouw samen met de via mogelijkheid dan ben ik er dus, samen met een XML output identiek aan die van de NS-API ligt er dan een goed alternatief.
> Iemand anders nog suggesties?

JSON output is ook handig (op basis van extensie en/of Accept header),
veel mensen doen dat sowieso al.

Joel

Stefan de Konink

unread,
Apr 24, 2012, 6:35:31 AM4/24/12
to ope...@googlegroups.com
On Tue, 24 Apr 2012, Richard Keizer wrote:

> Iemand anders nog suggesties?

Genereer ook maar een A/B matrix voor in de GTFS :)


Stefan

Reply all
Reply to author
Forward
0 new messages