ntak_const.class.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. <?php
  2. class NtakConst
  3. {
  4. /**
  5. * SALES CHANNEL
  6. */
  7. public const SALES_CHANNEL_ONLINE = 'ONLINE';
  8. public const SALES_CHANNEL_AUTOMATA = 'AUTOMATA';
  9. public const SALES_CHANNEL_LOCAL = 'HELYSZINI';
  10. public const SALES_CHANNEL_TRAVEL_AGENCY = 'UTAZASI_IRODAN_KERESZTULI';
  11. /**
  12. * PAYMENT METHOD
  13. */
  14. public const PAYMENT_METHOD_CASH_HUF = 'KESZPENZHUF';
  15. public const PAYMENT_METHOD_CASH_EUR = 'KESZPENZEUR';
  16. public const PAYMENT_METHOD_SZEP_CARD = 'SZEPKARTYA';
  17. public const PAYMENT_METHOD_CREDIT_CARD = 'BANKKARTYA';
  18. public const PAYMENT_METHOD_TRANSFER = 'ATUTALAS';
  19. public const PAYMENT_METHOD_OTHER = 'EGYEB';
  20. public const PAYMENT_METHOD_VOUCHER = 'VOUCHER';
  21. public const PAYMENT_METHOD_ROOM_LOAN = 'SZOBAHITEL';
  22. public const PAYMENT_METHOD_ROUNDING = 'KEREKITES';
  23. /**
  24. * SYSTEM CATEGORY
  25. */
  26. public const SYSTEM_CATEGORY_NO_ACCESS = 'ONALLO_BELEPESRE_NEM_JOGOSITO';
  27. public const SYSTEM_CATEGORY_INDIVIDUAL = 'EGYENI';
  28. public const SYSTEM_CATEGORY_FAMILY = 'CSALADI';
  29. public const SYSTEM_CATEGORY_GROUP = 'CSOPORTOS';
  30. /**
  31. * AGE GROUP
  32. */
  33. public const AGE_GROUP_MIX = 'VEGYES';
  34. public const AGE_GROUP_RETIRED = 'NYUGDIJAS';
  35. public const AGE_GROUP_ELDERLY = 'IDOS';
  36. public const AGE_GROUP_CHILD = 'GYEREK';
  37. public const AGE_GROUP_ADULT = 'FELNOTT';
  38. public const AGE_GROUP_STUDENT = 'DIAK';
  39. /**
  40. * TICKET VALIDITY TYPE
  41. */
  42. public const TICKET_VALIDITY_TYPE_OTHER = 'EGYEB';
  43. public const TICKET_VALIDITY_TYPE_WEEKLY = 'HETI_JEGY';
  44. public const TICKET_VALIDITY_TYPE_MONTHLY = 'HAVI_JEGY';
  45. public const TICKET_VALIDITY_TYPE_ONE_TIME = 'EGYSZERI';
  46. public const TICKET_VALIDITY_TYPE_DAILY = 'NAPI_JEGY';
  47. /**
  48. * VAT CODES
  49. */
  50. public const VAT_CODE_5 = 'A_5';
  51. public const VAT_CODE_18 = 'B_18';
  52. public const VAT_CODE_27 = 'C_27';
  53. public const VAT_CODE_D = 'D_AJT';
  54. public const VAT_CODE_0 = 'E_0';
  55. /**
  56. * DISCOUNTS
  57. */
  58. public const ITEM_CATEGORY_PRODUCT = 'TERMEK';
  59. public const ITEM_CATEGORY_SERVICE = 'SZOLGALTATAS';
  60. public const ITEM_CATEGORY_FOOD = 'ETEL';
  61. public const ITEM_CATEGORY_DRINK = 'ITAL';
  62. public const ITEM_CATEGORY_DISCOUNT = 'KEDVEZMENY';
  63. /**
  64. * PRODUCT DISCOUNTS
  65. */
  66. public const PRODUCT_DISCOUNT_GROUP = 'CSOPORTOS_KEDVEZMENY';
  67. public const PRODUCT_DISCOUNT_FAMILY = 'CSALADI_KEDVEZMENY';
  68. public const PRODUCT_DISCOUNT_OTHER_CARD = 'EGYEB_KARTYAKEDVEZMENYEK';
  69. public const PRODUCT_DISCOUNT_OTHER = 'EGYEB_KEDVEZMENYEK';
  70. public const PRODUCT_DISCOUNT_STUDENT = 'DIAK_KEDVEZMENY';
  71. public const PRODUCT_DISCOUNT_DISABLED_PEOPLE = 'FOGYATEKKAL_ELOK_KEDVEZMENYE';
  72. public const PRODUCT_DISCOUNT_LOCAL = 'HELYI_LAKOS_KEDVEZMENY';
  73. public const PRODUCT_DISCOUNT_CHILD = 'GYEREKKEDVEZMENY';
  74. public const PRODUCT_DISCOUNT_PENSIONER = 'NYUGDIJAS_KEDVEZMENY';
  75. public const PRODUCT_DISCOUNT_ELDERLY = 'SZEPKORU_KEDVEZMENY';
  76. public const PRODUCT_DISCOUNT_CONTRACTUAL_PARTNER = 'SZERZODESES_PARTNERI_KEDVEZMENYEK';
  77. public const PRODUCT_DISCOUNT_PROFESSIONAL_ORGANIZATION = 'SZAKMAI_SZERVEZETEK_KEDVEZMENYE';
  78. public const PRODUCT_DISCOUNT_PARTNER_INSTITUTION = 'TARSINTEZMENYI_KEDVEZMENYEK';
  79. public const PRODUCT_DISCOUNT_TOURIST = 'TURISZTIKAI_KARTYAKEDVEZMENY';
  80. public const PRODUCT_DISCOUNT_TRAVEL_AGENCY = 'UTAZASI_IRODAI_KEDVEZMENY';
  81. /**
  82. * PROGRAM TYPES
  83. */
  84. public const PROGRAM_TYPE_INDEPENDENT = 'ONALLO_PROGRAM';
  85. public const PROGRAM_TYPE_PART_OF_A_PROGRAM_SERIES = 'PROGRAMSOROZAT_RESZE';
  86. public const PROGRAM_TYPE_COMBINED = 'KOMBINALT_PROGRAM';
  87. /**
  88. * PROGRAM CATEGORIES
  89. */
  90. public const PROGRAM_MAIN_CATEGORY_PUBLIC_BATH = 'KOZFURDO';
  91. public const PROGRAM_SUB_CATEGORY_BATH_PROGRAM = 'FURDO_PROGRAM';
  92. public const PROGRAM_SUB_CATEGORY_BEACH_PROGRAM = 'STRAND_PROGRAM';
  93. public const PROGRAM_SUB_CATEGORY_SWIMMING_PROGRAM = 'USZODAI_PROGRAM';
  94. public const PROGRAM_SUB_CATEGORY_WELLNESS_PROGRAM = 'WELLNESS_PROGRAM';
  95. public const PROGRAM_SUB_CATEGORY_HEALTHCARE = 'EGESZSEGUGYI_SZOLGALTATAS';
  96. //--
  97. public const PROGRAM_MAIN_CATEGORY_NATURAL_BATH = 'TERMESZETES_FURDO';
  98. public const PROGRAM_SUB_CATEGORY_NATURAL_BEACH = 'SZABADVIZI_STRAND_PROGRAM';
  99. //--
  100. public const PROGRAM_MAIN_CATEGORY_MUSEUM = 'MUZEUM_VAR_KASTELY';
  101. public const PROGRAM_SUB_CATEGORY_EXHIBITION = 'KIALLITAS';
  102. public const PROGRAM_SUB_CATEGORY_MUSEUM_PEDAGOGY = 'MUZEUMPEDAGOGIA';
  103. public const PROGRAM_SUB_CATEGORY_EXHIBITION_MANAGEMENT = 'TARLATVEZETES';
  104. public const PROGRAM_SUB_CATEGORY_ECCLESIASTICAL = 'EGYHAZI_LETESITMENY_LATOGATASA';
  105. public const PROGRAM_SUB_CATEGORY_CASTLE_VISIT = 'KASTELYLATOGATAS';
  106. public const PROGRAM_SUB_CATEGORY_VISIT = 'VARLATOGATAS';
  107. public const PROGRAM_SUB_CATEGORY_OTHER_MONUMENT = 'EGYEB_MUEMLEK_LATOGATASA';
  108. public const PROGRAM_SUB_CATEGORY_EDUCATIONAL = 'OKTATASI_PROGRAM';
  109. //--
  110. public const PROGRAM_MAIN_CATEGORY_TOURIST_TRANSPORT = 'TURISZTIKAI_KOZLEKEDES';
  111. public const PROGRAM_SUB_CATEGORY_LAKE_BOAT = 'TAVI_HAJOZAS';
  112. public const PROGRAM_SUB_CATEGORY_RIVER_BOAT = 'FOLYAMI_HAJOZAS';
  113. public const PROGRAM_SUB_CATEGORY_HOPONHOPOFF = 'HOP_ON_HOP_OFF';
  114. //--
  115. public const PROGRAM_MAIN_CATEGORY_ADVENTURE_PARK = 'KALANDPARK';
  116. public const PROGRAM_SUB_CATEGORY_ADVENTURE_PARK_PROGRAM = 'KALANDPARKI_PROGRAM';
  117. public const PROGRAM_SUB_CATEGORY_EXPERIENCE_PROGRAM = 'ELMENYKOZPONTI_PROGRAM';
  118. //--
  119. public const PROGRAM_MAIN_CATEGORY_ZOO = 'ALLATKERT';
  120. public const PROGRAM_SUB_CATEGORY_ZOO_PROGRAM = 'ALLATKERTI_PROGRAM';
  121. public const PROGRAM_SUB_CATEGORY_WILD_PARK = 'VADASPARKI_PROGRAM';
  122. //--
  123. public const PROGRAM_MAIN_CATEGORY_AMUSEMENT_PARK = 'VIDAMPARK';
  124. public const PROGRAM_SUB_CATEGORY_AMUSEMENT_PARK_PROGRAM = 'VIDAMPARKI_PROGRAM';
  125. //--
  126. public const PROGRAM_MAIN_CATEGORY_PROTECTED_NATURAL_PARK = 'VEDETT_TERMESZETI_TERULET';
  127. public const PROGRAM_SUB_CATEGORY_NATIONAL_PARK_VISIT = 'NEMZETI_PARK_LATOGATAS';
  128. public const PROGRAM_SUB_CATEGORY_CAVE_VISIT = 'BARLANGLATOGATAS';
  129. public const PROGRAM_SUB_CATEGORY_NATURAL_PARK_EXHIBITION_MANAGEMENT = 'TARLATVEZETES';
  130. public const PROGRAM_SUB_CATEGORY_NATURAL_PARK_EDUCATION_PROGRAM = 'OKTATASI_PROGRAM';
  131. public const PROGRAM_SUB_CATEGORY_PARK_VISIT = 'PARKLATOGATAS';
  132. public const PROGRAM_SUB_CATEGORY_THEMATIC_PRESENTATION = 'TEMATIKUS_BEMUTATOHELY_LATOGATAS';
  133. public const PROGRAM_SUB_CATEGORY_HIKE = 'TURAK_KIRANDULASOK';
  134. //--
  135. public const PROGRAM_MAIN_CATEGORY_MUSIC_EVENT = 'ZENES_TANCOS_RENDEZVENY';
  136. public const PROGRAM_SUB_CATEGORY_CULTURAL_EVENT = 'KULTURALIS_RENDEZVENY';
  137. public const PROGRAM_SUB_CATEGORY_CONCERT = 'KONCERT';
  138. public const PROGRAM_SUB_CATEGORY_FESTIVAL = 'FESZTIVAL';
  139. //--
  140. public const TICKET_USE_METHOD_DELETE = 'TORLES';
  141. public const TICKET_USE_METHOD_ENTRY = 'BELEPES';
  142. public const TICKET_USE_METHOD_EXIT = 'KILEPES';
  143. //--
  144. public const INVOICE_SENDING_RESPONSE_STATUS_ACCEPTED = 'BEFOGADVA';
  145. public const INVOICE_SENDING_RESPONSE_STATUS_WRONG = 'TELJESEN_HIBAS';
  146. public const INVOICE_SENDING_RESPONSE_STATUS_PARTIALLY_SUCCESSFUL = 'RESZBEN_SIKERES';
  147. public const INVOICE_SENDING_RESPONSE_STATUS_SUCCESSFUL = 'TELJESEN_SIKERES';
  148. public const INVOICE_SENDING_RESPONSE_STATUS_SEND_AGAIN = 'UJRA_KULDENDO';
  149. public const INVOICE_SENDING_RESPONSE_STATUS_ACCEPTED_DB = 1;
  150. public const INVOICE_SENDING_RESPONSE_STATUS_WRONG_DB = 2;
  151. public const INVOICE_SENDING_RESPONSE_STATUS_PARTIALLY_SUCCESSFUL_DB = 3;
  152. public const INVOICE_SENDING_RESPONSE_STATUS_SUCCESSFUL_DB = 4;
  153. public const INVOICE_SENDING_RESPONSE_STATUS_SEND_AGAIN_DB = 5;
  154. /**
  155. *
  156. */
  157. public static function getDbResponseStatusByStatus(string $responseStatus): int
  158. {
  159. $dbStatus = 0;
  160. switch ($responseStatus)
  161. {
  162. case self::INVOICE_SENDING_RESPONSE_STATUS_ACCEPTED:
  163. $dbStatus = self::INVOICE_SENDING_RESPONSE_STATUS_ACCEPTED_DB;
  164. break;
  165. case self::INVOICE_SENDING_RESPONSE_STATUS_WRONG:
  166. $dbStatus = self::INVOICE_SENDING_RESPONSE_STATUS_WRONG_DB;
  167. break;
  168. case self::INVOICE_SENDING_RESPONSE_STATUS_PARTIALLY_SUCCESSFUL:
  169. $dbStatus = self::INVOICE_SENDING_RESPONSE_STATUS_PARTIALLY_SUCCESSFUL_DB;
  170. break;
  171. case self::INVOICE_SENDING_RESPONSE_STATUS_SUCCESSFUL:
  172. $dbStatus = self::INVOICE_SENDING_RESPONSE_STATUS_SUCCESSFUL_DB;
  173. break;
  174. case self::INVOICE_SENDING_RESPONSE_STATUS_SEND_AGAIN:
  175. $dbStatus = self::INVOICE_SENDING_RESPONSE_STATUS_SEND_AGAIN_DB;
  176. break;
  177. }
  178. return $dbStatus;
  179. }
  180. /**
  181. *
  182. */
  183. public static function getVatCodeByVat(int $vat): string
  184. {
  185. $ntakCode = NtakConst::VAT_CODE_0;
  186. switch ($vat) {
  187. case 5:
  188. $ntakCode = NtakConst::VAT_CODE_5;
  189. break;
  190. case 18:
  191. $ntakCode = NtakConst::VAT_CODE_18;
  192. break;
  193. case 27:
  194. $ntakCode = NtakConst::VAT_CODE_27;
  195. break;
  196. }
  197. return $ntakCode;
  198. }
  199. }