Compare commits

..

2 Commits

Author SHA1 Message Date
6ea58be34d 24-hour ticket 2023-08-22 12:26:52 +02:00
8a7828c1e6 24-hour ticket 2023-08-22 12:16:25 +02:00
41 changed files with 1553 additions and 8223 deletions

View File

@@ -1,13 +0,0 @@
#ifndef ATB_PROJECT_H_INCLUDED
#define ATB_PROJECT_H_INCLUDED
#include <QString>
class ATBProject {
public:
QString project;
QString version;
QString info;
};
#endif // ATB_PROJECT_H_INCLUDED

View File

@@ -109,9 +109,7 @@ CalcState CALCULATE_LIBRARY_API init_tariff(parking_tariff_t **tariff,
void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff);
int CALCULATE_LIBRARY_API get_zone_nr(int zone = -1);
int CALCULATE_LIBRARY_API compute_next_timestep(parking_tariff_t *tariff, int currentTimeMinutes, int UpDown);
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket( // deprecated
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
parking_tariff_t *tariff,
time_t start_parking_time,
time_t end_parking_time,
@@ -120,11 +118,10 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket( // depre
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
parking_tariff_t *tariff,
QDateTime const &start_parking_time,
int netto_parking_time,
QDateTime &end_parking_time, // return value
struct price_t *price); // return value
QDateTime const &end_parking_time,
struct price_t *price);
CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket( // deprecated
CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
parking_tariff_t *tariff,
time_t start_parking_time,
double cost,
@@ -134,12 +131,17 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
parking_tariff_t *tariff,
QDateTime const &start_parking_time,
double cost,
QDateTime &ticketEndTime); // return value
QDateTime &ticketEndTime);
CalcState CALCULATE_LIBRARY_API compute_duration_for_daily_ticket(
parking_tariff_t *tariff,
QDateTime const &start_parking_time,
QDateTime &ticketEndTime);
QString const &start_parking_time,
uint8_t paymentMethod);
CalcState CALCULATE_LIBRARY_API compute_duration_for_24hour_daily_ticket(
parking_tariff_t *tariff,
QString const &start_parking_time,
uint8_t paymentMethod);
//#ifdef __cplusplus
//} // extern "C"
//#endif

View File

@@ -1,49 +1,12 @@
#ifndef CALCULATOR_FUNCTIONS_H_INCLUDED
#define CALCULATOR_FUNCTIONS_H_INCLUDED
#pragma once
#include <iostream>
#include <optional>
#include "configuration.h"
#include "payment_method.h"
#include "ticket.h"
#include "tariff_time_range.h"
#include <QDateTime>
using namespace std;
class Calculator {
QDateTime m_start;
mutable uint16_t m_timeStepCompensation = 0;
class Calculator
{
public:
explicit Calculator() = default;
explicit Calculator(QDateTime const start) : m_start(start) {
m_start.setTime(QTime(start.time().hour(), start.time().minute(), 0));
qCritical() << "init m_start time:" << m_start.toString(Qt::ISODate);
}
void setStartDateTime(QDateTime const &start) {
m_start = start;
m_start.setTime(QTime(start.time().hour(), start.time().minute(), 0));
qCritical() << "set m_start time:" << m_start.toString(Qt::ISODate);
}
QDateTime const &getStartDateTime() const {
return m_start;
}
QDateTime &getStartDateTime() {
return m_start;
}
void setTimeStepCompensation(uint16_t timeStepCompensation) {
m_timeStepCompensation = timeStepCompensation;
}
uint16_t getTimeStepCompensation() const {
return m_timeStepCompensation;
}
/// <summary>
/// Gets duration in seconds from cost
/// </summary>
@@ -60,69 +23,13 @@ public:
/// <param name="tariff_cfg">Pointer to configuration</param>
/// <param name="vehicle_type">Type of vehicle</param>
/// <param name="start_datetime">Date/time of payment to be conducted in ISO8601 format (e.g. 2022-12-25T08:00:00Z) </param>
/// <param name="end_datetime">Date/time of park end to be conducted in ISO8601 format (e.g. 2022-12-25T08:00:00Z) </param>
/// <param name="durationMin">Duration of parking in minutes</param>
/// <returns>Returns cost (data type: double)</returns>
double GetCostFromDuration(Configuration* cfg, uint8_t vehicle_type, const QDateTime start_datetime, QDateTime & end_datetime, int durationMin, bool nextDay = false, bool prepaid = false);
double GetCostFromDuration(Configuration* cfg, uint8_t vehicle_type, char const* start_datetime, double durationMin, bool nextDay = false, bool prepaid = false);
// Daily ticket
QDateTime GetDailyTicketDuration(Configuration* cfg, const QDateTime start_datetime, uint8_t payment_option, bool carry_over);
QString GetDailyTicketDuration(Configuration* cfg, QString start_datetime, uint8_t payment_option, bool carry_over);
//
// helper function to find time steps for a tariff with PaymentMethod::Steps
// (e.g. Schoenau/Koenigsee)
//
QList<int> GetTimeSteps(Configuration *cfg) const;
QList<int> GetSteps(Configuration *cfg) const { return GetTimeSteps(cfg); }
// additional helper functions
bool noSpecialDays(Configuration const *cfg) const {
return (cfg->SpecialDays.size() == 0) && (cfg->SpecialDaysWorktime.size() == 0);
}
bool specialDays(Configuration const *cfg) const {
return !noSpecialDays(cfg);
}
bool tariffIs24_7(Configuration const *cfg) const {
return (cfg->YearPeriod.size() == 0 &&
cfg->SpecialDays.size() == 0 &&
cfg->SpecialDaysWorktime.size() == 0);
}
// testing public:
private:
// Introduced for PaymentMethod::Steps (e.g. Schoenau)
// For tariff of following structure: only steps, no special days, nonstop.
uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, quint64 durationMinutes) const;
uint32_t GetCostFromDuration(Configuration *cfg, QDateTime const &start, QDateTime const &end) const;
Ticket private_GetCostFromDuration(Configuration const* cfg,
QDateTime const &start,
int durationMinutes,
bool prepaid = false);
Ticket private_GetDurationFromCost(Configuration *cfg,
QDateTime const &start,
uint32_t price,
bool prepaid = false);
bool checkDurationMinutes(int minParkingTime, int maxParkingTime,
int durationMinutes);
//
uint32_t GetPriceForTimeStep(Configuration *cfg, int timeStep) const;
uint32_t GetPriceForStep(Configuration *cfg, int step) const {
return GetPriceForTimeStep(cfg, step);
}
uint32_t GetDurationForPrice(Configuration *cfg, int price) const;
uint32_t GetStepForPrice(Configuration *cfg, int price) const {
return GetDurationForPrice(cfg, price);
}
int findWorkTimeRange(QDateTime const &dt,
QScopedArrayPointer<TariffTimeRange> const &worktime,
size_t size);
int findNextWorkTimeRange(QDateTime const &dt,
QScopedArrayPointer<TariffTimeRange> const &worktime,
size_t size);
// 24-hour daily ticket
QString Get24HourTicketDuration(Configuration* cfg, QString start_datetime, uint8_t payment_option);
};
#endif // CALCULATOR_FUNCTIONS_H_INCLUDED

View File

@@ -20,12 +20,6 @@
#include "member_type.h"
#include "period_year.h"
#include "payment_rate.h"
#include "atb_project.h"
#include "tariff_daily_ticket.h"
#include "time_range_header.h"
#include "tariff_timestep_config.h"
#include <QVector>
using namespace std;
using namespace rapidjson;
@@ -33,8 +27,8 @@ using namespace rapidjson;
class Configuration
{
public:
ATBProject project;
ATBCurrency Currency;
ATBCurrency Currency;
ATBDuration duration;
multimap<int, ATBDuration> Duration;
@@ -46,9 +40,6 @@ public:
multimap<int, ATBPeriodYear> YearPeriod;
multimap<int, ATBWeekDaysWorktime> WeekDaysWorktime;
multimap<int, ATBPaymentOption> PaymentOption;
multimap<int, ATBDailyTicket> DailyTicket;
multimap<int, ATBTimeRange> TimeRange;
multimap<int, ATBTimeStepConfig> TimeStepConfig;
/// <summary>
/// Parse JSON string
@@ -57,9 +48,6 @@ public:
/// <returns>Returns operation status bool (OK | FAIL) </returns>
bool ParseJson(Configuration* cfg, const char* json);
ATBPaymentOption const &getPaymentOptions();
QVector<ATBDailyTicket> const &getDailyTickets() const;
private:
/// <summary>
/// Identify type of JSON member
@@ -67,6 +55,4 @@ private:
/// <param name="member_name"></param>
/// <returns></returns>
MemberType IdentifyJsonMember(const char* member_name);
ATBPaymentOption currentPaymentOptions;
};

View File

@@ -2,12 +2,12 @@
enum DayOfWeek
{
Monday = 0x01,
Tuesday = 0x02,
Wednesday = 0x03,
Thursday = 0x04,
Friday = 0x05,
Saturday = 0x06,
Sunday = 0x07,
UndefinedDay = 0xFF
Saturday = 0x06,
Sunday = 0x01,
Monday = 0x02,
Tuesday = 0x02,
Wednesday = 0x03,
Thursday = 0x04,
Friday = 0x05,
UndefinedDay = 0xFF
};

View File

@@ -1,3 +1,4 @@
#pragma once
#include <string>
class ATBDuration
@@ -6,6 +7,4 @@ public:
int pun_id;
std::string pun_label;
int pun_duration;
int pun_duration_min;
int pun_duration_max;
};

View File

@@ -1,5 +1,4 @@
#ifndef MEMBER_TYPE_H_INCLUDED
#define MEMBER_TYPE_H_INCLUDED
#pragma once
enum MemberType
{
@@ -13,12 +12,5 @@ enum MemberType
WeekDaysWorkTimeType = 0x06,
SpecialDaysWorktimeType = 0x07,
SpecialDaysType = 0x08,
PeriodYearType = 0x09,
DailyTicketType = 0x0A,
CustomerType = 0x0B,
TimeBaseType = 0x0C,
TimeRangeType = 0x0D,
TimeStepConfigType = 0x0E
PeriodYearType = 0x09
};
#endif // MEMBER_TYPE_H_INCLUDED

View File

@@ -1,12 +1,10 @@
#ifndef PAYMENT_METHOD_H_INCLUDED
#define PAYMENT_METHOD_H_INCLUDED
#pragma once
enum PaymentMethod {
enum PaymentMethod
{
Undefined = 0xFF,
Progressive = 0x01,
Degressive = 0x02,
Linear = 0x03,
Steps = 0x04
};
#endif // PAYMENT_METHOD_H_INCLUDED

View File

@@ -4,20 +4,16 @@
class ATBPaymentOption
{
public:
ATBPaymentOption() = default;
int pop_id;
std::string pop_label;
int pop_payment_method_id;
std::string pop_day_end_time;
std::string pop_day_night_end_time;
double pop_price_night;
double pop_min_time;
double pop_max_time;
double pop_min_price;
int pop_carry_over;
int pop_carry_over_time_range_id;
int pop_id;
std::string pop_label;
int pop_payment_method_id;
std::string pop_day_end_time;
std::string pop_day_night_end_time;
double pop_price_night;
double pop_min_time;
double pop_max_time;
double pop_min_price;
int pop_carry_over;
int pop_daily_card_price;
int pop_business_hours;
int pop_time_step_config;
int pop_multi_hour_price;
};

View File

@@ -1,21 +0,0 @@
#ifndef TARIFF_BUSINESS_HOURS_H_INCLUDED
#define TARIFF_BUSINESS_HOURS_H_INCLUDED
/// <summary>
/// Business hours (byte represents payment option id)
/// </summary>
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
};
#endif // TARIFF_BUSINESS_HOURS_H_INCLUDED

View File

@@ -1,41 +0,0 @@
#ifndef TARIFF_CUSTOMER_H_INCLUDED
#define TARIFF_CUSTOMER_H_INCLUDED
#include <QString>
#include <QDebug>
#include <QDebugStateSaver>
struct ATBCustomer {
enum class CustomerType {ADULT=1000, CHILD, TEEN};
ATBCustomer() = default;
CustomerType cust_type;
QString cust_label;
friend QDebug operator<<(QDebug debug, ATBCustomer const &customer) {
QDebugStateSaver saver(debug);
switch(customer.cust_type) {
case ATBCustomer::CustomerType::ADULT:
debug.nospace()
<< " cust_type: " << "CustomerType::ADULT" << "\n"
<< "cust_label: " << customer.cust_label << "\n";
break;
case ATBCustomer::CustomerType::CHILD:
debug.nospace()
<< " cust_type: " << "CustomerType::CHILD" << "\n"
<< "cust_label: " << customer.cust_label << "\n";
break;
case ATBCustomer::CustomerType::TEEN:
debug.nospace()
<< " cust_type: " << "CustomerType::TEEN" << "\n"
<< "cust_label: " << customer.cust_label << "\n";
break;
}
return debug;
}
};
#endif // TARIFF_CUSTOMER_H_INCLUDED

View File

