@kreiseck/kasseneck-api 0.31.0 → 1.0.0-rc.2

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 (712) hide show
  1. package/CHANGELOG.md +317 -0
  2. package/README.de.md +11 -7
  3. package/README.md +509 -126
  4. package/dist/cjs/client/api.d.ts +7 -6
  5. package/dist/cjs/client/api.js +2 -2
  6. package/dist/cjs/client/aufrufe.d.ts +29 -5
  7. package/dist/cjs/client/aufrufe.js +114 -2
  8. package/dist/cjs/client/auth.d.ts +2 -0
  9. package/dist/cjs/client/auth.js +17 -1
  10. package/dist/cjs/client/cashregisters.d.ts +1 -1
  11. package/dist/cjs/client/cashregisters.js +2 -2
  12. package/dist/cjs/client/errors.d.ts +94 -19
  13. package/dist/cjs/client/errors.js +132 -28
  14. package/dist/cjs/client/fehlercodes.d.ts +9 -0
  15. package/dist/cjs/client/fehlercodes.js +36 -0
  16. package/dist/cjs/client/index.d.ts +5 -5
  17. package/dist/cjs/client/index.js +11 -3
  18. package/dist/cjs/client/receipts.d.ts +131 -124
  19. package/dist/cjs/client/receipts.js +196 -137
  20. package/dist/cjs/client/reports.d.ts +26 -4
  21. package/dist/cjs/client/reports.js +37 -4
  22. package/dist/cjs/client/status.d.ts +3 -3
  23. package/dist/cjs/client/status.js +7 -7
  24. package/dist/cjs/client/transport.d.ts +56 -4
  25. package/dist/cjs/client/transport.js +234 -25
  26. package/dist/cjs/enums/vat-rate.d.ts +2 -2
  27. package/dist/cjs/enums/vat-rate.js +1 -1
  28. package/dist/cjs/index.d.ts +4 -3
  29. package/dist/cjs/index.js +42 -13
  30. package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
  31. package/dist/cjs/{rechnung → invoice}/api.js +6 -6
  32. package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
  33. package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
  34. package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
  35. package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
  36. package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
  37. package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
  38. package/dist/cjs/invoice/fehler.d.ts +31 -0
  39. package/dist/cjs/invoice/fehler.js +39 -0
  40. package/dist/cjs/invoice/index.d.ts +21 -0
  41. package/dist/cjs/invoice/index.js +86 -0
  42. package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
  43. package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
  44. package/dist/cjs/invoice/texte.d.ts +224 -0
  45. package/dist/cjs/invoice/texte.js +425 -0
  46. package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
  47. package/dist/cjs/{rechnung → invoice}/vertrag.d.ts +97 -71
  48. package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
  49. package/dist/cjs/models/cancellation.d.ts +43 -24
  50. package/dist/cjs/models/cancellation.js +94 -46
  51. package/dist/cjs/models/hobex-receipt.d.ts +3 -3
  52. package/dist/cjs/models/hobex-receipt.js +35 -35
  53. package/dist/cjs/models/index.d.ts +6 -5
  54. package/dist/cjs/models/index.js +22 -2
  55. package/dist/cjs/models/payment-errors.d.ts +32 -15
  56. package/dist/cjs/models/payment-errors.js +80 -32
  57. package/dist/cjs/models/receipt-company.d.ts +6 -5
  58. package/dist/cjs/models/receipt-company.js +4 -4
  59. package/dist/cjs/models/receipt-email.d.ts +32 -18
  60. package/dist/cjs/models/receipt-email.js +69 -24
  61. package/dist/cjs/models/receipt-errors.d.ts +39 -0
  62. package/dist/cjs/models/receipt-errors.js +94 -0
  63. package/dist/cjs/models/receipt-item.d.ts +9 -1
  64. package/dist/cjs/models/receipt-item.js +3 -0
  65. package/dist/cjs/models/receipt-summary.d.ts +10 -4
  66. package/dist/cjs/models/receipt-summary.js +10 -4
  67. package/dist/cjs/models/receipt.d.ts +31 -2
  68. package/dist/cjs/models/receipt.js +12 -1
  69. package/dist/cjs/models/voucher.d.ts +7 -6
  70. package/dist/cjs/models/voucher.js +2 -7
  71. package/dist/cjs/partner/ablauf.d.ts +10 -10
  72. package/dist/cjs/partner/ablauf.js +29 -29
  73. package/dist/cjs/partner/api.d.ts +26 -23
  74. package/dist/cjs/partner/api.js +11 -13
  75. package/dist/cjs/partner/auth.d.ts +1 -1
  76. package/dist/cjs/partner/auth.js +2 -2
  77. package/dist/cjs/partner/betrieb.d.ts +7 -7
  78. package/dist/cjs/partner/betrieb.js +10 -10
  79. package/dist/cjs/partner/endpunkte.d.ts +27 -14
  80. package/dist/cjs/partner/endpunkte.js +80 -39
  81. package/dist/cjs/partner/fehler.d.ts +60 -30
  82. package/dist/cjs/partner/fehler.js +99 -43
  83. package/dist/cjs/partner/index.d.ts +13 -12
  84. package/dist/cjs/partner/index.js +35 -22
  85. package/dist/cjs/partner/secret.d.ts +3 -3
  86. package/dist/cjs/partner/secret.js +6 -6
  87. package/dist/cjs/partner/typen.d.ts +129 -71
  88. package/dist/cjs/partner/typen.js +76 -3
  89. package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
  90. package/dist/cjs/partner/webhook-signatur.js +12 -12
  91. package/dist/cjs/partner/webhooks.d.ts +60 -32
  92. package/dist/cjs/partner/webhooks.js +40 -34
  93. package/dist/cjs/payments/hobex.d.ts +11 -3
  94. package/dist/cjs/payments/hobex.js +17 -5
  95. package/dist/cjs/payments/stripe.d.ts +5 -2
  96. package/dist/cjs/payments/stripe.js +10 -5
  97. package/dist/cjs/pos/artikel.d.ts +90 -0
  98. package/dist/cjs/pos/artikel.js +89 -0
  99. package/dist/cjs/pos/client.d.ts +27 -0
  100. package/dist/cjs/pos/client.js +144 -0
  101. package/dist/cjs/pos/drucker.d.ts +86 -0
  102. package/dist/cjs/pos/drucker.js +78 -0
  103. package/dist/cjs/pos/errors.d.ts +36 -0
  104. package/dist/cjs/pos/errors.js +95 -0
  105. package/dist/cjs/pos/index.d.ts +15 -0
  106. package/dist/cjs/pos/index.js +102 -0
  107. package/dist/cjs/pos/settings.d.ts +313 -0
  108. package/dist/cjs/pos/settings.js +376 -0
  109. package/dist/cjs/pos/texte.d.ts +883 -0
  110. package/dist/cjs/pos/texte.js +489 -0
  111. package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
  112. package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
  113. package/dist/cjs/printing/escpos.d.ts +29 -29
  114. package/dist/cjs/printing/escpos.js +61 -61
  115. package/dist/cjs/printing/index.d.ts +2 -2
  116. package/dist/cjs/printing/index.js +17 -17
  117. package/dist/cjs/printing/qr-groesse.d.ts +38 -38
  118. package/dist/cjs/printing/qr-groesse.js +47 -47
  119. package/dist/cjs/printing/webusb.d.ts +2 -2
  120. package/dist/cjs/printing/webusb.js +4 -4
  121. package/dist/cjs/react/index.d.ts +21 -21
  122. package/dist/cjs/react/index.js +40 -30
  123. package/dist/cjs/receipt/bild.d.ts +4 -4
  124. package/dist/cjs/receipt/bild.js +11 -11
  125. package/dist/cjs/receipt/blatt.d.ts +46 -46
  126. package/dist/cjs/receipt/blatt.js +59 -59
  127. package/dist/cjs/receipt/discount.d.ts +1 -1
  128. package/dist/cjs/receipt/discount.js +8 -8
  129. package/dist/cjs/receipt/due.d.ts +86 -0
  130. package/dist/cjs/receipt/due.js +261 -0
  131. package/dist/cjs/receipt/epos.d.ts +22 -22
  132. package/dist/cjs/receipt/epos.js +45 -45
  133. package/dist/cjs/receipt/grid.d.ts +10 -10
  134. package/dist/cjs/receipt/grid.js +20 -20
  135. package/dist/cjs/receipt/index.d.ts +9 -8
  136. package/dist/cjs/receipt/index.js +26 -23
  137. package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
  138. package/dist/cjs/receipt/layout-escpos.js +49 -49
  139. package/dist/cjs/receipt/layout.d.ts +28 -23
  140. package/dist/cjs/receipt/layout.js +45 -21
  141. package/dist/cjs/receipt/marke-daten.d.ts +8 -8
  142. package/dist/cjs/receipt/marke-daten.js +8 -8
  143. package/dist/cjs/receipt/marke.d.ts +7 -7
  144. package/dist/cjs/receipt/marke.js +10 -10
  145. package/dist/cjs/register/errors.d.ts +61 -0
  146. package/dist/cjs/register/errors.js +112 -0
  147. package/dist/cjs/register/index.d.ts +14 -1
  148. package/dist/cjs/register/index.js +20 -1
  149. package/dist/cjs/register/pairing.d.ts +55 -36
  150. package/dist/cjs/register/pairing.js +33 -29
  151. package/dist/cjs/register/session.d.ts +5 -5
  152. package/dist/cjs/register/session.js +7 -7
  153. package/dist/cjs/stored/draht.d.ts +45 -0
  154. package/dist/cjs/stored/draht.js +220 -0
  155. package/dist/cjs/stored/einstellungen.d.ts +23 -0
  156. package/dist/cjs/stored/einstellungen.js +200 -0
  157. package/dist/cjs/stored/index.d.ts +109 -0
  158. package/dist/cjs/stored/index.js +225 -0
  159. package/dist/cjs/stored/vokabular.d.ts +18 -0
  160. package/dist/cjs/stored/vokabular.js +389 -0
  161. package/dist/cjs/version.d.ts +7 -0
  162. package/dist/cjs/version.js +10 -0
  163. package/dist/cjs/vienna-time.d.ts +1 -1
  164. package/dist/cjs/vienna-time.js +2 -2
  165. package/dist/esm/client/api.d.ts +7 -6
  166. package/dist/esm/client/api.js +4 -4
  167. package/dist/esm/client/aufrufe.d.ts +29 -5
  168. package/dist/esm/client/aufrufe.js +111 -1
  169. package/dist/esm/client/auth.d.ts +2 -0
  170. package/dist/esm/client/auth.js +16 -1
  171. package/dist/esm/client/cashregisters.d.ts +1 -1
  172. package/dist/esm/client/cashregisters.js +2 -2
  173. package/dist/esm/client/errors.d.ts +94 -19
  174. package/dist/esm/client/errors.js +129 -27
  175. package/dist/esm/client/fehlercodes.d.ts +9 -0
  176. package/dist/esm/client/fehlercodes.js +32 -0
  177. package/dist/esm/client/index.d.ts +5 -5
  178. package/dist/esm/client/index.js +5 -5
  179. package/dist/esm/client/receipts.d.ts +131 -124
  180. package/dist/esm/client/receipts.js +195 -140
  181. package/dist/esm/client/reports.d.ts +26 -4
  182. package/dist/esm/client/reports.js +36 -4
  183. package/dist/esm/client/status.d.ts +3 -3
  184. package/dist/esm/client/status.js +7 -7
  185. package/dist/esm/client/transport.d.ts +56 -4
  186. package/dist/esm/client/transport.js +233 -24
  187. package/dist/esm/enums/vat-rate.d.ts +2 -2
  188. package/dist/esm/enums/vat-rate.js +1 -1
  189. package/dist/esm/index.d.ts +4 -3
  190. package/dist/esm/index.js +4 -3
  191. package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
  192. package/dist/esm/{rechnung → invoice}/api.js +6 -6
  193. package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
  194. package/dist/esm/{rechnung → invoice}/auth.js +4 -4
  195. package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
  196. package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
  197. package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
  198. package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
  199. package/dist/esm/invoice/fehler.d.ts +31 -0
  200. package/dist/esm/invoice/fehler.js +33 -0
  201. package/dist/esm/invoice/index.d.ts +21 -0
  202. package/dist/esm/invoice/index.js +20 -0
  203. package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
  204. package/dist/esm/{rechnung → invoice}/summen.js +12 -12
  205. package/dist/esm/invoice/texte.d.ts +224 -0
  206. package/dist/esm/invoice/texte.js +421 -0
  207. package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
  208. package/dist/esm/{rechnung → invoice}/vertrag.d.ts +97 -71
  209. package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
  210. package/dist/esm/models/cancellation.d.ts +43 -24
  211. package/dist/esm/models/cancellation.js +90 -45
  212. package/dist/esm/models/hobex-receipt.d.ts +3 -3
  213. package/dist/esm/models/hobex-receipt.js +35 -35
  214. package/dist/esm/models/index.d.ts +6 -5
  215. package/dist/esm/models/index.js +6 -5
  216. package/dist/esm/models/payment-errors.d.ts +32 -15
  217. package/dist/esm/models/payment-errors.js +77 -32
  218. package/dist/esm/models/receipt-company.d.ts +6 -5
  219. package/dist/esm/models/receipt-company.js +4 -4
  220. package/dist/esm/models/receipt-email.d.ts +32 -18
  221. package/dist/esm/models/receipt-email.js +65 -23
  222. package/dist/esm/models/receipt-errors.d.ts +39 -0
  223. package/dist/esm/models/receipt-errors.js +87 -0
  224. package/dist/esm/models/receipt-item.d.ts +9 -1
  225. package/dist/esm/models/receipt-item.js +3 -0
  226. package/dist/esm/models/receipt-summary.d.ts +10 -4
  227. package/dist/esm/models/receipt-summary.js +9 -3
  228. package/dist/esm/models/receipt.d.ts +31 -2
  229. package/dist/esm/models/receipt.js +12 -2
  230. package/dist/esm/models/voucher.d.ts +7 -6
  231. package/dist/esm/models/voucher.js +2 -7
  232. package/dist/esm/partner/ablauf.d.ts +10 -10
  233. package/dist/esm/partner/ablauf.js +27 -27
  234. package/dist/esm/partner/api.d.ts +26 -23
  235. package/dist/esm/partner/api.js +13 -15
  236. package/dist/esm/partner/auth.d.ts +1 -1
  237. package/dist/esm/partner/auth.js +2 -2
  238. package/dist/esm/partner/betrieb.d.ts +7 -7
  239. package/dist/esm/partner/betrieb.js +8 -8
  240. package/dist/esm/partner/endpunkte.d.ts +27 -14
  241. package/dist/esm/partner/endpunkte.js +79 -39
  242. package/dist/esm/partner/fehler.d.ts +60 -30
  243. package/dist/esm/partner/fehler.js +91 -35
  244. package/dist/esm/partner/index.d.ts +13 -12
  245. package/dist/esm/partner/index.js +12 -11
  246. package/dist/esm/partner/secret.d.ts +3 -3
  247. package/dist/esm/partner/secret.js +5 -5
  248. package/dist/esm/partner/typen.d.ts +129 -71
  249. package/dist/esm/partner/typen.js +75 -2
  250. package/dist/esm/partner/webhook-signatur.d.ts +2 -2
  251. package/dist/esm/partner/webhook-signatur.js +12 -12
  252. package/dist/esm/partner/webhooks.d.ts +60 -32
  253. package/dist/esm/partner/webhooks.js +38 -32
  254. package/dist/esm/payments/hobex.d.ts +11 -3
  255. package/dist/esm/payments/hobex.js +18 -6
  256. package/dist/esm/payments/stripe.d.ts +5 -2
  257. package/dist/esm/payments/stripe.js +11 -6
  258. package/dist/esm/pos/artikel.d.ts +90 -0
  259. package/dist/esm/pos/artikel.js +79 -0
  260. package/dist/esm/pos/client.d.ts +27 -0
  261. package/dist/esm/pos/client.js +137 -0
  262. package/dist/esm/pos/drucker.d.ts +86 -0
  263. package/dist/esm/pos/drucker.js +71 -0
  264. package/dist/esm/pos/errors.d.ts +36 -0
  265. package/dist/esm/pos/errors.js +88 -0
  266. package/dist/esm/pos/index.d.ts +15 -0
  267. package/dist/esm/pos/index.js +20 -0
  268. package/dist/esm/pos/settings.d.ts +313 -0
  269. package/dist/esm/pos/settings.js +367 -0
  270. package/dist/esm/pos/texte.d.ts +883 -0
  271. package/dist/esm/pos/texte.js +481 -0
  272. package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
  273. package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
  274. package/dist/esm/printing/escpos.d.ts +29 -29
  275. package/dist/esm/printing/escpos.js +56 -56
  276. package/dist/esm/printing/index.d.ts +2 -2
  277. package/dist/esm/printing/index.js +2 -2
  278. package/dist/esm/printing/qr-groesse.d.ts +38 -38
  279. package/dist/esm/printing/qr-groesse.js +42 -42
  280. package/dist/esm/printing/webusb.d.ts +2 -2
  281. package/dist/esm/printing/webusb.js +4 -4
  282. package/dist/esm/react/index.d.ts +21 -21
  283. package/dist/esm/react/index.js +39 -29
  284. package/dist/esm/receipt/bild.d.ts +4 -4
  285. package/dist/esm/receipt/bild.js +11 -11
  286. package/dist/esm/receipt/blatt.d.ts +46 -46
  287. package/dist/esm/receipt/blatt.js +55 -55
  288. package/dist/esm/receipt/discount.d.ts +1 -1
  289. package/dist/esm/receipt/discount.js +7 -7
  290. package/dist/esm/receipt/due.d.ts +86 -0
  291. package/dist/esm/receipt/due.js +257 -0
  292. package/dist/esm/receipt/epos.d.ts +22 -22
  293. package/dist/esm/receipt/epos.js +47 -47
  294. package/dist/esm/receipt/grid.d.ts +10 -10
  295. package/dist/esm/receipt/grid.js +18 -18
  296. package/dist/esm/receipt/index.d.ts +9 -8
  297. package/dist/esm/receipt/index.js +9 -8
  298. package/dist/esm/receipt/layout-escpos.d.ts +24 -24
  299. package/dist/esm/receipt/layout-escpos.js +51 -51
  300. package/dist/esm/receipt/layout.d.ts +28 -23
  301. package/dist/esm/receipt/layout.js +44 -20
  302. package/dist/esm/receipt/marke-daten.d.ts +8 -8
  303. package/dist/esm/receipt/marke-daten.js +7 -7
  304. package/dist/esm/receipt/marke.d.ts +7 -7
  305. package/dist/esm/receipt/marke.js +10 -10
  306. package/dist/esm/register/errors.d.ts +61 -0
  307. package/dist/esm/register/errors.js +104 -0
  308. package/dist/esm/register/index.d.ts +14 -1
  309. package/dist/esm/register/index.js +13 -0
  310. package/dist/esm/register/pairing.d.ts +55 -36
  311. package/dist/esm/register/pairing.js +33 -29
  312. package/dist/esm/register/session.d.ts +5 -5
  313. package/dist/esm/register/session.js +7 -7
  314. package/dist/esm/stored/draht.d.ts +45 -0
  315. package/dist/esm/stored/draht.js +208 -0
  316. package/dist/esm/stored/einstellungen.d.ts +23 -0
  317. package/dist/esm/stored/einstellungen.js +196 -0
  318. package/dist/esm/stored/index.d.ts +109 -0
  319. package/dist/esm/stored/index.js +217 -0
  320. package/dist/esm/stored/vokabular.d.ts +18 -0
  321. package/dist/esm/stored/vokabular.js +386 -0
  322. package/dist/esm/version.d.ts +7 -0
  323. package/dist/esm/version.js +7 -0
  324. package/dist/esm/vienna-time.d.ts +1 -1
  325. package/dist/esm/vienna-time.js +2 -2
  326. package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
  327. package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
  328. package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
  329. package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
  330. package/fixtures/expected/cancellation-full.sheet32.json +218 -0
  331. package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
  332. package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
  333. package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
  334. package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
  335. package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
  336. package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
  337. package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
  338. package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
  339. package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
  340. package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
  341. package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
  342. package/fixtures/expected/card-custom.sheet32.json +158 -0
  343. package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
  344. package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
  345. package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
  346. package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
  347. package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
  348. package/fixtures/expected/card-gptom.sheet32.json +230 -0
  349. package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
  350. package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
  351. package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
  352. package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
  353. package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
  354. package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
  355. package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
  356. package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
  357. package/fixtures/expected/card-mypos.sheet32.json +254 -0
  358. package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
  359. package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
  360. package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
  361. package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
  362. package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
  363. package/fixtures/expected/card-stripe.sheet32.json +212 -0
  364. package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
  365. package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
  366. package/fixtures/expected/card-sumup.sheet32.json +218 -0
  367. package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
  368. package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
  369. package/fixtures/expected/discount-lines.sheet32.json +200 -0
  370. package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
  371. package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
  372. package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
  373. package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
  374. package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
  375. package/fixtures/expected/discount-simple.sheet32.json +182 -0
  376. package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
  377. package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
  378. package/fixtures/expected/discount-tip.sheet32.json +212 -0
  379. package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
  380. package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
  381. package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
  382. package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
  383. package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
  384. package/fixtures/expected/long-item-name.sheet32.json +176 -0
  385. package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
  386. package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
  387. package/fixtures/expected/sale-card.sheet32.json +176 -0
  388. package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
  389. package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
  390. package/fixtures/expected/sale-cash.sheet32.json +176 -0
  391. package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
  392. package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
  393. package/fixtures/expected/sale-small-business.sheet32.json +182 -0
  394. package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
  395. package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
  396. package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
  397. package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
  398. package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
  399. package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
  400. package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
  401. package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
  402. package/fixtures/expected/split-cash-change.sheet32.json +194 -0
  403. package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
  404. package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
  405. package/fixtures/expected/split-long-amount.sheet32.json +266 -0
  406. package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
  407. package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
  408. package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
  409. package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
  410. package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
  411. package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
  412. package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
  413. package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
  414. package/fixtures/expected/split-tip-card.sheet32.json +272 -0
  415. package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
  416. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
  417. package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
  418. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
  419. package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
  420. package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
  421. package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
  422. package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
  423. package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
  424. package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
  425. package/fixtures/{erwartet → expected}/training.lines.json +2 -2
  426. package/fixtures/expected/training.sheet32.json +236 -0
  427. package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
  428. package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
  429. package/fixtures/expected/zero-annual.sheet32.json +212 -0
  430. package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
  431. package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
  432. package/fixtures/expected/zero-final.sheet32.json +206 -0
  433. package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
  434. package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
  435. package/fixtures/expected/zero-manual.sheet32.json +206 -0
  436. package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
  437. package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
  438. package/fixtures/expected/zero-monthly.sheet32.json +206 -0
  439. package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
  440. package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
  441. package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
  442. package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
  443. package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
  444. package/fixtures/expected/zero-start.sheet32.json +206 -0
  445. package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
  446. package/fixtures/hobex-hps-codes.json +12 -12
  447. package/fixtures/invoice-api-examples/brands-ok.json +8 -0
  448. package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
  449. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
  450. package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
  451. package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
  452. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
  453. package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
  454. package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
  455. package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
  456. package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
  457. package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
  458. package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
  459. package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
  460. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
  461. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
  462. package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
  463. package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
  464. package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
  465. package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
  466. package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
  467. package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
  468. package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
  469. package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
  470. package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
  471. package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
  472. package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
  473. package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
  474. package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
  475. package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
  476. package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
  477. package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
  478. package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
  479. package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
  480. package/fixtures/invoice-texts.json +464 -0
  481. package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
  482. package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
  483. package/fixtures/manifest.json +252 -252
  484. package/fixtures/pos-message-cases.json +32 -0
  485. package/fixtures/pos-settings-defaults.json +149 -0
  486. package/fixtures/{kasse-texte.json → pos-texts.json} +416 -416
  487. package/fixtures/receipt-due-generated.json +1218 -0
  488. package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
  489. package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
  490. package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
  491. package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
  492. package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
  493. package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
  494. package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
  495. package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
  496. package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
  497. package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
  498. package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
  499. package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
  500. package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
  501. package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
  502. package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
  503. package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
  504. package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
  505. package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
  506. package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
  507. package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
  508. package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
  509. package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
  510. package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
  511. package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
  512. package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
  513. package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
  514. package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
  515. package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
  516. package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
  517. package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
  518. package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
  519. package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
  520. package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
  521. package/fixtures/{belege → receipts}/training.json +2 -2
  522. package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
  523. package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
  524. package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
  525. package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
  526. package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
  527. package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
  528. package/fixtures/renames-1.0.json +1490 -0
  529. package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +7 -7
  530. package/fixtures/surface.json +877 -0
  531. package/fixtures/v3/README.md +125 -0
  532. package/fixtures/v3/antworten/belege.json +4738 -0
  533. package/fixtures/v3/antworten/belegmail.json +154 -0
  534. package/fixtures/v3/antworten/kasse-belege.json +4304 -0
  535. package/fixtures/v3/antworten/kasse.json +12716 -0
  536. package/fixtures/v3/antworten/rechnungen.json +1712 -0
  537. package/fixtures/v3/antworten/storno.json +737 -0
  538. package/fixtures/v3/stored/belege.json +502 -0
  539. package/fixtures/v3/stored/kasse.json +3461 -0
  540. package/fixtures/v3/stored/rechnungen.json +750 -0
  541. package/fixtures/v3/v3-vokabular.json +3375 -0
  542. package/fixtures/v3/zahlbetrag-faelle.json +794 -0
  543. package/package.json +32 -18
  544. package/dist/cjs/kasse/artikel.d.ts +0 -83
  545. package/dist/cjs/kasse/artikel.js +0 -79
  546. package/dist/cjs/kasse/client.d.ts +0 -10
  547. package/dist/cjs/kasse/client.js +0 -38
  548. package/dist/cjs/kasse/drucker.d.ts +0 -59
  549. package/dist/cjs/kasse/drucker.js +0 -50
  550. package/dist/cjs/kasse/index.d.ts +0 -13
  551. package/dist/cjs/kasse/index.js +0 -83
  552. package/dist/cjs/kasse/settings.d.ts +0 -229
  553. package/dist/cjs/kasse/settings.js +0 -172
  554. package/dist/cjs/kasse/texte.d.ts +0 -868
  555. package/dist/cjs/kasse/texte.js +0 -474
  556. package/dist/cjs/rechnung/fehler.d.ts +0 -21
  557. package/dist/cjs/rechnung/fehler.js +0 -44
  558. package/dist/cjs/rechnung/index.d.ts +0 -21
  559. package/dist/cjs/rechnung/index.js +0 -82
  560. package/dist/cjs/rechnung/texte.d.ts +0 -222
  561. package/dist/cjs/rechnung/texte.js +0 -425
  562. package/dist/esm/kasse/artikel.d.ts +0 -83
  563. package/dist/esm/kasse/artikel.js +0 -70
  564. package/dist/esm/kasse/client.d.ts +0 -10
  565. package/dist/esm/kasse/client.js +0 -33
  566. package/dist/esm/kasse/drucker.d.ts +0 -59
  567. package/dist/esm/kasse/drucker.js +0 -45
  568. package/dist/esm/kasse/index.d.ts +0 -13
  569. package/dist/esm/kasse/index.js +0 -18
  570. package/dist/esm/kasse/settings.d.ts +0 -229
  571. package/dist/esm/kasse/settings.js +0 -168
  572. package/dist/esm/kasse/texte.d.ts +0 -868
  573. package/dist/esm/kasse/texte.js +0 -466
  574. package/dist/esm/rechnung/fehler.d.ts +0 -21
  575. package/dist/esm/rechnung/fehler.js +0 -39
  576. package/dist/esm/rechnung/index.d.ts +0 -21
  577. package/dist/esm/rechnung/index.js +0 -20
  578. package/dist/esm/rechnung/texte.d.ts +0 -222
  579. package/dist/esm/rechnung/texte.js +0 -421
  580. package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
  581. package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
  582. package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
  583. package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
  584. package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
  585. package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
  586. package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
  587. package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
  588. package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
  589. package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
  590. package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
  591. package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
  592. package/fixtures/erwartet/null-monat.blatt32.json +0 -206
  593. package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
  594. package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
  595. package/fixtures/erwartet/null-start.blatt32.json +0 -206
  596. package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
  597. package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
  598. package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
  599. package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
  600. package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
  601. package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
  602. package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
  603. package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
  604. package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
  605. package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
  606. package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
  607. package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
  608. package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
  609. package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
  610. package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
  611. package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
  612. package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
  613. package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
  614. package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
  615. package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
  616. package/fixtures/erwartet/training.blatt32.json +0 -236
  617. package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
  618. package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
  619. package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
  620. package/fixtures/kasse-meldungen-faelle.json +0 -32
  621. package/fixtures/oberflaeche.json +0 -558
  622. package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
  623. package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
  624. package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
  625. package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
  626. package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
  627. package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
  628. package/fixtures/rechnung-texte.json +0 -464
  629. /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
  630. /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
  631. /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
  632. /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
  633. /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
  634. /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
  635. /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
  636. /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
  637. /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
  638. /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
  639. /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
  640. /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
  641. /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
  642. /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
  643. /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
  644. /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
  645. /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
  646. /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
  647. /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
  648. /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
  649. /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
  650. /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
  651. /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
  652. /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
  653. /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
  654. /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
  655. /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
  656. /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
  657. /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
  658. /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
  659. /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
  660. /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
  661. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
  662. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
  663. /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
  664. /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
  665. /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
  666. /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
  667. /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
  668. /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
  669. /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
  670. /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
  671. /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
  672. /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
  673. /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
  674. /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
  675. /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
  676. /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
  677. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
  678. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
  679. /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
  680. /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
  681. /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
  682. /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
  683. /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
  684. /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
  685. /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
  686. /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
  687. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
  688. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
  689. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
  690. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
  691. /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
  692. /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
  693. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
  694. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
  695. /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
  696. /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
  697. /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
  698. /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
  699. /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
  700. /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
  701. /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
  702. /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
  703. /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
  704. /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
  705. /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
  706. /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
  707. /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
  708. /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
  709. /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
  710. /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
  711. /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
  712. /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
