Dynamic pricing metadata
Every price response reports whether the rate is dynamic and, for a dynamic rate, which schedule entry applies at the requested time. On request it also returns the next price the driver will hit. This lets a single Pricing API call show consistent current and ahead prices.
The schedules behind these fields are configured through the Dynamic Pricing API (see Dynamic pricing modes). Prices and window boundaries resolve in the station’s local time (see How a dynamic pricing schedule resolves).
pricingType
pricingType states the rate’s mode:
0— static. No schedule; the rate has one fixed price.1— recurring per weekday. Prices repeat every week on set weekdays and time ranges.2— unique date and time. Prices tied to specific start timestamps.
Applied entry: scheduleUuid and validity
For a dynamic rate, scheduleUuid and validity identify the
schedule entry active at the time of the request. validity takes one
of three forms, keyed by its type:
unique—startandendon the station’s clock, carrying no marker.endis the next entry that starts the same day, or23:59:59of the entry’s own day. No entry prices a day it does not start on.recurring— the applicable weekday slot: its weekday, weekday name andHH:MMtime range. Only the slot active at the requested time is returned, not the whole schedule.default— the rate’s fallback price where no entry covers, withscheduleUuidnull. On a recurring rate it carries the weekday andHH:MMwindow of the gap. On a unique rate it is bounded by the day it falls on, like every window there: from00:00:00of that day until the next entry that starts on it, or until23:59:59where none does.
scheduleUuid and validity are null only when the rate is static
(pricingType 0). Both dynamic types always resolve: an entry where
one covers the requested time, the rate’s default price everywhere else.
Next price
Set next_price=true to add a nextPrice block for the schedule
window that takes over when the current one stops applying. It carries the
same scheduleUuid and validity fields as the current price, plus a
full priceStructure in the Pricing API model. The block is present for
dynamic rates only. Where the next window is the rate’s default — a gap
after the current recurring slot, or the day after a unique entry —
scheduleUuid is null and validity.type is default.
nextPrice reports the next change of window, not the next change of
price. On a unique-date rate a window runs until the next entry that starts
the same day and never past 23:59:59 of that day — the default
included. A gap spanning several days therefore holds one default window
per day, and nextPrice carries the same priceStructure as the
current window, bounded by the following day.
For the full field list see Datastructures, and for worked examples the dynamic-rate requests under api/pricing - single evse id.