@@ -1,82 +0,0 @@
#ifndef TARIFF_DAILY_TICKET_H_INCLUDED
#define TARIFF_DAILY_TICKET_H_INCLUDED
#include <QString>
#include <QDateTime>
#include <QDebug>
#include <QDebugStateSaver>
#include "tariff_customer.h"
#include "tariff_time_range.h"
#include "tariff_timebase.h"
struct ATBDailyTicket {
ATBDailyTicket() = default;
int daily_ticket_payment_option_id;
int daily_ticket_unit_id;
double daily_ticket_price;
ATBTimeBase::TimeBaseType daily_ticket_tbase_type;
// time base setting for ticket:
// absolute: using time stamps
// relative: use offsets from
// some reference time point,
// typically "start time".
ATBCustomer::CustomerType daily_ticket_clearance_customer_type;
// who is allowed to buy the ticket:
// list of customer types
int daily_ticket_weekday_range; // [mon-sun]
int daily_ticket_special_day_range;
friend QDebug operator<<(QDebug debug, ATBDailyTicket const &ticket) {
QDebugStateSaver saver(debug);
debug.nospace()
<< " daily_ticket_payment_option_id: " << ticket.daily_ticket_payment_option_id << "\n"
<< " daily_ticket_unit_id: " << ticket.daily_ticket_unit_id << "\n"
<< " daily_ticket_price: " << ticket.daily_ticket_price << "\n";
switch(ticket.daily_ticket_tbase_type) {
case ATBTimeBase::TimeBaseType::ABSOLUTE:
debug.nospace()
<< " daily_ticket_tbase_type: " << "TimeBaseType::ABSOLUTE" << "\n";
break;
case ATBTimeBase::TimeBaseType::RELATIVE:
debug.nospace()
<< " daily_ticket_tbase_type: " << "TimeBaseType::RELATIVE" << "\n";
break;
}
switch(ticket.daily_ticket_clearance_customer_type) {
case ATBCustomer::CustomerType::ADULT:
debug.nospace()
<< "daily_ticket_clearance_customer_type: " << "CustomerType::ADULT" << "\n";
break;
case ATBCustomer::CustomerType::CHILD:
debug.nospace()
<< "daily_ticket_clearance_customer_type: " << "CustomerType::CHILD" << "\n";
break;
case ATBCustomer::CustomerType::TEEN:
debug.nospace()
<< "daily_ticket_clearance_customer_type: " << "CustomerType::TEEN" << "\n";
break;
default:
debug.nospace()
<< "daily_ticket_clearance_customer_type: " << "CustomerType::???" << "\n";
break;
}
debug.nospace()
<< " daily_ticket_weekday_range: " << ticket.daily_ticket_weekday_range << "\n"
<< " daily_ticket_special_day_range: " << ticket.daily_ticket_special_day_range << "\n";
return debug;
}
};
#endif // TARIFF_DAILY_TICKET_H_INCLUDED

View File

@@ -1,3 +1,4 @@
// #pragma once
/// <summary>
/// Duration data
@@ -5,9 +6,7 @@
class TariffDuration
{
public:
int pun_id;
std::string pun_label;
int pun_duration;
int pun_duration_min;
int pun_duration_max;
int pun_id;
std::string pun_label;
int pun_duration;
};

View File

@@ -1,34 +1,17 @@
// #pragma once
#ifndef TARIFF_TIME_RANGE_H_INCLUDED
#define TARIFF_TIME_RANGE_H_INCLUDED
#include <QTime>
#include <ctime>
/// <summary>
/// Time range definition
/// </summary>
class TariffTimeRange {
QTime m_time_from; // if m_time_from == m_time_until, then the time range
QTime m_time_until; // actually is the time point m_time_from
public:
TariffTimeRange()
: m_time_from(QTime())
, m_time_until(QTime()) {}
TariffTimeRange(QTime const& from, QTime const &until)
: m_time_from(from)
, m_time_until(until) {
}
void setTimeRange(QTime const& from, QTime const &until) {
m_time_from = from;
m_time_until = until;
}
QTime const &getTimeFrom() const { return m_time_from; }
QTime const &getTimeUntil() const { return m_time_until; }
time_t time_from;
time_t time_to;
TariffTimeRange() : time_from(0), time_to(0) {}
};
#endif // TARIFF_TIME_RANGE_H_INCLUDED

View File

@@ -1,42 +0,0 @@
#ifndef TARIFF_TIME_BASE_H_INCLUDED
#define TARIFF_TIME_BASE_H_INCLUDED
#include <QString>
#include <QDebug>
#include <QDebugStateSaver>
struct ATBTimeBase {
enum class TimeBaseType {ABSOLUTE=0, RELATIVE=1};
ATBTimeBase() = default;
int tbase_id;
TimeBaseType tbase_type;
QString tbase_label;
friend QDebug operator<<(QDebug debug, ATBTimeBase const &timeBase) {
QDebugStateSaver saver(debug);
switch(timeBase.tbase_type) {
case ATBTimeBase::TimeBaseType::ABSOLUTE:
debug.nospace()
<< " tbase_id: " << timeBase.tbase_id << "\n"
<< " tbase_type: " << "TimeBaseType::ABSOLUTE" << "\n"
<< "tbase_label: " << timeBase.tbase_label << "\n";
break;
case ATBTimeBase::TimeBaseType::RELATIVE:
debug.nospace()
<< " tbase_type: " << "TimeBaseType::RELATIVE" << "\n"
<< "tbase_label: " << timeBase.tbase_label << "\n";
break;
default:
debug.nospace()
<< " tbase_type: " << "TimeBaseType::???" << "\n";
break;
}
return debug;
}
};
#endif // TARIFF_TIME_BASE_H_INCLUDED

View File

@@ -1,26 +0,0 @@
#ifndef TARIFF_TIMESTEP_CONFIG_H_INCLUDED
#define TARIFF_TIMESTEP_CONFIG_H_INCLUDED
#include <QString>
#include <QDebug>
#include <QDebugStateSaver>
struct ATBTimeStepConfig {
enum class TimeStepConfig {STATIC=1, DYNAMIC=2};
ATBTimeStepConfig() = default;
int tsconfig_id;
QString tsconfig_label;
friend QDebug operator<<(QDebug debug, ATBTimeStepConfig const &tsConfig) {
QDebugStateSaver saver(debug);
debug.nospace()
<< " tsconfig_id: " << tsConfig.tsconfig_id << "\n"
<< "tsconfig_label: " << tsConfig.tsconfig_label << "\n";
return debug;
}
};
#endif // TARIFF_TIMESTEP_CONFIG_H_INCLUDED

View File

@@ -1,66 +0,0 @@
#ifndef TICKET_H_INCLUDED
#define TICKET_H_INCLUDED
#include <tuple>
#include <vector>
#include <QDebug>
#include <QDebugStateSaver>
#include <QStringList>
#include <QDateTime>
#define NOT_INITIALIZED (0)
#define VALID (1)
#define INVALID_FROM_DATETIME (2)
#define INVALID_UNTIL_DATETIME (3)
#define INVALID_PRICE (4)
#define STATUS_END (5)
class Ticket {
enum {CODE=0, CODE_STR=1, CODE_DESC=3};
public:
using Status = std::tuple<int, char const*, char const*>;
explicit Ticket();
explicit Ticket(QDateTime const &s, QDateTime const &e,
int durationMinutesNetto, int durationMinutesBrutto,
uint32_t price, Status status);
explicit operator bool() { return std::get<CODE>(m_status) == VALID; }
operator QString();
Status getStatus() const;
QDateTime getValidFrom() const;
QDateTime getValidUntil() const;
uint32_t getPrice() const;
Status setStatus(Status status);
void setValidFrom(QDateTime const &validFrom);
void setValidUntil(QDateTime const &validUnil);
void setPrice(uint32_t price);
bool isValid() { return operator bool(); }
static constexpr const Status s[STATUS_END] = {
{NOT_INITIALIZED , "NOT_INITIALIZED" , "Ticket not initialized" },
{VALID , "VALID" , "Ticket is valid" },
{INVALID_FROM_DATETIME , "INVALID_FROM_DATETIME" , "Ticket has invalid start datetime"},
{INVALID_UNTIL_DATETIME, "INVALID_UNTIL_DATETIME", "Ticket has invalid end datetime" },
{INVALID_PRICE , "INVALID_PRICE" , "PARKING NOT ALLOWED: Ticket has invalid price" }
};
private:
Status m_status;
QDateTime m_validFrom;
QDateTime m_validUntil;
int m_durationMinutesNetto;
int m_durationMinutesBrutto;
uint32_t m_price;
};
QDebug operator<<(QDebug debug, Ticket::Status const &status);
#endif // TICKET_H_INCLUDED

View File

@@ -1,6 +1,4 @@
#ifndef TIME_RANGE_H_INCLUDED
#define TIME_RANGE_H_INCLUDED
#pragma once
#include "time_range_header.h"
struct TimeRange {
@@ -8,5 +6,3 @@ public:
bool IsActive;
ATBTimeRange TimeRangeStructure;
};
#endif // TIME_RANGE_H_INCLUDED

View File

@@ -1,27 +1,8 @@
#ifndef TIME_RANGE_HEADER_H_INCLUDED
#define TIME_RANGE_HEADER_H_INCLUDED
#pragma once
#include <ctime>
#include <QString>
#include <QDateTime>
#include <QDebug>
#include <QDebugStateSaver>
struct ATBTimeRange {
int time_range_id;
QTime time_range_from;
QTime time_range_to;
friend QDebug operator<<(QDebug debug, ATBTimeRange const &timeRange) {
QDebugStateSaver saver(debug);
debug.nospace()
<< " time_range_id: " << timeRange.time_range_id << "\n"
<< "time_range_from: " << timeRange.time_range_from.toString(Qt::ISODate) << "\n"
<< " time_range_to: " << timeRange.time_range_to.toString(Qt::ISODate) << "\n";
return debug;
}
class ATBTimeRange {
public:
time_t time_from;
time_t time_to;
};
#endif // TIME_RANGE_HEADER_H_INCLUDED

View File

@@ -1,5 +1,6 @@
#pragma once
#include <cstring>
#include <string.h>
#include <ctime>
#include <iostream>
#include <cmath>
@@ -7,49 +8,47 @@
#include "day_of_week.h"
#include "configuration.h"
#include "time_range.h"
#include "payment_method.h"
#include "tariff_business_hours.h"
#include <QDateTime>
using namespace std;
namespace Utilities {
class Utilities {
public:
/// <summary>
/// Get day of week from current date (Zeller's Algorithm), starting day is Sunday
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
DayOfWeek GetDayOfWeek(struct tm* tm);
static DayOfWeek GetDayOfWeek(struct tm* tm);
/// <summary>
/// Date and time parse helper function
/// </summary>
/// <returns>Returns time (tm) structure</returns>
struct tm DateTimeToStructTm(const char* dateTimeStr);
static struct tm DateTimeToStructTm(const char* dateTimeStr);
/// <summary>
/// Date parse helper function
/// </summary>
/// <returns>Returns time (tm) structure</returns>
struct tm DateToStructTm(const char* dateStr);
static struct tm DateToStructTm(const char* dateStr);
/// <summary>
/// Time parse helper function
/// </summary>
/// <returns>Returns time (tm) structure</returns>
struct tm TimeToStructTm(const char* timeStr, int year, int mon, int mday, int wday);
static struct tm TimeToStructTm(const char* timeStr, int year, int mon, int mday, int wday);
/// <summary>
/// Get current local time
/// </summary>
/// <returns>Returns time_t structure</returns>
time_t GetCurrentLocalTime();
static time_t GetCurrentLocalTime();
/// <summary>
/// Zeller's algorithm for determining day of week
/// </summary>
int ZellersAlgorithm(int day, int month, int year);
static int ZellersAlgorithm(int day, int month, int year);
/// <summary>
/// Checks if current datetime is in range between start and end month of parking worktime
@@ -57,37 +56,18 @@ namespace Utilities {
/// <param name="tariff_cfg"></param>
/// <param name="currentDateTime"></param>
/// <returns></returns>
bool IsYearPeriodActive(Configuration* cfg, struct tm* currentDateTime);
bool IsYearPeriodActive(Configuration const *cfg, QDateTime const &currentDateTime);
static bool IsYearPeriodActive(Configuration* cfg, struct tm* currentDateTime);
/// <summary>
/// Check permissions
/// </summary>
bool CheckSpecialDay(Configuration* cfg, const char* currentDateTimeStr, int* specialDayId, double* specialDayPrice);
bool CheckSpecialDay(Configuration const *cfg,
QDateTime const &currentDateTimeS,
int* specialDayId, uint32_t *specialDayPrice);
static bool CheckSpecialDay(Configuration* cfg, const char* currentDateTimeStr, int* specialDayId, double* specialDayPrice);
/// <summary>
/// Calculates price per unit
/// </summary>
/// <param name="pra_price"></param>
/// <returns></returns>
double CalculatePricePerUnit(double pra_price, double durationUnit = -1);
static double CalculatePricePerUnit(double pra_price, double durationUnit = -1);
QTime SpecialDaysWorkTimeFrom(Configuration const *cfg, int specialDayId);
QTime SpecialDaysWorkTimeUntil(Configuration const *cfg, int specialDayId);
QTime WeekDaysWorkTimeFrom(std::multimap<int, ATBWeekDaysWorktime>::const_iterator itr);
QTime WeekDaysWorkTimeUntil(std::multimap<int, ATBWeekDaysWorktime>::const_iterator itr);
bool isCarryOverSet(Configuration const *cfg, PaymentMethod paymentMethodId);
bool isCarryOverNotSet(Configuration const *cfg, PaymentMethod paymentMethodId);
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);
uint32_t getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId);
BusinessHours getBusinessHours(Configuration const *cfg, PaymentMethod methodId);
uint32_t computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id);
double computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id);
}
};

View File