@@ -1,28 +1,70 @@
1
+ import { bekannterCode, feldfehlerVon } from '../client/fehlercodes.js';
2
+ /** Die Codes des Versands selbst (`errorCodes.receiptEmail`); jeder hat einen Satz im Textkatalog. */
3
+ export const RECEIPT_EMAIL_SEND_ERROR_CODES = Object.freeze([
4
+ 'invalid_address', // Empfaengeradresse unbrauchbar (Pruefung im Backend)
5
+ 'receipt_not_found', // Beleg gibt es nicht ODER er gehoert einer anderen Kasse
6
+ 'too_many_requests', // Schleuse: 5 Mails je Beleg (24 h), 30 je Kasse und Stunde
7
+ 'send_failed', // die Mail selbst ging nicht hinaus
8
+ ]);
1
9
  /**
2
- * Beleg per E-Mail — Zwilling von `functions/beleg-mail-core.js`.
3
- *
4
- * Hier steht nur der Fehlercode-Katalog: der Aufruf selbst ist
5
- * [sendReceiptEmail] (client/receipts.ts), und was verschickt wird, ist ein
6
- * **Link auf die oeffentliche Belegseite** — der Beleg selbst bleibt
7
- * unberuehrt (BAO §131/RKSV), das Versandprotokoll fuehrt das Backend in einer
8
- * Unter-Sammlung neben ihm.
10
+ * Fehlercodes von `sendReceiptEmail` unter `/v3`: die Versandcodes
11
+ * ([RECEIPT_EMAIL_SEND_ERROR_CODES]) und dahinter (ab 1.0) die Codes, die
12
+ * Anmeldung und Rand auf diesem Endpunkt erzeugen koennen: `errorCodes.auth`
13
+ * ohne die sieben des Partner-Zugangs und `errorCodes.edge` (`not_found`,
14
+ * `dialect_mismatch`, `response_translation_failed` ...). Das Paket reicht sie
15
+ * als [KasseneckApiError.code] durch; ein Code ausserhalb bleibt dort lesbar.
16
+ * Zuletzt `route_missing` (Code des Pakets).
9
17
  */
