@kreiseck/kasseneck-api 1.11.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +2 -1
  3. package/dist/cjs/client/aufrufe.d.ts +4 -4
  4. package/dist/cjs/client/aufrufe.js +15 -0
  5. package/dist/cjs/client/receipts.d.ts +5 -0
  6. package/dist/cjs/client/receipts.js +65 -6
  7. package/dist/cjs/enums/voucher-action.d.ts +2 -0
  8. package/dist/cjs/enums/voucher-action.js +2 -0
  9. package/dist/cjs/enums/voucher-type.d.ts +10 -0
  10. package/dist/cjs/enums/voucher-type.js +10 -0
  11. package/dist/cjs/index.d.ts +3 -3
  12. package/dist/cjs/index.js +8 -3
  13. package/dist/cjs/models/index.d.ts +2 -2
  14. package/dist/cjs/models/index.js +6 -2
  15. package/dist/cjs/models/receipt-errors.d.ts +1 -1
  16. package/dist/cjs/models/receipt-errors.js +2 -0
  17. package/dist/cjs/models/receipt-item.d.ts +11 -3
  18. package/dist/cjs/models/receipt-item.js +22 -1
  19. package/dist/cjs/models/receipt.d.ts +13 -1
  20. package/dist/cjs/models/receipt.js +18 -2
  21. package/dist/cjs/models/voucher.d.ts +57 -4
  22. package/dist/cjs/models/voucher.js +111 -3
  23. package/dist/cjs/partner/fehler.d.ts +1 -1
  24. package/dist/cjs/partner/fehler.js +2 -0
  25. package/dist/cjs/partner/index.d.ts +1 -1
  26. package/dist/cjs/partner/typen.d.ts +7 -1
  27. package/dist/cjs/partner/typen.js +3 -0
  28. package/dist/cjs/pos/client.d.ts +2 -1
  29. package/dist/cjs/pos/client.js +3 -1
  30. package/dist/cjs/pos/gutschein.d.ts +90 -0
  31. package/dist/cjs/pos/gutschein.js +164 -0
  32. package/dist/cjs/pos/index.d.ts +3 -2
  33. package/dist/cjs/pos/index.js +13 -2
  34. package/dist/cjs/pos/settings.d.ts +3 -0
  35. package/dist/cjs/pos/settings.js +12 -10
  36. package/dist/cjs/pos/texte.d.ts +156 -0
  37. package/dist/cjs/pos/texte.js +72 -1
  38. package/dist/cjs/react/index.js +8 -2
  39. package/dist/cjs/receipt/due.d.ts +83 -2
  40. package/dist/cjs/receipt/due.js +202 -36
  41. package/dist/cjs/receipt/grid.js +13 -1
  42. package/dist/cjs/receipt/gutschein-plan.d.ts +104 -0
  43. package/dist/cjs/receipt/gutschein-plan.js +360 -0
  44. package/dist/cjs/receipt/index.d.ts +1 -1
  45. package/dist/cjs/receipt/index.js +3 -0
  46. package/dist/cjs/receipt/layout.js +175 -8
  47. package/dist/cjs/register/pairing.d.ts +21 -1
  48. package/dist/cjs/register/pairing.js +17 -0
  49. package/dist/cjs/stored/bon-layout.d.ts +8 -0
  50. package/dist/cjs/stored/bon-layout.js +23 -0
  51. package/dist/cjs/stored/draht.d.ts +3 -1
  52. package/dist/cjs/stored/draht.js +53 -6
  53. package/dist/cjs/stored/einstellungen.js +2 -1
  54. package/dist/cjs/stored/gutscheine.d.ts +3 -0
  55. package/dist/cjs/stored/gutscheine.js +60 -0
  56. package/dist/cjs/stored/index.js +2 -17
  57. package/dist/cjs/stored/vokabular.d.ts +6 -4
  58. package/dist/cjs/stored/vokabular.js +48 -2
  59. package/dist/cjs/version.d.ts +1 -1
  60. package/dist/cjs/version.js +1 -1
  61. package/dist/esm/client/aufrufe.d.ts +4 -4
  62. package/dist/esm/client/aufrufe.js +15 -0
  63. package/dist/esm/client/receipts.d.ts +5 -0
  64. package/dist/esm/client/receipts.js +66 -8
  65. package/dist/esm/enums/voucher-action.d.ts +2 -0
  66. package/dist/esm/enums/voucher-action.js +2 -0
  67. package/dist/esm/enums/voucher-type.d.ts +10 -0
  68. package/dist/esm/enums/voucher-type.js +10 -0
  69. package/dist/esm/index.d.ts +3 -3
  70. package/dist/esm/index.js +3 -3
  71. package/dist/esm/models/index.d.ts +2 -2
  72. package/dist/esm/models/index.js +2 -2
  73. package/dist/esm/models/receipt-errors.d.ts +1 -1
  74. package/dist/esm/models/receipt-errors.js +2 -0
  75. package/dist/esm/models/receipt-item.d.ts +11 -3
  76. package/dist/esm/models/receipt-item.js +20 -1
  77. package/dist/esm/models/receipt.d.ts +13 -1
  78. package/dist/esm/models/receipt.js +18 -2
  79. package/dist/esm/models/voucher.d.ts +57 -4
  80. package/dist/esm/models/voucher.js +108 -3
  81. package/dist/esm/partner/fehler.d.ts +1 -1
  82. package/dist/esm/partner/fehler.js +2 -0
  83. package/dist/esm/partner/index.d.ts +1 -1
  84. package/dist/esm/partner/typen.d.ts +7 -1
  85. package/dist/esm/partner/typen.js +3 -0
  86. package/dist/esm/pos/client.d.ts +2 -1
  87. package/dist/esm/pos/client.js +3 -1
  88. package/dist/esm/pos/gutschein.d.ts +90 -0
  89. package/dist/esm/pos/gutschein.js +158 -0
  90. package/dist/esm/pos/index.d.ts +3 -2
  91. package/dist/esm/pos/index.js +4 -2
  92. package/dist/esm/pos/settings.d.ts +3 -0
  93. package/dist/esm/pos/settings.js +2 -0
  94. package/dist/esm/pos/texte.d.ts +156 -0
  95. package/dist/esm/pos/texte.js +70 -0
  96. package/dist/esm/react/index.js +8 -2
  97. package/dist/esm/receipt/due.d.ts +83 -2
  98. package/dist/esm/receipt/due.js +198 -34
  99. package/dist/esm/receipt/grid.js +13 -1
  100. package/dist/esm/receipt/gutschein-plan.d.ts +104 -0
  101. package/dist/esm/receipt/gutschein-plan.js +352 -0
  102. package/dist/esm/receipt/index.d.ts +1 -1
  103. package/dist/esm/receipt/index.js +1 -1
  104. package/dist/esm/receipt/layout.js +175 -8
  105. package/dist/esm/register/pairing.d.ts +21 -1
  106. package/dist/esm/register/pairing.js +16 -0
  107. package/dist/esm/stored/bon-layout.d.ts +8 -0
  108. package/dist/esm/stored/bon-layout.js +20 -0
  109. package/dist/esm/stored/draht.d.ts +3 -1
  110. package/dist/esm/stored/draht.js +52 -6
  111. package/dist/esm/stored/einstellungen.js +3 -2
  112. package/dist/esm/stored/gutscheine.d.ts +3 -0
  113. package/dist/esm/stored/gutscheine.js +56 -0
  114. package/dist/esm/stored/index.js +2 -17
  115. package/dist/esm/stored/vokabular.d.ts +6 -4
  116. package/dist/esm/stored/vokabular.js +48 -2
  117. package/dist/esm/version.d.ts +1 -1
  118. package/dist/esm/version.js +1 -1
  119. package/fixtures/expected/voucher-cancellation.grid32.txt +30 -0
  120. package/fixtures/expected/voucher-cancellation.grid48.txt +29 -0
  121. package/fixtures/expected/voucher-cancellation.lines.json +252 -0
  122. package/fixtures/expected/voucher-cancellation.sheet32.json +206 -0
  123. package/fixtures/expected/voucher-cancellation.sheet48.json +200 -0
  124. package/fixtures/expected/voucher-multi-purpose-redeem.grid32.txt +25 -0
  125. package/fixtures/expected/voucher-multi-purpose-redeem.grid48.txt +25 -0
  126. package/fixtures/expected/voucher-multi-purpose-redeem.lines.json +259 -0
  127. package/fixtures/expected/voucher-multi-purpose-redeem.sheet32.json +176 -0
  128. package/fixtures/expected/voucher-multi-purpose-redeem.sheet48.json +176 -0
  129. package/fixtures/expected/voucher-multi-purpose-sale.grid32.txt +24 -0
  130. package/fixtures/expected/voucher-multi-purpose-sale.grid48.txt +23 -0
  131. package/fixtures/expected/voucher-multi-purpose-sale.lines.json +216 -0
  132. package/fixtures/expected/voucher-multi-purpose-sale.sheet32.json +170 -0
  133. package/fixtures/expected/voucher-multi-purpose-sale.sheet48.json +164 -0
  134. package/fixtures/expected/voucher-payout.grid32.txt +23 -0
  135. package/fixtures/expected/voucher-payout.grid48.txt +22 -0
  136. package/fixtures/expected/voucher-payout.lines.json +216 -0
  137. package/fixtures/expected/voucher-payout.sheet32.json +164 -0
  138. package/fixtures/expected/voucher-payout.sheet48.json +158 -0
  139. package/fixtures/expected/voucher-service-redeem.grid32.txt +26 -0
  140. package/fixtures/expected/voucher-service-redeem.grid48.txt +25 -0
  141. package/fixtures/expected/voucher-service-redeem.lines.json +261 -0
  142. package/fixtures/expected/voucher-service-redeem.sheet32.json +182 -0
  143. package/fixtures/expected/voucher-service-redeem.sheet48.json +176 -0
  144. package/fixtures/expected/voucher-single-purpose-redeem-exempt.grid32.txt +30 -0
  145. package/fixtures/expected/voucher-single-purpose-redeem-exempt.grid48.txt +29 -0
  146. package/fixtures/expected/voucher-single-purpose-redeem-exempt.lines.json +331 -0
  147. package/fixtures/expected/voucher-single-purpose-redeem-exempt.sheet32.json +206 -0
  148. package/fixtures/expected/voucher-single-purpose-redeem-exempt.sheet48.json +200 -0
  149. package/fixtures/expected/voucher-single-purpose-redeem.grid32.txt +25 -0
  150. package/fixtures/expected/voucher-single-purpose-redeem.grid48.txt +24 -0
  151. package/fixtures/expected/voucher-single-purpose-redeem.lines.json +246 -0
  152. package/fixtures/expected/voucher-single-purpose-redeem.sheet32.json +176 -0
  153. package/fixtures/expected/voucher-single-purpose-redeem.sheet48.json +170 -0
  154. package/fixtures/expected/voucher-single-purpose-sale.grid32.txt +26 -0
  155. package/fixtures/expected/voucher-single-purpose-sale.grid48.txt +24 -0
  156. package/fixtures/expected/voucher-single-purpose-sale.lines.json +225 -0
  157. package/fixtures/expected/voucher-single-purpose-sale.sheet32.json +182 -0
  158. package/fixtures/expected/voucher-single-purpose-sale.sheet48.json +170 -0
  159. package/fixtures/hobex-hps-codes.json +1 -1
  160. package/fixtures/invoice-api.schema.json +1 -1
  161. package/fixtures/invoice-texts.json +1 -1
  162. package/fixtures/manifest.json +64 -0
  163. package/fixtures/pos-texts.json +170 -1
  164. package/fixtures/receipt-due-generated.json +1 -1
  165. package/fixtures/receipt-due-voucher-generated.json +494 -0
  166. package/fixtures/receipts/voucher-cancellation.json +76 -0
  167. package/fixtures/receipts/voucher-multi-purpose-redeem.json +62 -0
  168. package/fixtures/receipts/voucher-multi-purpose-sale.json +63 -0
  169. package/fixtures/receipts/voucher-payout.json +65 -0
  170. package/fixtures/receipts/voucher-service-redeem.json +82 -0
  171. package/fixtures/receipts/voucher-single-purpose-redeem-exempt.json +86 -0
  172. package/fixtures/receipts/voucher-single-purpose-redeem.json +71 -0
  173. package/fixtures/receipts/voucher-single-purpose-sale.json +88 -0
  174. package/fixtures/surface.json +35 -5
  175. package/fixtures/v3/antworten/belege.json +3405 -3
  176. package/fixtures/v3/antworten/belegmail.json +5 -2
  177. package/fixtures/v3/antworten/kasse-belege.json +3423 -3
  178. package/fixtures/v3/antworten/kasse.json +621 -14
  179. package/fixtures/v3/antworten/lager.json +1 -1
  180. package/fixtures/v3/antworten/rechnungen.json +5 -2
  181. package/fixtures/v3/antworten/storno.json +214 -3
  182. package/fixtures/v3/stored/belege.json +5 -2
  183. package/fixtures/v3/stored/kasse.json +225 -4
  184. package/fixtures/v3/stored/rechnungen.json +5 -2
  185. package/fixtures/v3/v3-vokabular.json +1375 -23
  186. package/fixtures/v3/zahlbetrag-faelle.json +293 -3
  187. package/package.json +4 -1
