diff --git a/library/include/mobilisis/configuration.h b/library/include/mobilisis/configuration.h index f5f3f51..51be47e 100644 --- a/library/include/mobilisis/configuration.h +++ b/library/include/mobilisis/configuration.h @@ -25,6 +25,9 @@ #include "time_range_header.h" #include "tariff_timestep_config.h" #include "tariff_product.h" +#include "tariff_interpolation.h" +#include "tariff_prepaid.h" +#include "tariff_carryover.h" #include #include @@ -41,6 +44,9 @@ public: using TimeRangeType = std::multimap; using TariffProductType = std::multimap; using ATBPaymentOptionType = std::multimap; + using TariffInterpolationType = std::multimap; + using TariffPrepaidType = std::multimap; + using TariffCarryOverType = std::multimap; ATBProject project; ATBCurrency Currency; @@ -61,6 +67,9 @@ public: multimap TimeBase; multimap Customer; TariffProductType TariffProduct; + TariffInterpolationType TariffInterpolations; + TariffPrepaidType TariffPrepaidOptions; + TariffCarryOverType TariffCarryOverOptions; /// /// Parse JSON string @@ -85,6 +94,8 @@ public: std::optional> getPaymentRateForKey(int key) const; std::optional> getDailyTicketsForAllKeys() const; std::optional> getDailyTicketsForKey(int key) const; + std::optional getInterpolationType(int type) const; + std::optional getPrepaidType(int type) const; std::optional> getTariffProductForAllKeys() const; std::optional> getTariffProductForProductId(int id) const; std::optional> getTariffProductForProductId(PermitType permitType) const; @@ -92,6 +103,8 @@ public: std::optional getCustomerForType(ATBCustomer::CustomerType customerType); std::optional getWeekDayWorkTime(QTime const &time, Qt::DayOfWeek dayOfWeek); + std::optional adaptStart(QDateTime const &start, int prepaid_option_id); + private: /// /// Identify type of JSON member