10
- /**
11
- * Stabile Fehlercodes von `sendReceiptEmail` — Zwilling von
12
- * `beleg-mail-core.js` FEHLERCODES. Das Backend legt sie bei jedem fachlichen
13
- * Fehler als `code` neben die Meldung; das Paket reicht sie als
14
- * [KasseneckApiError.code] durch. **Entscheide am Code, nie am Text** — die
15
- * deutsche Meldung darf sich aendern, der Code nicht.
16
- *
17
- * Nur Auth-/Parameterfehler (Sitzung abgelaufen, Pflichtfeld fehlt) kommen
18
- * ohne Code; dort bleibt `code` undefined.
19
- */
20
- export const RECEIPT_EMAIL_ERROR_CODES = [
21
- 'adresse_ungueltig', // Empfaengeradresse unbrauchbar (Pruefung im Backend)
22
- 'beleg_nicht_gefunden', // Beleg gibt es nicht ODER er gehoert einer anderen Kasse
23
- 'zu_oft', // Schleuse: 5 Mails je Beleg (24 h), 30 je Kasse und Stunde
24
- 'versand_fehlgeschlagen', // die Mail selbst ging nicht hinaus
25
- ];
18
+ export const RECEIPT_EMAIL_ERROR_CODES = Object.freeze([
19
+ ...RECEIPT_EMAIL_SEND_ERROR_CODES,
20
+ // Anmeldung und Rand (errorCodes.auth ohne Partner-Zugang, errorCodes.edge)
21
+ 'account_not_found',
22
+ 'admin_required',
23
+ 'cashregister_not_assigned',
24
+ 'cashregister_not_found',
25
+ 'cashregister_token_invalid',
26
+ 'cashregister_token_missing',
27
+ 'dialect_mismatch',
28
+ 'internal_translation_error',
29
+ 'live_not_enabled',
30
+ 'method_not_allowed',
31
+ 'mfa_required',
32
+ 'not_found',
33
+ 'register_user_no_business',
34
+ 'register_user_not_allowed',
35
+ 'register_user_not_found',
36
+ 'response_translation_failed',
37
+ 'session_expired',
38
+ 'session_other_cashregister',
39
+ 'unauthorized',
40
+ 'user_disabled',
41
+ 'user_verification_failed',
42
+ 'validation',
43
+ // Code des Pakets (CLIENT_ERROR_CODES; response_unreadable nur an signierenden Aufrufen)
44
+ 'route_missing',
45
+ ]);
26
46
  export function isReceiptEmailErrorCode(value) {
27
47
  return typeof value === 'string' && RECEIPT_EMAIL_ERROR_CODES.includes(value);
28
48
  }
