Note: More examples are available in Tariff examples. |
Example: 1
//Mon-Fri 8-18: $1
//All other times free
PACKAGE "Downtown winter rates";
INTERVAL "Weekdays day time";
timepredicate = "((($weekday in [mon to fri]) and ($hour in [08 to 18[)))";
tariffrate = linear 1 per 60;
INTERVAL "Free time";
timepredicate = "((($hour in [00 to 08])and ($hour in [18 to 00])))";
tariffrate = flat 0 until end of interval;
To find out how much time you would receive for a certain amount of ticks depending on when you start paying, use this table:
Start time |
Amount |
Stop time |
---|---|---|
Friday 16:59 |
$1 |
Friday 18:00 |
Friday 16:59 |
$2 |
Blocked |
Friday 17:00 |
$1 |
Blocked |
Example: 2
//Mon-Fri 8-18, Sat 8-13: $5/hour
//Mon-Fri 6-8: Free
//Other Times: Blocked
PACKAGE "Example: 2";
INTERVAL "Normal";
timepredicate = "((($weekday in [mon to fri]) and ($hour in [08 to 18[)) or
(($weekday = sat) and ($hour in [08 to 13[) ) )";
tariffrate = linear 5 per 60;
INTERVAL "Free";
timepredicate = "(($weekday in [mon to sat]) and ($hour in [06 to 08[))";
tariffrate = flat 0 until end of interval;
INTERVAL "Block" : priority 0;
timepredicate = #always;
blocked = true;
To find out how much time you would receive for a certain amount of ticks depending on when you start paying, use this table:
Start time |
Amount |
Stop time |
---|---|---|
Friday 08:00 |
$5 |
Friday 09:00 |
Friday 08:00 |
$49 |
Friday 17:48 |
Friday 16:59 |
$5 |
Friday 18:00 |
Friday 17:00 |
$5 |
Blocked |
Saturday 07:00 |
$5 |
Saturday 09:00 |
Saturday 08:00 |
$5 |
Saturday 09:00 |
Saturday 08:00 |
$24 |
Saturday 12:48 |
Example: 3
//Mon 06.00 - Fri 18.00 10kr/h, 75kr=12h, 120kr=24h
//Fri 18.00-Mon 06.00 5kr/h, 60kr=24h
PACKAGE "Example: 3";
carryovermode = carryover without recalculation;
INTERVAL "weekdays";
timepredicate = "($timeofweek in [|mon 06:00| |fri 18:00|[)";
tariffrate = linear 10 per 60;
tariffrate = unit 75 per 720;
tariffrate = unit 120 per 1440;
INTERVAL "weekends";
timepredicate = "($timeofweek in [|fri 18:00| |mon 06:00|[)";
tariffrate = linear 5 per 60;
tariffrate = unit 60 per 1440;
To find out how much time you would receive for a certain amount of ticks depending on when you start paying, use this table:
Start time |
Amount |
Stop time |
---|---|---|
Friday 06:00 |
10 kr |
Friday 07:00 |
Friday 06:00 |
75 kr |
Friday 18:00 |
Friday 06:00 |
100 kr |
Friday 20:30 |
Friday 06:00 |
120 kr |
Saturday 06:00 |
Friday 18:00 |
5 kr |
Friday 19:00 |
Friday 18:00 |
60 kr |
Saturday 18:00 |
Example: 4
//Mon 08.00 - Sat 18.00 £0.60 / hour
//18:00 - 22:00 £1.00
//22:00 – 08:00 £1.00
//Sunday £1:00 08:00-18:00
//18:00 – 22:00 £1.30
//22:00 – 08:00 £1.00
PACKAGE "Example: 4 - Newcastle";
carryovermode = no carryover;
INTERVAL "day";
timepredicate = "(($weekday in [mon,sat]) and ($hour in [08,18[))";
tariffrate = linear 60 per 60;
inertia = 60;
INTERVAL "evenings";
timepredicate = "(($weekday in [mon,sat]) and ($hour in [18,22[))";
tariffrate = flat 100 until end of interval;
INTERVAL "nights";
timepredicate = "($hour in [22,8[)";
tariffrate = flat 100 until end of interval;
INTERVAL "sunday days";
timepredicate = "(($weekday = sun) and ($hour in [08,18[))";
tariffrate = flat 100 until end of interval;
INTERVAL "sunday evenings";
timepredicate = "(($weekday = sun) and ($hour in [18,22[))";
tariffrate = flat 130 until end of interval;
To find out how much time you would receive for a certain amount of ticks depending on when you start paying, use this table:
Start time |
Amount |
Stop time |
---|---|---|
17:50 |
£0.60 |
18:50 |
17:50 |
£1.60 |
22:00 |