Commit Graph

452 Commits

Author SHA1 Message Date
GerhardHoffmann c4c0e2fd77 Added TariffProduct including necessary functions to retrieve product infos from tariff-file 2024-02-22 16:31:51 +01:00
GerhardHoffmann 7a5487aa41 Add compute_product_price 2024-02-22 16:27:52 +01:00
GerhardHoffmann a8c1caf611 Add tariff_product.h and tariff_permit_type.h 2024-02-22 16:26:09 +01:00
GerhardHoffmann 7b7dd6d103 Add representations for PERMIT_TYPE and Product 2024-02-22 16:25:09 +01:00
GerhardHoffmann 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
GerhardHoffmann c0f81f174a compute_price_for_parking_ticket(): added parameter bool prepaid. Set to true as default. 2024-02-22 09:42:02 +01:00
GerhardHoffmann 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
GerhardHoffmann 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
GerhardHoffmann 7933c826e6 Synced GetDurationFromCost() with GetCostFromDuration() 2024-02-21 14:53:06 +01:00
GerhardHoffmann 9d5ddfc328 GetCostFromDuration(): fixed moving from time range 8:00-12:00 -> 14:00-18:00. 2024-02-21 14:20:51 +01:00
GerhardHoffmann 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
GerhardHoffmann 81d515eb7f GetCostFromDuration(): set endtime to start in case cost==0. 2024-02-21 11:13:53 +01:00
GerhardHoffmann 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
GerhardHoffmann e0223b50f9 Added helper getTimeRangeStep() (useful for progressive tariff as for neuhauser/kirchdorf (743) 2024-02-21 09:31:13 +01:00
GerhardHoffmann 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
GerhardHoffmann 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
GerhardHoffmann 696ce644ab GetCostFromDuration(): take into account that (for Kirchdorf and progressive tariff)
there is no carry over.
2024-02-19 12:00:45 +01:00
GerhardHoffmann 9ea2037eca GetDurationFromCost(): in case of progressive tariff
-> implement analogously to GetCostFromDuration().
2024-02-19 11:59:06 +01:00
GerhardHoffmann c0f0648a74 checkin for the weekend. proper commit-messages later 2024-02-16 13:37:24 +01:00
GerhardHoffmann 1d7779f666 GetCostFromDuration(): implement progressive tariff for Kirchdorf. 2024-02-15 16:15:28 +01:00
GerhardHoffmann 8470bdd574 Minor: change type of parameter 'start-parking-time' to non-const. 2024-02-15 16:14:21 +01:00
GerhardHoffmann 707ab1716b Add addition parsing of ATBTimeRange. 2024-02-15 16:13:28 +01:00
GerhardHoffmann 92c3b7c97c Add helper WorkDayId() for future use. 2024-02-15 16:11:41 +01:00
GerhardHoffmann 5ee978f14a Added several members to ATBTimeRange to implement
progressive tariff for Kirchdorf.
2024-02-15 16:08:22 +01:00
GerhardHoffmann db0a2c0d01 Minor: replaced 'pragma once' with include guards. 2024-02-15 16:07:04 +01:00
GerhardHoffmann 003644f04d Minor: changed type of parameter 'start_datetime' to non-const to return value. 2024-02-15 16:05:49 +01:00
GerhardHoffmann 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
GerhardHoffmann 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
GerhardHoffmann 38eca50d83 Minor: more detailed debug output 2024-02-01 13:18:27 +01:00
GerhardHoffmann f7af631de6 Use isParkingAllowed() to steamline source code. 2024-01-31 15:19:31 +01:00
GerhardHoffmann 15006e8e22 Implemement isParkingAllowed(). 2024-01-31 15:19:01 +01:00
GerhardHoffmann 87c0f4397b Remove meset for price. Rely on default-constructor. 2024-01-31 15:15:44 +01:00
GerhardHoffmann 24c6788427 Add utility isParkingAllowed() 2024-01-31 15:14:44 +01:00
GerhardHoffmann f848baec83 Add defualt-constructor to struct price_t. 2024-01-31 15:13:24 +01:00
GerhardHoffmann 1467a69487 Add TariffTimeRange member to CalcState. Use in isParkingAllowed(). 2024-01-31 15:12:41 +01:00
GerhardHoffmann 0b779b7846 getBusinessHours(): return values with correct type. 2024-01-31 15:10:45 +01:00
GerhardHoffmann 25a39fdc61 Fix getPaymentMethodId(): check for valid iterator. 2024-01-31 15:09:42 +01:00
GerhardHoffmann f87399ed44 Fixed getWeekDayWorkTime(). Parameter 'time' must be inside [from, to[. 2024-01-31 11:42:33 +01:00
GerhardHoffmann 868df3dd32 Fixed GetDailyTicket(): use pop_id as key to find payment rate. 2024-01-31 11:40:41 +01:00
GerhardHoffmann d2a85532ce Minor: changed debug output format. 2024-01-31 11:40:08 +01:00
GerhardHoffmann e6399d477b CalcState: add OUTSIDE_ALLOED_PARKING_TIME status (future use). 2024-01-31 11:37:49 +01:00
GerhardHoffmann f46adac56d Fixed usage of std::optional value_or:
value = value.value_or(...)
2024-01-30 14:05:40 +01:00
GerhardHoffmann c799c24658 Removed local variable PaymentOption. Replaced by usage of currentPaymentOption-vector. 2024-01-30 14:04:58 +01:00
GerhardHoffmann 8077167498 Minor: remove unused protection_counter variable 2024-01-30 10:52:24 +01:00
GerhardHoffmann 5deaa48f8e Implement:
getDailyTicketsForAllKeys(), getDailyTicketsForKey(), getPaymentRateForAllKeys(),
getPaymentRateForKey(), getCustomerForType() and getWeekDayWorkTime().
2024-01-30 10:49:30 +01:00
GerhardHoffmann 3a6a47725f Re-implement accessors for payment-option(s). 2024-01-30 10:48:05 +01:00
GerhardHoffmann 17968082f1 Insert Customer in cfg->customer multimap 2024-01-30 10:47:04 +01:00
GerhardHoffmann 7dcd7a624b Minor: debug output 2024-01-30 10:46:44 +01:00
GerhardHoffmann 5464054f65 Parsing of PaymentOption(s): there can be several of them 2024-01-30 10:45:32 +01:00
GerhardHoffmann e1ab060dc3 Parsing of Customer in tariff-file. 2024-01-30 10:44:58 +01:00