49
+ const RECEIPTEMAIL_BEKANNT = new Set(RECEIPT_EMAIL_ERROR_CODES);
50
+ /** Der Code eines geworfenen Fehlers, wenn er in [RECEIPT_EMAIL_ERROR_CODES] steht; sonst `undefined`. */
51
+ export function receiptEmailErrorCode(error) {
52
+ return bekannterCode(error, RECEIPTEMAIL_BEKANNT);
53
+ }
54
+ /**
55
+ * Kurzform fuer `catch (e) { if (isReceiptEmailError(e, 'too_many_requests')) … }`.
56
+ * Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [RECEIPT_EMAIL_ERROR_CODES]?
57
+ */
58
+ export function isReceiptEmailError(error, code) {
59
+ const gefunden = receiptEmailErrorCode(error);
60
+ return gefunden !== undefined && (code === undefined || gefunden === code);
61
+ }
62
+ /**
63
+ * Versandweg der Belegmail (Katalog `MAILWEG`): Postfach des Betriebs,
64
+ * Plattform, oder Plattform als Rueckfall, weil das eigene Postfach scheiterte.
65
+ */
66
+ export const RECEIPT_EMAIL_VIAS = Object.freeze(['own', 'platform', 'platform_fallback']);
67
+ /** Die Feldfehler einer `validation`-Antwort; leer, wenn es keine sind. */
68
+ export function receiptEmailFieldErrors(error) {
69
+ return feldfehlerVon(error);
70
+ }
@@ -0,0 +1,39 @@
1
+ import { KasseneckApiError } from '../client/errors.js';
2
+ /**
3
+ * Fehlercodes von `createReceipt` und `getReceipt` unter `/v3` (Vokabular
4
+ * `errorCodes.receiptMessagesByEndpoint`); dazu kommen die Zahlungscodes aus
5
+ * [PAYMENT_ERROR_CODES] und die des Rands (`validation`, `dialect_mismatch`, …).
6
+ *
7
+ * `receipt_outcome_unknown` heisst: der Beleg ist moeglicherweise signiert
8
+ * (`outcome: 'unknown'`). Nie wiederholen, sondern die Belegliste nachlesen.
9
+ *
10
+ * Dahinter (ab 1.0) die Codes, die Anmeldung und Rand auf diesem Endpunkt
11
+ * erzeugen koennen: `errorCodes.auth` ohne die sieben des Partner-Zugangs und
12
+ * `errorCodes.edge` (`not_found`, `dialect_mismatch`, `response_translation_failed`
13
+ * ...). Zuletzt die Codes des Pakets selbst: `route_missing` und
14
+ * `response_unreadable` (Erfolg gemeldet, Antwort unlesbar, Ausgang unklar).
15
+ * Die Zahlungscodes (`payments_sum_mismatch`, `payment_method_not_supported`
16
+ * ...) stehen in [PAYMENT_ERROR_CODES]. Ein Code ausserhalb bleibt ueber
17
+ * `KasseneckApiError.code` lesbar.
18
+ */
19
+ export declare const RECEIPT_ERROR_CODES: readonly ["cancellation_reference_unavailable", "cashregister_closed", "cashregister_decommissioned", "final_receipt_expired", "final_receipt_not_allowed", "module_inactive", "not_permitted", "receipt_limit_exceeded", "receipt_not_found", "receipt_outcome_unknown", "receipt_type_invalid", "signature_incomplete", "signature_missing", "signing_failed", "small_business_vat_not_allowed", "tip_invalid", "tip_not_allowed", "tip_recipient_unknown", "validation", "account_not_found", "admin_required", "cashregister_not_assigned", "cashregister_not_found", "cashregister_token_invalid", "cashregister_token_missing", "dialect_mismatch", "internal_translation_error", "live_not_enabled", "method_not_allowed", "mfa_required", "not_found", "register_user_no_business", "register_user_not_allowed", "register_user_not_found", "response_translation_failed", "session_expired", "session_other_cashregister", "unauthorized", "user_disabled", "user_verification_failed", "route_missing", "response_unreadable"];
20
+ export type ReceiptErrorCode = (typeof RECEIPT_ERROR_CODES)[number];
21
+ export declare function isReceiptErrorCode(value: unknown): value is ReceiptErrorCode;
22
+ /** Der Code eines geworfenen Fehlers, wenn er in [RECEIPT_ERROR_CODES] steht; sonst `undefined`. */
23
+ export declare function receiptErrorCode(error: unknown): ReceiptErrorCode | undefined;
24
+ /**
25
+ * Kurzform fuer `catch (e) { if (isReceiptError(e, 'signing_failed')) … }`.
26
+ * Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [RECEIPT_ERROR_CODES]?
27
+ */
28
+ export declare function isReceiptError(error: unknown, code?: ReceiptErrorCode): error is KasseneckApiError;
29
+ /** Ein Feldfehler aus `data.errors[]` einer `validation`-Antwort der Belegwelt. */
30
+ export interface ReceiptFieldError {
31
+ /** Feldpfad in der gesendeten Anfrage, z. B. `items.0.vatRate` oder `payments.1.amountCents`. */
32
+ field: string;
33
+ message: string;
34
+ }
35
+ /**
36
+ * Die Feldfehler einer `validation`-Antwort von `createReceipt`,
37
+ * `cancelReceipt` oder `sendReceiptEmail`; leer, wenn es keine sind.
38
+ */
39
+ export declare function receiptFieldErrors(error: unknown): ReceiptFieldError[];
@@ -0,0 +1,87 @@
1
+ import { bekannterCode, feldfehlerVon } from '../client/fehlercodes.js';
2
+ /**
3
+ * Fehlercodes von `createReceipt` und `getReceipt` unter `/v3` (Vokabular
4
+ * `errorCodes.receiptMessagesByEndpoint`); dazu kommen die Zahlungscodes aus
5
+ * [PAYMENT_ERROR_CODES] und die des Rands (`validation`, `dialect_mismatch`, …).
6
+ *
7
+ * `receipt_outcome_unknown` heisst: der Beleg ist moeglicherweise signiert
8
+ * (`outcome: 'unknown'`). Nie wiederholen, sondern die Belegliste nachlesen.
9
+ *
10
+ * Dahinter (ab 1.0) die Codes, die Anmeldung und Rand auf diesem Endpunkt
11
+ * erzeugen koennen: `errorCodes.auth` ohne die sieben des Partner-Zugangs und
12
+ * `errorCodes.edge` (`not_found`, `dialect_mismatch`, `response_translation_failed`
13
+ * ...). Zuletzt die Codes des Pakets selbst: `route_missing` und
14
+ * `response_unreadable` (Erfolg gemeldet, Antwort unlesbar, Ausgang unklar).
15
+ * Die Zahlungscodes (`payments_sum_mismatch`, `payment_method_not_supported`
16
+ * ...) stehen in [PAYMENT_ERROR_CODES]. Ein Code ausserhalb bleibt ueber
17
+ * `KasseneckApiError.code` lesbar.
18
+ */
19
+ export const RECEIPT_ERROR_CODES = Object.freeze([
20
+ 'cancellation_reference_unavailable',
21
+ 'cashregister_closed',
22
+ 'cashregister_decommissioned',
23
+ 'final_receipt_expired',
24
+ 'final_receipt_not_allowed',
25
+ 'module_inactive',
26
+ 'not_permitted',
27
+ 'receipt_limit_exceeded',
28
+ 'receipt_not_found',
29
+ 'receipt_outcome_unknown',
30
+ 'receipt_type_invalid',
31
+ 'signature_incomplete',
32
+ 'signature_missing',
33
+ 'signing_failed',
34
+ 'small_business_vat_not_allowed',
35
+ 'tip_invalid',
36
+ 'tip_not_allowed',
37
+ 'tip_recipient_unknown',
38
+ 'validation',
39
+ // Anmeldung und Rand (errorCodes.auth ohne Partner-Zugang, errorCodes.edge)
40
+ 'account_not_found',
41
+ 'admin_required',
42
+ 'cashregister_not_assigned',
43
+ 'cashregister_not_found',
44
+ 'cashregister_token_invalid',
45
+ 'cashregister_token_missing',
46
+ 'dialect_mismatch',
47
+ 'internal_translation_error',
48
+ 'live_not_enabled',
49
+ 'method_not_allowed',
50
+ 'mfa_required',
51
+ 'not_found',
52
+ 'register_user_no_business',
53
+ 'register_user_not_allowed',
54
+ 'register_user_not_found',
55
+ 'response_translation_failed',
56
+ 'session_expired',
57
+ 'session_other_cashregister',
58
+ 'unauthorized',
59
+ 'user_disabled',
60
+ 'user_verification_failed',
61
+ // Codes des Pakets (CLIENT_ERROR_CODES)
62
+ 'route_missing',
63
+ 'response_unreadable',
64
+ ]);
65
+ export function isReceiptErrorCode(value) {
66
+ return typeof value === 'string' && RECEIPT_ERROR_CODES.includes(value);
67
+ }
68
+ const RECEIPT_BEKANNT = new Set(RECEIPT_ERROR_CODES);
69
+ /** Der Code eines geworfenen Fehlers, wenn er in [RECEIPT_ERROR_CODES] steht; sonst `undefined`. */
70
+ export function receiptErrorCode(error) {
71
+ return bekannterCode(error, RECEIPT_BEKANNT);
72
+ }
73
+ /**
74
+ * Kurzform fuer `catch (e) { if (isReceiptError(e, 'signing_failed')) … }`.
75
+ * Ohne `code`: traegt der Fehler ueberhaupt einen Code aus [RECEIPT_ERROR_CODES]?
76
+ */
77
+ export function isReceiptError(error, code) {
78
+ const gefunden = receiptErrorCode(error);
79
+ return gefunden !== undefined && (code === undefined || gefunden === code);
80
+ }
81
+ /**
82
+ * Die Feldfehler einer `validation`-Antwort von `createReceipt`,
83
+ * `cancelReceipt` oder `sendReceiptEmail`; leer, wenn es keine sind.
84
+ */
85
+ export function receiptFieldErrors(error) {
86
+ return feldfehlerVon(error);
87
+ }
@@ -29,7 +29,7 @@ export interface ReceiptItem {
29
29
  priceCents: number;
30
30
  /**
31
31
  * Trinkgeld-Position (vom Backend aus dem Parameter `tip` erzeugt, siehe
32
- * [ReceiptCommonOptions.tip]) oder Rabatt-Position (`verteileRabatt`).
32
+ * [ReceiptCommonOptions.tip]) oder Rabatt-Position (`distributeDiscount`).
33
33
  * Mitarbeiter-Trinkgeld ist Durchlaeufer (0 %, kein Umsatz),
34
34
  * Inhaber-Trinkgeld (`recipient.owner`) Umsatz. Rabatt-Positionen sind
35
35
  * negative Entgeltminderungen je Steuersatz; die Kennzeichnung steuert nur
@@ -40,6 +40,11 @@ export interface ReceiptItem {
40
40
  recipient?: TipRecipient | null;
41
41
  /** Zahlart der Trinkgeld-Position (kann von der des Belegs abweichen). */
42
42
  paymentMethod?: string;
43
+ /**
44
+ * Nur Personal-Trinkgeld: hat der Empfaenger das Geld schon (`true`) oder
45
+ * behaelt der Betrieb es und schuldet es (`false`)? Fehlt bei Altbelegen.
46
+ */
47
+ receivedImmediately?: boolean;
43
48
  /**
44
49
  * Artikel-Verweis (Artikelstamm) — Grundlage der Erloesgruppen-Zuordnung
45
50
  * im Bericht. Optional; Handeingaben haben keinen.
@@ -70,6 +75,7 @@ export interface ReceiptItemPayload {
70
75
  kind?: 'tip' | 'discount';
71
76
  recipient?: TipRecipient | null;
72
77
  paymentMethod?: string;
78
+ receivedImmediately?: boolean;
73
79
  /** Artikel-Verweis, siehe [ReceiptItem.articleId]. */
74
80
  articleId?: string;
75
81
  }
