The price model and the opening hours both depends on the schedule structure. A schedule represents the timing condition, when an attribute is valid. Therefore it consists of the following attributes:
- days: A list of days [MO=Monday, TU=Tuesday, WE=Wednesday, TH=Thursday, FR=Friday, SA=Saturday, SU=Sunday, PH=Public Holidays, SH=School Holidays] where the schedule is valid, e.g. [MO,TU,WE,PH,SH] means that the schedule is valid from Monday to Wednesday and on public holidays and school holidays
- validFromYear+validToYear: e.g. validFromYear 2015 and validToYear 2017 means that the schedule is valid from the 2015 until the year 2017 inclusively
- validFromMonth+validToMonth: [1=JAN, 2=FEB, 3=MAR, 4=APR, 5=MAY, 6=JUN, 7=JUL, 8=AUG, 9=SEP, 10=OCT, 11=NOV, 12=DEC], e.g. validFromMonth 1 and validToMonth 4 means that the schedule is valid from January until April inclusive
- validFromDay+validToDay: day of month for which the schedule is valid, e.g. validFromDay 1 and validToDay 10 means that the schedule is valid each month from the 1st until the 10th day.
- validFromTime+validToTime: 24h-format (‘HH:mm:ss’) time for which the schedule is valid, e.g.validFromTime ’09:00:00′ and validToTime ’18:00:00′ means that the schedule is valid from 9 o’clock until 18 o’clock
- description: A textual description for special schedules like ‘winter season’
- priority: A priority of the schedule for the case that two schedules are conflicting, e.g. open on Sunday but closed on public holidays, here the public holiday schedule is of higher priority because it is dominant.
All attributes are restrictive, which means that if they are set to null or are empty (e.g. empty days list), the schedule is not restricted for this attribute. So if the validFromDay and validToDay are null, the schedule is valid on all days of the month, but all other attributes could be set to restrict the schedule, e.g. the validFromTime and validToTime attributes.
The scheduleOpen attribute of a parking area consists of a list of Schedule-OpeningStatus pairs. An empty list means that the opening conditions are unknown. Otherwise two cases need to be distinguished. First, if all OpeningStatus in the attribute pairs are ‘OPEN’ this means that for all given schedules the parking area is open and closed else wise. Second, if all OpeningStatus areas are ‘CLOSED’ this means that for all given schedules the parking area is closed and open else wise.
The schedulePriceModel attribute of a parking area consists of a list of Schedule-PriceModel Pairs. An empty list means that the pricing conditions are unknown. Otherwise, each pair means that for the given schedule the given price models are valid.
The price model consists of the following attributes:
- fromMinute+untilMinute: if these attributes are set this means that the price model is only valid from the given minute until the given minute, e.g. fromMinute 0 untilMinute 15 means that the given price is valid for the first quarter hour of parking
- interval: if this attribute is set the price increases periodically, each given minute, e.g. interval 15 means that each quarter hour costs the given price
- priceInCent: The price in the smallest unit of the given currency
- priority: Like the Schedule attribute the priority attribute is used in cases where two price models are conflicting, e.g. for special cases like the winter season
- description: A textual description for special cases like ‘For club members’
- maxPriceInCent: This attribute is used if the price is limited to a fixed amount
- currency: The currency of the given price