From ac76f194e12dc39dc61e329d650f6ac1f35bb9a2 Mon Sep 17 00:00:00 2001 From: Gerhard Hoffmann Date: Fri, 12 Apr 2024 14:26:03 +0200 Subject: [PATCH] Added new constants --- .../include/mobilisis/tariff_business_hours.h | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/library/include/mobilisis/tariff_business_hours.h b/library/include/mobilisis/tariff_business_hours.h index 456da34..305e25c 100644 --- a/library/include/mobilisis/tariff_business_hours.h +++ b/library/include/mobilisis/tariff_business_hours.h @@ -4,19 +4,58 @@ /// /// Business hours (byte represents payment option id) /// -enum BusinessHours +/// + +#define _MON_ (1ULL << 8) +#define _TUE_ (1ULL << 9) +#define _WED_ (1ULL << 10) +#define _THU_ (1ULL << 11) +#define _FRI_ (1ULL << 12) +#define _SAT_ (1ULL << 13) +#define _SUN_ (1ULL << 14) +#define _WEEK_DAYS_ ((_MON_|_TUE_|_WED_|_THU_|_FRI_)) +#define _WORKING_DAYS_ ((_MON_|_TUE_|_WED_|_THU_|_FRI_|_SAT_)) +#define _ALL_DAYS_ ((_MON_|_TUE_|_WED_|_THU_|_FRI_|_SAT_|_SUN_)) +#define _OFFICIAL_HOLIDAY_ (1ULL << 15) +#define _ONLY_WEEKEND ((_SAT_|_SUN_)) +#define _ONLY_OPEN_FOR_BUSINESS_DAYS (1ULL << 16) /* verkaufsoffen */ +#define _NOT_DEFINED (~0ULL) + +enum BusinessHours : std::uint64_t { NoRestriction_24_7 = 0, OnlyWorkingDays = 1, // [Monday-Friday] OnlyWeekDays = 2, // [Monday-Saturday] OnlyWeekEnd = 4, // [Saturday+Sunday] OnlyOfficialHolidays = 8, + OnlySundaysAndHolidays = 12, // [Sun+Holiday] OnlySpecialDays = 16, OnlySchoolHolidays = 32, SpecialAndSchoolHolidays = 48, OnlyOpenForBusinessDays = 64, // verkaufsoffen AllDaysWithRestrictedHours = 128, // every day, restricted to some time range - NoBusinessHoursDefined = 255 + NoBusinessHoursDefined = 255, + + // new 12.04.2024 + NO_RESTRICTION_24_7 = 0, + MON = _MON_, + TUE = _TUE_, + WED = _WED_, + THU = _THU_, + FRI = _FRI_, + SAT = _SAT_, + SUN = _SUN_, + WEEK_DAYS = _WEEK_DAYS_, + WORKING_DAYS = _WORKING_DAYS_, + ALL_DAYS = _ALL_DAYS_, + OFFICIAL_HOLIDAY = _OFFICIAL_HOLIDAY_, + ONLY_WEEKEND = _ONLY_WEEKEND, + ONLY_OPEN_FOR_BUSINESS_DAYS = _ONLY_OPEN_FOR_BUSINESS_DAYS, + NOT_DEFINED = _NOT_DEFINED +}; + +struct BusinessHours_struct { + BusinessHours bh; }; #endif // TARIFF_BUSINESS_HOURS_H_INCLUDED