AppCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ETicketIssueLogicDefines.h
Go to the documentation of this file.
1 #ifndef EISSUELOGICDEFINES_H
2 #define EISSUELOGICDEFINES_H
3 
4 #include <string>
5 
6 #include "core/common/eplatform.h"
7 
8 namespace EM
9 {
10  namespace TicketIssueLogic
11  {
12  extern const char *E_CANCELATION_MODULE_NAME;
13  extern const char *E_CARD_ACTIVATION_MODULE_NAME;
14  extern const char *E_COMBINED_TICKET_MODULE_NAME;
15  extern const char *E_COMMON_FUNCTIONALITY_MODUL_NAME;
17  extern const char *E_REGION_CARD_MODULE_NAME;
18  extern const char *E_CREDIT_RECHARGE_MODULE_NAME;
19  extern const char *E_INTERCHANGE_MODULE_NAME;
20  extern const char *E_ONE_WAY_TICKET_MODULE_NAME;
21  extern const char *E_PRINT_MODULE_NAME;
22  extern const char *E_PRINT_MODULE_COMBINED_TICKET_NAME;
23  extern const char *E_STATISTIC_MODULE_NAME;
24  extern const char *E_STATISTIC_MODULE_COMBINED_TICKET_NAME;
25  extern const char *E_TIME_TICKET_MODULE_NAME;
26  extern const char *E_CROSS_TRANSFER_MODULE_NAME;
27  extern const char *E_ZONE_MODULE_NAME;
28  extern const char *E_TIME_TICKET_ACTIVATION_MODULE;
29  extern const char *E_CHECKIN_CHECKOUT_MODULE;
30  extern const char *E_CALCULATE_PRICE_MODULE;
31  extern const char *E_TRIP_SECTION_MODULE_NAME;
32  extern const char *E_WALLET_MODULE_NAME;
33  extern const char *E_ALTERNATIVE_TRIP_MODULE_NAME;
34  extern const char *E_OUTPUT_DATA_TRIP_MODULE_NAME;
35  extern const char *TRIP_SECTION_POST_PROCESS_MODULE_NAME;
36  extern const char *VALID_TICKET_ACCEPTANCE_MODULE_NAME;
37  extern const char *CASH_PRICE_ROUNDING_MODULE_NAME;
38 
39  extern const long E_NETWORK_CODE_MASK;
40  extern const long MIN_CARD_PROVIDER_NUMBER;
41  extern const long MAX_CARD_PROVIDER_NUMBER;
42 
43  extern const long CAPPING_RESET_TIME_HOURS;
44 
46  {
47  public:
48 
50  {
51  Ok = 0,
52  BadInputData = 1,
53  CalculatePriceError = 2,
54  NullTariff = 3,
55  NullTariffGroup = 4,
56  NullTariffData = 5,
57  PrinterTemplateNotFound = 6,
58  DontPrint = 7,
59  PrintError = 8,
60  WriteStatisticError = 9,
61  BadOutputStatisticData = 10,
62  WrongInputParameters = 11,
63  CardBlocked = 12,
64  CardNotSell = 13,
65  InvalidCard = 14,
66  NoEmployeeCard = 15,
67  NoEmployeeTariff = 16,
68  ModuleNotFound = 17,
69  BadPaymentType = 18,
70  NullWriteRequest = 19,
71  ErrorIssueTicket = 20,
72  ErrorIssueTicketRestricted = 21,
73  ErrorIssueTicketCaseLow = 22,
74  ValidTicket = 23,
75  OtherCard = 24,
76  ValueUnderLimit = 25,
77  ValueOverLimit = 26,
78  BadPurseCardData = 27,
79  MaxPurseBalanceExceeded = 28,
80  ErrorInitModules = 29,
81  ErrorActivateCardNoSpaceOnCard = 30,
82  ErrorInactiveCard = 31,
83  ErrorInvalidTransportSection = 32,
84  ErrorCancelationTicket = 33,
85  NotFoldOfValue = 34,
86  BadCommonCardData = 35,
87  NoSpaceOnCard = 36,
88  ErrorWhileFillingNewTimeTicket = 37,
89  ErrorCancelTimeTicket = 38,
90  StornoDisabled = 39,
91  TimeTicketNotFound = 40,
92  TimeTicketNotValid = 41,
93  BadServiceCardData = 42,
94  ErrorProcessServiceData = 43,
95  AuditorCheckIn = 44,
96  AuditorCheckOut = 45,
97  BadTimeTicketCardData = 46,
98  BadUserInputData = 47,
99  ErrorPrepareOutputStatisticData = 48,
100  ErrorPrepareOutputPreIssueData = 49,
101  ErrorPrepareOutputPostIssueData = 50,
102  ErrorPrepareTicketOutputData = 51,
103  RestrictedZones = 52,
104  PassNumberRequired = 53,
105  ErrorPreparePrintData = 54,
106  ErrorCreateRequest = 55,
107  ErrorInvalidCardDiscount = 56,
108  ErrorCardValidityExpired = 57,
109  BadOneWayTicketCardData = 58,
110  ErrorInvalidPurse = 59,
111  ErrorBuyTicketForOwnerFirst = 60,
112  ErrorInvalidTariffToCard = 61,
113  ErrorIssueOnPortableWallet = 62,
114  ErrorParsingFile = 63,
115  ErrorProcessingCheckOut = 64,
116  ValidCheckOut = 65,
117  FellowTravelersCanAlsoDoTransfer = 66,
118  ErrorActivateTimeTicket = 67,
119  ErrorInvalidUrbanTranportNumber = 68,
120  RestrictedCheckInOutSystem = 69,
121  ErrorPrepareCardTicketIndex = 70,
122  NullInternalPointer = 71, // error TicketIssueLogic initialization. Core member is NULL
123  ErrorOtherCompanyAuditor = 72,
124  CannotCancelOwnersTicketWithFellowTravelers = 73,
125  NoValidTimeTicket = 74, //OWT autoissue is forbidden in input data, and no valid TT was found on the card
126  ExceededMaximumInterchangeTime = 75,
127  ErrorDisallowedCardCompanyForJourney = 76,
128  TimeValidOneWayTicketToOverwrite = 77,
129  ErrorDisallowedCardCompanyForCreditRecharge = 78,
130  ErrorIssueTicketOnLastStop = 79,
131  BuySurchargeForSpatiallyInvalidTimeTicket = 80,
132  ErrorTooManyPassengers = 81,
133  ErrorAdditionalSynchronousRead = 82,
134  ErrorDiscountMismatch = 83,
135  ErrorDiscountExpiredOverAge = 84,
136  BadLogCardData = 85,
137  ErrorPostProcessBywayTripSection = 86,
138  NoAuditorCardOnAuditorOperation = 87,
139  UnsupportedOperation = 88,
140  ErrorCreateFile = 89,
141  InsufficientTicketTimeValidityForSelectedTrip = 90,
142  ErrorPostProcessRemoveSectionOnBorderOfZonation = 91,
143  ErrorDisallowedCardForJourney = 92,
144  RestrictedCashCreditRecharge = 93,
145  PrintErrorObstacleInPrinterTray = 94,
146  DisallowedCardPaymentOnBusStopInForeignCountry = 95,
147  ErrorTimeTicketExceedsCardValidity = 96,
148  DifferentAreaForFellowTravellerAndTicketOwner = 97,
149  BadCappingCardData = 98,
150  UnsupportedCardMediumForInterchangableTicket = 99,
151  DomesticIssueForbidden = 100,
152  ErrorCashPriceRounding = 101,
153 
154  UnitTestErrorOffset = 1000
155  };
156 
157  /*
158  toto je v datainpute ako enum, len to je v zlom hlavickovom subore
159  */
161  {
162  PaymentUndefined = -1,
163  PaymentCash = 0,
164  PaymentChipCard = 1,
165  PaymentBankCard = 2,
166  PaymentInvoice = 3,
167  PaymentMarker = 5,
168  PaymentCorrectionEvent = 9,
169  PaymentViaInternet = 10,
170  PaymentCoiner = 11,
171  PaymentCoupon = 12,
172  PaymentAggregationEMVCard = 13,
173  PaymentAggregationAccountTD = 14,
174  PaymentQrCode = 15,
175  PaymentOther
176  };
177 
178  static std::string PaymentTypeToString( const PaymentType paymentType );
179 
181  {
182  OperationUndefined = -1,
183  OperationSell = 0,
184  OperationCancel = 1,
185  OperationCreditRecharge = 2,
186  OperationCancelCreditRecharge = 3,
187  // UNUSED = 4,
188  OperationTimeTicketSell = 5,
189  OperationTimeTicketCancel = 6,
190  OperationAuditor = 7,
191  OperationSurchargeSell = 8,
192  OperationCoinerOverfall = 9,
193  OperationAdditionalTariffAreaSurcharge = 10,
194  OperationForbiddenCard = 11,
195  /*
196  * TerminalSell - selling ticket on stationary terminal (SelfServiceValidator, PreSale terminal, automatic vending machine)
197  * Very similar to OperationSell, but it has not specified line, trip or bus stops
198  */
199  OperationTerminalSell = 12,
200  OperationUnpaidExpense = 13,
201  OperationPriceCalculation = 14,
202  OperationTimeTicketPriceCalculation = 15,
203  /*
204  * TicketRegistration - Redmine task 1890 - selling registration ticket is very similar operation as OperationSell. Only one exception. This ticket will not be written on card.
205  *
206  * This operation is set from application based on tariff templateID 'RegistrationTicket'( ETarifa::RegistrationTicket )
207  */
208  OperationTicketRegistration = 16
209  };
210 
211  static std::string OperationTypeToString( const OperationType operationType );
212 
214  {
215  CardWriteNothing = 0x00,
216  CardWriteAuditor = 0x01,
217  CardWriteOneWayTickets = 0x02,
218  CardWriteWallet = 0x04,
219  CardWriteTimeTickets = 0x08
220  };
221 
223  {
224  FamilyUndefinedModules = -1,
225  FamilyPrintModules = 0,
226  FamilyStatisticModules = 1,
227  FamilyCommonModules = 2,
228  FamilyOneWayTicketModules = 3,
229  FamilyTimeTicketModules = 4,
230  FamilyCreditRechargeModules = 5,
231  FamilyInterchangeModules = 6,
232  FamilyCancelationModules = 7,
233  FamilyCardActivationModules = 8,
234  FamilyCombinedTicketModules = 9,
235  FamilyTimeTicketSellModules = 10,
236  FamilyServiceModules = 11,
237  FamilyCrossTransferModules = 12,
238  FamilyZoneModules = 13,
239  FamilyTimeTicketActivationModules = 14,
240  FamilyCheckinCheckoutModules = 15,
241  // UNUSED VALUE (16)
242  FamilyCalculatePriceModules = 17,
243  FamilyRegionCardModules = 18,
244  FamilyTripSectionModules = 19,
245  FamilyWalletModules = 20,
246  // UNUSED VALUE (21)
247  FamilyAlternativeTripModules = 22,
248  FamilyOutputDataModules = 23,
249  FamilyTripSectionPostProcessModules = 24,
250  FamilyValidTicketAcceptanceModules = 25,
251  FamilyCashPriceRoundingModules = 26,
252  FamilyCount = 27 // had to be always last with biggest number
253  };
254 
256  {
257  IssueUndefined = -1,
258  IssueAuto = 0,
259  IssueManual = 1
260  };
261 
263  {
264  TripSectionUndefined = -1,
265  TripSectionOnTimeTicket = 0,
266  TripSectionOnCash = 2,
267  TripSectionAdditionalZonesCharged = 3, // special section created for additinal zones after trip (after checkout bus stop) that will be charged
268  TripSectionAdditionalZonesFree = 4, // special section created for additinal zones after trip (after checkout bus stop) that are covered by time ticket, thus will not be charged
269  TripSectionKilometersFree = 5 // special section created for free kilometers. For example 'one bus stop section' on border of zonation
270  };
271 
273  {
274  ProcessLastTicket = 0,
275  ProcessAllTickets = 1
276  };
277 
279  {
280  TransferForAllTicketsAsk = 0,
281  TransferForAllTicketsOn = 1,
282  TransferForAllTicketsOff = 2
283  };
284 
286  {
287  ProlongTicketsTimeValidityOff = 0,
288  ProlongTicketsTimeValidityOwnerOnly = 1,
289  ProlongTicketsTimeValidityAllTickets = 2
290  };
291 
293  {
294  OneWayTicketCardPositioningIncremental = 0,
295  OneWayTicketCardPositioningSeparated = 1
296  };
297 
299  {
300  CICOStatusUndefined = 0,
301  CICOStatusPossibleCheckout = 1,
302  CICOStatusValidCheckinTicket = 2,
303  CICOStatusValidCheckoutTicket = 3
304  };
305 
306  enum CardType
307  {
308  CardTypeWithoutDiscount = 1,
309  CardTypeHalfChild = 2,
310  CardTypeFreeOfCharge = 3,
311  CardTypeStudent = 4,
312  CardTypePensionerToSeventyYears = 5,
313  CardTypePensionerOverSeventyYears = 6,
314  CardTypePupil = 7,
315  CardTypePortable = 8,
316  CardTypeBulk = 9,
317  CardTypeTourist = 10,
318  CardTypeSpecial11 = 11,
319  CardTypeSpecial12 = 12,
320  CardTypeEmployee = 13,
321  CardTypeSpecial2 = 14,
322  CardTypeSpecial3 = 15,
323  CardTypeAdultOverFifteen = 16,
324  CardTypeAdult = 101,
325  CardTypeChild = 102,
326  CardTypeStudentToTwentySixYears = 103,
327  CardTypePensioner = 104,
328  CardTypeInvalidityPensioner = 105,
329  CardTypeStaff = 109,
330  CardTypeScholar = 119,
331  CardTypeJanskyGoldPlaqueHolder = 148,
332  CardTypeFamilyMemberOverFifteenYears = 149,
333  CardTypePersonOverSixtyFiveYears = 150,
334  CardTypePersonOverSeventyYears = 151,
335  CardTypePersonOverEightyYears = 152,
336  CardTypeZTPLicenseHolder = 153,
337  CardTypeZTPPLicenseHolder = 154,
338  CardTypeFamilyMemberFromSixToFifteen = 155,
339  CardTypeFamilyMemberFromFifteenToTwentySix = 156,
340  CardTypeFamilyMemberPensioner = 157,
341  CardTypeOrganization = 162,
342  CardTypeAnonym = 163
343  };
344 
346  {
347  PeripheralsEventUndefined = 0,
348  PeripheralsEventAuditorCheckInBlock = 1,
349  PeripheralsEventAuditorCheckOutUnblock = 2,
350  PeripheralsEventDriverManualBlock = 3,
351  PeripheralsEventDriverManualUnblock = 4,
352  PeripheralsEventAutoUnblockOnBusStopArrival = 5
353  };
354 
355  /*
356  * Detailf for ticket index saved in datastorage, @see ETicketIssueLogicDataStorage::GetCardTicketIndexToUse
357  */
359  {
360  TicketIndexDetailNoDetail = 0,
361  TicketIndexDetailNoSpaceOnCardForOWT = 1,
362  TicketIndexDetailOWTWithoutWriteOnCard = 2,
363  TicketIndexDetailFellowTravllerWithoutWriteOnCard = 3,
364  TicketIndexDetailOWTWithoutWriteOnCardOnOBC = 4,
365  TicketIndexDetailDifferentCardAndTariffNetwork = 5
366  };
367 
369  {
370  PriceComputeUnitUndefined = 0,
371  PriceComputeUnitKilometers = 1,
372  PriceComputeUnitZones = 2,
373  PriceComputeUnitCount = 3
374  };
375 
380  {
381  RegionCodeBratislavaCityCard = 0x01,
382  // 0x02 - see CityCode
383  RegionCodeMartin = 0x04, // multiCARD
384  RegionCodeKosiceCityCard = 0x08,
385  // 0x10 - see CityCode
386  RegionCodeBratislava = 0x20
387  };
388 
392  enum CityCode
393  {
394  // 0x01 - see RegionCode
395  CityCodeTrencin = 0x02,
396  // 0x04 - see RegionCode
397  // 0x08 - see RegionCode
398  CityCodeBratislava = 0x10,
399  // 0x20 - see RegionCode
400  CityCodeMartin = 0x80,
401  CityCodeMartinSuburban = 0x100
402  };
403 
405  {
406  EMVTransactionDataCardNumber = 1,
407  EMVTransactionDataCardBranch = 2,
408  EMVTransactionDataApprovalCode = 3,
409  EMVTransactionDataSerialNumber = 4,
410  EMVTransactionDataTerminalId = 5,
411  EMVTransactionDataInvoiceNumber = 6
412  };
413  };
414  }
415 }
416 
417 #endif // EISSUELOGICDEFINES_H
OneWayTicketCardPositioning
Definition: ETicketIssueLogicDefines.h:292
ModuleFamily
Definition: ETicketIssueLogicDefines.h:222
PreparePrintType
Definition: ETicketIssueLogicDefines.h:272
const char * E_CHECKIN_CHECKOUT_MODULE
Definition: ETicketIssueLogicDefines.cpp:24
TransferForAllTicketsOnCard
Definition: ETicketIssueLogicDefines.h:278
ProlongTicketsTimeValidity
Definition: ETicketIssueLogicDefines.h:285
const char * E_CREDIT_RECHARGE_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:13
const char * E_COMMON_FUNCTIONALITY_MODUL_COMBINED_TICKET_NAME
Definition: ETicketIssueLogicDefines.cpp:11
const char * VALID_TICKET_ACCEPTANCE_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:31
const char * E_REGION_CARD_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:12
const char * E_PRINT_MODULE_COMBINED_TICKET_NAME
Definition: ETicketIssueLogicDefines.cpp:17
const char * E_CANCELATION_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:7
IssueType
Definition: ETicketIssueLogicDefines.h:255
PaymentType
Definition: ETicketIssueLogicDefines.h:160
const char * E_STATISTIC_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:18
CityCode
Definition: ETicketIssueLogicDefines.h:392
const long E_NETWORK_CODE_MASK
Definition: ETicketIssueLogicDefines.cpp:34
const char * TRIP_SECTION_POST_PROCESS_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:30
RegionCode
Definition: ETicketIssueLogicDefines.h:379
Definition: ETicketIssueLogicDefines.h:45
const char * E_PRINT_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:16
const char * E_CALCULATE_PRICE_MODULE
Definition: ETicketIssueLogicDefines.cpp:25
PeripheralsStatisticEventType
Definition: ETicketIssueLogicDefines.h:345
const char * E_COMBINED_TICKET_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:9
const char * E_STATISTIC_MODULE_COMBINED_TICKET_NAME
Definition: ETicketIssueLogicDefines.cpp:19
const char * E_CARD_ACTIVATION_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:8
const char * E_ALTERNATIVE_TRIP_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:28
CardWriteOperations
Definition: ETicketIssueLogicDefines.h:213
const long MAX_CARD_PROVIDER_NUMBER
Definition: ETicketIssueLogicDefines.cpp:59
CardType
Definition: ETicketIssueLogicDefines.h:306
const char * E_TRIP_SECTION_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:26
ReturnValues
Definition: ETicketIssueLogicDefines.h:49
const char * E_CROSS_TRANSFER_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:21
OperationType
Definition: ETicketIssueLogicDefines.h:180
const char * E_TIME_TICKET_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:20
#define DLL_API
Definition: ECardFacadeDefines.h:8
TicketIndexDetail
Definition: ETicketIssueLogicDefines.h:358
EMVTransactionData
Definition: ETicketIssueLogicDefines.h:404
SYSTEM INCLUDES.
Definition: CardFacadeManagerXML.h:6
const char * CASH_PRICE_ROUNDING_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:32
PriceComputeUnit
Definition: ETicketIssueLogicDefines.h:368
const char * E_COMMON_FUNCTIONALITY_MODUL_NAME
Definition: ETicketIssueLogicDefines.cpp:10
const long MIN_CARD_PROVIDER_NUMBER
Definition: ETicketIssueLogicDefines.cpp:58
const char * E_INTERCHANGE_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:14
const char * E_ZONE_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:22
const char * E_ONE_WAY_TICKET_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:15
const char * E_WALLET_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:27
const char * E_OUTPUT_DATA_TRIP_MODULE_NAME
Definition: ETicketIssueLogicDefines.cpp:29
const char * E_TIME_TICKET_ACTIVATION_MODULE
Definition: ETicketIssueLogicDefines.cpp:23
TripSectionType
Definition: ETicketIssueLogicDefines.h:262
CICOStatus
Definition: ETicketIssueLogicDefines.h:298
const long CAPPING_RESET_TIME_HOURS
Definition: ETicketIssueLogicDefines.cpp:62