713b483918 
					 
					
						
						
							
							Added/fixed several functions. final testing needed.  
						
						 
						
						
						
						
					 
					
						2024-09-27 13:37:54 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						77e1414c13 
					 
					
						
						
							
							compute_duration_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Recompute pop_max_price using netto-parking-time.
	Search Duration for the time-step with time-step == netto-parking-time,
	then search for the corresponding price in PaymentRate.
	The result is the new pop_max_price. 
						
						
					 
					
						2024-09-17 17:05:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d95275a72d 
					 
					
						
						
							
							Compute real netto_parking_time.  
						
						 
						
						... 
						
						
						
						This time will be used to find the real time-step, and from here the actual price to pay. 
						
						
					 
					
						2024-09-17 17:04:27 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						577a17dc6a 
					 
					
						
						
							
							Set seconds of serveral date-times to 0.  
						
						 
						
						... 
						
						
						
						Compute netto_parking_time (which includes carry-over duration). 
						
						
					 
					
						2024-09-17 17:03:29 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d8d32820a3 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Reset pop_max_price to original value using pop_max_price_saved. 
						
						
					 
					
						2024-09-17 17:01:32 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0cba85eafb 
					 
					
						
						
							
							Set pop_max_price_saved  
						
						 
						
						
						
						
					 
					
						2024-09-17 16:58:20 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8c7afdfcb1 
					 
					
						
						
							
							Add additional constructor.  
						
						 
						
						
						
						
					 
					
						2024-09-17 16:53:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						932d4e8cb9 
					 
					
						
						
							
							check it ticket-end-time hits carry-over-start. if configured, move to end of carry-over.  
						
						 
						
						
						
						
					 
					
						2024-09-16 16:56:48 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						38abc65425 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Check if minutesUntilCarryOver is positive (usually must be). 
						
						
					 
					
						2024-09-16 16:54:25 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						205896903b 
					 
					
						
						
							
							Handle SUCCESS_MAXPRICE (calc-state).  
						
						 
						
						
						
						
					 
					
						2024-09-16 16:53:44 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						57b9d16abc 
					 
					
						
						
							
							GetDurationFromCost():  
						
						 
						
						... 
						
						
						
						Handle carry-over for direct coin insertion.
	Carefully check if this might be a problem for other projects. 
						
						
					 
					
						2024-09-16 16:50:16 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						48afbc071c 
					 
					
						
						
							
							Added new calc-state: SUCCESS_MAXPRICE.  
						
						 
						
						... 
						
						
						
						Return whenever cost (=price) equals max-price. 
						
						
					 
					
						2024-09-16 16:49:00 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1874b08210 
					 
					
						
						
							
							Merge branch 'kleipeda-experimental-snapshot-2024-09-12' into kleipeda-experimental  
						
						 
						
						
						
						
					 
					
						2024-09-16 10:49:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a8ae9fc602 
					 
					
						
						
							
							Add own Time class (similar QTime)  
						
						 
						
						
						
						
					 
					
						2024-09-16 10:42:08 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7c0514e241 
					 
					
						
						
							
							save current state  
						
						 
						
						
						
						
					 
					
						2024-09-13 10:42:45 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						dffc6e2a03 
					 
					
						
						
							
							Minor: removed some debug output.  
						
						 
						
						
						
						
					 
					
						2024-09-11 11:56:06 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f9cc3af473 
					 
					
						
						
							
							ParseJson():  
						
						 
						
						... 
						
						
						
						Add parsing of "pop_apply_carry_over_to_ticket_endtime". 
						
						
					 
					
						2024-09-11 11:55:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9dd0108731 
					 
					
						
						
							
							ParseJson():  
						
						 
						
						... 
						
						
						
						Add parsing for prepaid-options. 
						
						
					 
					
						2024-09-11 11:54:16 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						fa10ea4b89 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						In case parking-time-limit is violated, return with an error.
	Commented out: use another possiblity: cut max-parking-time
	so that parking-time-limit is not violated. 
						
						
					 
					
						2024-09-11 11:49:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						05f03a623b 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						If after crossing a carry-over-time range (taking several days)
	check if we have to carry over again on the target day. 
						
						
					 
					
						2024-09-11 11:47:50 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						03e9076962 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Minor: add some debug output. 
						
						
					 
					
						2024-09-11 11:46:36 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5dbd3645c6 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Fetch prepaid-option-id (possibly recalculating it depending
	on year-period), and fetch associated prepaid-options. 
						
						
					 
					
						2024-09-11 11:44:09 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d21f69cb9b 
					 
					
						
						
							
							get_maximal_parkingprice():  
						
						 
						
						... 
						
						
						
						Fetch maxPrice directly instead of using utility function. 
						
						
					 
					
						2024-09-11 11:42:15 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7a53a68850 
					 
					
						
						
							
							getPaymentOptionIndex(): add start-time parameter  
						
						 
						
						
						
						
					 
					
						2024-09-06 12:05:41 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						275c3ec869 
					 
					
						
						
							
							compute_price_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Pass start-date-time to parking-time-checker. 
						
						
					 
					
						2024-09-03 11:19:23 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						6d2bde1fe9 
					 
					
						
						
							
							getPaymentOptionIndex():  
						
						 
						
						... 
						
						
						
						Fix: make sure only one payment option can be chosen. 
						
						
					 
					
						2024-09-03 11:17:31 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f02521d3c2 
					 
					
						
						
							
							parseWeekDay():  
						
						 
						
						... 
						
						
						
						for the park-time-limit checking take into account that the
 	start-date-time and end-date-time are on different days. 
						
						
					 
					
						2024-09-03 11:15:08 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						cce3db301b 
					 
					
						
						
							
							Minor: comment out some code to prevent compiler warnings (about some unused  
						
						 
						
						... 
						
						
						
						variables). 
						
						
					 
					
						2024-09-02 17:15:33 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5cab0de9fb 
					 
					
						
						
							
							Use free function getPaymentOptionIndex() to compute index of valid  
						
						 
						
						... 
						
						
						
						payment-option-section in tariff-file based on configured businessHours. 
						
						
					 
					
						2024-09-02 17:14:20 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f92906f680 
					 
					
						
						
							
							Minor: debug output.  
						
						 
						
						
						
						
					 
					
						2024-09-02 17:13:11 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						8cdeef26fc 
					 
					
						
						
							
							Check if computed ticket-end-time violates a carry-over-limit defined in  
						
						 
						
						... 
						
						
						
						tariff-file. 
						
						
					 
					
						2024-09-02 17:11:48 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						52ebbf7bc9 
					 
					
						
						
							
							Use free function getPaymentOptionIndex() in serveral places to compute valid  
						
						 
						
						... 
						
						
						
						index of a payment-option-section within tariff file. If this is not possible,
