| 
						
					 | 
					
						
						
							
						
						52ad1c3ba8
					 | 
					
						
						
							
							Minor: add constructor taking some parameters..
						
						
						
						
						
						
					 | 
					
						2023-12-12 10:31:54 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						43b8a8d3bf
					 | 
					
						
						
							
							Add member pop_business_hours. Add default constructor.
						
						
						
						
						
						
					 | 
					
						2023-12-12 10:30:55 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						ceef73195d
					 | 
					
						
						
							
							Add helper structure
						
						
						
						
						
						
						
						enum BusinessHours
{
    NoRestriction_24_7          = 0,
    OnlyWorkingDays             = 1,    // [Monday-Friday]
    OnlyWeekDays                = 2,    // [Monday-Saturday]
    OnlyWeekEnd                 = 4,    // [Saturday+Sunday]
    OnlyOfficialHolidays        = 8,
    OnlySpecialDays             = 16,
    OnlySchoolHolidays          = 32,
    SpecialAndSchoolHolidays    = 48,
    OnlyOpenForBusinessDays     = 64,   // verkaufsoffen
    NoBusinessHoursDefined      = 255
};
to define inside of tariff-file what operating hours a PSA has.
						
						
					 | 
					
						2023-12-12 10:26:13 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						282a412ef5
					 | 
					
						
						
							
							IsYearPeriodActive(): return true, even if no YearPeriod is given in tariff-json-file.
						
						
						
						
						
						
					 | 
					
						2023-12-12 10:23:45 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9dcf7a8f30
					 | 
					
						
						
							
							Implement added helpers.
						
						
						
						
						
						
					 | 
					
						2023-12-12 10:22:34 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4187598edf
					 | 
					
						
						
							
							Add helpers for collecting them in Utilities namespave.
						
						
						
						
						
						
						
						BusinessHours getBusinessHours(Configuration const *cfg, PaymentMethod methodId);
uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id);
double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id); 
						
						
					 | 
					
						2023-12-12 10:20:02 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						88e92dddb9
					 | 
					
						
						
							
							Fix: nextTimeStep must be between minParkingTime and maxParkingTime.
						
						
						
						
						
						
					 | 
					
						2023-12-11 09:00:24 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						0f05a1a784
					 | 
					
						
						
							
							(1) Fix debug output.
						
						
						
						
						
						
						
						(2) Use UpDown-Argument for calculation of next tiem step. 
						
						
					 | 
					
						2023-12-08 10:16:52 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						2d696941a5
					 | 
					
						
						
							
							Fix: use second.pun_duration instead of second.pun_id
						
						
						
						
						
						
						
						Minor: add debug output. 
						
						
					 | 
					
						2023-12-08 10:14:48 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5598b02816
					 | 
					
						
						
							
							Make distinction base on PaymentMethod, not on some
						
						
						
						
						
						
						
						other data contained in json-tariff-file. 
						
						
					 | 
					
						2023-12-07 17:00:28 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						548447af1f
					 | 
					
						
						
							
							set -O option to calm down compiler because of FORTIFY_SOURCE=2 option
						
						
						
						
						
						
					 | 
					
						2023-12-07 17:00:03 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b9a7c04db9
					 | 
					
						
						
							
							Add compute_next_timestep() computing timesteps if PaymentMethod = Steps.
						
						
						
						
						
						
						
						Add additional code for computing time steps dynamically if PaymentMethod = Linear. 
						
						
					 | 
					
						2023-12-07 16:28:17 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						5b8d9c62cc
					 | 
					
						
						
							
							Add and implement utilities:
						
						
						
						
						
						
						
						int getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    int getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    uint32_t getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId);
    uint32_t getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId);
						
						
					 | 
					
						2023-12-07 16:27:09 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						56e2843ddb
					 | 
					
						
						
							
							Add compute_next_timestep().
						
						
						
						
						
						
					 | 
					
						2023-12-07 16:26:09 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6b76c4c2dd
					 | 
					
						
						
							
							Add test cases for neuhauser.
						
						
						
						
						
						
					 | 
					
						2023-12-06 10:52:35 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						54e9a0f86d
					 | 
					
						
						
							
							Minor: add debug ouput (and commnt it out)
						
						
						
						
						
						
					 | 
					
						2023-12-06 10:51:46 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d7beb3b41b
					 | 
					
						
						
							
							Fix: replace 'continue' with 'break' to return first fitting time-range
						
						
						
						
						
						
						
						in findNextWorkTimeRange(). 
						
						
					 | 
					
						2023-12-06 10:49:33 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9d220df52e
					 | 
					
						
						
							
							Mainly removed debug output. Regression tests with szeged looking good.
						
						
						
						
						
						
					 | 
					
						2023-12-05 17:31:56 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						de7a63bc2a
					 | 
					
						
						
							
							new test cases for regression tests
						
						
						
						
						
						
					 | 
					
						2023-12-05 17:30:12 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						73b1c1459e
					 | 
					
						
						
							
							added tariff for testing
						
						
						
						
						
						
					 | 
					
						2023-12-01 14:26:07 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a599e47a47
					 | 
					
						
						
							
							Add test cases for szeged.
						
						
						
						
						
						
					 | 
					
						2023-12-01 14:25:06 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e97ad17b09
					 | 
					
						
						
							
							removed typo
						
						
						
						
						
						
					 | 
					
						2023-12-01 14:24:51 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						19428ce46c
					 | 
					
						
						
							
							implemented both cost and duration functions. to be tested
						
						
						
						
						
						
					 | 
					
						2023-12-01 14:24:15 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						4c268e6693
					 | 
					
						
						
							
							Added draft implementation of private_GetDurationFromCost().
						
						
						
						
						
						
					 | 
					
						2023-11-28 16:43:03 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						cc5c52c1a0
					 | 
					
						
						
							
							Added private_getDurationFromCost()
						
						
						
						
						
						
					 | 
					
						2023-11-28 16:42:29 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						602ff5f94e
					 | 
					
						
						
							
							Added State for invalid price
						
						
						
						
						
						
					 | 
					
						2023-11-28 16:41:27 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b8720bac6c
					 | 
					
						
						
							
							Added special days.
						
						
						
						
						
						
					 | 
					
						2023-11-28 16:40:41 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						64c005cd70
					 | 
					
						
						
							
							Implement private_GetCostFromDuration() using a loop and not using
						
						
						
						
						
						
						
						recursive calls. 
						
						
					 | 
					
						2023-11-28 15:25:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9abc165a7c
					 | 
					
						
						
							
							Implemented computeWeekDaysPrice() and computeWeekDaysDurationUnit()
						
						
						
						
						
						
					 | 
					
						2023-11-28 15:20:31 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						57ec82a2fc
					 | 
					
						
						
							
							Added helpers computeWeekDaysPrice() and computeWeekDaysDurationUnit()
						
						
						
						
						
						
					 | 
					
						2023-11-28 15:18:05 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a49236c1de
					 | 
					
						
						
							
							Removed parameters in private_GetCostFromDuration() and checkDurationMinutes()
						
						
						
						
						
						
					 | 
					
						2023-11-28 15:17:27 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9a19320ee5
					 | 
					
						
						
							
							Minor: removed debug output.
						
						
						
						
						
						
					 | 
					
						2023-11-28 15:15:13 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9e8833f362
					 | 
					
						
						
							
							Added special days.
						
						
						
						
						
						
					 | 
					
						2023-11-28 15:14:35 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						7a5d797ae0
					 | 
					
						
						
							
							Start reimplementation of
						
						
						
						
						
						
						
						private_GetCostFromDuration() in terms of ticket. 
						
						
					 | 
					
						2023-11-27 16:21:28 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						215667af61
					 | 
					
						
						
							
							Implement findWorkTimeRange() and indNextWorkTimeRange().
						
						
						
						
						
						
					 | 
					
						2023-11-27 16:19:39 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						2b6d116200
					 | 
					
						
						
							
							Implement GetCostFromDuration() in terms of private_GetCostFromDuration()
						
						
						
						
						
						
						
						using a ticket as return value. 
						
						
					 | 
					
						2023-11-27 16:18:06 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						2d9ed3c1c8
					 | 
					
						
						
							
							testing ...
						
						
						
						
						
						
					 | 
					
						2023-11-27 16:16:50 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						9ca45e613f
					 | 
					
						
						
							
							Return a ticket from private_GetCostFromDuration().
						
						
						
						
						
						
						
						Add helpers findWorkTimeRange() and findNextWorkTimeRange(). 
						
						
					 | 
					
						2023-11-27 16:15:18 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						6a3d183129
					 | 
					
						
						
							
							Minor: overload constructor
						
						
						
						
						
						
					 | 
					
						2023-11-27 16:14:27 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						684de4acd1
					 | 
					
						
						
							
							Reformat to Unix.
						
						
						
						
						
						
						
						Add overload for IsYearPeriodActive().
