68a1c24861
Add free function getPaymentOptionIndex():
...
Compute payment option index base on current start-date-time and
businesshour-setiing in tariff-file.
Returns -1 to indicate error.
2024-09-02 17:03:37 +02:00
c946c106d1
Configuration::ParseJson():
...
Save the pop_plus_steps setting: sometimes it is necessary to adapt the
pop_plus_steps-variable in order to hit a time-limit-boundary exactly.
Otherwise the next computed time-step might overshoot the time-limit,
and when moving backwards (via Minus-Button) there is a better
resolution: going backwards, the user could hit the exact time-limit,
which he could not when going up.
2024-09-02 16:58:34 +02:00
f24f1fe646
Configuration::ParseJson():
...
Call parseWeekDay() to reading the week-day-settings.
2024-09-02 16:57:11 +02:00
c6b8a37263
ParseJson():
...
Minor: some reformatting of source code.
2024-09-02 16:55:48 +02:00
58d8f16681
ParseWeekDay():
...
Parsing "Monday" - "Sunday" section i a tariff-file.
Each day has a memebr named "week_day_default".
It contains the valid default tariff settings for a usual day (i.e. no
holiday etc.)
It also contains the carry-over-settings for the usual day.
In case there is some holiday on this day (for instance on "Monday"),
the the date of the holiday replaces the name "week_day_default".
Otherwise the structure is the same as for a usual day.
2024-09-02 16:49:21 +02:00
431664d8b9
IdentifyJsonMember():
...
Add "Monday" - "Sunday" as level-1 sections in a tariff-file.
2024-09-02 16:47:46 +02:00
a3983ed427
check for time-step-config == STATIC
2024-08-21 17:46:35 +02:00
f8805e9e78
compute_duration_for_parking_ticket():
...
Fix: handle carry-over for coin-insertion.
2024-08-21 15:40:55 +02:00
7a6360f392
compute_duration_for_parking_ticket():
...
Fix: handle prepaid-setting for coin-insertion.
2024-08-21 15:39:44 +02:00
08a249f393
return OVERPAID in case overpay is not allowed
2024-08-21 15:39:05 +02:00
7c173ae292
parse for pop_allow_overpay
2024-08-21 15:38:06 +02:00
80637260f3
Utilities::IsYearPeriodActive():
...
Fix: take into account if start-date <= end-date or not.
Otherwise check is wrong, and no valid year period is returned.
2024-08-21 15:35:03 +02:00
0856f10ca9
GetDurationFromCost():
...
Fix computation of end-time when pop_accumulate_durations is set
in tariff-file.
2024-08-02 14:34:44 +02:00
465b2274a1
compute_duration_for_parking_ticket():
...
Adapt end-time in case it is midnight: 00:00 -> 23:59
2024-08-02 13:15:11 +02:00
1023f6ede1
GetPriceForTimeStep():
...
Use "pop_accumulate_durations" setting to sum up the durations.
Otherwise time-step will not be found in time-step-list.
2024-08-02 11:12:07 +02:00
36b3e85d1b
GetCostFromDuration():
...
recompute timestep list to make sure that time step is found in it.
2024-08-02 11:11:20 +02:00
b394ed46cc
In case end-parking-time ends with 00:00, set it to 23:59.
2024-08-02 11:09:20 +02:00
3dda2d8355
Check if prepaid-option is set.
2024-08-02 11:08:52 +02:00
1152c3824e
Minor: add some debug output.
2024-08-02 11:08:32 +02:00
4271c0fb31
Fixed compute_next_timestep() for degressive tariff:
...
compute_next_timestep() was actually never called for such a tariff.
2024-08-02 10:50:25 +02:00
4bce854d77
GetDurationFromCost():
...
Set durationInSecs in case 'pop_accumulate_prices' is not configured
in tariff file.
2024-08-01 16:44:06 +02:00
138221759b
GetDurationFromCost():
...
Minor: removed some debug ouput
2024-08-01 16:43:19 +02:00
9cb7d4aea6
compute_price_for_parking_ticket():
...
Added handling for prepaid and carry-over.
2024-08-01 16:04:57 +02:00
cde490bab2
compute_next_time_step():
...
Added handling with pop_plus_steps/pop_minus_steps:
'+' usually takes more than one time step.
'-' is usually 1.
Changed behaviour when current time is not found in the list of time steps:
Search for the entry with the smallest distance to 'current time'.
If the distance is smaller than 3 minutes, then use 'current time' as new
entry in the list of time steps.
2024-08-01 16:00:10 +02:00
f0677374ec
Parsing of pop_plus_steps/pop_minus_steps
2024-08-01 15:46:49 +02:00
89b05ffadc
Added GetYearPeriodActive() to get active year period.
2024-08-01 15:45:50 +02:00
7bf7108668
GetDurationFromCost():
...
Check if computed duration is below minimal parking time.
2024-07-31 10:26:47 +02:00
e5629ba4fd
GetDurationFromCost():
...
Check if given price is below minimal parking price.
2024-07-31 10:25:03 +02:00
e4cb992aae
GetTimeSteps() for payment-method degressive. introduced for Valser Alm (location: Fane).
2024-07-30 15:39:55 +02:00
cdeb625a15
Minor: Revode debug output.
2024-07-30 15:39:35 +02:00
589d89b73a
Calculator::GetDurationFromCost():
...
Compute duration from cost for PaymentMethod::Degressive: introduced
for Valser Alm (location: Fane).
2024-07-30 15:37:28 +02:00
7536f89d75
compute_duration_for_parking_ticket():
...
read prepaid-setting from tariff-file, if possible.
2024-07-30 15:32:58 +02:00
9a6b2b195d
get_minimal_parking_price(): compute this price dynamically according to settings
...
in the tariff-file. Introduced for Fuchs (500) for Valser Alm (Location: Fane)
2024-07-30 15:29:47 +02:00
894e23332f
compute option index using permit type.
2024-07-29 17:32:15 +02:00
fbc255a6f2
Fix: compute_next_time_step(): removed check for product ids.
2024-07-29 17:31:33 +02:00
37652d3b6a
Save computed pop_min_time.
2024-07-29 17:27:16 +02:00
14fd7ddd39
Preperationf for Zone3.
2024-07-29 17:26:53 +02:00
ca3c3921d4
Minor: change debug output
2024-07-29 17:26:26 +02:00
9f4affca5a
Minor: removed debug output
2024-07-29 11:30:00 +02:00
4f2c33cdc2
Minor: added comments and added some debug output.
2024-07-29 11:28:07 +02:00
3cd02296b0
compute_duration_for_parking_ticket():
...
Fix: pass PERMIT_TYPE explicitly to correct arity of GetDurationFromCost().
2024-07-29 11:25:12 +02:00
f1493f417f
get_maximal_parkingprice():
...
implement for SHORT_TERM_PARKING_BUS and SHORT_TERM_PARKING_PKW.
2024-07-29 11:24:05 +02:00
356e3be178
Pass PERMIT_TYPE to get_minimal_parkingtime() and get_maximal_parkingtime()
...
to override default parameter value.
2024-07-29 11:22:22 +02:00
dbf5b1f11d
remove input correction
2024-07-26 17:34:24 +02:00
29368ea850
Remove correction
2024-07-26 17:04:33 +02:00
b84f80887e
Checkin for testing
2024-07-26 17:01:44 +02:00
4a2b15d086
Add some debug output into GetDurationForPrice().
2024-07-26 13:34:18 +02:00
8dad8f00e8
GetPriceForTimeStep(): Fix: user default payment option
2024-07-26 13:11:29 +02:00
805a732c52
GetPriceForTimeStep(): add prices for computed timesteps. Return maximal
...
price which is still smaller or equal then (input-)price.
2024-07-26 12:53:42 +02:00
b7facb9d60
checkin for tariff02.json
2024-07-26 10:59:45 +02:00
8344b04b15
Use of permitType in several places
2024-07-25 09:49:16 +02:00
b0ecef0361
Use of permitType in several places
2024-07-25 09:48:12 +02:00
0bfec6a938
Added getPaymentOptionIndex() and getPaymentOptionsForAllKeys()
2024-07-25 09:43:16 +02:00
4d7e5263ee
Added parsing of pop_product_id and pop_product_name.
2024-07-24 17:34:28 +02:00
b4b2e27fe3
Removed some debug output for testing
2024-07-24 12:37:29 +02:00
b19cfd693c
Minor: add some debug output.
2024-07-24 12:34:05 +02:00
78921c8870
IMPORTANT: isParkingAllowedForWeekDay(): deactivated for testing !!!
2024-07-24 12:30:46 +02:00
e891bfc5de
Only check for prepaid == never.
2024-07-24 12:23:15 +02:00
a6922976bf
Minor: remove some debug output.
2024-07-24 12:22:47 +02:00
7f25c46d30
Set pun_duration_saved
2024-07-23 12:51:51 +02:00
2b30e9562f
Recompute time step list (previously is was saved as an optimization)
2024-07-23 12:51:08 +02:00
eb4ef0c3b5
Allow adjustment of the step list by a tolerance of 5 minutes per step
2024-07-23 12:48:50 +02:00
abf4ef0b00
GetPriceForTimeStep():
...
Use special flag 'pop_accumulate_prices' to add up prices given in the
tariff json file.
2024-07-23 11:53:22 +02:00
49fb860129
Minor: fixed printing of 'cost'.
2024-07-23 11:47:48 +02:00
69edc8e898
compute_product_price(): add new Products (CAR, BUS, CAMPER).
2024-07-23 11:45:34 +02:00
40440e28d3
Read pop_accumulate_prices and pop_accumulate_durations.
2024-07-22 15:56:04 +02:00
ba8e2786fc
GetTimeSteps():
...
updated as well for Schnals (505). Still to be tested.
2024-07-22 15:54:36 +02:00
b5804408f4
GetDurationFromCost():
...
expanded. still to be tested.
2024-07-22 15:53:27 +02:00
f7be0e471a
getDurationFromCost():
...
call
Calculator::GetInstance().GetTimeSteps(cfg, 0, inputDate);
for its side-effects.
Timesteps will be used in the following calculation.
2024-07-22 15:50:36 +02:00
3503306637
save experimental
2024-07-21 20:58:12 +02:00
977356040c
Added changes for Schnals
2024-07-19 14:10:07 +02:00
2a89f90745
Added parsing for Interpolation, CarryOver and Prepaid-options. Has to be formatted.w
2024-07-19 14:09:04 +02:00
c153652b3d
compute_next_timestep(): allow some tolerance for first time-step
2024-07-16 16:50:11 +02:00
d7e185006f
GetTimeSteps(): add sanity check
2024-07-16 16:47:26 +02:00
34fbefc138
save for the weekend
2024-06-07 13:33:04 +02:00
48fccafe76
Fix: GetDurationFromCost() -> set inputDate if next valid working time-range
...
in on another day and break the loop iterating through next days.
2024-06-06 14:04:04 +02:00
9394625d35
Minor: show debug output only when compiled in.
2024-06-06 14:02:43 +02:00
57ccbc150a
compute_duration_for_parking_ticket(): set calcState according to string
...
returned from tariff calculation.
2024-06-05 17:03:33 +02:00
8fa4335669
Minor: fixed typo.
2024-06-05 17:03:10 +02:00
49298a1821
Extend Calculator::GetDurationFromCost() (needed for Neuhauser/Stockerau/748).
2024-06-05 17:00:27 +02:00
6fb4d245cb
Added CalcState &setStatus(QString const &desc);
2024-06-05 16:58:12 +02:00
5be5798681
Declared iterator-arguments as const-references to get rid of compiler
...
warning: parameter passing for argument multi_map changed in gcc7.1
2024-06-04 11:48:50 +02:00
e121cef17e
Added: uint32_t getDailyTicketCardPrice(Configuration const *cfg, PaymentMethod methodId);
2024-06-04 11:26:36 +02:00
bdaea1106c
Fix: read price for daily ticket directly from entry PaymentOptions
...
in tariff-file if it is not given as part of a Json-Product-Array in tariff-file.
2024-06-04 11:24:15 +02:00
bc17213597
Minor: Add/change some debug putput.
2024-06-04 11:23:35 +02:00
64b2b4bd85
Fix: Handle case if "pop_carry_over_start_time_range" and "pop_carry_over_end_time_range"
...
is not given in tariff file.
2024-06-04 11:19:39 +02:00
8737508839
Minor: add case for PERMIT_TYPE::TWENTY_FOUR_HOURS_TICKET (TODO).
2024-06-04 11:18:47 +02:00
02f0500eac
Minor: Add some (commented-out) debug messages.
2024-06-04 11:18:00 +02:00
2d53224feb
Minor: add some (commented out) debug output -> used for debugging.
2024-05-15 15:23:12 +02:00
38964ad9a8
get_minimal_parkingprice(): for PERMIT_TYPE::DAY_TICKET
...
call compute_product_price(cfg, permitType, start) to get
minimal price dependent on 'start' datetime.
2024-05-15 15:21:38 +02:00
eb20410849
Use paymentOptionIndex in getPaymentOptions()
2024-05-08 16:34:07 +02:00
6a5272da7a
Fix: Check if endTime is still on the same day.
2024-05-07 15:01:16 +02:00
4d5583df2d
Handling for pop_carry_over_traget.
2024-05-07 14:59:00 +02:00
b71c979a91
Fix: getPaymentOptionIndex() -> return 0 instead of -1
...
Removed exit(0)-call which was used for testing.
2024-05-06 11:36:12 +02:00
33f43fb83d
Start parsing of pop_min_date_time and pop_max_date_time
2024-05-03 13:50:10 +02:00
1dd81d4a56
get_minimal_parkingtime(): const Configuration parameter.
...
Cast of const pointer necessary.
get_maximal_parkingtime(): const Configuration parameter.
2024-04-30 14:08:08 +02:00
4ec5589f30
Implement getTariffProductForProductId() in terms of
...
getTariffProductForProductTypeName().
2024-04-30 13:49:49 +02:00
c1d5ffcf3c
Implement getTariffProductForProductTypeName().
...
Use the type names of PERMIT_TYPE, not real indices as they can change.
2024-04-30 13:48:03 +02:00
7aded2b7fb
Explicit cast due to compiler warning.
2024-04-30 13:46:59 +02:00
c7623429d9
Compute end_parking_time using "netto_parking_time", which is the
...
current timestep.
2024-04-25 15:41:52 +02:00