e20eb93abf
Implement SpecialDaysWorkTimeFrom() and SpecialDaysWorkTimeUntil().
...
Extend getBusinessHours() to include new enum-values.
Implement isDayIncluded() as switch-case on dayOfWeek.
Implement dumpBusinessHours().
2024-04-19 13:21:38 +02:00
b0e7bd91b4
Add ariff_global_defines.h.
2024-04-19 13:20:44 +02:00
0cd4424434
Add utilities
...
isDayIncluded(), SpecialDaysWorkTimeFrom() and specialDaysWorkTimeUntil().
2024-04-19 13:19:26 +02:00
1991853b66
Add new enum-values for business_hours. Keep the old ones for
...
backward-compatibility.
2024-04-19 13:18:02 +02:00
b31fcc5f4f
Minor: add explicit default constructor.
2024-04-19 13:17:00 +02:00
dbe649d0e4
Add member variables
...
pop_carry_over_start_time_range
pop_carry_over_end_time_range:
If carry-over has been set, then provide the limits
for the carry-over: at the end of day1 (start) and
at the beginning of the next day (end).
2024-04-19 13:12:46 +02:00
dfd74a455a
Add getPaymentOptionIndexIfSpecialDay().
...
Add isSpecialDay(), isSpecialDay((), specialDayId(),
specialDay(), isSpecialDay(), specialDayId(), specialDay(),
isDayIncluded(), isDayIncludedAsSpecialDay() and isDayIncludedAsSpecialDay().
2024-04-19 13:09:53 +02:00
10828e0708
Add private mathods isParkingAllowedForWeekDay() and isParkingAllowedForSpecialDay().
...
Overload isParkingAllowed().
GetCostFromDuration(): add default parameter "int paymentOptionIndex=0"
2024-04-19 13:06:37 +02:00
2dbcc7018c
start header for global defines
2024-04-19 13:04:36 +02:00
18ed85430d
Minor: first commit
2024-04-18 08:52:15 +02:00
b70094abb5
Extend compute_product_price() for use of PERMIT_TYPE::DAY_TICKET.
...
First time used for Neuhauder-Pernegg-an-der-Mur.
2024-04-16 12:10:34 +02:00
aa15d1c126
Add default-parameters to compute_product_price():
...
start [in]: currentDateTime(): start date-time for daily-ticket-price computation.
startProduct, endProduct: real start- and end-date/time for daily-ticket.
Used first time for Neuhauser-Pernegg-an-der-Mur (747).
2024-04-16 12:07:18 +02:00
cd159f2bbd
Add case for BusinessHours::NoRestriction_24_7: used for Neuhauder-Christoph-Reisen
2024-04-16 12:05:55 +02:00
475487c2ce
Minor: add utility getProductPrice()
2024-04-16 12:03:42 +02:00
b0c4ad0e2e
getCurrentPaymentOptionIndex(): start implementation.
...
getPaymentOptions(): use new parameter paymentOptionIndex.
2024-04-12 14:31:02 +02:00
7e3347b043
GetTimeSteps(): use new parameter paymentOptionIndex
2024-04-12 14:30:04 +02:00
4e7fa83507
get_minimal_parkingtime()
...
get_maximal_parkingtime()
get_minimal_parkingprice()
get_maximal_parkingprice():
use new parameter paymentOptionIndex.
2024-04-12 14:27:08 +02:00
ac76f194e1
Added new constants
2024-04-12 14:26:03 +02:00
fe485b7b39
pop_business_hours as uint64_t.
2024-04-12 14:24:32 +02:00
e210224340
getPaymentOptions(): added default-parameter 'paymentOptionsIndex'
...
Added getCurrentPaymentOptionIndex() and isHoliday().
2024-04-12 14:22:20 +02:00
afa62183fd
ResetTimeSteps(), GetTimeSteps(), GetSteps():
...
add parameter paymentOptionIndex (default=0)
2024-04-12 14:20:05 +02:00
f241a87dc1
get_minimal_parking_price()
...
get_maximal_parking_price()
get_maximal_parking_time()
get_minimal_parking_time():
adden perameter paymentOptionIndex
2024-04-12 14:17:43 +02:00
9b1cc49d34
Minor: remove some debug output
2024-04-12 14:16:18 +02:00
aba38d2614
compute_price_for_parking_ticket(): add handling for PaymentMethod::Steps.
2024-04-08 13:58:24 +02:00
57d6b85f52
get_maximal_parking_price(): add handling for PaymentMethod::Steps.
2024-04-08 13:57:40 +02:00
a5b95d71b8
CalcState: Add setStatus()/getStatus()
2024-04-08 13:52:53 +02:00
627d14204d
Use paymentRate.last() instead of aymentRate.at(0) so we can enter new entries
...
in tariff-files to provide the prices for an hour.
2024-03-07 08:17:32 +01:00
a744a1ebb3
compute_product_price(): add handling for FOOD_STAMP
2024-02-28 12:06:02 +01:00
df16bd7f9c
GetDailyTicketPrice(): add case for FOOD_STAMP (not implemented)
2024-02-28 12:05:14 +01:00
b751ba339e
Add permit type FOOD_STAMP
2024-02-28 12:03:13 +01:00
588a88455b
CalcState: add toString() method
2024-02-28 11:31:28 +01:00
8bbec596c9
Check for 08:00 <= currentTime <= 20:00 removed:
...
assumption is prepaid.
2024-02-28 09:58:00 +01:00
87b14ee3f8
Added check for NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM:
...
08:00 <= currentTime <= 20:00.
2024-02-28 09:26:51 +01:00
7831329b11
kirchdorf: getDurationFromCost(): to be tested
2024-02-27 17:11:00 +01:00
abbbd06f93
GetCostFromDuration(): re-implement cpmputation for paymentMethod==progressive
...
(e.g. neuhauser/kirchdorf (743))
2024-02-27 12:25:13 +01:00
b741d2e312
test
2024-02-26 16:57:37 +01:00
eb645273cc
Add declaration for get_maximal_parkingprice()
2024-02-23 13:17:03 +01:00
bd1bdf8a8c
Implement compute_procuct_price()
2024-02-22 16:38:41 +01:00
6d18ce4caa
GetDailyTicketPrice(): improve for projects which have not defined a daily ticket in their tariff-files.
2024-02-22 16:37:11 +01:00
e980d8c451
Implement
...
std::optional<QVector<ATBTariffProduct>> getTariffProductForAllKeys() const;
std::optional<QVector<ATBTariffProduct>> getTariffProductForProductId(int id) const;
std::optional<QVector<ATBTariffProduct>> getTariffProductForProductId(PermitType permitType) const;
2024-02-22 16:34:57 +01:00
afb0e20dd2
Implement parsing of "Product" and adding into TariffProduct.
2024-02-22 16:33:19 +01:00
39ab08a5b7
Add ProductType
2024-02-22 16:32:16 +01:00
c4c0e2fd77
Added TariffProduct including necessary functions to retrieve product infos from tariff-file
2024-02-22 16:31:51 +01:00
7a5487aa41
Add compute_product_price
2024-02-22 16:27:52 +01:00
a8c1caf611
Add tariff_product.h and tariff_permit_type.h
2024-02-22 16:26:09 +01:00
7b7dd6d103
Add representations for PERMIT_TYPE and Product
2024-02-22 16:25:09 +01:00
56fc95e33c
GetDurationFromCost(): reverted, as there is a new default parameter (prepaid)
...
in compute_price_for_parming_ticket().
2024-02-22 09:43:04 +01:00
c0f81f174a
compute_price_for_parking_ticket(): added parameter bool prepaid. Set to true as default.
2024-02-22 09:42:02 +01:00
6ba3963f25
compute_price_for_parking_ticket(): added default parameter prepaid=true.
...
(Needed e.g. for Neuhauser/Linsinger Maschinenbau (741)
2024-02-22 09:40:27 +01:00
1a350c0aeb
GetDurationFromCost(): aded section if prepaid is not set.
...
E.g. for Linsinger Maschinenbau (Neuhauser, 741): here, the buying
of food stamps is obviously only possible at certain times.
2024-02-22 09:31:41 +01:00
7933c826e6
Synced GetDurationFromCost() with GetCostFromDuration()
2024-02-21 14:53:06 +01:00
9d5ddfc328
GetCostFromDuration(): fixed moving from time range 8:00-12:00 -> 14:00-18:00.
2024-02-21 14:20:51 +01:00
102607b71f
GetTimeSteps(): adapt for progressive tariff (e.g. neuhauser/kirchdorf).
...
Compute timesteps according to tariff01.json file.
2024-02-21 11:16:44 +01:00
81d515eb7f
GetCostFromDuration(): set endtime to start in case cost==0.
2024-02-21 11:13:53 +01:00
ce61e5d3b2
compute_next_timestep(): use fpr PaymentMenthod::Progressive
...
same code as for PaymentMethod::Steps, as GetTimeSteps() inside
the Calculator class has been adapted accordingly.
2024-02-21 11:11:09 +01:00
e0223b50f9
Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743)
2024-02-21 09:31:13 +01:00
690267c388
get_maximal_parkingprice(): in case of progressive tariff, read maximal parking time
...
directly form tariff-file as there is not price per hour.
2024-02-20 15:47:02 +01:00
9c19414e5a
GetDurationFromCost(): add some sanity checks for cost. Check if cost < minParkingPrice.
...
Cut cost internally to maxParkingPrice if cost > maxParkingPrice.
2024-02-20 13:47:45 +01:00
696ce644ab
GetCostFromDuration(): take into account that (for Kirchdorf and progressive tariff)
...
there is no carry over.
2024-02-19 12:00:45 +01:00
9ea2037eca
GetDurationFromCost(): in case of progressive tariff
...
-> implement analogously to GetCostFromDuration().
2024-02-19 11:59:06 +01:00
c0f0648a74
checkin for the weekend. proper commit-messages later
2024-02-16 13:37:24 +01:00
1d7779f666
GetCostFromDuration(): implement progressive tariff for Kirchdorf.
2024-02-15 16:15:28 +01:00
8470bdd574
Minor: change type of parameter 'start-parking-time' to non-const.
2024-02-15 16:14:21 +01:00
707ab1716b
Add addition parsing of ATBTimeRange.
2024-02-15 16:13:28 +01:00
92c3b7c97c
Add helper WorkDayId() for future use.
2024-02-15 16:11:41 +01:00
5ee978f14a
Added several members to ATBTimeRange to implement
...
progressive tariff for Kirchdorf.
2024-02-15 16:08:22 +01:00
db0a2c0d01
Minor: replaced 'pragma once' with include guards.
2024-02-15 16:07:04 +01:00
003644f04d
Minor: changed type of parameter 'start_datetime' to non-const to return value.
2024-02-15 16:05:49 +01:00
d30061915e
Minor: changed type of parameter 'start_parking_time' to non-const to be able to return value.
2024-02-15 16:02:48 +01:00
9d713c894d
Moved check if netto minutes exceed max. parking time down into loop.
...
If this is the case, then stop updating the end-time-date.
2024-02-01 13:19:08 +01:00
38eca50d83
Minor: more detailed debug output
2024-02-01 13:18:27 +01:00
f7af631de6
Use isParkingAllowed() to steamline source code.
2024-01-31 15:19:31 +01:00
15006e8e22
Implemement isParkingAllowed().
2024-01-31 15:19:01 +01:00
87c0f4397b
Remove meset for price. Rely on default-constructor.
2024-01-31 15:15:44 +01:00
24c6788427
Add utility isParkingAllowed()
2024-01-31 15:14:44 +01:00
f848baec83
Add defualt-constructor to struct price_t.
2024-01-31 15:13:24 +01:00
1467a69487
Add TariffTimeRange member to CalcState. Use in isParkingAllowed().
2024-01-31 15:12:41 +01:00
0b779b7846
getBusinessHours(): return values with correct type.
2024-01-31 15:10:45 +01:00
25a39fdc61
Fix getPaymentMethodId(): check for valid iterator.
2024-01-31 15:09:42 +01:00
f87399ed44
Fixed getWeekDayWorkTime(). Parameter 'time' must be inside [from, to[.
2024-01-31 11:42:33 +01:00
868df3dd32
Fixed GetDailyTicket(): use pop_id as key to find payment rate.
2024-01-31 11:40:41 +01:00
d2a85532ce
Minor: changed debug output format.
2024-01-31 11:40:08 +01:00
e6399d477b
CalcState: add OUTSIDE_ALLOED_PARKING_TIME status (future use).
2024-01-31 11:37:49 +01:00
f46adac56d
Fixed usage of std::optional value_or:
...
value = value.value_or(...)
2024-01-30 14:05:40 +01:00
c799c24658
Removed local variable PaymentOption. Replaced by usage of currentPaymentOption-vector.
2024-01-30 14:04:58 +01:00
8077167498
Minor: remove unused protection_counter variable
2024-01-30 10:52:24 +01:00
5deaa48f8e
Implement:
...
getDailyTicketsForAllKeys(), getDailyTicketsForKey(), getPaymentRateForAllKeys(),
getPaymentRateForKey(), getCustomerForType() and getWeekDayWorkTime().
2024-01-30 10:49:30 +01:00
3a6a47725f
Re-implement accessors for payment-option(s).
2024-01-30 10:48:05 +01:00
17968082f1
Insert Customer in cfg->customer multimap
2024-01-30 10:47:04 +01:00
7dcd7a624b
Minor: debug output
2024-01-30 10:46:44 +01:00
5464054f65
Parsing of PaymentOption(s): there can be several of them
2024-01-30 10:45:32 +01:00
e1ab060dc3
Parsing of Customer in tariff-file.
2024-01-30 10:44:58 +01:00
8aa9aa497a
Persing of DailyTicket entry in tariff-file
2024-01-30 10:44:25 +01:00
4c1cd45866
Implemented compute_price_for_daily_ticket().
2024-01-30 10:41:29 +01:00
6bf3960349
Re-implemented get_minimal_parkingtime() using PERMIT_TYPE-parameter.
...
Implemented get_maximal_parkingtime(), get_minimal_parkingprice()
and get_maximal_parkingprice().
2024-01-30 10:39:24 +01:00
9899fe76fe
Add GetDailyTicketPrice() and GetPriceSteps().
2024-01-30 10:37:30 +01:00
7bb2cbf01e
Add m_priceSteps, ResetPriceSteps() and priceSteps().
2024-01-30 10:37:10 +01:00
689bf9b3ba
Added compute_price_for_daily_ticket().
2024-01-30 10:33:11 +01:00
4c07d9fdb9
get_minimal_parking_time() -> new PERMIT_TYPE parameter
...
Added:
get_maximal_parking_time()
get_minimal_parkingprice()
get_maximal_parkingprice().
2024-01-30 10:31:03 +01:00
1e866c74e2
Minot: fix alignment.
2024-01-30 10:30:11 +01:00