@@ -2,15 +2,12 @@ TEMPLATE = lib
TARGET = mobilisis_calc
#CONFIG += staticlib
QMAKE_CXXFLAGS += -std=c++17 -g -O
QMAKE_CXXFLAGS += -std=c++17 -g -O0
INCLUDEPATH += $$_PRO_FILE_PWD_/include
INCLUDEPATH += $$_PRO_FILE_PWD_/include/mobilisis
INCLUDEPATH += $$_PRO_FILE_PWD_/include/rapidjson
#start version with project neuhauser/galtuer
VERSION=1.0.0
CONFIG(debug, debug|release) {
win32 {
QMAKE_CXXFLAGS += -DCALCULATE_LIBRARY_EXPORTS
@@ -28,8 +25,7 @@ SOURCES += \
src/utilities.cpp \
src/configuration.cpp \
src/tariff_log.cpp \
src/calculate_price.cpp \
src/ticket.cpp
src/calculate_price.cpp
HEADERS += \
include/mobilisis/calculator_functions.h \
@@ -69,19 +65,9 @@ HEADERS += \
include/mobilisis/tariff_period_year.h \
include/mobilisis/tariff_payment_rate.h \
include/mobilisis/tariff_log.h \
include/mobilisis/calculate_price.h \
include/mobilisis/atb_project.h \
include/mobilisis/ticket.h \
include/mobilisis/tariff_business_hours.h \
include/mobilisis/tariff_daily_ticket.h \
include/mobilisis/tariff_customer.h \
include/mobilisis/tariff_timebase.h \
include/mobilisis/tariff_timestep_config.h
include/mobilisis/calculate_price.h
OTHER_FILES += src/main.cpp \
../tariffs/tariff_korneuburg.json \
../tariffs/tariff_linsinger_maschinenbau.json \
../tariffs/tariff_naz.json
OTHER_FILES += src/main.cpp
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin

View File

@@ -2,7 +2,6 @@
#include "configuration.h"
#include "calculator_functions.h"
#include "payment_option.h"
#include "utilities.h"
#include <QFile>
#include <QFileInfo>
@@ -93,107 +92,14 @@ void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff) {
}
}
//
// UpDown 1 -> up; 0 -> down
int CALCULATE_LIBRARY_API compute_next_timestep(parking_tariff_t *tariff, int currentTimeMinutes, int UpDown)
{
qCritical() << " compute_next_timestep() currentTimeMinutes: " << currentTimeMinutes;
Configuration const *cfg = tariff;
// compute payment method id (e.g. Linear=3, Steps=4)
PaymentMethod const paymentMethodId = Utilities::getPaymentMethodId(cfg);
switch (paymentMethodId) {
case PaymentMethod::Progressive:
qCritical() << " compute_next_timestep() paymentMethodId: Progressive";
break;
case PaymentMethod::Degressive:
qCritical() << " compute_next_timestep() paymentMethodId: Degressive";
break;
case PaymentMethod::Linear:
qCritical() << " compute_next_timestep() paymentMethodId: Linear";
break;
case PaymentMethod::Steps:
qCritical() << " compute_next_timestep() paymentMethodId: Steps";
break;
case PaymentMethod::Undefined:
qCritical() << " compute_next_timestep() paymentMethodId: Undefined";
break;
}
// use tariff with structure as for instance Schnau, Koenigsee:
// without given YearPeriod, SpecialDays and SpecialDaysWorktime
if (paymentMethodId == PaymentMethod::Steps)
{
static const QList<int> stepList = calculator.GetTimeSteps(tariff);
int currentStepIndex = stepList.indexOf(currentTimeMinutes);
if (currentStepIndex == -1) {
qCritical() << "compute_next_timestep() *NO STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
return currentTimeMinutes;
}
if (UpDown == 1) { // UP
if (stepList[currentStepIndex] == stepList.last()) {
qCritical() << "compute_next_timestep() *NO NEXT STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
return currentTimeMinutes;
}
else {
return stepList[currentStepIndex + 1];
}
}
if (UpDown == 0) { // DOWN
if (stepList[currentStepIndex] == stepList.first()) {
qCritical() << "compute_next_timestep() *NO PREVIOUS STEP* for currentTimeMinutes (" << currentTimeMinutes << ")";
return currentTimeMinutes;
}
else {
return stepList[currentStepIndex - 1];
}
}
} else
if (paymentMethodId == PaymentMethod::Linear) {
// currentTimeMinutes is the number of minutes actually used. This
// value is an offset from the start time and cannot be used as a
// QDateTime.
qCritical() << "compute_next_timestep() up/down (1=up, 0=down):" << UpDown;
// get minimal and maximal parking times
int const minParkingTime = Utilities::getMinimalParkingTime(cfg, paymentMethodId);
int const maxParkingTime = Utilities::getMaximalParkingTime(cfg, paymentMethodId);
qCritical() << " compute_next_timestep() maxParkingTime:" << maxParkingTime;
qCritical() << " compute_next_timestep() minParkingTime:" << minParkingTime;
// use the first (i.e. main duration step contained in the tariff json-file)
int firstDurationStep = Utilities::getFirstDurationStep(cfg, paymentMethodId);
firstDurationStep = ((UpDown == 1) ? firstDurationStep : -firstDurationStep);
qCritical() << " compute_next_timestep() firstDurationStep:" << firstDurationStep;
int const nextTimeStep = currentTimeMinutes + firstDurationStep;
if (nextTimeStep >= minParkingTime && nextTimeStep <= maxParkingTime) {
qCritical() << " compute_next_timestep() nextTimeStep:" << nextTimeStep;
return nextTimeStep;
}
}
qCritical() << "compute_next_timestep() *CAN NOT COMPUTE* for currentTimeMinutes (" << currentTimeMinutes << ")";
return currentTimeMinutes;
}
// this is currently not used
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
parking_tariff_t *tariff,
time_t start_parking_time, // in minutes
time_t end_parking_time, // netto time in minutes
time_t end_parking_time, // in minutes
struct price_t *price) {
CalcState calcState;
double minMin = tariff->PaymentOption.find(tariff->getPaymentOptions().pop_payment_method_id)->second.pop_min_time;
double maxMin = tariff->PaymentOption.find(tariff->getPaymentOptions().pop_payment_method_id)->second.pop_max_time;
double minMin = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_min_time;
double maxMin = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_max_time;
if (minMin < 0 || maxMin < 0 || maxMin < minMin) {
calcState.setDesc(QString("minMin=%1, maxMin=%2").arg(minMin).arg(maxMin));
@@ -223,15 +129,13 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
QTime const t(0, 0, 0);
QDateTime start(d, t, Qt::UTC);
start = start.toLocalTime().addSecs(start_parking_time * 60);
QDateTime end(start);
if (start.isValid()) {
QString cs = start.toString(Qt::ISODate);
double cost = calculator.GetCostFromDuration(
tariff,
tariff->getPaymentOptions().pop_payment_method_id,
start,
end,
tariff, PaymentOption::Option1,
cs.toLocal8Bit().constData(),
duration, false, true);
double minCost = tariff->PaymentOption.find(tariff->getPaymentOptions().pop_payment_method_id)->second.pop_min_price;
double minCost = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_min_price;
if (cost < minCost) {
calcState.setDesc(QString("minCost=%1, cost=%2").arg(minCost).arg(cost));
return calcState.set(CalcState::State::BELOW_MIN_PARKING_PRICE);
@@ -248,50 +152,49 @@ CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
CalcState CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
parking_tariff_t *tariff,
QDateTime const &start_parking_time,
int netto_parking_time,
QDateTime &end_parking_time,
struct price_t *price)
{
QDateTime const &end_parking_time,
struct price_t *price) {
CalcState calcState;
double minMin = tariff->getPaymentOptions().pop_min_time;
double maxMin = tariff->getPaymentOptions().pop_max_time;
double minMin = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_min_time;
double maxMin = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_max_time;
// DEBUG
qCritical() << "compute_price_for_parking_ticket() " << endl
<< " start_parking_time: " << start_parking_time << endl
<< " netto_parking_time: " << netto_parking_time << endl
<< " end_parking_time: " << end_parking_time << endl
<< " minMin: " << minMin << endl
<< " maxMin: " << maxMin;
if (netto_parking_time < 0) {
int const duration = (end_parking_time.toSecsSinceEpoch() -
start_parking_time.toSecsSinceEpoch()) / 60;
if (duration < 0) {
calcState.setDesc(QString("end=%1, start=%2")
.arg(end_parking_time.toString(Qt::ISODate),
start_parking_time.toString(Qt::ISODate)));
return calcState.set(CalcState::State::NEGATIVE_PARING_TIME);
}
if (netto_parking_time > maxMin) {
calcState.setDesc(QString("duration=%1, maxMin=%2").arg(netto_parking_time).arg(maxMin));
if (duration > maxMin) {
calcState.setDesc(QString("duration=%1, maxMin=%2").arg(duration, maxMin));
return calcState.set(CalcState::State::ABOVE_MAX_PARKING_TIME);
}
if (netto_parking_time < minMin) {
calcState.setDesc(QString("duration=%1, minMin=%2").arg(netto_parking_time).arg(minMin));
if (duration < minMin) {
calcState.setDesc(QString("duration=%1, minMin=%2").arg(duration, minMin));
return calcState.set(CalcState::State::BELOW_MIN_PARKING_TIME);
}
if (netto_parking_time == 0) {
if (duration == 0) {
memset(price, 0x00, sizeof(*price));
return calcState.set(CalcState::State::SUCCESS);
}
if (start_parking_time.isValid()) {
QString cs = start_parking_time.toString(Qt::ISODate);
double cost = calculator.GetCostFromDuration(
tariff,
tariff->getPaymentOptions().pop_payment_method_id,
start_parking_time, // starting time
end_parking_time, // return value: end time
netto_parking_time, // minutes, netto
false, true);
double minCost = tariff->getPaymentOptions().pop_min_price;
tariff, PaymentOption::Option1,
cs.toLocal8Bit().constData(),
duration, false, true);
double minCost = tariff->PaymentOption.find(PaymentOption::Option1)->second.pop_min_price;
if (cost < minCost) {
calcState.setDesc(QString("minCost=%1, cost=%2").arg(minCost, cost));
return calcState.set(CalcState::State::BELOW_MIN_PARKING_PRICE);
@@ -327,11 +230,10 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
qCritical() << " start (cs): " << cs;
qCritical() << " price: " << price;
duration = calculator.GetDurationFromCost(tariff,
tariff->getPaymentOptions().pop_payment_method_id,
duration = calculator.GetDurationFromCost(tariff, PaymentOption::Option1,
cs.toLocal8Bit().constData(),
price, false, true).c_str();
QDateTime d = QDateTime::fromString(duration, Qt::ISODate);
QDateTime d = QDateTime::fromString(duration);
if (!d.isValid()) {
calcState.setDesc(QString("ticketEndTime=%1").arg(duration));
return calcState.set(CalcState::State::WRONG_ISO_TIME_FORMAT);
@@ -347,14 +249,12 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
parking_tariff_t *tariff,
QDateTime const &start_parking_time,
double price,
QDateTime &ticketEndTime)
{
QDateTime &ticketEndTime) {
CalcState calcState;
if (start_parking_time.isValid()) {
QString cs = start_parking_time.toString(Qt::ISODate);
QString endTime = calculator.GetDurationFromCost(
tariff,
tariff->getPaymentOptions().pop_payment_method_id,
tariff, PaymentOption::Option1,
cs.toLocal8Bit().constData(),
price, false, true).c_str();
ticketEndTime = QDateTime::fromString(endTime,Qt::ISODate);
@@ -375,28 +275,20 @@ CalcState CALCULATE_LIBRARY_API compute_duration_for_parking_ticket(
return calcState.set(CalcState::State::SUCCESS);
}
CalcState CALCULATE_LIBRARY_API compute_duration_for_daily_ticket(parking_tariff_t *tariff, QDateTime const &start_parking_time, QDateTime &ticketEndTime)
CalcState CALCULATE_LIBRARY_API compute_duration_for_daily_ticket(parking_tariff_t *tariff, QString const &start_parking_time,uint8_t paymentMethod)
{
CalcState calcState;
if (start_parking_time.isValid()) {
ticketEndTime = calculator.GetDailyTicketDuration(tariff,
start_parking_time,
tariff->getPaymentOptions().pop_payment_method_id,
false); // carry over
// DEBUG
qCritical() << "compute_duration_for_daily_ticket(): ";
qCritical() << " ticketEndTime: " << ticketEndTime;
if (!ticketEndTime.isValid()) {
calcState.setDesc(QString("ticketEndTime=%1").arg(ticketEndTime.toString(Qt::ISODate)));
return calcState.set(CalcState::State::WRONG_ISO_TIME_FORMAT);
}
} else {
return calcState.set(CalcState::State::INVALID_START_DATE);
}
QString result = calculator.GetDailyTicketDuration(tariff, start_parking_time, PaymentOption::Option1,false);
qDebug() << "DailyTicket() => " + result;
return calcState.set(CalcState::State::SUCCESS);
}
CalcState CALCULATE_LIBRARY_API compute_duration_for_24hour_daily_ticket(parking_tariff_t *tariff, QString const &start_parking_time,uint8_t paymentMethod)
{
CalcState calcState;
QString result = calculator.Get24HourTicketDuration(tariff, start_parking_time, PaymentOption::Option1,false);
qDebug() << "24HourDailyTicket() => " + result;
return calcState.set(CalcState::State::SUCCESS);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,4 @@
#include "configuration.h"
#include "tariff_timebase.h"
#include "time_range_header.h"
#include "tariff_timestep_config.h"
#include <QString>
#include <QDebug>
/// <inheritdoc/>
MemberType Configuration::IdentifyJsonMember(const char* member_name)
@@ -19,12 +13,7 @@ MemberType Configuration::IdentifyJsonMember(const char* member_name)
if (strcmp(member_name, "SpecialDaysWorktime") == 0) return MemberType::SpecialDaysWorktimeType;
if (strcmp(member_name, "SpecialDays") == 0) return MemberType::SpecialDaysType;
if (strcmp(member_name, "PeriodYear") == 0) return MemberType::PeriodYearType;
if (strcmp(member_name, "DailyTicket") == 0) return MemberType::DailyTicketType;
if (strcmp(member_name, "TimeBase") == 0) return MemberType::TimeBaseType;
if (strcmp(member_name, "Customer") == 0) return MemberType::CustomerType;
if (strcmp(member_name, "TimeRange") == 0) return MemberType::TimeRangeType;
if (strcmp(member_name, "TimeStepConfig") == 0) return MemberType::TimeStepConfigType;
else return MemberType::UnknownType;
else return MemberType::UnknownType;
}
/// <inheritdoc/>
@@ -70,32 +59,25 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|| !document.HasMember("PaymentRate")
|| !document.HasMember("Duration")
//|| !document.HasMember("WeekDays")
//|| !document.HasMember("SpecialDaysWorktime")
//|| !document.HasMember("SpecialDays")
)
|| !document.HasMember("SpecialDaysWorktime")
|| !document.HasMember("SpecialDays"))
{
printf("%s", "Error: not a valid configuration JSON\n");
return false;
}
printf("%s", "Valid JSON configuration identified\n");
ATBCurrency Currency;
ATBDuration Duration;
ATBPaymentMethod PaymentMethod;
ATBPaymentRate PaymentRate;
ATBSpecialDaysWorktime SpecialDaysWorktime;
ATBSpecialDays SpecialDays;
ATBWeekDays WeekDays;
ATBWeekDaysWorktime WeekDaysWorktime;
ATBPaymentOption PaymentOption;
ATBPeriodYear YearPeriod;
ATBDailyTicket DailyTicket;
ATBTimeBase TimeBase;
ATBCustomer Customer;
ATBTimeRange TimeRange;
ATBTimeStepConfig TimeStepConfig;
MemberType mb_type = MemberType::UnknownType;
ATBCurrency Currency;
ATBDuration Duration;
ATBPaymentMethod PaymentMethod;
ATBPaymentRate PaymentRate;
ATBSpecialDaysWorktime SpecialDaysWorktime;
ATBSpecialDays SpecialDays;
ATBWeekDays WeekDays;
ATBWeekDaysWorktime WeekDaysWorktime;
ATBPaymentOption PaymentOption;
ATBPeriodYear YearPeriod;
MemberType mb_type;
// Get all JSON object members
// This code should run only once (to load JSON variables into memory)
@@ -105,35 +87,22 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
const char* mb_name = i->name.GetString();
if (mb_name == NULL) continue;
if (document[mb_name].IsString()) {
QString const _mb_name(mb_name);
if (_mb_name.startsWith("Project", Qt::CaseInsensitive)) {
cfg->project.project = document[mb_name].GetString();
continue;
}
if (_mb_name.startsWith("Version", Qt::CaseInsensitive)) {
cfg->project.version = document[mb_name].GetString();
// if (!document[mb_name].IsArray()) {
std::string const _mb_name(mb_name);
if (_mb_name == "version" || _mb_name == "project" ||
_mb_name == "zone" || _mb_name == "info") {
continue;
}
if (_mb_name.startsWith("Info", Qt::CaseInsensitive)) {
cfg->project.info = document[mb_name].GetString();
continue;
}
}
// }
// ... everything else should be an array
if (!document[mb_name].IsArray()) {
continue;
}
printf(" -%s\n", mb_name);
//printf(" -%s\n", mb_name);
// Get array for each JSON object member
auto mb_array = document[mb_name].GetArray();
if (mb_array.Size() <= 0) break;
//Iterate over provided array
for (rapidjson::SizeType j = 0; j < mb_array.Size(); j++)
for (auto j = 0; j < mb_array.Size(); j++)
{
// Get all inner objects, don't print name if NULL
auto inner_obj = mb_array[j].GetObject();
@@ -153,150 +122,12 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
// Identify member type
mb_type = IdentifyJsonMember(mb_name);
//#pragma region Get_values
switch (mb_type)
{
case MemberType::UnknownType:
break;
case MemberType::TimeRangeType:
if (QString(inner_obj_name) == QString("time_range_id")) {
if (k->value.IsInt()) {
TimeRange.time_range_id = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("time_range_from")) {
if (k->value.IsString()) {
QTime timeRangeFrom = QTime::fromString(QString::fromStdString(k->value.GetString()), Qt::ISODate);
TimeRange.time_range_from = timeRangeFrom;
}
} else
if (QString(inner_obj_name) == QString("time_range_to")) {
if (k->value.IsString()) {
QTime timeRangeTo = QTime::fromString(QString::fromStdString(k->value.GetString()), Qt::ISODate);
TimeRange.time_range_to = timeRangeTo;
}
}
break;
case MemberType::TimeBaseType:
if (QString(inner_obj_name) == QString("tbase_id")) {
if (k->value.IsInt()) {
TimeBase.tbase_id = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("tbase_type")) {
if (k->value.IsInt()) {
int timeBase = k->value.GetInt();
switch (timeBase) {
case (int)ATBTimeBase::TimeBaseType::ABSOLUTE:
TimeBase.tbase_type = ATBTimeBase::TimeBaseType::ABSOLUTE;
break;
case (int)ATBTimeBase::TimeBaseType::RELATIVE:
TimeBase.tbase_type = ATBTimeBase::TimeBaseType::RELATIVE;
break;
}
}
}
break;
case MemberType::TimeStepConfigType:
if (QString(inner_obj_name) == QString("tsconfig_id")) {
if (k->value.IsInt()) {
TimeStepConfig.tsconfig_id = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("tsconfig_label")) {
if (k->value.IsString()) {
TimeStepConfig.tsconfig_label = QString::fromStdString(k->value.GetString());
}
}
break;
case MemberType::DailyTicketType:
if (QString(inner_obj_name) == QString("daily_ticket_payment_option_id")) {
if (k->value.IsInt()) {
DailyTicket.daily_ticket_payment_option_id = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_unit_id")) {
if (k->value.IsInt()) {
DailyTicket.daily_ticket_unit_id = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_price")) {
if (k->value.IsInt()) {
DailyTicket.daily_ticket_price = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_tbase_type")) {
if (k->value.IsInt()) {
int baseType = k->value.GetInt();
switch(baseType) {
case (int)ATBTimeBase::TimeBaseType::ABSOLUTE:
DailyTicket.daily_ticket_tbase_type = ATBTimeBase::TimeBaseType::ABSOLUTE;
break;
case (int)ATBTimeBase::TimeBaseType::RELATIVE:
DailyTicket.daily_ticket_tbase_type = ATBTimeBase::TimeBaseType::RELATIVE;
break;
}
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_clearance_customer_type")) {
if (k->value.IsInt()) {
int CustomerType = k->value.GetInt();
switch (CustomerType) {
case (int)ATBCustomer::CustomerType::ADULT:
DailyTicket.daily_ticket_clearance_customer_type = ATBCustomer::CustomerType::ADULT;
break;
case (int)ATBCustomer::CustomerType::CHILD:
DailyTicket.daily_ticket_clearance_customer_type = ATBCustomer::CustomerType::CHILD;
break;
case (int)ATBCustomer::CustomerType::TEEN:
DailyTicket.daily_ticket_clearance_customer_type = ATBCustomer::CustomerType::TEEN;
break;
}
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_weekday_range")) {
if (k->value.IsInt()) {
DailyTicket.daily_ticket_weekday_range = k->value.GetInt();
}
} else
if (QString(inner_obj_name) == QString("daily_ticket_special_day_range")) {
if (k->value.IsInt()) {
DailyTicket.daily_ticket_special_day_range = k->value.GetInt();
}
}
break;
case MemberType::CustomerType:
if (QString(inner_obj_name) == QString("cust_type")) {
if (k->value.IsInt()) {
int cust_type = k->value.GetInt();
switch (cust_type) {
case (int)ATBCustomer::CustomerType::ADULT:
Customer.cust_type = ATBCustomer::CustomerType::ADULT;
break;
case (int)ATBCustomer::CustomerType::CHILD:
Customer.cust_type = ATBCustomer::CustomerType::CHILD;
break;
case (int)ATBCustomer::CustomerType::TEEN:
Customer.cust_type = ATBCustomer::CustomerType::TEEN;
break;
}
}
} else
if (QString(inner_obj_name) == QString("cust_label")) {
if (k->value.IsString()) {
QString label(QString::fromStdString(k->value.GetString()));
if (label.contains("ADULT", Qt::CaseInsensitive)) {
Customer.cust_label = label;
} else
if (label.contains("CHILD", Qt::CaseInsensitive)) {
Customer.cust_label = label;
} else
if (label.contains("TEEN", Qt::CaseInsensitive)) {
Customer.cust_label = label;
}
}
}
break;
case MemberType::CurrencyType:
case MemberType::CurrencyType:
if (strcmp(inner_obj_name, "pcu_id") == 0) Currency.pcu_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pcu_sign") == 0) Currency.pcu_sign = k->value.GetString();
else if (strcmp(inner_obj_name, "pcu_major") == 0) Currency.pcu_major = k->value.GetString();
@@ -323,19 +154,14 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
else if (strcmp(inner_obj_name, "pop_max_time") == 0) PaymentOption.pop_max_time = k->value.GetDouble();
else if (strcmp(inner_obj_name, "pop_min_price") == 0) PaymentOption.pop_min_price = k->value.GetDouble();
else if (strcmp(inner_obj_name, "pop_carry_over") == 0) PaymentOption.pop_carry_over = k->value.GetInt();
else if (strcmp(inner_obj_name, "pop_carry_over_time_range_id") == 0) PaymentOption.pop_carry_over_time_range_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pop_daily_card_price") == 0) PaymentOption.pop_daily_card_price = k->value.GetInt();
else if (strcmp(inner_obj_name, "pop_business_hours") == 0) PaymentOption.pop_business_hours = k->value.GetInt();
else if (strcmp(inner_obj_name, "pop_time_step_config") == 0) PaymentOption.pop_time_step_config = k->value.GetInt();
this->currentPaymentOptions = PaymentOption;
break;
else if (strcmp(inner_obj_name, "pop_multi_hour_price") == 0) PaymentOption.pop_multi_hour_price = k->value.GetInt();
break;
case MemberType::DurationType:
if (strcmp(inner_obj_name, "pun_id") == 0) Duration.pun_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pun_label") == 0) Duration.pun_label = k->value.GetString();
else if (strcmp(inner_obj_name, "pun_duration") == 0) Duration.pun_duration = k->value.GetDouble();
else if (strcmp(inner_obj_name, "pun_duration_min") == 0) Duration.pun_duration_min = k->value.GetInt();
else if (strcmp(inner_obj_name, "pun_duration_max") == 0) Duration.pun_duration_max = k->value.GetInt();
break;
break;
case MemberType::SpecialDaysWorktimeType:
if (strcmp(inner_obj_name, "pedwt_id") == 0) SpecialDaysWorktime.pedwt_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pedwt_period_exc_day_id") == 0) SpecialDaysWorktime.pedwt_period_exc_day_id = k->value.GetInt();
@@ -353,8 +179,7 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
else if (strcmp(inner_obj_name, "pwd_period_week_day_id") == 0) WeekDaysWorktime.pwd_period_week_day_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pwd_period_day_in_week_id") == 0) WeekDaysWorktime.pwd_period_day_in_week_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "pwd_time_from") == 0) WeekDaysWorktime.pwd_time_from = k->value.GetString();
else if (strcmp(inner_obj_name, "pwd_time_to") == 0) WeekDaysWorktime.pwd_time_to = k->value.GetString();
break;
else if (strcmp(inner_obj_name, "pwd_time_to") == 0) WeekDaysWorktime.pwd_time_to = k->value.GetString();
case MemberType::SpecialDaysType:
if (strcmp(inner_obj_name, "ped_id") == 0) SpecialDays.ped_id = k->value.GetInt();
else if (strcmp(inner_obj_name, "ped_label") == 0) SpecialDays.ped_label = k->value.GetString();
@@ -409,25 +234,7 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
case MemberType::PeriodYearType:
cfg->YearPeriod.insert(pair<int, ATBPeriodYear>(YearPeriod.pye_id, YearPeriod));
break;
case MemberType::DailyTicketType:
// qCritical() << DailyTicket;
break;
case MemberType::CustomerType:
// qCritical() << Customer;
break;
case MemberType::TimeBaseType:
// qCritical() << TimeBase;
cfg->TimeBase.insert(pair<int, ATBTimeRange>(TimeBase.tbase_id, TimeBase));
break;
case MemberType::TimeRangeType:
// qCritical() << TimeRange;
cfg->TimeRange.insert(pair<int, ATBTimeRange>(TimeRange.time_range_id, TimeRange));
break;
case MemberType::TimeStepConfigType:
// qCritical() << TimeStepConfig;
cfg->TimeStepConfig.insert(pair<int, ATBTimeStepConfig>(TimeStepConfig.tsconfig_id, TimeStepConfig));
break;
default:
default:
break;
}
}
@@ -439,10 +246,3 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
return false;
}
}
const ATBPaymentOption & Configuration::getPaymentOptions()
{
return this->currentPaymentOptions;
}

View File

@@ -1,85 +0,0 @@
#include "ticket.h"
Ticket::Ticket()
: m_status(Ticket::s[NOT_INITIALIZED])
, m_validFrom()
, m_validUntil()
, m_durationMinutesNetto(0)
, m_durationMinutesBrutto(0)
, m_price() {
}
Ticket::Ticket(QDateTime const &s, QDateTime const &e,
int durationMinutesNetto, int durationMinutesBrutto,
uint32_t price, Ticket::Status status)
: m_status(status)
, m_validFrom(s)
, m_validUntil(e)
, m_durationMinutesNetto(durationMinutesNetto)
, m_durationMinutesBrutto(durationMinutesBrutto)
, m_price(price) {
}
Ticket::Status Ticket::setStatus(Status status) {
Status old = m_status;
m_status = status;
return old;
}
Ticket::Status Ticket::getStatus() const {
return m_status;
}
void Ticket::setValidFrom(QDateTime const &validFrom) {
m_validFrom = validFrom;
}
void Ticket::setValidUntil(QDateTime const &validUntil) {
m_validUntil = validUntil;
}
QDateTime Ticket::getValidFrom() const {
if (std::get<CODE>(m_status) == VALID) {
return m_validFrom;
}
return QDateTime();
}
QDateTime Ticket::getValidUntil() const {
if (std::get<CODE>(m_status) == VALID) {
return m_validUntil;
}
return QDateTime();
}
uint32_t Ticket::getPrice() const {
return m_price;
}
void Ticket::setPrice(uint32_t price) {
m_price = price;
}
Ticket::operator QString() {
QStringList status;
status << QString("**********************");
status << QString("Status ............. : %1 (%2)")
.arg(std::get<0>(m_status))
.arg(std::get<2>(m_status));
status << QString("Valid from ......... : %1").arg(m_validFrom.toString(Qt::ISODate));
status << QString("Valid until ........ : %1").arg(m_validUntil.toString(Qt::ISODate));
status << QString("Duration (netto) ... : %1").arg(m_durationMinutesNetto);
status << QString("Duration (brutto)... : %1").arg(m_durationMinutesBrutto);
status << QString("Price .............. : %1").arg(m_price);
status << QString("**********************");
return status.join('\n');
}
QDebug operator<<(QDebug debug, Ticket::Status const &status) {
QDebugStateSaver saver(debug);
debug << "Ticket-Status: " << std::get<1>(status)
<< "(" << std::get<2>(status) << ")";
return debug;
}

View File

@@ -1,9 +1,6 @@
#include "utilities.h"
#include "tariff_log.h"
#include <QDebug>
#include <algorithm>
static int protection_counter = 0;
/// <summary>
@@ -196,24 +193,6 @@ bool Utilities::IsYearPeriodActive(Configuration* cfg, struct tm* currentDateTim
}
}
bool Utilities::IsYearPeriodActive(Configuration const *cfg, QDateTime const &dt) {
if ((cfg->YearPeriod.size() > 0) &&
std::none_of(cfg->YearPeriod.cbegin(),
cfg->YearPeriod.cend(),
[&dt](std::pair<int, ATBPeriodYear> const &year) {
QDate const d(2004, // 2004 is a leap year
dt.date().month(),
dt.date().day());
QDate const s(2004, year.second.pye_start_month, year.second.pye_start_day);
QDate const e(2004, year.second.pye_end_month, year.second.pye_end_day);
return (d >= s && d <= e);
})) {
qCritical() << "NO VALID YEAR PERIOD";
return false;
}
return true;
}
/// <inheritdoc/>
bool Utilities::CheckSpecialDay(Configuration* cfg, const char* currentDateTimeStr, int* specialDayId, double* specialDayPrice)
{
@@ -292,138 +271,3 @@ bool Utilities::CheckSpecialDay(Configuration* cfg, const char* currentDateTimeS
return false;
}
}
bool Utilities::CheckSpecialDay(Configuration const *cfg,
QDateTime const &currentDateTime,
int* specialDayId,
uint32_t *specialDayPrice) {
*specialDayId = -1;
*specialDayPrice = 0;
std::multimap<int, ATBSpecialDays>::const_iterator spec_days_itr;
for (spec_days_itr = cfg->SpecialDays.cbegin(); spec_days_itr != cfg->SpecialDays.cend(); ++spec_days_itr) {
int repeat_every_year = spec_days_itr->second.ped_year;
QDate start = QDate::fromString(spec_days_itr->second.ped_date_start.c_str(), Qt::ISODate);
QDate end = QDate::fromString(spec_days_itr->second.ped_date_end.c_str(), Qt::ISODate);
if (start.isValid() && end.isValid()) {
if ((currentDateTime.date().month() >= start.month()) &&
(currentDateTime.date().month() <= end.month())) {
if ((currentDateTime.date().day() >= start.day()) &&
(currentDateTime.date().day() <= end.day())) {
if (repeat_every_year <= 0) {
if ((currentDateTime.date().year() != start.year()) ||
(currentDateTime.date().year() != end.year())) {
continue;
}
}
qDebug() << "CheckSpecialDay() => SPECIAL DAY";
*specialDayId = spec_days_itr->second.ped_id;
*specialDayPrice = cfg->SpecialDaysWorktime.find(*specialDayId)->second.pedwt_price;
return true;
}
}
}
}
return false;
}
QTime Utilities::SpecialDaysWorkTimeFrom(Configuration const *cfg, int specialDayId) {
return QTime::fromString(cfg->SpecialDaysWorktime.find(specialDayId)->second.pedwt_time_from.c_str(), Qt::ISODate);
}
QTime Utilities::SpecialDaysWorkTimeUntil(Configuration const *cfg, int specialDayId) {
return QTime::fromString(cfg->SpecialDaysWorktime.find(specialDayId)->second.pedwt_time_to.c_str(), Qt::ISODate);
}
QTime Utilities::WeekDaysWorkTimeFrom(std::multimap<int, ATBWeekDaysWorktime>::const_iterator itr) {
return QTime::fromString(itr->second.pwd_time_from.c_str(), Qt::ISODate);
}
QTime Utilities::WeekDaysWorkTimeUntil(std::multimap<int, ATBWeekDaysWorktime>::const_iterator itr) {
return QTime::fromString(itr->second.pwd_time_to.c_str(), Qt::ISODate);
}
bool Utilities::isCarryOverSet(Configuration const *cfg, PaymentMethod paymentMethodId) {
return !isCarryOverNotSet(cfg, paymentMethodId);
}
bool Utilities::isCarryOverNotSet(Configuration const *cfg, PaymentMethod paymentMethodId) {
return (cfg->PaymentOption.find(paymentMethodId)->second.pop_carry_over < 1);
}
PaymentMethod Utilities::getPaymentMethodId(Configuration const *cfg) {
if (cfg->PaymentOption.size() != 1) {
return PaymentMethod::Undefined;
}
std::multimap<int, ATBPaymentOption>::const_iterator it =
cfg->PaymentOption.cbegin();
switch (it->first) {
case PaymentMethod::Linear:
return PaymentMethod::Linear;
case PaymentMethod::Steps:
return PaymentMethod::Steps;
case PaymentMethod::Degressive:
return PaymentMethod::Degressive;
case PaymentMethod::Progressive:
return PaymentMethod::Progressive;
}
return PaymentMethod::Undefined;
}
int Utilities::getMinimalParkingTime(Configuration const *cfg, PaymentMethod methodId) {
return std::max((int)cfg->PaymentOption.find(methodId)->second.pop_min_time, 0);
}
int Utilities::getMaximalParkingTime(Configuration const *cfg, PaymentMethod methodId) {
return std::max((int)cfg->PaymentOption.find(methodId)->second.pop_max_time, 0);
}
uint32_t Utilities::getMinimalParkingPrice(Configuration const *cfg, PaymentMethod methodId) {
return std::max((int)cfg->PaymentOption.find(methodId)->second.pop_min_price, 0);
}
uint32_t Utilities::getFirstDurationStep(Configuration const *cfg, PaymentMethod methodId) {
int const popId = cfg->PaymentOption.find(methodId)->second.pop_id;
int const punId = cfg->PaymentRate.find(popId)->second.pra_payment_unit_id;
uint32_t const firstDurationStep= cfg->Duration.find(punId)->second.pun_duration;
qCritical() << "getFirstDurationStep() payment-method-id:" << (int)methodId;
qCritical() << "getFirstDurationStep() pop-id:" << popId;
qCritical() << "getFirstDurationStep() pun-id:" << punId;
qCritical() << "getFirstDurationStep() first-step:" << firstDurationStep;
return firstDurationStep;
}
BusinessHours Utilities::getBusinessHours(Configuration const *cfg, PaymentMethod methodId) {
int businessHours = cfg->PaymentOption.find(methodId)->second.pop_business_hours;
switch (businessHours) {
case NoRestriction_24_7: return NoRestriction_24_7;
case OnlyWorkingDays: return OnlyWorkingDays;
case OnlyWeekDays: return OnlyWeekDays;
case OnlyWeekEnd: return OnlyWeekEnd;
case OnlyOfficialHolidays: return OnlyOfficialHolidays;
case OnlySpecialDays: return OnlySpecialDays;
case OnlySchoolHolidays: return OnlySchoolHolidays;
case SpecialAndSchoolHolidays: return SpecialAndSchoolHolidays;
case OnlyOpenForBusinessDays: return OnlyOpenForBusinessDays;
}
return NoBusinessHoursDefined;
}
uint32_t Utilities::computeWeekDaysPrice(Configuration const *cfg, PaymentMethod id) {
int pop_id = cfg->PaymentOption.find(id)->second.pop_id;
return cfg->PaymentRate.find(pop_id)->second.pra_price;
}
double Utilities::computeWeekDaysDurationUnit(Configuration const *cfg, PaymentMethod id) {
int pop_id = cfg->PaymentOption.find(id)->second.pop_id;
int durationId = cfg->PaymentRate.find(pop_id)->second.pra_payment_unit_id;
return (double)(cfg->Duration.find(durationId)->second.pun_duration);
}

File diff suppressed because one or more lines are too long

View File

@@ -3,12 +3,10 @@ TARGET = main
CONFIG += -std=c++11
QMAKE_CFLAGS = -c -pipe -std=c11 -g -O -Wall -Wno-attributes -W -DDEBUG -D_REENTRANT -fPIC
QMAKE_CXXFLAGS += -std=c++17 -g -O
QMAKE_CFLAGS = -c -pipe -std=c11 -g -O0 -Wall -Wno-attributes -W -DDEBUG -D_REENTRANT -fPIC
QMAKE_CXX_FLAGS += -std=c11
INCLUDEPATH += $$_PRO_FILE_PWD_/../../MOBILISIS-Calculator/library/include/mobilisis/
INCLUDEPATH += $$_PRO_FILE_PWD_/../../MOBILISIS-Calculator/library/include/rapidjson/
INCLUDEPATH += $$_PRO_FILE_PWD_/../../MOBILISIS-Calculator/library/include/
INCLUDEPATH += .
unix {

View File

@@ -1,12 +1,9 @@
{
"Project" : "Korneuburg",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 2,
"pcu_sign": "",
"pcu_major": "EUR",
"pcu_sign": "Ft",
"pcu_major": "HUF",
"pcu_minor": "",
"pcu_active": true
}
@@ -32,30 +29,32 @@
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone 1",
"pop_label": "Zone Lila",
"pop_payment_method_id": 3,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_day_end_time": "16:25:00",
"pop_day_night_end_time": "16:25:00",
"pop_price_night": 0,
"pop_min_time": 30,
"pop_max_time": 180,
"pop_min_price": 60,
"pop_min_time": 15,
"pop_max_time": 300,
"pop_min_price": 0,
"pop_carry_over": 1,
"pop_daily_card_price": 0
"pop_daily_card_price": 900,
"pop_multi_hour_price":500
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 1,
"pra_price": 10
"pra_price": 150
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "5 min",
"pun_duration": 5
"pun_label": "1h",
"pun_duration": 60
},
{
"pun_id": 3,
@@ -74,13 +73,6 @@
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
@@ -88,13 +80,6 @@
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
@@ -102,13 +87,6 @@
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
@@ -116,13 +94,6 @@
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
@@ -130,21 +101,73 @@
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pwd_id": 626,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 6,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
"pye_id": 9,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 10,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 11,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 12,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 13,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 14,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 15,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
],
"SpecialDaysWorktime": [
@@ -364,266 +387,421 @@
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2260,
"pedwt_period_exc_day_id": 2061,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2261,
"pedwt_period_exc_day_id": 2062,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2262,
"pedwt_period_exc_day_id": 2063,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2263,
"pedwt_period_exc_day_id": 2064,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2264,
"pedwt_period_exc_day_id": 2065,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2265,
"pedwt_period_exc_day_id": 2066,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2266,
"pedwt_period_exc_day_id": 2067,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2267,
"pedwt_period_exc_day_id": 2068,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2268,
"pedwt_period_exc_day_id": 2069,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2269,
"pedwt_period_exc_day_id": 2070,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2270,
"pedwt_period_exc_day_id": 2071,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
}
],
"SpecialDays": [
{
"ped_id": 11,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2023-12-08",
"ped_date_end": "2023-12-08",
"ped_period_special_day_id": 1,
"ped_label": "Christmas 1st day",
"ped_date_start": "2022-12-25",
"ped_date_end": "2022-12-25",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 13,
"ped_label": "Christtag",
"ped_date_start": "2023-12-25",
"ped_date_end": "2023-12-25",
"ped_period_special_day_id": 1,
"ped_label": "Christmas 2nd day",
"ped_date_start": "2022-12-26",
"ped_date_end": "2022-12-26",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 14,
"ped_label": "Stefanitag",
"ped_date_start": "2023-12-26",
"ped_date_end": "2023-12-26",
"ped_period_special_day_id": 1,
"ped_label": "Republic Day (Hungary)",
"ped_date_start": "2022-10-23",
"ped_date_end": "2022-10-23",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2016,
"ped_label": "Neujahr",
"ped_date_start": "2024-01-01",
"ped_date_end": "2024-01-01",
"ped_period_special_day_id": 1,
"ped_label": "Christmas (Sunday)",
"ped_date_start": "2022-12-24",
"ped_date_end": "2022-12-24",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2021,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2024-01-06",
"ped_date_end": "2024-01-06",
"ped_label": "Holiday (Hungary)",
"ped_date_start": "2022-12-31",
"ped_date_end": "2022-12-31",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2022,
"ped_label": "Ostermontag",
"ped_date_start": "2024-01-04",
"ped_date_end": "2024-01-04",
"ped_period_special_day_id": 1,
"ped_year": 2024
"ped_label": "NewYear",
"ped_date_start": "2023-01-01",
"ped_date_end": "2023-01-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2024,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2024-05-01",
"ped_date_end": "2024-05-01",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Good Friday",
"ped_date_start": "2023-04-07",
"ped_date_end": "2023-04-07",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2025,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2024-05-09",
"ped_date_end": "2024-05-09",
"ped_period_special_day_id": 1,
"ped_year": 2024
"ped_label": "Easter Sunday",
"ped_date_start": "2023-04-09",
"ped_date_end": "2023-04-09",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2026,
"ped_label": "Pfingst Montag",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 1,
"ped_year": 2024
"ped_label": "Easter Monday",
"ped_date_start": "2023-04-10",
"ped_date_end": "2023-04-10",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2027,
"ped_label": "Fronleichnam",
"ped_date_start": "2024-05-30",
"ped_date_end": "2024-05-30",
"ped_period_special_day_id": 1,
"ped_year": 2024
"ped_label": "Whit Sunday",
"ped_date_start": "2023-05-28",
"ped_date_end": "2023-05-28",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2028,
"ped_label": "Maria Himmelfahrt",
"ped_date_start": "2024-08-15",
"ped_date_end": "2024-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Whit Monday",
"ped_date_start": "2023-05-29",
"ped_date_end": "2023-05-29",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2029,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2024-10-26",
"ped_date_end": "2024-10-26",
"ped_period_special_day_id": 1,
"ped_label": "Revolution Day (Hungary)",
"ped_date_start": "2023-03-15",
"ped_date_end": "2023-03-15",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2030,
"ped_label": "Allerheiligen",
"ped_date_start": "2024-11-01",
"ped_date_end": "2024-11-01",
"ped_period_special_day_id": 1,
"ped_label": "Labour Day",
"ped_date_start": "2023-05-01",
"ped_date_end": "2023-05-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2031,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2024-08-12",
"ped_date_end": "2024-08-12",
"ped_period_special_day_id": 1,
"ped_label": "Saint Stephens Day (Hungary)",
"ped_date_start": "2023-08-20",
"ped_date_end": "2023-08-20",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2032,
"ped_label": "Christtag",
"ped_date_start": "2024-12-25",
"ped_date_end": "2024-12-25",
"ped_period_special_day_id": 1,
"ped_label": "All Saints Day",
"ped_date_start": "2023-11-01",
"ped_date_end": "2023-11-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2034,
"ped_label": "Stefanitag",
"ped_date_start": "2024-12-26",
"ped_date_end": "2024-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Good Friday",
"ped_date_start": "2024-03-29",
"ped_date_end": "2024-03-29",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2035,
"ped_label": "Neujahr",
"ped_date_start": "2025-01-01",
"ped_date_end": "2025-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Easter",
"ped_date_start": "2024-03-31",
"ped_date_end": "2024-03-31",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2036,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2025-06-01",
"ped_date_end": "2025-06-01",
"ped_label": "Easter Monday",
"ped_date_start": "2024-04-01",
"ped_date_end": "2024-04-01",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2037,
"ped_label": "Whit Monday",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2038,
"ped_label": "Whit Sunday",
"ped_date_start": "2024-05-19",
"ped_date_end": "2024-05-19",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2050,
"ped_label": "Uskrs",
"ped_date_start": "2023-04-16",
"ped_date_end": "2023-04-16",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2037,
"ped_label": "Ostermontag",
"ped_date_start": "2025-04-21",
"ped_date_end": "2025-04-21",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2038,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2025-05-01",
"ped_date_end": "2025-05-01",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2050,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2025-05-29",
"ped_date_end": "2025-05-29",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2051,
"ped_label": "Pfingstmontag",
"ped_date_start": "2025-06-09",
"ped_date_end": "2025-06-09",
"ped_label": "Uskrs",
"ped_date_start": "2023-04-16",
"ped_date_end": "2023-04-16",
"ped_period_special_day_id": 1,
"ped_year": 2025
"ped_year": 0
},
{
"ped_id": 2052,
"ped_label": "Fronlaeichnam",
"ped_date_start": "2025-06-19",
"ped_date_end": "2025-06-19",
"ped_period_special_day_id": 1,
"ped_year": 2025
"ped_label": "Christmas 1st day",
"ped_date_start": "2022-12-25",
"ped_date_end": "2022-12-25",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2053,
"ped_label": "Mariae Himmelfahrt",
"ped_date_start": "2025-08-15",
"ped_date_end": "2025-08-15",
"ped_period_special_day_id": 1,
"ped_label": "Christmas 2nd day",
"ped_date_start": "2022-12-26",
"ped_date_end": "2022-12-26",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2054,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2025-10-26",
"ped_date_end": "2025-10-26",
"ped_period_special_day_id": 1,
"ped_label": "Republic Day (Hungary)",
"ped_date_start": "2022-10-23",
"ped_date_end": "2022-10-23",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2055,
"ped_label": "Allerheiligen",
"ped_date_start": "2025-11-01",
"ped_date_end": "2025-11-01",
"ped_period_special_day_id": 1,
"ped_label": "Christmas (Sunday)",
"ped_date_start": "2022-12-24",
"ped_date_end": "2022-12-24",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2056,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2025-12-08",
"ped_date_end": "2025-12-08",
"ped_label": "Holiday (Hungary)",
"ped_date_start": "2022-12-31",
"ped_date_end": "2022-12-31",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2057,
"ped_label": "Christtag",
"ped_date_start": "2025-12-25",
"ped_date_end": "2025-12-25",
"ped_period_special_day_id": 1,
"ped_label": "NewYear",
"ped_date_start": "2023-01-01",
"ped_date_end": "2023-01-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2058,
"ped_label": "Stefanitag",
"ped_date_start": "2025-12-26",
"ped_date_end": "2025-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Good Friday",
"ped_date_start": "2023-04-07",
"ped_date_end": "2023-04-07",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2059,
"ped_label": "Neujahr",
"ped_date_start": "2026-01-01",
"ped_date_end": "2026-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
"ped_label": "Easter Sunday",
"ped_date_start": "2023-04-09",
"ped_date_end": "2023-04-09",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2060,
"ped_label": "Heilige Drei Koenige",
"ped_date_start": "2026-01-06",
"ped_date_end": "2026-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
}
],
"PeriodYear": [
"ped_label": "Easter Monday",
"ped_date_start": "2023-04-10",
"ped_date_end": "2023-04-10",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
"ped_id": 2061,
"ped_label": "Whit Sunday",
"ped_date_start": "2023-05-28",
"ped_date_end": "2023-05-28",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2062,
"ped_label": "Whit Monday",
"ped_date_start": "2023-05-29",
"ped_date_end": "2023-05-29",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2063,
"ped_label": "Revolution Day (Hungary)",
"ped_date_start": "2023-03-15",
"ped_date_end": "2023-03-15",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2064,
"ped_label": "Labour Day",
"ped_date_start": "2023-05-01",
"ped_date_end": "2023-05-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2065,
"ped_label": "Saint Stephens Day (Hungary)",
"ped_date_start": "2023-08-20",
"ped_date_end": "2023-08-20",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2066,
"ped_label": "All Saints Day",
"ped_date_start": "2023-11-01",
"ped_date_end": "2023-11-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2067,
"ped_label": "Good Friday",
"ped_date_start": "2024-03-29",
"ped_date_end": "2024-03-29",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2068,
"ped_label": "Easter",
"ped_date_start": "2024-03-31",
"ped_date_end": "2024-03-31",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2069,
"ped_label": "Easter Monday",
"ped_date_start": "2024-04-01",
"ped_date_end": "2024-04-01",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2070,
"ped_label": "Whit Monday",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2071,
"ped_label": "Whit Sunday",
"ped_date_start": "2024-05-19",
"ped_date_end": "2024-05-19",
"ped_period_special_day_id": 2,
"ped_year": 2024
}
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,172 +0,0 @@
{
"Project" : "Bilexa Galtuer",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 1,
"pcu_sign": "€",
"pcu_major": "Euro",
"pcu_minor": "Cent",
"pcu_active": true
}
],
"TimeStepConfig" : [
{
"tsconfig_id" : 1,
"tsconfig_label" : "static",
"tsconfig_comment" : "read time steps as given in jsonfiles"
},
{
"tsconfig_id" : 2,
"tsconfig_label" : "dynamic",
"tsconfig_comment" : "determine timesteps at runtime"
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"PaymentOption": [
{
"pop_id": 1099,
"pop_label": "Zone 1",
"pop_payment_method_id": 4,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_price_night": 0,
"pop_min_time": 1,
"pop_max_time": 10080,
"pop_min_price": 700,
"pop_carry_over": 1,
"pop_carry_over_time_range_id": 1,
"pop_daily_card_price": 0,
"pop_business_hours": 0,
"pop_time_step_config": 2
}
],
"TimeBase": [
{
"tbase_id": 0,
"tbase_type": 0,
"tbase_type_comment": "time is given as starting from some wall-clock-time",
"tbase_label": "absolute time"
},
{
"tbase_id": 1,
"tbase_type": 1,
"tbase_type_comment": "time is given as starting from 0 minutes",
"tbase_label": "relative time"
}
],
"TimeRange" : [
{
"time_range_id": 1,
"time_range_from": "00:00:00",
"time_range_to": "00:01:00",
"time_range_comment": "<from>-<to> <= 60secs -> time range is time point <from>"
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 1,
"pra_price": 700
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 2,
"pra_price": 1400
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 3,
"pra_price": 2100
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 4,
"pra_price": 2800
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 5,
"pra_price": 3500
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 6,
"pra_price": 4200
},
{
"pra_payment_option_id": 1099,
"pra_payment_unit_id": 7,
"pra_price": 4900
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "Day 1",
"pun_duration_min": 1,
"pun_duration_max": 1440,
"pun_duration": 0
},
{
"pun_id": 2,
"pun_label": "Day 2",
"pun_duration_min": 2880,
"pun_duration_max": 2880,
"pun_duration": 2880
},
{
"pun_id": 3,
"pun_label": "Day 3",
"pun_duration_min": 4320,
"pun_duration_max": 4320,
"pun_duration": 4320
},
{
"pun_id": 4,
"pun_label": "Day 4",
"pun_duration_min": 5760,
"pun_duration_max": 5760,
"pun_duration": 5760
},
{
"pun_id": 5,
"pun_label": "Day 5",
"pun_duration_min": 7200,
"pun_duration_max": 7200,
"pun_duration": 7200
},
{
"pun_id": 6,
"pun_label": "Day 6",
"pun_duration_min": 8640,
"pun_duration_max": 8640,
"pun_duration": 8640
},
{
"pun_id": 7,
"pun_label": "Day 7",
"pun_duration_min": 10080,
"pun_duration_max": 10080,
"pun_duration": 10080
}
]
}

View File

@@ -1,629 +0,0 @@
{
"Project" : "Korneuburg",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 2,
"pcu_sign": "€",
"pcu_major": "EUR",
"pcu_minor": "",
"pcu_active": true
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone 1",
"pop_payment_method_id": 3,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_price_night": 0,
"pop_min_time": 30,
"pop_max_time": 180,
"pop_min_price": 60,
"pop_carry_over": 1,
"pop_daily_card_price": 0
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 1,
"pra_price": 10
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "5 min",
"pun_duration": 5
},
{
"pun_id": 3,
"pun_label": "15 min",
"pun_duration": 15
},
{
"pun_id": 4,
"pun_label": "1 min",
"pun_duration": 1
}
],
"WeekDaysWorktime": [
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 626,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 6,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
}
],
"SpecialDaysWorktime": [
{
"pedwt_id": 2156,
"pedwt_period_exc_day_id": 2024,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2158,
"pedwt_period_exc_day_id": 2025,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2160,
"pedwt_period_exc_day_id": 2026,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2162,
"pedwt_period_exc_day_id": 2027,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2164,
"pedwt_period_exc_day_id": 2028,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2170,
"pedwt_period_exc_day_id": 2030,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2172,
"pedwt_period_exc_day_id": 2032,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2174,
"pedwt_period_exc_day_id": 11,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2175,
"pedwt_period_exc_day_id": 13,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2178,
"pedwt_period_exc_day_id": 2022,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2179,
"pedwt_period_exc_day_id": 14,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2184,
"pedwt_period_exc_day_id": 2021,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2188,
"pedwt_period_exc_day_id": 2031,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2189,
"pedwt_period_exc_day_id": 2029,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2194,
"pedwt_period_exc_day_id": 2034,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2200,
"pedwt_period_exc_day_id": 2037,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2202,
"pedwt_period_exc_day_id": 2038,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2226,
"pedwt_period_exc_day_id": 2016,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2245,
"pedwt_period_exc_day_id": 2035,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2246,
"pedwt_period_exc_day_id": 2036,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2249,
"pedwt_period_exc_day_id": 2050,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2250,
"pedwt_period_exc_day_id": 2051,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2251,
"pedwt_period_exc_day_id": 2052,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2252,
"pedwt_period_exc_day_id": 2053,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2253,
"pedwt_period_exc_day_id": 2054,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2254,
"pedwt_period_exc_day_id": 2055,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2255,
"pedwt_period_exc_day_id": 2056,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2256,
"pedwt_period_exc_day_id": 2057,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2257,
"pedwt_period_exc_day_id": 2058,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2258,
"pedwt_period_exc_day_id": 2059,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2259,
"pedwt_period_exc_day_id": 2060,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
}
],
"SpecialDays": [
{
"ped_id": 11,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2023-12-08",
"ped_date_end": "2023-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 13,
"ped_label": "Christtag",
"ped_date_start": "2023-12-25",
"ped_date_end": "2023-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 14,
"ped_label": "Stefanitag",
"ped_date_start": "2023-12-26",
"ped_date_end": "2023-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2016,
"ped_label": "Neujahr",
"ped_date_start": "2024-01-01",
"ped_date_end": "2024-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2021,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2024-01-06",
"ped_date_end": "2024-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2022,
"ped_label": "Ostermontag",
"ped_date_start": "2024-01-04",
"ped_date_end": "2024-01-04",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2024,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2024-05-01",
"ped_date_end": "2024-05-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2025,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2024-05-09",
"ped_date_end": "2024-05-09",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2026,
"ped_label": "Pfingst Montag",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2027,
"ped_label": "Fronleichnam",
"ped_date_start": "2024-05-30",
"ped_date_end": "2024-05-30",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2028,
"ped_label": "Maria Himmelfahrt",
"ped_date_start": "2024-08-15",
"ped_date_end": "2024-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2029,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2024-10-26",
"ped_date_end": "2024-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2030,
"ped_label": "Allerheiligen",
"ped_date_start": "2024-11-01",
"ped_date_end": "2024-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2031,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2024-08-12",
"ped_date_end": "2024-08-12",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2032,
"ped_label": "Christtag",
"ped_date_start": "2024-12-25",
"ped_date_end": "2024-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2034,
"ped_label": "Stefanitag",
"ped_date_start": "2024-12-26",
"ped_date_end": "2024-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2035,
"ped_label": "Neujahr",
"ped_date_start": "2025-01-01",
"ped_date_end": "2025-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2036,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2025-06-01",
"ped_date_end": "2025-06-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2037,
"ped_label": "Ostermontag",
"ped_date_start": "2025-04-21",
"ped_date_end": "2025-04-21",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2038,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2025-05-01",
"ped_date_end": "2025-05-01",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2050,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2025-05-29",
"ped_date_end": "2025-05-29",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2051,
"ped_label": "Pfingstmontag",
"ped_date_start": "2025-06-09",
"ped_date_end": "2025-06-09",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2052,
"ped_label": "Fronlaeichnam",
"ped_date_start": "2025-06-19",
"ped_date_end": "2025-06-19",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2053,
"ped_label": "Mariae Himmelfahrt",
"ped_date_start": "2025-08-15",
"ped_date_end": "2025-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2054,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2025-10-26",
"ped_date_end": "2025-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2055,
"ped_label": "Allerheiligen",
"ped_date_start": "2025-11-01",
"ped_date_end": "2025-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2056,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2025-12-08",
"ped_date_end": "2025-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2057,
"ped_label": "Christtag",
"ped_date_start": "2025-12-25",
"ped_date_end": "2025-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2058,
"ped_label": "Stefanitag",
"ped_date_start": "2025-12-26",
"ped_date_end": "2025-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2059,
"ped_label": "Neujahr",
"ped_date_start": "2026-01-01",
"ped_date_end": "2026-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2060,
"ped_label": "Heilige Drei Koenige",
"ped_date_start": "2026-01-06",
"ped_date_end": "2026-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
]
}

View File

@@ -1,598 +0,0 @@
{
"Project" : "Linsinger Maschinenbau",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 1,
"pcu_sign": "€",
"pcu_major": "EUR",
"pcu_minor": "",
"pcu_active": true
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone 1",
"pop_payment_method_id": 4,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_price_night": 0,
"pop_min_time": 1,
"pop_max_time": 2,
"pop_min_price": 900,
"pop_carry_over": 0,
"pop_daily_card_price": 0,
"pop_business_hours": 2
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 1,
"pra_price": 900
},
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 2,
"pra_price": 1500
},
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 3,
"pra_price": 3000
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "3 Marken",
"pun_duration": 180
},
{
"pun_id": 2,
"pun_label": "5 Marken",
"pun_duration": 300
},
{
"pun_id": 3,
"pun_label": "10 Marken",
"pun_duration": 600
}
],
"WeekDaysWorktime": [
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "06:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "06:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "06:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "06:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "06:00:00",
"pwd_time_to": "12:00:00"
}
],
"SpecialDaysWorktime": [
{
"pedwt_id": 2156,
"pedwt_period_exc_day_id": 2024,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2158,
"pedwt_period_exc_day_id": 2025,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2160,
"pedwt_period_exc_day_id": 2026,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2162,
"pedwt_period_exc_day_id": 2027,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2164,
"pedwt_period_exc_day_id": 2028,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2170,
"pedwt_period_exc_day_id": 2030,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2172,
"pedwt_period_exc_day_id": 2032,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2174,
"pedwt_period_exc_day_id": 11,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2175,
"pedwt_period_exc_day_id": 13,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2178,
"pedwt_period_exc_day_id": 2022,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2179,
"pedwt_period_exc_day_id": 14,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2184,
"pedwt_period_exc_day_id": 2021,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2188,
"pedwt_period_exc_day_id": 2031,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2189,
"pedwt_period_exc_day_id": 2029,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2194,
"pedwt_period_exc_day_id": 2034,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2200,
"pedwt_period_exc_day_id": 2037,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2202,
"pedwt_period_exc_day_id": 2038,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2226,
"pedwt_period_exc_day_id": 2016,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2245,
"pedwt_period_exc_day_id": 2035,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2246,
"pedwt_period_exc_day_id": 2036,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2249,
"pedwt_period_exc_day_id": 2050,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2250,
"pedwt_period_exc_day_id": 2051,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2251,
"pedwt_period_exc_day_id": 2052,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2252,
"pedwt_period_exc_day_id": 2053,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2253,
"pedwt_period_exc_day_id": 2054,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2254,
"pedwt_period_exc_day_id": 2055,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2255,
"pedwt_period_exc_day_id": 2056,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2256,
"pedwt_period_exc_day_id": 2057,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2257,
"pedwt_period_exc_day_id": 2058,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2258,
"pedwt_period_exc_day_id": 2059,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2259,
"pedwt_period_exc_day_id": 2060,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
}
],
"SpecialDays": [
{
"ped_id": 11,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2023-12-08",
"ped_date_end": "2023-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 13,
"ped_label": "Christtag",
"ped_date_start": "2023-12-25",
"ped_date_end": "2023-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 14,
"ped_label": "Stefanitag",
"ped_date_start": "2023-12-26",
"ped_date_end": "2023-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2016,
"ped_label": "Neujahr",
"ped_date_start": "2024-01-01",
"ped_date_end": "2024-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2021,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2024-01-06",
"ped_date_end": "2024-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2022,
"ped_label": "Ostermontag",
"ped_date_start": "2024-01-04",
"ped_date_end": "2024-01-04",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2024,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2024-05-01",
"ped_date_end": "2024-05-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2025,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2024-05-09",
"ped_date_end": "2024-05-09",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2026,
"ped_label": "Pfingst Montag",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2027,
"ped_label": "Fronleichnam",
"ped_date_start": "2024-05-30",
"ped_date_end": "2024-05-30",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2028,
"ped_label": "Maria Himmelfahrt",
"ped_date_start": "2024-08-15",
"ped_date_end": "2024-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2029,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2024-10-26",
"ped_date_end": "2024-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2030,
"ped_label": "Allerheiligen",
"ped_date_start": "2024-11-01",
"ped_date_end": "2024-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2031,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2024-08-12",
"ped_date_end": "2024-08-12",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2032,
"ped_label": "Christtag",
"ped_date_start": "2024-12-25",
"ped_date_end": "2024-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2034,
"ped_label": "Stefanitag",
"ped_date_start": "2024-12-26",
"ped_date_end": "2024-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2035,
"ped_label": "Neujahr",
"ped_date_start": "2025-01-01",
"ped_date_end": "2025-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2036,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2025-06-01",
"ped_date_end": "2025-06-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2037,
"ped_label": "Ostermontag",
"ped_date_start": "2025-04-21",
"ped_date_end": "2025-04-21",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2038,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2025-05-01",
"ped_date_end": "2025-05-01",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2050,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2025-05-29",
"ped_date_end": "2025-05-29",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2051,
"ped_label": "Pfingstmontag",
"ped_date_start": "2025-06-09",
"ped_date_end": "2025-06-09",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2052,
"ped_label": "Fronlaeichnam",
"ped_date_start": "2025-06-19",
"ped_date_end": "2025-06-19",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2053,
"ped_label": "Mariae Himmelfahrt",
"ped_date_start": "2025-08-15",
"ped_date_end": "2025-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2054,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2025-10-26",
"ped_date_end": "2025-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2055,
"ped_label": "Allerheiligen",
"ped_date_start": "2025-11-01",
"ped_date_end": "2025-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2056,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2025-12-08",
"ped_date_end": "2025-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2057,
"ped_label": "Christtag",
"ped_date_start": "2025-12-25",
"ped_date_end": "2025-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2058,
"ped_label": "Stefanitag",
"ped_date_start": "2025-12-26",
"ped_date_end": "2025-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2059,
"ped_label": "Neujahr",
"ped_date_start": "2026-01-01",
"ped_date_end": "2026-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2060,
"ped_label": "Heilige Drei Koenige",
"ped_date_start": "2026-01-06",
"ped_date_end": "2026-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
]
}

View File

@@ -1,186 +0,0 @@
{
"Project" : "Nordisches Ausbildungszentrum",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 1,
"pcu_sign": "€",
"pcu_major": "EUR",
"pcu_minor": "",
"pcu_active": true
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"TimeBase": [
{
"tbase_id": 0,
"tbase_type": 0,
"tbase_type_comment": "time is given as starting from some wall-clock-time",
"tbase_label": "absolute time"
},
{
"tbase_id": 1,
"tbase_type": 1,
"tbase_type_comment": "time is given as starting from 0 minutes",
"tbase_label": "relative time"
}
],
"Customer": [
{
"cust_type": 1000,
"cust_label": "Adult"
},
{
"cust_type": 1001,
"cust_label": "Child"
},
{
"cust_type": 1002,
"cust_label": "Teen"
}
],
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone 1",
"pop_payment_method_id": 4,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_price_night": 0,
"pop_min_time": 1,
"pop_max_time": 2,
"pop_min_price": 900,
"pop_carry_over": 0,
"pop_daily_card_price": 0,
"pop_business_hours": 2
}
],
"PaymentRate": [
{
"pop_comment":"Unused"
}
],
"DailyTicket": [
{
"daily_ticket_payment_option_id": 1049,
"daily_ticket_unit_id": 1,
"daily_ticket_price": 400,
"daily_ticket_tbase_type": 0,
"daily_ticket_tbase_type_comment": "absolute or relative to offset",
"daily_ticket_clearance_customer_type": 1002,
"daily_ticket_clearance_customer_type_comment": "who is allowed to buy a ticket",
"daily_ticket_weekday_range" : 1,
"daily_ticket_weekday_ranges_comment" : "ticket valid on week day id and associated time range",
"daily_ticket_special_day_range": 0
},
{
"daily_ticket_payment_option_id": 1049,
"daily_ticket_unit_id": 2,
"daily_ticket_price": 800,
"daily_ticket_tbase_type": 0,
"daily_ticket_tbase_type_comment": "absolute or relative to offset",
"daily_ticket_clearance_customer_type": 1000,
"daily_ticket_clearance_customer_type_comment": "who is allowed to buy a ticket",
"daily_ticket_weekday_ranges" : 1,
"daily_ticket_weekday_ranges_comment" : "ticket valid on week day id and associated time range",
"daily_ticket_special_day_ranges": 0
}
],
"Duration": [
{
"pun_comment":"Unused"
}
],
"TimeRange" : [
{
"time_range_id": 1,
"time_range_from": "08:00:00",
"time_range_to": "20:00:00"
}
],
"WeekDaysWorktime": [
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 626,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 6,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
},
{
"pwd_id": 627,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "20:00:00"
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
]
}

View File

@@ -1,805 +0,0 @@
{
"Currency": [
{
"pcu_id": 2,
"pcu_sign": "Ft",
"pcu_major": "HUF",
"pcu_minor": "",
"pcu_active": true
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone Lila",
"pop_payment_method_id": 3,
"pop_day_end_time": "16:25:00",
"pop_day_night_end_time": "16:25:00",
"pop_price_night": 0,
"pop_min_time": 15,
"pop_max_time": 300,
"pop_min_price": 0,
"pop_carry_over": 1,
"pop_daily_card_price": 900
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 1,
"pra_price": 150
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "1h",
"pun_duration": 60
},
{
"pun_id": 3,
"pun_label": "15 min",
"pun_duration": 15
},
{
"pun_id": 4,
"pun_label": "1 min",
"pun_duration": 1
}
],
"WeekDaysWorktime": [
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "08:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "08:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "08:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "08:00:00",
"pwd_time_to": "18:00:00"
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 9,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 10,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 11,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 12,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 13,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 14,
"pye_label": "Whole Year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
},
{
"pye_id": 15,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
],
"SpecialDaysWorktime": [
{
"pedwt_id": 2156,
"pedwt_period_exc_day_id": 2024,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2158,
"pedwt_period_exc_day_id": 2025,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2160,
"pedwt_period_exc_day_id": 2026,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2162,
"pedwt_period_exc_day_id": 2027,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2164,
"pedwt_period_exc_day_id": 2028,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2170,
"pedwt_period_exc_day_id": 2030,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2172,
"pedwt_period_exc_day_id": 2032,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2174,
"pedwt_period_exc_day_id": 11,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2175,
"pedwt_period_exc_day_id": 13,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2178,
"pedwt_period_exc_day_id": 2022,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2179,
"pedwt_period_exc_day_id": 14,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2184,
"pedwt_period_exc_day_id": 2021,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2188,
"pedwt_period_exc_day_id": 2031,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2189,
"pedwt_period_exc_day_id": 2029,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2194,
"pedwt_period_exc_day_id": 2034,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2200,
"pedwt_period_exc_day_id": 2037,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2202,
"pedwt_period_exc_day_id": 2038,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2226,
"pedwt_period_exc_day_id": 2016,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2245,
"pedwt_period_exc_day_id": 2035,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2246,
"pedwt_period_exc_day_id": 2036,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2249,
"pedwt_period_exc_day_id": 2050,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2250,
"pedwt_period_exc_day_id": 2051,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2251,
"pedwt_period_exc_day_id": 2052,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2252,
"pedwt_period_exc_day_id": 2053,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2253,
"pedwt_period_exc_day_id": 2054,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2254,
"pedwt_period_exc_day_id": 2055,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2255,
"pedwt_period_exc_day_id": 2056,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2256,
"pedwt_period_exc_day_id": 2057,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2257,
"pedwt_period_exc_day_id": 2058,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2258,
"pedwt_period_exc_day_id": 2059,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2259,
"pedwt_period_exc_day_id": 2060,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2260,
"pedwt_period_exc_day_id": 2061,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2261,
"pedwt_period_exc_day_id": 2062,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2262,
"pedwt_period_exc_day_id": 2063,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2263,
"pedwt_period_exc_day_id": 2064,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2264,
"pedwt_period_exc_day_id": 2065,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2265,
"pedwt_period_exc_day_id": 2066,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2266,
"pedwt_period_exc_day_id": 2067,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2267,
"pedwt_period_exc_day_id": 2068,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2268,
"pedwt_period_exc_day_id": 2069,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2269,
"pedwt_period_exc_day_id": 2070,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2270,
"pedwt_period_exc_day_id": 2071,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
}
],
"SpecialDays": [
{
"ped_id": 2016,
"ped_label": "Christmas",
"ped_date_start": "2023-12-24",
"ped_date_end": "2023-12-24",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 11,
"ped_label": "Christmas 1st day",
"ped_date_start": "2023-12-25",
"ped_date_end": "2023-12-25",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 13,
"ped_label": "Christmas 2nd day",
"ped_date_start": "2023-12-26",
"ped_date_end": "2023-12-26",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2022,
"ped_label": "NewYear",
"ped_date_start": "2024-01-01",
"ped_date_end": "2024-01-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 14,
"ped_label": "1848 Revolution Memorial Day",
"ped_date_start": "2024-03-15",
"ped_date_end": "2024-03-15",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2024,
"ped_label": "Good Friday",
"ped_date_start": "2024-03-29",
"ped_date_end": "2024-03-29",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2025,
"ped_label": "Easter Sunday",
"ped_date_start": "2024-03-31",
"ped_date_end": "2024-03-31",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2026,
"ped_label": "Easter Monday",
"ped_date_start": "2024-04-01",
"ped_date_end": "2024-04-01",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2030,
"ped_label": "Labour Day",
"ped_date_start": "2024-05-01",
"ped_date_end": "2024-05-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2027,
"ped_label": "Whit Sunday",
"ped_date_start": "2024-05-19",
"ped_date_end": "2024-05-19",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2028,
"ped_label": "Whit Monday",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2031,
"ped_label": "National Day",
"ped_date_start": "2024-08-20",
"ped_date_end": "2024-08-20",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2054,
"ped_label": "1956 Revolution Memorial Day",
"ped_date_start": "2024-10-23",
"ped_date_end": "2024-10-23",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2032,
"ped_label": "All Saints Day",
"ped_date_start": "2024-11-01",
"ped_date_end": "2024-11-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2055,
"ped_label": "Christmas",
"ped_date_start": "2024-12-24",
"ped_date_end": "2024-12-24",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2052,
"ped_label": "Christmas 1st day",
"ped_date_start": "2024-12-25",
"ped_date_end": "2024-12-25",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2053,
"ped_label": "Christmas 2nd day",
"ped_date_start": "2024-12-26",
"ped_date_end": "2024-12-26",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2057,
"ped_label": "NewYear",
"ped_date_start": "2025-01-01",
"ped_date_end": "2025-01-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2029,
"ped_label": "1848 Revolution Memorial Day",
"ped_date_start": "2025-03-15",
"ped_date_end": "2025-03-15",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2034,
"ped_label": "Good Friday",
"ped_date_start": "2025-04-18",
"ped_date_end": "2025-04-18",
"ped_period_special_day_id": 2,
"ped_year": 2025
},
{
"ped_id": 2035,
"ped_label": "Easter",
"ped_date_start": "2025-04-20",
"ped_date_end": "2025-04-20",
"ped_period_special_day_id": 2,
"ped_year": 2025
},
{
"ped_id": 2036,
"ped_label": "Easter Monday",
"ped_date_start": "2025-04-21",
"ped_date_end": "2025-04-21",
"ped_period_special_day_id": 2,
"ped_year": 2025
},
{
"ped_id": 2064,
"ped_label": "Labour Day",
"ped_date_start": "2025-05-01",
"ped_date_end": "2025-05-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2038,
"ped_label": "Whit Sunday",
"ped_date_start": "2024-06-08",
"ped_date_end": "2024-06-08",
"ped_period_special_day_id": 2,
"ped_year": 2025
},
{
"ped_id": 2037,
"ped_label": "Whit Monday",
"ped_date_start": "2025-06-09",
"ped_date_end": "2025-06-09",
"ped_period_special_day_id": 2,
"ped_year": 2025
},
{
"ped_id": 2065,
"ped_label": "<<<<< Hungary National Day >>>>>",
"ped_date_start": "2025-08-20",
"ped_date_end": "2025-08-20",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2021,
"ped_label": "Holiday (Hungary)",
"ped_date_start": "2023-12-31",
"ped_date_end": "2023-12-31",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2050,
"ped_label": "Uskrs",
"ped_date_start": "2023-04-16",
"ped_date_end": "2023-04-16",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2051,
"ped_label": "Uskrs",
"ped_date_start": "2023-04-16",
"ped_date_end": "2023-04-16",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2056,
"ped_label": "Holiday (Hungary)",
"ped_date_start": "2022-12-31",
"ped_date_end": "2022-12-31",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2058,
"ped_label": "Good Friday",
"ped_date_start": "2023-04-07",
"ped_date_end": "2023-04-07",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2059,
"ped_label": "Easter Sunday",
"ped_date_start": "2023-04-09",
"ped_date_end": "2023-04-09",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2060,
"ped_label": "Easter Monday",
"ped_date_start": "2023-04-10",
"ped_date_end": "2023-04-10",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2061,
"ped_label": "Whit Sunday",
"ped_date_start": "2023-05-28",
"ped_date_end": "2023-05-28",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2062,
"ped_label": "Whit Monday",
"ped_date_start": "2023-05-29",
"ped_date_end": "2023-05-29",
"ped_period_special_day_id": 2,
"ped_year": 2023
},
{
"ped_id": 2063,
"ped_label": "Revolution Day (Hungary)",
"ped_date_start": "2023-03-15",
"ped_date_end": "2023-03-15",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2066,
"ped_label": "All Saints Day",
"ped_date_start": "2025-11-01",
"ped_date_end": "2025-11-01",
"ped_period_special_day_id": 2,
"ped_year": 0
},
{
"ped_id": 2067,
"ped_label": "Good Friday",
"ped_date_start": "2024-03-29",
"ped_date_end": "2024-03-29",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2068,
"ped_label": "Easter",
"ped_date_start": "2024-03-31",
"ped_date_end": "2024-03-31",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2069,
"ped_label": "Easter Monday",
"ped_date_start": "2024-04-01",
"ped_date_end": "2024-04-01",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2070,
"ped_label": "Whit Monday",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 2,
"ped_year": 2024
},
{
"ped_id": 2071,
"ped_label": "Whit Sunday",
"ped_date_start": "2024-05-19",
"ped_date_end": "2024-05-19",
"ped_period_special_day_id": 2,
"ped_year": 2024
}
]
}

View File

@@ -1,629 +0,0 @@
{
"Project" : "Korneuburg",
"Version" : "1.0.0",
"Info" : "",
"Currency": [
{
"pcu_id": 2,
"pcu_sign": "€",
"pcu_major": "EUR",
"pcu_minor": "",
"pcu_active": true
}
],
"PaymentMethod": [
{
"pme_id": 1,
"pme_label": "progressive"
},
{
"pme_id": 2,
"pme_label": "degressive"
},
{
"pme_id": 3,
"pme_label": "linear"
},
{
"pme_id": 4,
"pme_label": "steps"
}
],
"PaymentOption": [
{
"pop_id": 1049,
"pop_label": "Zone 1",
"pop_payment_method_id": 3,
"pop_day_end_time": "00:00:00",
"pop_day_night_end_time": "00:00:00",
"pop_price_night": 0,
"pop_min_time": 30,
"pop_max_time": 180,
"pop_min_price": 60,
"pop_carry_over": 1,
"pop_daily_card_price": 0
}
],
"PaymentRate": [
{
"pra_payment_option_id": 1049,
"pra_payment_unit_id": 1,
"pra_price": 10
}
],
"Duration": [
{
"pun_id": 1,
"pun_label": "5 min",
"pun_duration": 5
},
{
"pun_id": 3,
"pun_label": "15 min",
"pun_duration": 15
},
{
"pun_id": 4,
"pun_label": "1 min",
"pun_duration": 1
}
],
"WeekDaysWorktime": [
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 621,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 1,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 622,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 2,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 623,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 3,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 624,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 4,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
},
{
"pwd_id": 625,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 5,
"pwd_time_from": "14:00:00",
"pwd_time_to": "18:00:00"
},
{
"pwd_id": 626,
"pwd_period_week_day_id": 36,
"pwd_period_day_in_week_id": 6,
"pwd_time_from": "08:00:00",
"pwd_time_to": "12:00:00"
}
],
"SpecialDaysWorktime": [
{
"pedwt_id": 2156,
"pedwt_period_exc_day_id": 2024,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2158,
"pedwt_period_exc_day_id": 2025,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2160,
"pedwt_period_exc_day_id": 2026,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2162,
"pedwt_period_exc_day_id": 2027,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2164,
"pedwt_period_exc_day_id": 2028,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2170,
"pedwt_period_exc_day_id": 2030,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2172,
"pedwt_period_exc_day_id": 2032,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2174,
"pedwt_period_exc_day_id": 11,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2175,
"pedwt_period_exc_day_id": 13,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2178,
"pedwt_period_exc_day_id": 2022,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2179,
"pedwt_period_exc_day_id": 14,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2184,
"pedwt_period_exc_day_id": 2021,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2188,
"pedwt_period_exc_day_id": 2031,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2189,
"pedwt_period_exc_day_id": 2029,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2194,
"pedwt_period_exc_day_id": 2034,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2200,
"pedwt_period_exc_day_id": 2037,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2202,
"pedwt_period_exc_day_id": 2038,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2226,
"pedwt_period_exc_day_id": 2016,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2245,
"pedwt_period_exc_day_id": 2035,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2246,
"pedwt_period_exc_day_id": 2036,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2249,
"pedwt_period_exc_day_id": 2050,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2250,
"pedwt_period_exc_day_id": 2051,
"pedwt_time_from": "08:00:00",
"pedwt_time_to": "16:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2251,
"pedwt_period_exc_day_id": 2052,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2252,
"pedwt_period_exc_day_id": 2053,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2253,
"pedwt_period_exc_day_id": 2054,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2254,
"pedwt_period_exc_day_id": 2055,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2255,
"pedwt_period_exc_day_id": 2056,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2256,
"pedwt_period_exc_day_id": 2057,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2257,
"pedwt_period_exc_day_id": 2058,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2258,
"pedwt_period_exc_day_id": 2059,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
},
{
"pedwt_id": 2259,
"pedwt_period_exc_day_id": 2060,
"pedwt_time_from": "00:00:00",
"pedwt_time_to": "00:00:00",
"pedwt_price": 0
}
],
"SpecialDays": [
{
"ped_id": 11,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2023-12-08",
"ped_date_end": "2023-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 13,
"ped_label": "Christtag",
"ped_date_start": "2023-12-25",
"ped_date_end": "2023-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 14,
"ped_label": "Stefanitag",
"ped_date_start": "2023-12-26",
"ped_date_end": "2023-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2016,
"ped_label": "Neujahr",
"ped_date_start": "2024-01-01",
"ped_date_end": "2024-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2021,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2024-01-06",
"ped_date_end": "2024-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2022,
"ped_label": "Ostermontag",
"ped_date_start": "2024-01-04",
"ped_date_end": "2024-01-04",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2024,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2024-05-01",
"ped_date_end": "2024-05-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2025,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2024-05-09",
"ped_date_end": "2024-05-09",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2026,
"ped_label": "Pfingst Montag",
"ped_date_start": "2024-05-20",
"ped_date_end": "2024-05-20",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2027,
"ped_label": "Fronleichnam",
"ped_date_start": "2024-05-30",
"ped_date_end": "2024-05-30",
"ped_period_special_day_id": 1,
"ped_year": 2024
},
{
"ped_id": 2028,
"ped_label": "Maria Himmelfahrt",
"ped_date_start": "2024-08-15",
"ped_date_end": "2024-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2029,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2024-10-26",
"ped_date_end": "2024-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2030,
"ped_label": "Allerheiligen",
"ped_date_start": "2024-11-01",
"ped_date_end": "2024-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2031,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2024-08-12",
"ped_date_end": "2024-08-12",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2032,
"ped_label": "Christtag",
"ped_date_start": "2024-12-25",
"ped_date_end": "2024-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2034,
"ped_label": "Stefanitag",
"ped_date_start": "2024-12-26",
"ped_date_end": "2024-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2035,
"ped_label": "Neujahr",
"ped_date_start": "2025-01-01",
"ped_date_end": "2025-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2036,
"ped_label": "Heilig Drei Koenige",
"ped_date_start": "2025-06-01",
"ped_date_end": "2025-06-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2037,
"ped_label": "Ostermontag",
"ped_date_start": "2025-04-21",
"ped_date_end": "2025-04-21",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2038,
"ped_label": "Staatsfeiertag",
"ped_date_start": "2025-05-01",
"ped_date_end": "2025-05-01",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2050,
"ped_label": "Christi Himmelfahrt",
"ped_date_start": "2025-05-29",
"ped_date_end": "2025-05-29",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2051,
"ped_label": "Pfingstmontag",
"ped_date_start": "2025-06-09",
"ped_date_end": "2025-06-09",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2052,
"ped_label": "Fronlaeichnam",
"ped_date_start": "2025-06-19",
"ped_date_end": "2025-06-19",
"ped_period_special_day_id": 1,
"ped_year": 2025
},
{
"ped_id": 2053,
"ped_label": "Mariae Himmelfahrt",
"ped_date_start": "2025-08-15",
"ped_date_end": "2025-08-15",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2054,
"ped_label": "Nationalfeiertag",
"ped_date_start": "2025-10-26",
"ped_date_end": "2025-10-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2055,
"ped_label": "Allerheiligen",
"ped_date_start": "2025-11-01",
"ped_date_end": "2025-11-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2056,
"ped_label": "Mariae Empfaengnis",
"ped_date_start": "2025-12-08",
"ped_date_end": "2025-12-08",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2057,
"ped_label": "Christtag",
"ped_date_start": "2025-12-25",
"ped_date_end": "2025-12-25",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2058,
"ped_label": "Stefanitag",
"ped_date_start": "2025-12-26",
"ped_date_end": "2025-12-26",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2059,
"ped_label": "Neujahr",
"ped_date_start": "2026-01-01",
"ped_date_end": "2026-01-01",
"ped_period_special_day_id": 1,
"ped_year": 0
},
{
"ped_id": 2060,
"ped_label": "Heilige Drei Koenige",
"ped_date_start": "2026-01-06",
"ped_date_end": "2026-01-06",
"ped_period_special_day_id": 1,
"ped_year": 0
}
],
"PeriodYear": [
{
"pye_id": 8,
"pye_label": "Whole year",
"pye_start_month": 1,
"pye_start_day": 1,
"pye_end_month": 12,
"pye_end_day": 31
}
]
}

Binary file not shown.