AppCore
Loading...
Searching...
No Matches
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
8namespace 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;
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;
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
45 class DLL_API EIssueLogicDefines
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
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
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
#define DLL_API
Definition ECardFacadeDefines.h:8
PeripheralsStatisticEventType
Definition ETicketIssueLogicDefines.h:346
TicketIndexDetail
Definition ETicketIssueLogicDefines.h:359
RegionCode
Definition ETicketIssueLogicDefines.h:380
TransferForAllTicketsOnCard
Definition ETicketIssueLogicDefines.h:279
CardWriteOperations
Definition ETicketIssueLogicDefines.h:214
static std::string OperationTypeToString(const OperationType operationType)
OneWayTicketCardPositioning
Definition ETicketIssueLogicDefines.h:293
IssueType
Definition ETicketIssueLogicDefines.h:256
PreparePrintType
Definition ETicketIssueLogicDefines.h:273
CityCode
Definition ETicketIssueLogicDefines.h:393
TripSectionType
Definition ETicketIssueLogicDefines.h:263
OperationType
Definition ETicketIssueLogicDefines.h:181
static std::string PaymentTypeToString(const PaymentType paymentType)
PaymentType
Definition ETicketIssueLogicDefines.h:161
ModuleFamily
Definition ETicketIssueLogicDefines.h:223
ReturnValues
Definition ETicketIssueLogicDefines.h:50
CardType
Definition ETicketIssueLogicDefines.h:307
EMVTransactionData
Definition ETicketIssueLogicDefines.h:405
PriceComputeUnit
Definition ETicketIssueLogicDefines.h:369
ProlongTicketsTimeValidity
Definition ETicketIssueLogicDefines.h:286
CICOStatus
Definition ETicketIssueLogicDefines.h:299
const char * E_CREDIT_RECHARGE_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:13
const char * E_CHECKIN_CHECKOUT_MODULE
Definition ETicketIssueLogicDefines.cpp:24
const char * E_OUTPUT_DATA_TRIP_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:29
const char * E_COMMON_FUNCTIONALITY_MODUL_COMBINED_TICKET_NAME
Definition ETicketIssueLogicDefines.cpp:11
const char * E_WALLET_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:27
const char * E_TIME_TICKET_ACTIVATION_MODULE
Definition ETicketIssueLogicDefines.cpp:23
const long E_NETWORK_CODE_MASK
Definition ETicketIssueLogicDefines.cpp:34
const char * E_ONE_WAY_TICKET_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:15
const char * E_CROSS_TRANSFER_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:21
const char * E_PRINT_MODULE_COMBINED_TICKET_NAME
Definition ETicketIssueLogicDefines.cpp:17
const char * E_STATISTIC_MODULE_COMBINED_TICKET_NAME
Definition ETicketIssueLogicDefines.cpp:19
const long CAPPING_RESET_TIME_HOURS
Definition ETicketIssueLogicDefines.cpp:62
const char * TRIP_SECTION_POST_PROCESS_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:30
const char * E_COMBINED_TICKET_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:9
const char * E_REGION_CARD_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:12
const char * VALID_TICKET_ACCEPTANCE_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:31
const char * E_CALCULATE_PRICE_MODULE
Definition ETicketIssueLogicDefines.cpp:25
const char * E_STATISTIC_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:18
const char * CASH_PRICE_ROUNDING_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:32
const char * E_INTERCHANGE_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:14
const long MIN_CARD_PROVIDER_NUMBER
Definition ETicketIssueLogicDefines.cpp:58
const char * E_TRIP_SECTION_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:26
const char * E_ZONE_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:22
const char * E_TIME_TICKET_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:20
const char * E_ALTERNATIVE_TRIP_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:28
const long MAX_CARD_PROVIDER_NUMBER
Definition ETicketIssueLogicDefines.cpp:59
const char * E_CANCELATION_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:7
const char * E_COMMON_FUNCTIONALITY_MODUL_NAME
Definition ETicketIssueLogicDefines.cpp:10
const char * E_PRINT_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:16
const char * E_CARD_ACTIVATION_MODULE_NAME
Definition ETicketIssueLogicDefines.cpp:8
SYSTEM INCLUDES.
Definition CardFacadeManagerXML.h:7