How to record different fare between payment

For example, if we want to add fee information to a bus, we will use fee=yes + charge=*.

And if price vary by time, we can use charge:conditional and value will be like 2 CNY @ (Apr-Oct)

But if price also vary by payment? (Such as in Tokyo, the Toei Bus set different price for IC card and cash, IC card will have some 2-5 JPY discount)

I want to use a symbol to indicate condiation but not @ because after @ usually with a opening_time expression.

I hope we can write the price as normal_price <symbol> cash / discounted_price <symbol> IC


I’ll attach supplementary material tomorrow

That’s obviously unworkable, as charge= has a format of rate and time units. Using slash conflicts with it, and making it a 3rd unit doesn’t make much sense.
charge= is already complicated enough. There are many issues, eg vehicular modes being added as a 3rd unit, when it can be a standard charge:*= suffix.
You still need consider how it will work with *:conditional= , as charge:conditional=1 USD * cash / 0.5 / stored_value_card @ (Apr-Oct; Dec-Jan) (that’s the payment:*= mode, no IC being used) will less comprehensible. They should be separated.
This was already discussed in recent months Proposal:Surcharges and Discounts - OpenStreetMap Wiki

1 Like

Aside from the useful information if a feature is for free or require some kind of charge… OSM is a geo-database, not a cash-register.

2 Likes