67b12f4b33 
					 
					
						
						
							
							Private GetCostFromDuration() and GetCostFromDuration() helpers:  
						
						 
						
						... 
						
						
						
						Use pyament method id (=4) as condition for if(...).
The other condition (tariffIs24_7()) is used in calling functions. 
						
						
					 
					
						2023-12-12 10:49:51 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						60002404da 
					 
					
						
						
							
							GetDurationFromCost():  
						
						 
						
						... 
						
						
						
						1: Get payment method from tariff file.
2: Use tariffIs24_7() helper (Tariff for Schoenau is such a case)
3: Add new code for neuhauser/linsinger maschinenbau:
   Very similar to Schoenau, but here there are extra operating times
   6.00-18.00 during the week, 6-12 on Saturday.
   Check if the current time is inside such time ranges and return
   associated price. 
						
						
					 
					
						2023-12-12 10:43:16 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d4e03a51dd 
					 
					
						
						
							
							Moved  
						
						 
						
						... 
						
						
						
						uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id) const;
    double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id) const;
to namespace Utilities. 
						
						
					 
					
						2023-12-12 10:41:21 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						723b3530cc 
					 
					
						
						
							
							Added helpers GetPriceForStep() and GetStepForPrice() to make source  
						
						 
						
						... 
						
						
						
						more readable. 
						
						
					 
					
						2023-12-12 10:40:20 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						63f508fb95 
					 
					
						
						
							
							Moved  
						
						 
						
						... 
						
						
						
						PaymentMethod getPaymentMethodId(Configuration const *cfg);
    int getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    int getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId);
    uint32_t getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId);
to namespace Utilities. 
						
						
					 
					
						2023-12-12 10:38:31 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6e0a74c8cc 
					 
					
						
						
							
							Add helpers GetSteps(), noSpecialDays(), specialDays() and tariffIs24_7()  
						
						 
						
						... 
						
						
						
						to make the source more readable. 
						
						
					 
					
						2023-12-12 10:36:22 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d11cffb8bd 
					 
					
						
						
							
							Set pop_business_hours when parsing json-tariff-file.  
						
						 
						
						
						
						
					 
					
						2023-12-12 10:34:39 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						15f552a973 
					 
					
						
						
							
							Minor: Add header tariff_business_hours.h  
						
						 
						
						
						
						
					 
					
						2023-12-12 10:33:03 +01:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						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