Compare commits
32 Commits
neuhauser-
...
44a94b7007
Author | SHA1 | Date | |
---|---|---|---|
44a94b7007 | |||
7c13d8b88c | |||
64bc639eaa | |||
f0312bc8fb | |||
37052e97fc | |||
8cf816c158 | |||
f1f5ac8900 | |||
ddded411aa | |||
96587229e2 | |||
3d3794ea4e | |||
bb83ae3074 | |||
c598014dd0 | |||
ad534eef09 | |||
5ee73bf804 | |||
ef7fff79c9 | |||
ea2dfa144f | |||
f56979a61a | |||
cc07b8f20e | |||
81459f7ab4 | |||
db7fe35095 | |||
08e89df5a5 | |||
d6324f03a8 | |||
2b3ee3f384 | |||
08f8f3a9fd | |||
a80bc7294a | |||
3a0baf266b | |||
31193336cf | |||
4fbc2c502b | |||
8d7d175b51 | |||
ebb5bad7c5 | |||
b122206a94 | |||
83807a0f99 |
@@ -21,6 +21,9 @@
|
|||||||
#include "period_year.h"
|
#include "period_year.h"
|
||||||
#include "payment_rate.h"
|
#include "payment_rate.h"
|
||||||
#include "atb_project.h"
|
#include "atb_project.h"
|
||||||
|
#include "tariff_daily_ticket.h"
|
||||||
|
|
||||||
|
#include <QVector>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace rapidjson;
|
using namespace rapidjson;
|
||||||
@@ -41,6 +44,7 @@ public:
|
|||||||
multimap<int, ATBPeriodYear> YearPeriod;
|
multimap<int, ATBPeriodYear> YearPeriod;
|
||||||
multimap<int, ATBWeekDaysWorktime> WeekDaysWorktime;
|
multimap<int, ATBWeekDaysWorktime> WeekDaysWorktime;
|
||||||
multimap<int, ATBPaymentOption> PaymentOption;
|
multimap<int, ATBPaymentOption> PaymentOption;
|
||||||
|
multimap<int, ATBDailyTicket> DailyTicket;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Parse JSON string
|
/// Parse JSON string
|
||||||
@@ -49,7 +53,8 @@ public:
|
|||||||
/// <returns>Returns operation status bool (OK | FAIL) </returns>
|
/// <returns>Returns operation status bool (OK | FAIL) </returns>
|
||||||
bool ParseJson(Configuration* cfg, const char* json);
|
bool ParseJson(Configuration* cfg, const char* json);
|
||||||
|
|
||||||
ATBPaymentOption const & getPaymentOptions();
|
ATBPaymentOption const &getPaymentOptions();
|
||||||
|
QVector<ATBDailyTicket> const &getDailyTickets() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
#pragma once
|
#ifndef MEMBER_TYPE_H_INCLUDED
|
||||||
|
#define MEMBER_TYPE_H_INCLUDED
|
||||||
|
|
||||||
enum MemberType
|
enum MemberType
|
||||||
{
|
{
|
||||||
@@ -12,5 +13,11 @@ enum MemberType
|
|||||||
WeekDaysWorkTimeType = 0x06,
|
WeekDaysWorkTimeType = 0x06,
|
||||||
SpecialDaysWorktimeType = 0x07,
|
SpecialDaysWorktimeType = 0x07,
|
||||||
SpecialDaysType = 0x08,
|
SpecialDaysType = 0x08,
|
||||||
PeriodYearType = 0x09
|
PeriodYearType = 0x09,
|
||||||
};
|
DailyTicketType = 0x0A,
|
||||||
|
CustomerType = 0x0B,
|
||||||
|
TimeBaseType = 0x0C,
|
||||||
|
TimeRangeType = 0x0D
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // MEMBER_TYPE_H_INCLUDED
|
||||||
|
41
library/include/mobilisis/tariff_customer.h
Normal file
41
library/include/mobilisis/tariff_customer.h
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
#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
|
82
library/include/mobilisis/tariff_daily_ticket.h
Normal file
82
library/include/mobilisis/tariff_daily_ticket.h
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#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
|
@@ -1,4 +1,3 @@
|
|||||||
// #pragma once
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Duration data
|
/// Duration data
|
||||||
@@ -6,7 +5,9 @@
|
|||||||
class TariffDuration
|
class TariffDuration
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int pun_id;
|
int pun_id;
|
||||||
std::string pun_label;
|
std::string pun_label;
|
||||||
int pun_duration;
|
int pun_duration;
|
||||||
|
int pun_duration_min;
|
||||||
|
int pun_duration_max;
|
||||||
};
|
};
|
||||||
|
@@ -7,8 +7,8 @@
|
|||||||
/// Time range definition
|
/// Time range definition
|
||||||
/// </summary>
|
/// </summary>
|
||||||
class TariffTimeRange {
|
class TariffTimeRange {
|
||||||
QTime m_time_from;
|
QTime m_time_from; // if m_time_from == m_time_until, then the time range
|
||||||
QTime m_time_until;
|
QTime m_time_until; // actually is the time point m_time_from
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
40
library/include/mobilisis/tariff_timebase.h
Normal file
40
library/include/mobilisis/tariff_timebase.h
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#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;
|
||||||
|
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_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
|
@@ -1,8 +1,12 @@
|
|||||||
#pragma once
|
#ifndef TIME_RANGE_H_INCLUDED
|
||||||
|
#define TIME_RANGE_H_INCLUDED
|
||||||
|
|
||||||
#include "time_range_header.h"
|
#include "time_range_header.h"
|
||||||
|
|
||||||
struct TimeRange {
|
struct TimeRange {
|
||||||
public:
|
public:
|
||||||
bool IsActive;
|
bool IsActive;
|
||||||
ATBTimeRange TimeRangeStructure;
|
ATBTimeRange TimeRangeStructure;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#endif // TIME_RANGE_H_INCLUDED
|
||||||
|
@@ -1,8 +1,27 @@
|
|||||||
#pragma once
|
#ifndef TIME_RANGE_HEADER_H_INCLUDED
|
||||||
#include <ctime>
|
#define TIME_RANGE_HEADER_H_INCLUDED
|
||||||
|
|
||||||
class ATBTimeRange {
|
#include <QString>
|
||||||
public:
|
#include <QDateTime>
|
||||||
time_t time_from;
|
#include <QDebug>
|
||||||
time_t time_to;
|
#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;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TIME_RANGE_HEADER_H_INCLUDED
|
||||||
|
@@ -69,9 +69,15 @@ HEADERS += \
|
|||||||
include/mobilisis/calculate_price.h \
|
include/mobilisis/calculate_price.h \
|
||||||
include/mobilisis/atb_project.h \
|
include/mobilisis/atb_project.h \
|
||||||
include/mobilisis/ticket.h \
|
include/mobilisis/ticket.h \
|
||||||
include/mobilisis/tariff_business_hours.h
|
include/mobilisis/tariff_business_hours.h \
|
||||||
|
include/mobilisis/tariff_daily_ticket.h \
|
||||||
|
include/mobilisis/tariff_customer.h \
|
||||||
|
include/mobilisis/tariff_timebase.h
|
||||||
|
|
||||||
OTHER_FILES += src/main.cpp
|
OTHER_FILES += src/main.cpp \
|
||||||
|
../tariffs/tariff_korneuburg.json \
|
||||||
|
../tariffs/tariff_linsinger_maschinenbau.json \
|
||||||
|
../tariffs/tariff_naz.json
|
||||||
|
|
||||||
# Default rules for deployment.
|
# Default rules for deployment.
|
||||||
qnx: target.path = /tmp/$${TARGET}/bin
|
qnx: target.path = /tmp/$${TARGET}/bin
|
||||||
|
@@ -39,7 +39,7 @@ QDateTime Calculator::GetDailyTicketDuration(Configuration* cfg, const QDateTime
|
|||||||
|
|
||||||
int daily_card_price = cfg->PaymentOption.find(payment_option)->second.pop_daily_card_price;
|
int daily_card_price = cfg->PaymentOption.find(payment_option)->second.pop_daily_card_price;
|
||||||
if(daily_card_price <= 0) {
|
if(daily_card_price <= 0) {
|
||||||
LOG_ERROR("Calculator::GetDailyTicketDuration(): Daily ticket price zero or less");
|
qCritical() << "Calculator::GetDailyTicketDuration(): Daily ticket price zero or less";
|
||||||
return QDateTime();
|
return QDateTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,12 +74,10 @@ QDateTime Calculator::GetDailyTicketDuration(Configuration* cfg, const QDateTime
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Get day of week
|
// Get day of week
|
||||||
int weekdayId = 0;
|
int const weekdayId = inputDateTime.date().dayOfWeek();
|
||||||
weekdayId = Utilities::ZellersAlgorithm(inputDateTime.date().day(),inputDateTime.date().month(),inputDateTime.date().year());
|
|
||||||
|
|
||||||
// If no working day found, skip it (recursively call method again)
|
// If no working day found, skip it (recursively call method again)
|
||||||
size_t found = 0;
|
size_t found = cfg->WeekDaysWorktime.count(weekdayId);
|
||||||
found = cfg->WeekDaysWorktime.count(weekdayId);
|
|
||||||
|
|
||||||
// When no workday found, go to next available day
|
// When no workday found, go to next available day
|
||||||
if(found <=0)
|
if(found <=0)
|
||||||
|
@@ -1,4 +1,9 @@
|
|||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
|
#include "tariff_timebase.h"
|
||||||
|
#include "time_range_header.h"
|
||||||
|
|
||||||
|
#include <QString>
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
MemberType Configuration::IdentifyJsonMember(const char* member_name)
|
MemberType Configuration::IdentifyJsonMember(const char* member_name)
|
||||||
@@ -13,7 +18,11 @@ MemberType Configuration::IdentifyJsonMember(const char* member_name)
|
|||||||
if (strcmp(member_name, "SpecialDaysWorktime") == 0) return MemberType::SpecialDaysWorktimeType;
|
if (strcmp(member_name, "SpecialDaysWorktime") == 0) return MemberType::SpecialDaysWorktimeType;
|
||||||
if (strcmp(member_name, "SpecialDays") == 0) return MemberType::SpecialDaysType;
|
if (strcmp(member_name, "SpecialDays") == 0) return MemberType::SpecialDaysType;
|
||||||
if (strcmp(member_name, "PeriodYear") == 0) return MemberType::PeriodYearType;
|
if (strcmp(member_name, "PeriodYear") == 0) return MemberType::PeriodYearType;
|
||||||
else return MemberType::UnknownType;
|
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;
|
||||||
|
else return MemberType::UnknownType;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
@@ -68,16 +77,21 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
}
|
}
|
||||||
printf("%s", "Valid JSON configuration identified\n");
|
printf("%s", "Valid JSON configuration identified\n");
|
||||||
|
|
||||||
ATBCurrency Currency;
|
ATBCurrency Currency;
|
||||||
ATBDuration Duration;
|
ATBDuration Duration;
|
||||||
ATBPaymentMethod PaymentMethod;
|
ATBPaymentMethod PaymentMethod;
|
||||||
ATBPaymentRate PaymentRate;
|
ATBPaymentRate PaymentRate;
|
||||||
ATBSpecialDaysWorktime SpecialDaysWorktime;
|
ATBSpecialDaysWorktime SpecialDaysWorktime;
|
||||||
ATBSpecialDays SpecialDays;
|
ATBSpecialDays SpecialDays;
|
||||||
ATBWeekDays WeekDays;
|
ATBWeekDays WeekDays;
|
||||||
ATBWeekDaysWorktime WeekDaysWorktime;
|
ATBWeekDaysWorktime WeekDaysWorktime;
|
||||||
ATBPaymentOption PaymentOption;
|
ATBPaymentOption PaymentOption;
|
||||||
ATBPeriodYear YearPeriod;
|
ATBPeriodYear YearPeriod;
|
||||||
|
ATBDailyTicket DailyTicket;
|
||||||
|
ATBTimeBase TimeBase;
|
||||||
|
ATBCustomer Customer;
|
||||||
|
ATBTimeRange TimeRange;
|
||||||
|
|
||||||
MemberType mb_type = MemberType::UnknownType;
|
MemberType mb_type = MemberType::UnknownType;
|
||||||
|
|
||||||
// Get all JSON object members
|
// Get all JSON object members
|
||||||
@@ -109,14 +123,14 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf(" -%s\n", mb_name);
|
printf(" -%s\n", mb_name);
|
||||||
|
|
||||||
// Get array for each JSON object member
|
// Get array for each JSON object member
|
||||||
auto mb_array = document[mb_name].GetArray();
|
auto mb_array = document[mb_name].GetArray();
|
||||||
if (mb_array.Size() <= 0) break;
|
if (mb_array.Size() <= 0) break;
|
||||||
|
|
||||||
//Iterate over provided array
|
//Iterate over provided array
|
||||||
for (auto j = 0; j < mb_array.Size(); j++)
|
for (rapidjson::SizeType j = 0; j < mb_array.Size(); j++)
|
||||||
{
|
{
|
||||||
// Get all inner objects, don't print name if NULL
|
// Get all inner objects, don't print name if NULL
|
||||||
auto inner_obj = mb_array[j].GetObject();
|
auto inner_obj = mb_array[j].GetObject();
|
||||||
@@ -136,12 +150,133 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
// Identify member type
|
// Identify member type
|
||||||
mb_type = IdentifyJsonMember(mb_name);
|
mb_type = IdentifyJsonMember(mb_name);
|
||||||
|
|
||||||
//#pragma region Get_values
|
|
||||||
switch (mb_type)
|
switch (mb_type)
|
||||||
{
|
{
|
||||||
case MemberType::UnknownType:
|
case MemberType::UnknownType:
|
||||||
break;
|
break;
|
||||||
case MemberType::CurrencyType:
|
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_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::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:
|
||||||
if (strcmp(inner_obj_name, "pcu_id") == 0) Currency.pcu_id = k->value.GetInt();
|
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_sign") == 0) Currency.pcu_sign = k->value.GetString();
|
||||||
else if (strcmp(inner_obj_name, "pcu_major") == 0) Currency.pcu_major = k->value.GetString();
|
else if (strcmp(inner_obj_name, "pcu_major") == 0) Currency.pcu_major = k->value.GetString();
|
||||||
@@ -194,7 +329,8 @@ 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_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_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_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();
|
else if (strcmp(inner_obj_name, "pwd_time_to") == 0) WeekDaysWorktime.pwd_time_to = k->value.GetString();
|
||||||
|
break;
|
||||||
case MemberType::SpecialDaysType:
|
case MemberType::SpecialDaysType:
|
||||||
if (strcmp(inner_obj_name, "ped_id") == 0) SpecialDays.ped_id = k->value.GetInt();
|
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();
|
else if (strcmp(inner_obj_name, "ped_label") == 0) SpecialDays.ped_label = k->value.GetString();
|
||||||
@@ -249,7 +385,19 @@ bool Configuration::ParseJson(Configuration* cfg, const char* json)
|
|||||||
case MemberType::PeriodYearType:
|
case MemberType::PeriodYearType:
|
||||||
cfg->YearPeriod.insert(pair<int, ATBPeriodYear>(YearPeriod.pye_id, YearPeriod));
|
cfg->YearPeriod.insert(pair<int, ATBPeriodYear>(YearPeriod.pye_id, YearPeriod));
|
||||||
break;
|
break;
|
||||||
default:
|
case MemberType::DailyTicketType:
|
||||||
|
qCritical() << DailyTicket;
|
||||||
|
break;
|
||||||
|
case MemberType::CustomerType:
|
||||||
|
qCritical() << Customer;
|
||||||
|
break;
|
||||||
|
case MemberType::TimeBaseType:
|
||||||
|
qCritical() << TimeBase;
|
||||||
|
break;
|
||||||
|
case MemberType::TimeRangeType:
|
||||||
|
qCritical() << TimeRange;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -33,12 +33,32 @@ extern "C" char* strptime(const char* s,
|
|||||||
#include "calculator_functions.h"
|
#include "calculator_functions.h"
|
||||||
#include <calculate_price.h>
|
#include <calculate_price.h>
|
||||||
|
|
||||||
#define SZEGED (0)
|
#define SZEGED (0)
|
||||||
#define NEUHAUSER_KORNEUBURG (0)
|
#define NEUHAUSER_KORNEUBURG (0)
|
||||||
#define NEUHAUSER_LINSINGER_MASCHINENBAU (1)
|
#define NEUHAUSER_LINSINGER_MASCHINENBAU (0)
|
||||||
|
#define NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM (1)
|
||||||
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
#if NEUHAUSER_NORDISCHES_AUSBILDUNGSZENTRUM==1
|
||||||
|
std::ifstream input("/tmp/tariff_naz.json");
|
||||||
|
|
||||||
|
std::stringstream sstr;
|
||||||
|
while(input >> sstr.rdbuf());
|
||||||
|
std::string json(sstr.str());
|
||||||
|
|
||||||
|
Configuration cfg;
|
||||||
|
|
||||||
|
bool isParsed = cfg.ParseJson(&cfg, json.c_str());
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
if (isParsed) {
|
||||||
|
// Calculator calculator;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#if NEUHAUSER_LINSINGER_MASCHINENBAU==1
|
#if NEUHAUSER_LINSINGER_MASCHINENBAU==1
|
||||||
std::ifstream input("/tmp/tariff_linsinger_maschinenbau.json");
|
std::ifstream input("/tmp/tariff_linsinger_maschinenbau.json");
|
||||||
|
|
||||||
|
629
tariffs/tariff_korneuburg.json
Normal file
629
tariffs/tariff_korneuburg.json
Normal file
@@ -0,0 +1,629 @@
|
|||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
598
tariffs/tariff_linsinger_maschinenbau.json
Normal file
598
tariffs/tariff_linsinger_maschinenbau.json
Normal file
@@ -0,0 +1,598 @@
|
|||||||
|
{
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
182
tariffs/tariff_naz.json
Normal file
182
tariffs/tariff_naz.json
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
{
|
||||||
|
"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_type": 0,
|
||||||
|
"tbase_label": "absolute time"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"tbase_type": 1,
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
BIN
vue/Become_a_ninja_with_Vue_sample.pdf
Normal file
BIN
vue/Become_a_ninja_with_Vue_sample.pdf
Normal file
Binary file not shown.
BIN
vue/JavaScript-The-Definitive-Guide-6th-Edition.pdf
Normal file
BIN
vue/JavaScript-The-Definitive-Guide-6th-Edition.pdf
Normal file
Binary file not shown.
108265
vue/Pro.Vuejs.2.www.EBooksWorld.ir.pdf
Normal file
108265
vue/Pro.Vuejs.2.www.EBooksWorld.ir.pdf
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
BIN
vue/Vue.js in Action.Pdf
Normal file
BIN
vue/Vue.js in Action.Pdf
Normal file
Binary file not shown.
31
vue/chapter2.html
Normal file
31
vue/chapter2.html
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>Greetings friend</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h2>Hello {{name}}</h2>
|
||||||
|
<form class="form-inline">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="name">Enter your name:</label>
|
||||||
|
<!-- binded input to 'name' -->
|
||||||
|
<input v-model="name" type="text" class="form-control" id="name" placeholder="Name">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<!-- displays all data within Vue instance filtered through JSON -->
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
</body>
|
||||||
|
<!-- cdn that contains all contents of Vue.js -->
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
//empty variable each binded to input
|
||||||
|
name: "",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</html>
|
37
vue/chapter3.html
Normal file
37
vue/chapter3.html
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>Greetings user</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<!-- the || is the logical operator OR -->
|
||||||
|
<div v-if="gender== 'male' || gender == 'female'">
|
||||||
|
<h1>Hello,
|
||||||
|
<!-- render span if 'gender' equals to 'male' -->
|
||||||
|
<span v-show="gender == 'male'">Mister {{name}}.</span>
|
||||||
|
<!-- render span if 'gender' equals to 'female' -->
|
||||||
|
<span v-if="gender == 'female'">Miss {{name}}.</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<!-- v-else immediately follows v-if block to work -->
|
||||||
|
<h1 v-else>So you can't decide. Fine!</h1>
|
||||||
|
<!-- show inputs -->
|
||||||
|
<label for="gender">Enter your gender:</label>
|
||||||
|
<input v-model="gender" class="form-control" id="gender"></input>
|
||||||
|
<label for="name">Enter your name:</label>
|
||||||
|
<input v-model="name" class="form-control" id="name"></input>
|
||||||
|
</div>
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
</body>
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
gender: "female",
|
||||||
|
name: "Universe",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</html>
|
47
vue/chapter4.html
Normal file
47
vue/chapter4.html
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>People of Gaul</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>People of Gaul</h1>
|
||||||
|
<ul class="list-group">
|
||||||
|
<!-- render filtered array items using 'v-for' -->
|
||||||
|
<!-- 'orderBy' is a built in filter used for ordering by 'age'-->
|
||||||
|
<li v-for="person in people | orderBy 'age' " class="list-group-item">
|
||||||
|
{{person.name}} {{person.age}}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h1>"Old" People of Gaul</h1>
|
||||||
|
<ul class="list-group">
|
||||||
|
<!-- render filtered array items -->
|
||||||
|
<li v-for="person in people | old " class="list-group-item">
|
||||||
|
<!-- custom filter 'old' -->
|
||||||
|
{{person.name}} {{person.age}}
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
</body>
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
//custom filter 'old' returns an array of items that satisfy the given condition
|
||||||
|
Vue.filter('old', function (people) {
|
||||||
|
return people.filter(function (item) {
|
||||||
|
return item.age > 55;
|
||||||
|
});
|
||||||
|
})
|
||||||
|
new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
people: [
|
||||||
|
{name: "Obelix", age: 31},
|
||||||
|
{name: "Asterix", age: 32},
|
||||||
|
{name: "Majestix", age: 62},
|
||||||
|
{name: "Julius Caesar", age: 56},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</html>
|
59
vue/chapter5.html
Normal file
59
vue/chapter5.html
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>The Elections</title>
|
||||||
|
</head>
|
||||||
|
<!-- listening for keyboard event -->
|
||||||
|
<body @keyup.c="clear">
|
||||||
|
<div class="container">
|
||||||
|
<h1>People of Vue</h1>
|
||||||
|
<ul class="list-group">
|
||||||
|
<li v-for="candidate in candidates" class="list-group-item">
|
||||||
|
{{candidate.name}} {{candidate.votes}}
|
||||||
|
<!-- increase votes 'on:click'-->
|
||||||
|
<button class="btn btn-default" @click="candidate.votes++">Vote</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- display the name of the 'mayor' using a computed property-->
|
||||||
|
<h2>Our mayor is {{mayor.name}}!</h2>
|
||||||
|
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
<pre>{{ mayor | json }}</pre>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var vm = new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
candidates: [
|
||||||
|
{name: "Mr. Black", votes: 140},
|
||||||
|
{name: "Mr. White", votes: 135},
|
||||||
|
{name: "Mr. Pink", votes: 145},
|
||||||
|
{name: "Mr. Brown", votes: 130},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
mayor: function () {
|
||||||
|
//first we sort the array descending
|
||||||
|
var candidatesSorted = this.candidates.sort(function (a, b) {
|
||||||
|
return b.votes - a.votes;
|
||||||
|
});
|
||||||
|
//the mayor will be the first item
|
||||||
|
return candidatesSorted[0];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//this method runs when the key 'c' is pressed
|
||||||
|
clear: function () {
|
||||||
|
//Turn votes of all candidate to 0 using map() function.
|
||||||
|
this.candidates = this.candidates.map(function (candidate) {
|
||||||
|
candidate.votes = 0;
|
||||||
|
return candidate;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</html>
|
80
vue/chapter6.html
Normal file
80
vue/chapter6.html
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>Horse-drawn Chariots</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="container">
|
||||||
|
<h1>Chariot shopping</h1>
|
||||||
|
<ul class="list-group">
|
||||||
|
<!-- '.sync' ensures two-way binding between child's property and parent's one -->
|
||||||
|
<chariot v-for="chariot in chariots" :chariot="chariot" :selected.sync="selected"></chariot>
|
||||||
|
</ul>
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
</div>
|
||||||
|
<!-- component template -->
|
||||||
|
<template id="chariot-template">
|
||||||
|
<li class="list-group-item">
|
||||||
|
<h4>"{{ chariot.name }}" chariot has <strong>{{ chariot.horses }}</strong> horse(s)!</h4>
|
||||||
|
<!-- 'disabled' attribute is applied conditionally -->
|
||||||
|
<button @click="rideChariot(chariot)" class="btn btn-primary" :disabled="isSelectedChariot">
|
||||||
|
{{ action }}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</template>
|
||||||
|
<!-- end component template -->
|
||||||
|
</body>
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
Vue.component('chariot', {
|
||||||
|
props: ['chariot', 'selected'],
|
||||||
|
template: "#chariot-template",
|
||||||
|
methods: {
|
||||||
|
rideChariot: function (chariot) {
|
||||||
|
this.selected = chariot;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
//is true when the chariot has more horses than the selected one
|
||||||
|
hasMoreHorses: function () {
|
||||||
|
return this.selected.horses < this.chariot.horses
|
||||||
|
},
|
||||||
|
//is true when the chariot is the selected one
|
||||||
|
isSelectedChariot: function () {
|
||||||
|
return this.selected.name == this.chariot.name
|
||||||
|
},
|
||||||
|
//is true when there is no chariot selected
|
||||||
|
noChariot: function () {
|
||||||
|
return this.selected.name == null;
|
||||||
|
},
|
||||||
|
//define the action for each chariot
|
||||||
|
action: function () {
|
||||||
|
if (this.noChariot) {
|
||||||
|
action = 'Pick Chariot'
|
||||||
|
} else if (this.isSelectedChariot) {
|
||||||
|
action = 'Riding!'
|
||||||
|
} else if (this.hasMoreHorses) {
|
||||||
|
action = 'Hire Horses'
|
||||||
|
} else {
|
||||||
|
action = 'Dismiss Horses'
|
||||||
|
}
|
||||||
|
return action;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var vm = new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
chariots: [
|
||||||
|
{name: "Olympus", horses: 4},
|
||||||
|
{name: "Sagitta", horses: 3},
|
||||||
|
{name: "Icarus", horses: 2},
|
||||||
|
{name: "Abraxas", horses: 1},
|
||||||
|
],
|
||||||
|
//the currently selected 'chariot'
|
||||||
|
selected: {}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
</html>
|
35
vue/chapter7.html
Normal file
35
vue/chapter7.html
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<title>Paint Me</title>
|
||||||
|
</head>
|
||||||
|
<!-- binding body style to an object -->
|
||||||
|
<body :style="bgColor">
|
||||||
|
<div id="app">
|
||||||
|
<div class="container">
|
||||||
|
<h1>Paint this background!</h1>
|
||||||
|
<input type="color" v-model="bgColor.backgroundColor" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
new Vue({
|
||||||
|
el: 'body',
|
||||||
|
data: {
|
||||||
|
bgColor: {
|
||||||
|
backgroundColor: "#00cc00"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<style type="text/css">
|
||||||
|
.centered {
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -50px;
|
||||||
|
margin-left: -100px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</html>
|
BIN
vue/fullstack-vue-book-r8.www.EBooksWorld.ir.pdf
Normal file
BIN
vue/fullstack-vue-book-r8.www.EBooksWorld.ir.pdf
Normal file
Binary file not shown.
76
vue/movies.html
Normal file
76
vue/movies.html
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>movies</title>
|
||||||
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div class="container">
|
||||||
|
<h1>movies</h1>
|
||||||
|
<div id="v-app">
|
||||||
|
<table class="table table-striped">
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th>Title</th>
|
||||||
|
<th>Director</th>
|
||||||
|
<th>Actions</th>
|
||||||
|
</tr>
|
||||||
|
<tr v-for="movie in movies" is="movie" :movie="movie"></tr>
|
||||||
|
</table>
|
||||||
|
<template id="template-movie-raw">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{movie.id}}
|
||||||
|
</td>
|
||||||
|
<td class="col-md-6">
|
||||||
|
<input v-if="movie.editing" v-model="movie.title" class="form-control">
|
||||||
|
</input>
|
||||||
|
<!--in other occasions show the movie title-->
|
||||||
|
<span v-else>
|
||||||
|
{{movie.title}}
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input v-if="movie.editing" v-model="movie.director" class="form-control">
|
||||||
|
</input>
|
||||||
|
<!--in other occasions show the movie director-->
|
||||||
|
<span v-else>
|
||||||
|
{{movie.director}}
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="btn-group" v-if="!movie.editing">
|
||||||
|
<button @click="editMovie(movie)" class="btn btn-default">Edit</button>
|
||||||
|
<button @click="deleteMovie(movie)" class="btn btn-danger">Delete</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn-group" v-else>
|
||||||
|
<!--If the movie is taken from the db then it will have an id-->
|
||||||
|
<button v-if="movie.id" class="btn btn-primary" @click="updateMovie(movie)">Update movie
|
||||||
|
</button>
|
||||||
|
<!--If the movie is new we want to store it-->
|
||||||
|
<button v-else class="btn btn-success" @click="storeMovie(movie)">Save New movie</button>
|
||||||
|
<!--Always show cancel-->
|
||||||
|
<button @click="movie.editing=false" class="btn btn-default">Cancel</button>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</template>
|
||||||
|
<p class="lead">Here's a list of all your movies.
|
||||||
|
<button @click="createMovie()" class="btn btn-primary">Add a new one?</button>
|
||||||
|
</p>
|
||||||
|
<pre>{{ $data | json }}</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<script src="http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script>
|
||||||
|
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/0.7.0/vue-resource.js"></script>
|
||||||
|
<script src='/js/app.js' type="text/javascript"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
vue/vdoc.pub_the-vue-handbook.mobi
Normal file
BIN
vue/vdoc.pub_the-vue-handbook.mobi
Normal file
Binary file not shown.
Reference in New Issue
Block a user