@@ -0,0 +1,170 @@
1
+ {
2
+ "charsPerLine": 48,
3
+ "blocks": [
4
+ {
5
+ "kind": "logo",
6
+ "widthFraction": 0.5208333333333334,
7
+ "heightLines": 5
8
+ },
9
+ {
10
+ "kind": "line",
11
+ "text": " ",
12
+ "bold": false,
13
+ "blank": true
14
+ },
15
+ {
16
+ "kind": "line",
17
+ "text": " Melisse Nails e.U. ",
18
+ "bold": true,
19
+ "blank": false
20
+ },
21
+ {
22
+ "kind": "line",
23
+ "text": " Melissenweg 7 ",
24
+ "bold": false,
25
+ "blank": false
26
+ },
27
+ {
28
+ "kind": "line",
29
+ "text": " 1070 Wien ",
30
+ "bold": false,
31
+ "blank": false
32
+ },
33
+ {
34
+ "kind": "line",
35
+ "text": " ATU12345675 ",
36
+ "bold": false,
37
+ "blank": false
38
+ },
39
+ {
40
+ "kind": "line",
41
+ "text": " +43 1 2345678 ",
42
+ "bold": false,
43
+ "blank": false
44
+ },
45
+ {
46
+ "kind": "line",
47
+ "text": " ",
48
+ "bold": false,
49
+ "blank": true
50
+ },
51
+ {
52
+ "kind": "line",
53
+ "text": "Datum: 19.10.2026 10:15:30",
54
+ "bold": false,
55
+ "blank": false
56
+ },
57
+ {
58
+ "kind": "line",
59
+ "text": "Kassen-ID: KASSE1",
60
+ "bold": false,
61
+ "blank": false
62
+ },
63
+ {
64
+ "kind": "line",
65
+ "text": "Beleg-ID: AT0-KASSE1-75",
66
+ "bold": false,
67
+ "blank": false
68
+ },
69
+ {
70
+ "kind": "line",
71
+ "text": " ",
72
+ "bold": false,
73
+ "blank": true
74
+ },
75
+ {
76
+ "kind": "line",
77
+ "text": "1 x Einzweckgutschein 20 % 50,00 A",
78
+ "bold": false,
79
+ "blank": false
80
+ },
81
+ {
82
+ "kind": "line",
83
+ "text": "····-····-JJJ2 ",
84
+ "bold": false,
85
+ "blank": false
86
+ },
87
+ {
88
+ "kind": "line",
89
+ "text": "1 x Leistungsgutschein 10× 350,00 A",
90
+ "bold": false,
91
+ "blank": false
92
+ },
93
+ {
94
+ "kind": "line",
95
+ "text": "Maniküre ····-····-RRRF ",
96
+ "bold": false,
97
+ "blank": false
98
+ },
99
+ {
100
+ "kind": "line",
101
+ "text": " ",
102
+ "bold": false,
103
+ "blank": true
104
+ },
105
+ {
106
+ "kind": "line",
107
+ "text": "MwSt% MwSt Netto Brutto",
108
+ "bold": false,
109
+ "blank": false
110
+ },
111
+ {
112
+ "kind": "line",
113
+ "text": "A 20% 66,67 333,33 400,00",
114
+ "bold": false,
115
+ "blank": false
116
+ },
117
+ {
118
+ "kind": "line",
119
+ "text": "------------------------------------------------",
120
+ "bold": false,
121
+ "blank": false
122
+ },
123
+ {
124
+ "kind": "line",
125
+ "text": "Gesamt: 400,00 €",
126
+ "bold": false,
127
+ "blank": false
128
+ },
129
+ {
130
+ "kind": "line",
131
+ "text": "Zahlungsart: Barzahlung",
132
+ "bold": false,
133
+ "blank": false
134
+ },
135
+ {
136
+ "kind": "line",
137
+ "text": " ",
138
+ "bold": false,
139
+ "blank": true
140
+ },
141
+ {
142
+ "kind": "qr",
143
+ "payload": "_R1-AT1_KASSE1_AT0-KASSE1-75_2026-10-19T10:15:30_400,00_0,00_0,00_0,00_0,00_UMSATZ_VORGAENGER_5A1C3E07_SIGNATUR",
144
+ "widthFraction": 0.5520833333333334
145
+ },
146
+ {
147
+ "kind": "line",
148
+ "text": " ",
149
+ "bold": false,
150
+ "blank": true
151
+ },
152
+ {
153
+ "kind": "line",
154
+ "text": " Danke für Ihren Besuch ",
155
+ "bold": false,
156
+ "blank": false
157
+ },
158
+ {
159
+ "kind": "line",
160
+ "text": " ",
161
+ "bold": false,
162
+ "blank": true
163
+ },
164
+ {
165
+ "kind": "brandMark",
166
+ "width": 352,
167
+ "height": 51
168
+ }
169
+ ]
170
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.11.1",
2
+ "version": "1.12.0",
3
3
  "measuredOn": {
4
4
  "tid": "3600335",
5
5
  "hpsVersion": "1.10.0",
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "title": "Kasseneck Rechnungs-API",
4
4
  "version": 2,
5
- "package": "1.11.1",
5
+ "package": "1.12.0",
6
6
  "endpoints": {
7
7
  "createCustomer": {
8
8
  "request": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.11.1",
2
+ "version": "1.12.0",
3
3
  "languages": [
4
4
  "de",
5
5
  "en"
@@ -273,6 +273,70 @@
273
273
  "sheet32": "51d940348657c523ac855d2e09c9ac0f72e579a9e6da92d00504b7b656409253",
274
274
  "sheet48": "47e53ab263dd5659ab312c14cb42939ddc172085ea33aaa2c3cdd7f1d9f90468"
275
275
  },
276
+ "voucher-cancellation": {
277
+ "input": "38f4fad042e241d4cea08f235e6225c3d41420e092234978d2575b827a2411e8",
278
+ "expected": "9f77b8bfbe1810d33bef74a255a6309a6d98359661717ec810316f98cdda57b8",
279
+ "grid32": "27717798bb7f1178eb688ee8ac0510e5981e98463960eb7e6e62a7b5b869ad56",
280
+ "grid48": "138d0c26811216a5f12103afe18f625aea0443b973227f9d4658cf7bf9cb6201",
281
+ "sheet32": "e31c0e91f4451acb556df63f7aa257cad7d4387fa650ff081b255c391cca7dbc",
282
+ "sheet48": "ed9c15507f66d6dcbc774abf35e423dd5a40f20ac5d722c4d579bcd37e923674"
283
+ },
284
+ "voucher-multi-purpose-redeem": {
285
+ "input": "cc306b3a70a766aeee9b8728dda65d2f154997951b9c807ed67a85bac3a9a3c4",
286
+ "expected": "dee72991b0d719fca51284046091d558beed0e10216248c2a3bea54c0fdb2072",
287
+ "grid32": "8ad6ac1ccfc844061bee9919f1de8b1e3a7352835af326817aef9183ec9d45c1",
288
+ "grid48": "31a9307be38cb9ed12b21a3bb83fb151f09c7996acbdf00a511bc22390812a37",
289
+ "sheet32": "40a80df15d2c10c253aefa44d7772b9035a6ae899a92f76cb9ec5b6e4ee406d5",
290
+ "sheet48": "775932235490eadf38a8d8fdf47a121f39c291772e0273347ae949a2b6b1b87a"
291
+ },
292
+ "voucher-multi-purpose-sale": {
293
+ "input": "c932b727a00e5c7671d31177fb0a870419792f17b011a2333ef6abee45a4277a",
294
+ "expected": "791ec6282eb73d1fcef9bfd8249482c2097497370742c07d8beb54337301b17d",
295
+ "grid32": "6efb9d4477f59f620135738dbd45a36e113215446bdb8577898a0dde48370630",
296
+ "grid48": "2a1eac91bbfc583f2f848068645bb7528b020885f95da050ad5ae9f3b164f62b",
297
+ "sheet32": "601c90406d9ead5d4e4e3d01c1799f9eb7de175e5707c5714acc6883d5395ea4",
298
+ "sheet48": "de5d250ced23529d3b140261b19338e0b9f0b7b2526e90be6324ad39340e6078"
299
+ },
300
+ "voucher-payout": {
301
+ "input": "c0497bb270f1e475eafa4947d7880fa1f94c8b0560688b0dbeeef0896a418450",
302
+ "expected": "22a791506a6eb97c2083e379ddf903d110204e7f2cc989a68cc130fc259251aa",
303
+ "grid32": "8be8b745268dfca2e3c6bbbf07c71a5680474fa04d353e2bfe1ddbacd57e4c61",
304
+ "grid48": "65e124fdfcfc2ea46f55ab76d4b1443dad38e46feb4b317181f4b41172d2c1aa",
305
+ "sheet32": "b52be79f45d97d3c0c68bc7b78fb11625991f232a853f52b1387b38610041bc2",
306
+ "sheet48": "70947525bb7735dfdb977958930fa9e0640708abc8577b10a6f7d2daa4d4207e"
307
+ },
308
+ "voucher-service-redeem": {
309
+ "input": "713095a9074c9b9bf11b80999a27e3a90807f28a58df19f4e78a768307351b42",
310
+ "expected": "437936515c8e20fe4e839de84f4a394217d7eed0c9fd9e833a39674db6671351",
311
+ "grid32": "948fd297dd33f0462eda06980ff5854ee6d410e9ef528b3b804af144d5cf9aeb",
312
+ "grid48": "95a232e712e8408721d1b0c24fb4991171a26f26f404494a43cff81922020ed6",
313
+ "sheet32": "4b0f93a32502574fea73d0632274f5bd37e1999281e7b4cec218f9435b9d3055",
314
+ "sheet48": "2f41f292ff23676ff302a9b40465c11dd2c91ac9f1bc695afaffdebed4029d96"
315
+ },
316
+ "voucher-single-purpose-redeem": {
317
+ "input": "122878aabbb795fdbc25509755e1e460bbc8f72bc7afef05542c41345ede7ea5",
318
+ "expected": "933e6a93fe608c5d0a03b392dcfcc9d8ec789dd5b508bada60d8079568cd51b2",
319
+ "grid32": "3a21155004e45efb7d52013f7f29a88541e36f356af0a0198f62e14e95d3e1c4",
320
+ "grid48": "14b3326bafc6f7e3b823fab0a424e8ee1efc5f3e24ef097d6a01dd8cd6ad30a7",
321
+ "sheet32": "a4978b5faf1ec1d4ae9ca5602ca208b2af961b224528a213a42c30a0173870e4",
322
+ "sheet48": "3e22a68e9d5690fd66523ddab3899fff413cc427f444ce362417d9c280d55da7"
323
+ },
324
+ "voucher-single-purpose-redeem-exempt": {
325
+ "input": "8780cb6bfbbdcc1326798c6b99b91b9231252b055a21fa93c3468aacaf9ce85f",
326
+ "expected": "15c0623cd21263c76e04ae4fe359b915c9dd17cd3a8b379b6ecc0201f29805ad",
327
+ "grid32": "3f1a6fbf95fea0dd62185eb966e6326868d691408655eca0d0b689e3b3aa6e79",
328
+ "grid48": "372a639cfd586e87f42ac73c34d5c21cc47d53ecab4c4078877a4bc472dccbcc",
329
+ "sheet32": "5fb94ad7dc8d1a27ec1fd1607f0b8743f3e0b03883210466b90ee236edd1d809",
330
+ "sheet48": "d23a0198af050f7b35a4545795a15820d8c355e03e57339076f6176013d726a9"
331
+ },
332
+ "voucher-single-purpose-sale": {
333
+ "input": "bbb3a5de366a5ca05eaee3fd7d1f699c78f54ed1bed818e19b6eebc5b88f2e82",
334
+ "expected": "3b98bd76d6d7774d80bf8fe9c61e8e17aada1574e6611bcd5d65ad65e97e408d",
335
+ "grid32": "d18d949f96406c2885ee9d69f42c1ac81dd39757b017c380afe2146894023f4f",
336
+ "grid48": "b3ff2f94508a6904e51230b2af7364ea880d9c6903e80648ac09f07cf91aef71",
337
+ "sheet32": "61b88e45db738f55cbd0731eb927a9649fb844043108db90675c64bcd5e2c4e1",
338
+ "sheet48": "a227c5b8d78b88771cc38514983411f460dd51d7b601992390f76d1063253fec"
339
+ },
276
340
  "zero-annual": {
277
341
  "input": "2321ff35715b00c561839b56045ce1e47c87de284b5cce70190c4db572fc0e63",
278
342
  "expected": "b0408d0c79516432a48edb8edd0c680a2b3333fa60bfb2b2d057545af545cd78",
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.11.1",
2
+ "version": "1.12.0",
3
3
  "messages": {
4
4
  "network.no_connection": {
5
5
  "text": "Keine Verbindung zum Server. Bitte die Internetverbindung prüfen und erneut versuchen."
@@ -351,6 +351,60 @@
351
351
  "cancellation.tip_refunded_with_voucher": {
352
352
  "text": "Beleg mit Gutschein: Das Trinkgeld wird mitstorniert."
353
353
  },
354
+ "voucher_error.not_found": {
355
+ "text": "Diesen Gutschein gibt es in diesem Betrieb nicht."
356
+ },
357
+ "voucher_error.invalid": {
358
+ "text": "Dieser Gutschein ist nicht gültig."
359
+ },
360
+ "voucher_error.invalid_code": {
361
+ "text": "Der Code ist nicht vollständig oder falsch abgetippt."
362
+ },
363
+ "voucher_error.expired": {
364
+ "text": "Der Gutschein ist abgelaufen."
365
+ },
366
+ "voucher_error.used_up": {
367
+ "text": "Der Gutschein ist bereits aufgebraucht."
368
+ },
369
+ "voucher_error.blocked": {
370
+ "text": "Der Gutschein ist gesperrt."
371
+ },
372
+ "voucher_error.cancelled": {
373
+ "text": "Der Gutschein wurde storniert."
374
+ },
375
+ "voucher_error.insufficient_balance": {
376
+ "text": "Auf dem Gutschein ist nicht genug Guthaben."
377
+ },
378
+ "voucher_error.exceeds_total": {
379
+ "text": "Der Gutschein deckt mehr, als offen ist. Bitte den Betrag anpassen."
380
+ },
381
+ "voucher_error.balance_changed": {
382
+ "text": "Der Gutschein wurde gerade anderswo verwendet. Bitte neu prüfen."
383
+ },
384
+ "voucher_error.rate_mismatch": {
385
+ "text": "Dieser Gutschein gilt nur für Leistungen mit {rate} %.",
386
+ "placeholders": [
387
+ "rate"
388
+ ]
389
+ },
390
+ "voucher_error.item_mismatch": {
391
+ "text": "Dieser Gutschein gilt nicht für die gewählten Positionen."
392
+ },
393
+ "voucher_error.already_used": {
394
+ "text": "Dieser Gutschein wurde bereits verwendet."
395
+ },
396
+ "voucher_error.partial_cancel": {
397
+ "text": "Belege mit Gutschein lassen sich nur ganz stornieren."
398
+ },
399
+ "voucher_error.settings_missing": {
400
+ "text": "Die Gutschein-Einstellungen fehlen. Bitte die Kasse neu laden."
401
+ },
402
+ "voucher_error.too_many_checks": {
403
+ "text": "Zu viele Versuche. Bitte in einer Stunde wieder."
404
+ },
405
+ "voucher_error.sale_off": {
406
+ "text": "Gutscheine verkaufen geht hier noch nicht."
407
+ },
354
408
  "split.setting_hint": {
355
409
  "text": "Ein Tisch zahlt in Teilen: jede Zahlung bar oder mit Karte, mit eigenem Trinkgeld – am Ende ein Beleg für alles."
356
410
  },
@@ -1017,6 +1071,24 @@
1017
1071
  "payments_sum_mismatch": "cancellation.sum_mismatch",
1018
1072
  "cancellation_outcome_unknown": "cancellation.outcome_unknown"
1019
1073
  },
1074
+ "voucherErrors": {
1075
+ "voucher_not_found": "voucher_error.not_found",
1076
+ "voucher_invalid": "voucher_error.invalid",
1077
+ "voucher_invalid_code": "voucher_error.invalid_code",
1078
+ "voucher_expired": "voucher_error.expired",
1079
+ "voucher_used_up": "voucher_error.used_up",
1080
+ "voucher_blocked": "voucher_error.blocked",
1081
+ "voucher_cancelled": "voucher_error.cancelled",
1082
+ "voucher_insufficient_balance": "voucher_error.insufficient_balance",
1083
+ "voucher_exceeds_total": "voucher_error.exceeds_total",
1084
+ "voucher_balance_changed": "voucher_error.balance_changed",
1085
+ "voucher_rate_mismatch": "voucher_error.rate_mismatch",
1086
+ "voucher_item_mismatch": "voucher_error.item_mismatch",
1087
+ "voucher_already_used": "voucher_error.already_used",
1088
+ "voucher_partial_cancel": "voucher_error.partial_cancel",
1089
+ "voucher_settings_missing": "voucher_error.settings_missing",
1090
+ "too_many_voucher_checks": "voucher_error.too_many_checks"
1091
+ },
1020
1092
  "labels": {
1021
1093
  "common.cancel": {
1022
1094
  "text": "Abbrechen"
@@ -1721,6 +1793,103 @@
1721
1793
  "shift.voucher_redeemed": {
1722
1794
  "text": "Gutschein eingelöst"
1723
1795
  },
1796
+ "voucher.button": {
1797
+ "text": "Gutschein"
1798
+ },
1799
+ "voucher.redeem": {
1800
+ "text": "Gutschein einlösen"
1801
+ },
1802
+ "voucher.sell": {
1803
+ "text": "Gutschein verkaufen"
1804
+ },
1805
+ "voucher.payout": {
1806
+ "text": "Gutschein auszahlen"
1807
+ },
1808
+ "voucher.code": {
1809
+ "text": "Code"
1810
+ },
1811
+ "voucher.scan": {
1812
+ "text": "Code scannen"
1813
+ },
1814
+ "voucher.check": {
1815
+ "text": "Prüfen"
1816
+ },
1817
+ "voucher.amount": {
1818
+ "text": "Betrag"
1819
+ },
1820
+ "voucher.balance": {
1821
+ "text": "Rest am Gutschein: {amount}",
1822
+ "placeholders": [
1823
+ "amount"
1824
+ ]
1825
+ },
1826
+ "voucher.remaining_quantity": {
1827
+ "text": "{n} von {total} übrig",
1828
+ "placeholders": [
1829
+ "n",
1830
+ "total"
1831
+ ]
1832
+ },
1833
+ "voucher.reason": {
1834
+ "text": "Grund"
1835
+ },
1836
+ "voucher.multi_purpose": {
1837
+ "text": "Mehrzweckgutschein"
1838
+ },
1839
+ "voucher.single_purpose": {
1840
+ "text": "Einzweckgutschein {rate} %",
1841
+ "placeholders": [
1842
+ "rate"
1843
+ ]
1844
+ },
1845
+ "voucher.service": {
1846
+ "text": "Leistungsgutschein"
1847
+ },
1848
+ "voucher.promotion": {
1849
+ "text": "Aktionsgutschein"
1850
+ },
1851
+ "voucher.payment_line": {
1852
+ "text": "Gutschein ····-{suffix}",
1853
+ "placeholders": [
1854
+ "suffix"
1855
+ ]
1856
+ },
1857
+ "voucher.covers_items": {
1858
+ "text": "Deckt: {items}",
1859
+ "placeholders": [
1860
+ "items"
1861
+ ]
1862
+ },
1863
+ "voucher.code_shown_once": {
1864
+ "text": "Code nur jetzt sichtbar: {code}",
1865
+ "placeholders": [
1866
+ "code"
1867
+ ]
1868
+ },
1869
+ "voucher.not_in_split": {
1870
+ "text": "Gutscheine gehen beim getrennten Kassieren nicht."
1871
+ },
1872
+ "voucher.payout_not_possible": {
1873
+ "text": "Dieser Gutschein lässt sich nicht auszahlen."
1874
+ },
1875
+ "voucher.add_article": {
1876
+ "text": "{article} hinzufügen",
1877
+ "placeholders": [
1878
+ "article"
1879
+ ]
1880
+ },
1881
+ "voucher.payout_confirm": {
1882
+ "text": "{amount} bar auszahlen?",
1883
+ "placeholders": [
1884
+ "amount"
1885
+ ]
1886
+ },
1887
+ "cancellation.voucher_back": {
1888
+ "text": "{amount} geht zurück auf den Gutschein",
1889
+ "placeholders": [
1890
+ "amount"
1891
+ ]
1892
+ },
1724
1893
  "shift.all_payments": {
1725
1894
  "text": "Alle Zahlungen dieser Schicht (bar + unbar)"
1726
1895
  },
@@ -3,7 +3,7 @@
3
3
  "_source": {
4
4
  "beleg-toepfe.js": "60630493a589469d1cdfeea6fef667d20feb8f3a156819ba4d90b21501fdc4ea",
5
5
  "tip-core.js": "2d5b65c3cbe96935c8537d35f02b30906a7477afa340e18325b60bd60af1c7d9",
6
- "zahlungen-core.js": "741ef265dbb864a3efdfead81605aa875afad7ae8ca05fb9c71390f1379bae4f",
6
+ "zahlungen-core.js": "7ea8b07dfd222741049a47bec0149953d5696b0e1e089bf9919d4bd2cafff530",
7
7
  "vat-buckets.js": "92c69632c0120dbb09a22cef5a36b052e81605d99907eeda7289b0d3db78454c"
8
8
  },
9
9
  "seed": 20260928,