@@ -93,6 +99,8 @@ export interface ReceiptItemPayloadRead {
93
99
  kind?: string | null;
94
100
  recipient?: TipRecipient | null;
95
101
  paymentMethod?: string | null;
102
+ /** Trinkgeld-Position, siehe [ReceiptItem.receivedImmediately]. */
103
+ receivedImmediately?: boolean | null;
96
104
  /** v2: Menge */
97
105
  quantity?: number | null;
98
106
  /** v2: Einzelpreis in Cent */
@@ -27,6 +27,8 @@ export function toReceiptItemPayload(item) {
27
27
  nutzlast.recipient = item.recipient ?? null;
28
28
  if (item.paymentMethod != null)
29
29
  nutzlast.paymentMethod = item.paymentMethod;
30
+ if (typeof item.receivedImmediately === 'boolean')
31
+ nutzlast.receivedImmediately = item.receivedImmediately;
30
32
  }
31
33
  // Rabatt-Kennzeichnung reist mit — sonst kaeme ein Storno dieser Position
32
34
  // am Bon wieder als gewoehnliche Warenzeile mit "1 x" an.
@@ -71,6 +73,7 @@ export function fromReceiptItemPayload(payload) {
71
73
  kind: 'tip',
72
74
  recipient: payload.recipient ?? null,
73
75
  ...(payload.paymentMethod != null ? { paymentMethod: payload.paymentMethod } : {}),
76
+ ...(typeof payload.receivedImmediately === 'boolean' ? { receivedImmediately: payload.receivedImmediately } : {}),
74
77
  }
75
78
  : payload.kind === 'discount'
76
79
  ? { kind: 'discount' }
@@ -1,4 +1,5 @@
1
1
  import { KeckPaymentMethod, ReceiptType } from '../enums/index.js';
2
+ import { type CancellationStatus } from './cancellation.js';
2
3
  import { type ReceiptPayment, type ReceiptPaymentPayload } from './receipt-payment.js';
3
4
  /**
4
5
  * Belegzeile einer Liste — die Form, die `listMyReceipts` liefert
@@ -23,7 +24,7 @@ import { type ReceiptPayment, type ReceiptPaymentPayload } from './receipt-payme
23
24
  /** Anlass eines Nullbelegs (Backend: cashregister-lifecycle ZERO_KINDS). */
24
25
  export declare const ZERO_KINDS: readonly ["monthly", "annual", "annual_replacement", "outage_end", "final", "manual"];
25
26
  export type ZeroKind = (typeof ZERO_KINDS)[number];
26
- export declare function istZeroKind(w: unknown): w is ZeroKind;
27
+ export declare function isZeroKind(w: unknown): w is ZeroKind;
27
28
  export interface ReceiptSummary {
28
29
  receiptId: string;
29
30
  /** Fortlaufender Belegzaehler der Kasse; fehlt bei Alt-Belegen. */
@@ -60,8 +61,13 @@ export interface ReceiptSummary {
60
61
  timeStamp?: string;
61
62
  };
62
63
  cancellationReason?: string;
63
- /** offen | teil | voll -- Storno-Stand des Originals. */
64
- stornoStand: 'offen' | 'teil' | 'voll';
64
+ /**
65
+ * Storno-Stand des Originals: `none`, `partial` oder `full`. Ein Wert, den
66
+ * dieses Paket nicht kennt, kommt sichtbar als `'unknown'` an, nie still als
67
+ * `none`: die Kasse bietet dann keinen Storno an, bis sie den Beleg einzeln
68
+ * liest. Fehlt das Feld in der Antwort, fehlt es auch hier.
69
+ */
70
+ cancellationStatus?: CancellationStatus | 'unknown';
65
71
  /** Nur am Nullbeleg, nur fuer Kassen-Benutzer: Anlass (monthly, annual, annual_replacement, outage_end, final, manual). */
66
72
  zeroKind?: ZeroKind;
67
73
  /**
@@ -96,7 +102,7 @@ export interface ReceiptSummaryPayload {
96
102
  timeStamp?: string | null;
97
103
  } | null;
98
104
  cancellationReason?: string | null;
99
- stornoStand?: string | null;
105
+ cancellationStatus?: string | null;
100
106
  zeroKind?: string | null;
101
107
  payments?: ReceiptPaymentPayload[] | null;
102
108
  }
@@ -1,6 +1,7 @@
1
1
  import { KeckPaymentMethod, ReceiptType } from '../enums/index.js';
2
2
  import { euroToCents } from '../money.js';
3
3
  import { readEnumKey } from './enum-payload.js';
4
+ import { CANCELLATION_STATUSES } from './cancellation.js';
4
5
  import { fromReceiptPaymentPayload } from './receipt-payment.js';
5
6
  /**
6
7
  * Belegzeile einer Liste — die Form, die `listMyReceipts` liefert
@@ -24,7 +25,7 @@ import { fromReceiptPaymentPayload } from './receipt-payment.js';
24
25
  */
25
26
  /** Anlass eines Nullbelegs (Backend: cashregister-lifecycle ZERO_KINDS). */
26
27
  export const ZERO_KINDS = ['monthly', 'annual', 'annual_replacement', 'outage_end', 'final', 'manual'];
27
- export function istZeroKind(w) {
28
+ export function isZeroKind(w) {
28
29
  return typeof w === 'string' && ZERO_KINDS.includes(w);
29
30
  }
30
31
  export function fromReceiptSummaryPayload(payload) {
@@ -47,8 +48,13 @@ export function fromReceiptSummaryPayload(payload) {
47
48
  ...(typeof payload.cancellationOf.timeStamp === 'string' && payload.cancellationOf.timeStamp ? { timeStamp: payload.cancellationOf.timeStamp } : {}),
48
49
  } } : {}),
49
50
  ...(payload.cancellationReason ? { cancellationReason: payload.cancellationReason } : {}),
50
- stornoStand: payload.stornoStand === 'teil' || payload.stornoStand === 'voll' ? payload.stornoStand : 'offen',
51
- ...(istZeroKind(payload.zeroKind) ? { zeroKind: payload.zeroKind } : {}),
51
+ ...(payload.cancellationStatus == null
52
+ ? {}
53
+ : { cancellationStatus: isCancellationStatus(payload.cancellationStatus) ? payload.cancellationStatus : 'unknown' }),
54
+ ...(isZeroKind(payload.zeroKind) ? { zeroKind: payload.zeroKind } : {}),
52
55
  ...(Array.isArray(payload.payments) ? { payments: payload.payments.map(fromReceiptPaymentPayload) } : {}),
53
56
  };
54
57
  }
