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
45694106a7
GetTimeSteps():
...
added default parameter 'start'; was set inside the funtion.
2024-07-22 15:48:21 +02:00
6d125c65fe
Added flags
...
pop_accumulate_prices
pop_accumulate_durations
to decide if values in json files should be accumulated or not.
2024-07-22 15:46:45 +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
f2356bec55
Added new products
2024-07-19 14:04:20 +02:00
2d6ef2d158
Add prepaid and carry over option
2024-07-19 14:03:46 +02:00
02927be9c9
Added interpolation, carryover and prepaid types
2024-07-19 14:02:41 +02:00
c6d396f34b
Added handling for interpolation, carry over and prepaid.
2024-07-19 14:01:27 +02:00
026c791c79
Add interpolation and operator<<
2024-07-19 14:01:00 +02:00
927164e23e
Added headers for interpolation, prepaid and carryover
2024-07-19 13:59:56 +02:00
507b5d1b9c
Add Interpolation, Prepaid and CarryOver structures to streamline Json-File layout.
2024-07-19 13:58:22 +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
c3c888dc04
GetTimeSteps(): remove list as reference so compute_next_timestep)_ can change it
2024-07-16 16:46:43 +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
2dc93271fd
Added WORKING_DAYS_WITH_RESTRICTED_HOURS (introduced for Neuhauder/Stockerau/748)
2024-06-05 16:52:54 +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
1a24bc4572
Add comment about main-change(s).
2024-06-04 11:39:30 +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
d3f18f3b82
get_minimal_parkingprice(): add default parameter 'start', set to
...
value of QDateTime::currentDateTime();
2024-05-15 15:19:47 +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
de6f263817
Add FRI/SAT/SUN with restricted hours.
2024-05-07 14:57:41 +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
1606a784a4
Add macro _WEEKEND_WITH_RESTRICTED_HOURS_.
2024-05-03 13:49:15 +02:00
9f2cf613e1
Add struct ATBMaxDateTime.
2024-05-03 13:48:27 +02:00
dbd9644047
Add ATBPaymentOptionType = std::multimap<int, ATBPaymentOption>
2024-05-03 13:47:28 +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
f93cf11d23
get_minimal_parkingtime()
...
get_maximal_parkingtime(): made configuration parameter const.
2024-04-30 14:06:04 +02:00
9d0ac4f8ce
Add TWENTY_FOUR_HOURS_TICKET. Add toString() and implement conversion
...
operators in therm of toString().
2024-04-30 13:51:31 +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
ed9e60a972
Declaration for getTariffProductForProductTypeName().
2024-04-30 13:45:22 +02:00
5d35331c83
Minor: introduced TariffProductType.
2024-04-30 13:44:53 +02:00
c7623429d9
Compute end_parking_time using "netto_parking_time", which is the
...
current timestep.
2024-04-25 15:41:52 +02:00
b596086245
Pass paymentOptionIndex to cfg->getPaymentOptions(), which has
...
a default parameter of paymentOptionIndex=0.
2024-04-24 13:20:02 +02:00
24ca857b6f
Fix: init m_timeSteps-vector in case its size is 0: m_timeSteps.push_back(QList<int>()).
...
Detected during testing.
2024-04-24 13:18:23 +02:00
ea0bcde413
Check iterator for it != cfg->TimeRange.cend().
2024-04-24 13:16:22 +02:00
e93b08505a
Minor: introduce TimeRangeType as typedef for std::multimap<int, ATBTimeRange>.
2024-04-24 13:14:04 +02:00
e17e54b315
Minor: add define: _ALL_DAYS_WITH_RESTRICTED_HOURS_
2024-04-19 14:10:47 +02:00
d07fdd8540
GetPriceForTimeStep(): use parameter paymentOptionIndex.
2024-04-19 13:33:54 +02:00
1fab458de3
Implement isParkingAllowedForWeekDay(), isParkingAllowedForSpecialDay()
...
and isParkingAllowed() (4 parameters) using the 2 functions.
2024-04-19 13:32:24 +02:00
1ac2ca91c5
GetCostFromDuration(): use new parameter paymentOptionIndex.
2024-04-19 13:31:01 +02:00
1852f552a3
compute_price_for_parking_ticket(): compute paymentOptionIndex.
...
(a tariff-file can conatin more than one payment options).
2024-04-19 13:28:35 +02:00
e2c02420f0
Add parsing for new values in helper-structures.
...
NOTE: unfortunately switched to Unix-File-Format.
2024-04-19 13:26:33 +02:00
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