then try the already available functionality. 
						
						
					 
					
						2024-09-02 17:09:26 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						349e9d8b06 
					 
					
						
						
							
							Add free functions isHoliday() to check if the current day is a holiday  
						
						 
						
						... 
						
						
						
						and previousDayHoliday() to check if previous day (relative to endtime) is a
holiday. 
						
						
					 
					
						2024-09-02 17:05:32 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						68a1c24861 
					 
					
						
						
							
							Add free function getPaymentOptionIndex():  
						
						 
						
						... 
						
						
						
						Compute payment option index base on current start-date-time and
	businesshour-setiing in tariff-file.
	Returns -1 to indicate error. 
						
						
					 
					
						2024-09-02 17:03:37 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c946c106d1 
					 
					
						
						
							
							Configuration::ParseJson():  
						
						 
						
						... 
						
						
						
						Save the pop_plus_steps setting: sometimes it is necessary to adapt the
	pop_plus_steps-variable in order to hit a time-limit-boundary exactly.
	Otherwise the next computed time-step might overshoot the time-limit,
	and when moving backwards (via Minus-Button) there is a better
	resolution: going backwards, the user could hit the exact time-limit,
	which he could not when going up. 
						
						
					 
					
						2024-09-02 16:58:34 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f24f1fe646 
					 
					
						
						
							
							Configuration::ParseJson():  
						
						 
						
						... 
						
						
						
						Call parseWeekDay() to reading the week-day-settings. 
						
						
					 
					
						2024-09-02 16:57:11 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c6b8a37263 
					 
					
						
						
							
							ParseJson():  
						
						 
						
						... 
						
						
						
						Minor: some reformatting of source code. 
						
						
					 
					
						2024-09-02 16:55:48 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						58d8f16681 
					 
					
						
						
							
							ParseWeekDay():  
						
						 
						
						... 
						
						
						
						Parsing "Monday" - "Sunday" section i a tariff-file.
	Each day has a memebr named "week_day_default".
	It contains the valid default tariff settings for a usual day (i.e. no
	holiday etc.)
	It also contains the carry-over-settings for the usual day.
	In case there is some holiday on this day (for instance on "Monday"),
	the the date of the holiday replaces the name "week_day_default".
	Otherwise the structure is the same as for a usual day. 
						
						
					 
					
						2024-09-02 16:49:21 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						431664d8b9 
					 
					
						
						
							
							IdentifyJsonMember():  
						
						 
						
						... 
						
						
						
						Add "Monday" - "Sunday" as level-1 sections in a tariff-file. 
						
						
					 
					
						2024-09-02 16:47:46 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a3983ed427 
					 
					
						
						
							
							check for time-step-config == STATIC  
						
						 
						
						
						
						
					 
					
						2024-08-21 17:46:35 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f8805e9e78 
					 
					
						
						
							
							compute_duration_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Fix: handle carry-over for coin-insertion. 
						
						
					 
					
						2024-08-21 15:40:55 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7a6360f392 
					 
					
						
						
							
							compute_duration_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Fix: handle prepaid-setting for coin-insertion. 
						
						
					 
					
						2024-08-21 15:39:44 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						08a249f393 
					 
					
						
						
							
							return OVERPAID in case overpay is not allowed  
						
						 
						
						
						
						
					 
					
						2024-08-21 15:39:05 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7c173ae292 
					 
					
						
						
							
							parse for pop_allow_overpay  
						
						 
						
						
						
						
					 
					
						2024-08-21 15:38:06 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						80637260f3 
					 
					
						
						
							
							Utilities::IsYearPeriodActive():  
						
						 
						
						... 
						
						
						
						Fix: take into account if start-date <= end-date or not.
	     Otherwise check is wrong, and no valid year period is returned. 
						
						
					 
					
						2024-08-21 15:35:03 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0856f10ca9 
					 
					
						
						
							
							GetDurationFromCost():  
						
						 
						
						... 
						
						
						
						Fix computation of end-time when pop_accumulate_durations is set
	in tariff-file. 
						
						
					 
					
						2024-08-02 14:34:44 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						465b2274a1 
					 
					
						
						
							
							compute_duration_for_parking_ticket():  
						
						 
						
						... 
						
						
						
						Adapt end-time in case it is midnight: 00:00 -> 23:59 
						
						
					 
					
						2024-08-02 13:15:11 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						1023f6ede1 
					 
					
						
						
							
							GetPriceForTimeStep():  
						
						 
						
						... 
						
						
						
						Use "pop_accumulate_durations" setting to sum up the durations.
	Otherwise time-step will not be found in time-step-list. 
						
						
					 
					
						2024-08-02 11:12:07 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						36b3e85d1b 
					 
					
						
						
							
							GetCostFromDuration():  
						
						 
						
						... 
						
						
						
						recompute timestep list to make sure that time step is found in it. 
						
						
					 
					
						2024-08-02 11:11:20 +02:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b394ed46cc 
					 
					
						
						
							
							In case end-parking-time ends with 00:00, set it to 23:59.  
						
						 
						
						
						
						
					 
					
						2024-08-02 11:09:20 +02:00