58
+ function isCancellationStatus(wert) {
59
+ return typeof wert === 'string' && CANCELLATION_STATUSES.includes(wert);
60
+ }
@@ -18,8 +18,15 @@ import { type ReceiptPayment, type ReceiptPaymentPayload } from './receipt-payme
18
18
  * echten Zeitpunkt um (uneinheitliches Server-Format, siehe dort).
19
19
  *
20
20
  * `paymentMethod`/`receiptType`/`creditCardProvider` sind beim Lesen entweder
21
- * der bekannte Enum-Eintrag oder — bei einem der Nutzlast unbekannten
22
- * Schluessel — der rohe String (siehe `enum-payload.ts`, `readEnumKey`).
21
+ * der bekannte Enum-Eintrag oder, bei einem der Nutzlast unbekannten
22
+ * Schluessel, der rohe String (siehe `enum-payload.ts`, `readEnumKey`).
23
+ *
24
+ * **Zahlungen stehen in `payments`.** `paymentMethod` vergibt der Server
25
+ * (`mixed` bei mehreren Zahlarten); gesendet wird es unter `/v3` nie. Die
26
+ * Anbieterdaten (`payments[].providerPaymentId`/`providerData`, bei
27
+ * Altbelegen `cardPaymentId`/`cardPaymentData`) liefert nur der Kassenweg
28
+ * (Kanal `app`, `kasse.kasseneck.at/api/v3`); am oeffentlichen Weg fehlen
29
+ * sie. Darum sind sie hier optional.
23
30
  */