Add several helpers. 
						
						
					 | 
					
						2023-11-27 16:12:07 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						e9047f995a
					 | 
					
						
						
							
							Minor: format to Unix.
						
						
						
						
						
						
					 | 
					
						2023-11-27 16:09:38 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						20cdb8b07f
					 | 
					
						
						
							
							Add overload for IsYearPeriodActive().
						
						
						
						
						
						
						
						Add helpers WeekDaysWorkTimeFrom(), WeekDaysWorkTimeUntil(), isCarryOverSet()
sCarryOverNotSet() and getPaymentMethodId(). 
						
						
					 | 
					
						2023-11-27 16:07:30 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b84970fd12
					 | 
					
						
						
							
							Add class Ticket for future use.
						
						
						
						
						
						
					 | 
					
						2023-11-26 19:56:38 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						7ac033720e
					 | 
					
						
						
							
							Started re-implementation of GetCostFromDuration() using
						
						
						
						
						
						
						
						private_GetCostFromDuration(). 
						
						
					 | 
					
						2023-11-26 19:55:21 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c749de2bf9
					 | 
					
						
						
							
							Add private_GetCostFromDuration() and helpers
						
						
						
						
						
						
						
						getMinimalParkingTime(), getMaximalParkingTime(), checkDurationMinutes(). 
						
						
					 | 
					
						2023-11-26 19:53:29 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						c4cec1c04b
					 | 
					
						
						
							
							Added overload for CheckSpecialDay().
						
						
						
						
						
						
						
						Added helpers SpecialDaysWorkTimeFrom() and SpecialDaysWorkTimeUntil(). 
						
						
					 | 
					
						2023-11-26 19:51:37 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						a53cb37291
					 | 
					
						
						
							
							Add explicit include guard.
						
						
						
						
						
						
					 | 
					
						2023-11-26 19:50:23 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						b1a98a20c5
					 | 
					
						
						
							
							Add class ticket
						
						
						
						
						
						
					 | 
					
						2023-11-26 19:48:29 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d765997ca5
					 | 
					
						
						
							
							dos2unix. add TODO comment
						
						
						
						
						
						
					 | 
					
						2023-11-24 13:52:49 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 | 
				
			
				
					| 
						
					 | 
					
						
						
							
						
						d2664fdb95
					 | 
					
						
						
							
							add test json for neuhauser
						
						
						
						
						
						
					 | 
					
						2023-11-24 13:25:11 +01:00 | 
					
					
						
						
						
							
							
							
							
							
							
						
					 |