24
31
  export interface Receipt {
25
32
  receiptId: string;
@@ -61,6 +68,17 @@ export interface Receipt {
61
68
  * Kartenfelder. Siehe [ReceiptPayment].
62
69
  */
63
70
  payments?: ReceiptPayment[];
71
+ /** Kennung der Kopf-Version (Firmenkopf, wie er fuer diesen Beleg galt). */
72
+ headerVersionId?: string;
73
+ /** Layout-Regelwerk, in dem der Beleg ausgestellt wurde. */
74
+ layoutRuleset?: number;
75
+ /** Nur an Nullbelegen: Registrierdaten fuer den Block „Prüfangaben“. */
76
+ registrationInfo?: RegistrationInfo;
77
+ }
78
+ /** Registrierdaten von Signaturkarte und Kasse (Zeitstempel oder `null`, wenn unbekannt). */
79
+ export interface RegistrationInfo {
80
+ cardRegisteredAt: string | null;
81
+ cashregisterRegisteredAt: string | null;
64
82
  }
65
83
  export interface ReceiptPayload {
66
84
  qr: string;
@@ -101,6 +119,12 @@ export interface ReceiptPayloadRead extends Omit<ReceiptPayload, 'items' | 'vouc
101
119
  cancellationReason?: string | null;
102
120
  zeroKind?: string | null;
103
121
  cancellations?: Cancellation[] | null;
122
+ headerVersionId?: string | null;
123
+ layoutRuleset?: number | null;
124
+ registrationInfo?: {
125
+ cardRegisteredAt?: string | null;
126
+ cashregisterRegisteredAt?: string | null;
127
+ } | null;
104
128
  }
105
129
  /**
106
130
  * Schreibt die Nutzlast in der **neuen** Form — sie **normalisiert, statt zu
@@ -114,6 +138,11 @@ export interface ReceiptPayloadRead extends Omit<ReceiptPayload, 'items' | 'vouc
114
138
  */
115
139
  export declare function toReceiptPayload(receipt: Receipt): ReceiptPayload;
116
140
  export declare function fromReceiptPayload(payload: ReceiptPayloadRead): Receipt;
141
+ /** Registrierdaten lesen; ein fehlender oder leerer Zeitstempel wird `null`. */
142
+ export declare function readRegistrationInfo(roh: {
143
+ cardRegisteredAt?: unknown;
144
+ cashregisterRegisteredAt?: unknown;
145
+ }): RegistrationInfo;
117
146
  /**
118
147
  * Zwischensumme in **Cent** — Positionen plus verkaufte Wertgutscheine minus
119
148
  * eingeloeste Promotionsgutscheine. Wertgutschein-Einloesungen wirken erst auf
@@ -2,7 +2,7 @@ import { ReceiptType, KeckPaymentMethod, CreditCardProvider, VoucherAction, Vouc
2
2
  import { readEnumKey, requireEnumKey } from './enum-payload.js';
3
3
  import { toReceiptItemPayload, fromReceiptItemPayload, receiptItemTotalCents, } from './receipt-item.js';
4
4
  import { toVoucherPayload, fromVoucherPayload } from './voucher.js';
5
- import { istZeroKind } from './receipt-summary.js';
5
+ import { isZeroKind } from './receipt-summary.js';
6
6
  import { fromReceiptPaymentPayload, toReceiptPaymentPayload } from './receipt-payment.js';
7
7
  /**
8
8
  * Schreibt die Nutzlast in der **neuen** Form — sie **normalisiert, statt zu
@@ -78,11 +78,21 @@ export function fromReceiptPayload(payload) {
78
78
  ...(typeof payload.cancellationOf.timeStamp === 'string' && payload.cancellationOf.timeStamp ? { timeStamp: payload.cancellationOf.timeStamp } : {}),
79
79
  } } : {}),
80
80
  ...(payload.cancellationReason ? { cancellationReason: payload.cancellationReason } : {}),
81
- ...(istZeroKind(payload.zeroKind) ? { zeroKind: payload.zeroKind } : {}),
81
+ ...(isZeroKind(payload.zeroKind) ? { zeroKind: payload.zeroKind } : {}),
82
82
  ...(payload.cancellations ? { cancellations: payload.cancellations.map(leseStorno) } : {}),
83
83
  ...(Array.isArray(payload.payments) ? { payments: payload.payments.map(fromReceiptPaymentPayload) } : {}),
84
+ ...(typeof payload.headerVersionId === 'string' && payload.headerVersionId !== '' ? { headerVersionId: payload.headerVersionId } : {}),
85
+ ...(typeof payload.layoutRuleset === 'number' ? { layoutRuleset: payload.layoutRuleset } : {}),
86
+ ...(payload.registrationInfo != null && typeof payload.registrationInfo === 'object'
87
+ ? { registrationInfo: readRegistrationInfo(payload.registrationInfo) }
88
+ : {}),
84
89
  };
85
90
  }
91
+ /** Registrierdaten lesen; ein fehlender oder leerer Zeitstempel wird `null`. */
92
+ export function readRegistrationInfo(roh) {
93
+ const zeit = (v) => (typeof v === 'string' && v !== '' ? v : null);
94
+ return { cardRegisteredAt: zeit(roh.cardRegisteredAt), cashregisterRegisteredAt: zeit(roh.cashregisterRegisteredAt) };
95
+ }
86
96
  function leseStorno(eintrag) {
87
97
  return {
88
98
  ...(eintrag.receiptId !== undefined ? { receiptId: eintrag.receiptId } : {}),
@@ -18,16 +18,17 @@ export interface Voucher {
18
18
  valueCents?: number;
19
19
  }
20
20
  /**
21
- * Nutzlast: traegt **beide** Felder, `value` (Euro) und `valueCents` (Cent).
22
- * Das Backend erwartet das Euro-Feld weiterhin (Altkompatibilitaet) — die
23
- * Umwandlung passiert nur hier, an dieser einen Stelle.
21
+ * Nutzlast eines Gutscheins. Geschrieben wird nur `valueCents` (ganze Cent);
22
+ * `value` (Euro) kommt nur beim Lesen vor: der Server legt es in seinen
23
+ * Antworten daneben, gelesen wird es nur, wenn `valueCents` fehlt.
24
+ * `name` und `code` gehen nur hinaus, wenn sie gesetzt sind.
24
25
  */
25
26
  export interface VoucherPayload {
26
- name: string | null;
27
- code: string | null;
27
+ name?: string | null;
28
+ code?: string | null;
28
29
  action: string;
29
30
  type: string;
30
- value: number | null;
31
+ value?: number | null;
31
32
  valueCents: number | null;
32
33
  }
33
34
  export declare function toVoucherPayload(voucher: Voucher): VoucherPayload;
@@ -3,16 +3,11 @@ import { euroToCents } from '../money.js';
3
3
  import { readEnumKey, requireEnumKey } from './enum-payload.js';
4
4
  export function toVoucherPayload(voucher) {
5
5
  return {
6
- name: voucher.name ?? null,
7
- code: voucher.code ?? null,
8
- // Schreibpfad bleibt streng: action/type sehen fuer bekannte und
9
- // unbekannte Werte gleich aus (reine Strings) — erst der Lookup hier
10
- // entscheidet, ob geschrieben werden darf.
11
6
  action: requireEnumKey(VoucherAction, voucher.action, 'Gutschein-Aktion'),
12
7
  type: requireEnumKey(VoucherType, voucher.type, 'Gutscheinart'),
13
- // Euro-Feld nur fuer Altbestand-Konsumenten des Backends — siehe Kommentar oben.
14
- value: voucher.valueCents == null ? null : voucher.valueCents / 100,
15
8
  valueCents: voucher.valueCents ?? null,
9
+ ...(voucher.code != null ? { code: voucher.code } : {}),
10
+ ...(voucher.name != null ? { name: voucher.name } : {}),
16
11
  };
17
12
  }
18
13
  /**
@@ -8,12 +8,12 @@
8
8
  * `signature_not_ready`).
9
9
  * Wer die Reihenfolge nur aus einer Fehlermeldung lernt, lernt sie einmal je
10
10
  * Fehler. Hier steht sie vorher — abfragbar, ausgebbar, und in
11
- * [naechsterSchritt] auch beantwortbar.
11
+ * [nextFlowStep] auch beantwortbar.
12
12
  *
13
13
  * **Kein eigener Vertragsschritt.** AVV und Nutzungsvertrag bestaetigt der
14
14
  * Betrieb ueber denselben Einrichtungs-Link wie seinen FinanzOnline-Zugang
15
15
  * (Schritt `fon`). Live geht ohne beide keine Kasse live
16
- * (`vertrag_offen`); den Stand zeigen `avv` und `terms` am Betrieb.
16
+ * (`contracts_pending`); den Stand zeigen `avv` und `terms` am Betrieb.
17
17
  *
18
18
  * Zwei Dinge laufen bewusst **parallel**: der Signaturantrag und das Anlegen
19
19
  * der Kasse. Eine mit `automatic:true` angelegte Kasse wartet, bis die
@@ -21,18 +21,18 @@
21
21
  * darum immer nur den **weitesten erreichten** Meilenstein, nicht die einzige
22
22
  * laufende Arbeit.
23
23
  */
24
- import type { KundenStatus } from './typen.js';
24
+ import type { PartnerCustomerStatus } from './typen.js';
25
25
  /** Ein Schritt der Kette. */
26
- export interface AblaufSchritt {
26
+ export interface FlowStep {
27
27
  key: string;
28
28
  /** Was in diesem Schritt passiert. */
29
29
  text: string;
30
30
  /** Der Aufruf, der ihn ausloest — `null`, wenn hier nur gewartet wird. */
31
- aufruf: string | null;
31
+ call: string | null;
32
32
  /** Das Ereignis, das seinen Abschluss meldet — `null`, wenn es sofort feststeht. */
33
- wartetAuf: string | null;
33
+ waitsFor: string | null;
34
34
  /** Der Fehlercode, mit dem ein spaeterer Aufruf sich beschwert, wenn dieser Schritt fehlt. */
35
- fehltCode: string | null;
35
+ missingCode: string | null;
36
36
  }
37
37
  /**
38
38
  * Die Kette in ihrer Reihenfolge. Sie beschreibt den **Live-Weg**; mit einem
@@ -40,9 +40,9 @@ export interface AblaufSchritt {
40
40
  * ist sofort bereit (AT100-Testkarte — die damit erzeugten Belege sind keine
41
41
  * gueltigen RKSV-Belege).
42
42
  */
43
- export declare const PARTNER_ABLAUF: readonly AblaufSchritt[];
43
+ export declare const PARTNER_FLOW: readonly FlowStep[];
44
44
  /**
45
45
  * Der Schritt, an dem ein Betrieb mit diesem Status steht — `null` fuer
46
- * `gesperrt` und fuer jeden Status, den dieses Paket nicht kennt.
46
+ * `blocked` und fuer jeden Status, den dieses Paket nicht kennt.
47
47
  */
48
- export declare function naechsterSchritt(status: KundenStatus): AblaufSchritt | null;
48
+ export declare function nextFlowStep(status: PartnerCustomerStatus): FlowStep | null;
@@ -8,12 +8,12 @@
8
8
  * `signature_not_ready`).
9
9
  * Wer die Reihenfolge nur aus einer Fehlermeldung lernt, lernt sie einmal je
10
10
  * Fehler. Hier steht sie vorher — abfragbar, ausgebbar, und in
11
- * [naechsterSchritt] auch beantwortbar.
11
+ * [nextFlowStep] auch beantwortbar.
12
12
  *
13
13
  * **Kein eigener Vertragsschritt.** AVV und Nutzungsvertrag bestaetigt der
14
14
  * Betrieb ueber denselben Einrichtungs-Link wie seinen FinanzOnline-Zugang
15
15
  * (Schritt `fon`). Live geht ohne beide keine Kasse live
16
- * (`vertrag_offen`); den Stand zeigen `avv` und `terms` am Betrieb.
16
+ * (`contracts_pending`); den Stand zeigen `avv` und `terms` am Betrieb.
17
17
  *
18
18
  * Zwei Dinge laufen bewusst **parallel**: der Signaturantrag und das Anlegen
19
19
  * der Kasse. Eine mit `automatic:true` angelegte Kasse wartet, bis die
@@ -27,49 +27,49 @@
27
27
  * ist sofort bereit (AT100-Testkarte — die damit erzeugten Belege sind keine
28
28
  * gueltigen RKSV-Belege).
29
29
  */
30
- export const PARTNER_ABLAUF = [
30
+ export const PARTNER_FLOW = [
31
31
  {
32
32
  key: 'business',
33
33
  text: 'Betrieb anlegen (idempotencyKey = eigene Kundennummer).',
34
- aufruf: 'createPartnerCustomer',
35
- wartetAuf: 'customer.created',
36
- fehltCode: null,
34
+ call: 'createPartnerCustomer',
35
+ waitsFor: 'customer.created',
36
+ missingCode: null,
37
37
  },
38
38
  {
39
39
  key: 'fon',
40
40
  text: 'FinanzOnline einrichten: Link an den Betrieb, der Betrieb traegt seinen Zugang ein.',
41
- aufruf: 'sendPartnerCustomerFonLink',
42
- wartetAuf: 'customer.fon_verified',
43
- fehltCode: 'fon_missing',
41
+ call: 'sendPartnerCustomerFonLink',
42
+ waitsFor: 'customer.fon_verified',
43
+ missingCode: 'fon_missing',
44
44
  },
45
45
  {
46
46
  key: 'signature',
47
47
  text: 'Signatureinheit beantragen. Kasseneck weist eine Karte zu und meldet sie bei FinanzOnline an.',
48
- aufruf: 'requestCustomerSignature',
49
- wartetAuf: 'signature.ready',
50
- fehltCode: 'signature_missing',
48
+ call: 'requestCustomerSignature',
49
+ waitsFor: 'signature.ready',
50
+ missingCode: 'signature_missing',
51
51
  },
52
52
  {
53
53
  key: 'cashregister',
54
54
  text: 'Kasse anlegen. Mit automatic:true (Vorgabe) geht sie von selbst live, sobald die Signatur bereit ist — ' +
55
55
  'sie darf deshalb schon vorher angelegt werden.',
56
- aufruf: 'createCustomerCashregister',
57
- wartetAuf: 'cashregister.live',
58
- fehltCode: 'cashregister_not_found',
56
+ call: 'createCustomerCashregister',
57
+ waitsFor: 'cashregister.live',
58
+ missingCode: 'cashregister_not_found',
59
59
  },
60
60
  {
61
- key: 'zugangsdaten',
61
+ key: 'credentials',
62
62
  text: 'Zugangsdaten des Betriebs holen (Scope credentials:read). Geheimnisse — nur verschluesselt speichern.',
63
- aufruf: 'getCustomerCredentials',
64
- wartetAuf: null,
65
- fehltCode: null,
63
+ call: 'getCustomerCredentials',
64
+ waitsFor: null,
65
+ missingCode: null,
66
66
  },
67
67
  {
68
- key: 'belege',
68
+ key: 'receipts',
69
69
  text: 'Belege signieren: Bearer = apiKey des Betriebs, Kopfzeile cashregister-token = Token der Kasse.',
70
- aufruf: 'createReceipt',
71
- wartetAuf: null,
72
- fehltCode: null,
70
+ call: 'createReceipt',
71
+ waitsFor: null,
72
+ missingCode: null,
73
73
  },
74
74
  ];
75
75
  /**
@@ -84,13 +84,13 @@ const STATUS_SCHRITT = {
84
84
  signature_requested: 'signature',
85
85
  signature_ready: 'cashregister',
86
86
  cashregister_created: 'cashregister',
87
- live: 'zugangsdaten',
87
+ live: 'credentials',
88
88
  };
89
89
  /**
90
90
  * Der Schritt, an dem ein Betrieb mit diesem Status steht — `null` fuer
91
- * `gesperrt` und fuer jeden Status, den dieses Paket nicht kennt.
91
+ * `blocked` und fuer jeden Status, den dieses Paket nicht kennt.
92
92
  */
93
- export function naechsterSchritt(status) {
93
+ export function nextFlowStep(status) {
94
94
  const key = STATUS_SCHRITT[status];
95
- return key ? PARTNER_ABLAUF.find((s) => s.key === key) ?? null : null;
95
+ return key ? PARTNER_FLOW.find((s) => s.key === key) ?? null : null;
96
96
  }