@kreiseck/kasseneck-api 0.30.0 → 1.0.0-rc.1

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 (717) hide show
  1. package/CHANGELOG.md +433 -0
  2. package/README.de.md +11 -7
  3. package/README.md +486 -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 +78 -19
  13. package/dist/cjs/client/errors.js +107 -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 +214 -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 +222 -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/{esm/rechnung → cjs/invoice}/vertrag.d.ts +97 -71
  48. package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
  49. package/dist/cjs/models/cancellation.d.ts +53 -21
  50. package/dist/cjs/models/cancellation.js +94 -42
  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-payment.d.ts +2 -1
  66. package/dist/cjs/models/receipt-summary.d.ts +10 -4
  67. package/dist/cjs/models/receipt-summary.js +10 -4
  68. package/dist/cjs/models/receipt.d.ts +31 -2
  69. package/dist/cjs/models/receipt.js +28 -1
  70. package/dist/cjs/models/voucher.d.ts +7 -6
  71. package/dist/cjs/models/voucher.js +2 -7
  72. package/dist/cjs/partner/ablauf.d.ts +10 -10
  73. package/dist/cjs/partner/ablauf.js +29 -29
  74. package/dist/cjs/partner/api.d.ts +26 -23
  75. package/dist/cjs/partner/api.js +11 -13
  76. package/dist/cjs/partner/auth.d.ts +1 -1
  77. package/dist/cjs/partner/auth.js +2 -2
  78. package/dist/cjs/partner/betrieb.d.ts +7 -7
  79. package/dist/cjs/partner/betrieb.js +10 -10
  80. package/dist/cjs/partner/endpunkte.d.ts +27 -14
  81. package/dist/cjs/partner/endpunkte.js +80 -39
  82. package/dist/cjs/partner/fehler.d.ts +60 -30
  83. package/dist/cjs/partner/fehler.js +99 -43
  84. package/dist/cjs/partner/index.d.ts +13 -12
  85. package/dist/cjs/partner/index.js +35 -22
  86. package/dist/cjs/partner/secret.d.ts +3 -3
  87. package/dist/cjs/partner/secret.js +6 -6
  88. package/dist/cjs/partner/typen.d.ts +129 -71
  89. package/dist/cjs/partner/typen.js +76 -3
  90. package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
  91. package/dist/cjs/partner/webhook-signatur.js +12 -12
  92. package/dist/cjs/partner/webhooks.d.ts +60 -32
  93. package/dist/cjs/partner/webhooks.js +40 -34
  94. package/dist/cjs/payments/hobex-hps/transaction-response.js +28 -28
  95. package/dist/cjs/payments/hobex.d.ts +2 -2
  96. package/dist/cjs/payments/hobex.js +4 -4
  97. package/dist/cjs/payments/stripe.d.ts +2 -2
  98. package/dist/cjs/payments/stripe.js +4 -4
  99. package/dist/cjs/pos/artikel.d.ts +90 -0
  100. package/dist/cjs/pos/artikel.js +89 -0
  101. package/dist/cjs/pos/client.d.ts +27 -0
  102. package/dist/cjs/pos/client.js +144 -0
  103. package/dist/cjs/pos/drucker.d.ts +86 -0
  104. package/dist/cjs/pos/drucker.js +78 -0
  105. package/dist/cjs/pos/errors.d.ts +36 -0
  106. package/dist/cjs/pos/errors.js +95 -0
  107. package/dist/cjs/pos/index.d.ts +15 -0
  108. package/dist/cjs/pos/index.js +102 -0
  109. package/dist/cjs/pos/settings.d.ts +313 -0
  110. package/dist/cjs/pos/settings.js +376 -0
  111. package/dist/cjs/pos/texte.d.ts +883 -0
  112. package/dist/cjs/pos/texte.js +489 -0
  113. package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
  114. package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
  115. package/dist/cjs/printing/escpos.d.ts +29 -29
  116. package/dist/cjs/printing/escpos.js +61 -61
  117. package/dist/cjs/printing/index.d.ts +2 -2
  118. package/dist/cjs/printing/index.js +17 -17
  119. package/dist/cjs/printing/qr-groesse.d.ts +38 -38
  120. package/dist/cjs/printing/qr-groesse.js +47 -47
  121. package/dist/cjs/printing/webusb.d.ts +2 -2
  122. package/dist/cjs/printing/webusb.js +4 -4
  123. package/dist/cjs/react/index.d.ts +21 -21
  124. package/dist/cjs/react/index.js +40 -30
  125. package/dist/cjs/receipt/bild.d.ts +4 -4
  126. package/dist/cjs/receipt/bild.js +11 -11
  127. package/dist/cjs/receipt/blatt.d.ts +46 -46
  128. package/dist/cjs/receipt/blatt.js +59 -59
  129. package/dist/cjs/receipt/discount.d.ts +1 -1
  130. package/dist/cjs/receipt/discount.js +8 -8
  131. package/dist/cjs/receipt/due.d.ts +86 -0
  132. package/dist/cjs/receipt/due.js +261 -0
  133. package/dist/cjs/receipt/epos.d.ts +22 -22
  134. package/dist/cjs/receipt/epos.js +45 -45
  135. package/dist/cjs/receipt/grid.d.ts +10 -10
  136. package/dist/cjs/receipt/grid.js +20 -20
  137. package/dist/cjs/receipt/index.d.ts +9 -8
  138. package/dist/cjs/receipt/index.js +26 -23
  139. package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
  140. package/dist/cjs/receipt/layout-escpos.js +49 -49
  141. package/dist/cjs/receipt/layout.d.ts +28 -23
  142. package/dist/cjs/receipt/layout.js +45 -21
  143. package/dist/cjs/receipt/marke-daten.d.ts +8 -8
  144. package/dist/cjs/receipt/marke-daten.js +8 -8
  145. package/dist/cjs/receipt/marke.d.ts +7 -7
  146. package/dist/cjs/receipt/marke.js +10 -10
  147. package/dist/cjs/register/errors.d.ts +61 -0
  148. package/dist/cjs/register/errors.js +112 -0
  149. package/dist/cjs/register/index.d.ts +14 -1
  150. package/dist/cjs/register/index.js +20 -1
  151. package/dist/cjs/register/pairing.d.ts +55 -36
  152. package/dist/cjs/register/pairing.js +33 -29
  153. package/dist/cjs/register/session.d.ts +5 -5
  154. package/dist/cjs/register/session.js +7 -7
  155. package/dist/cjs/stored/draht.d.ts +45 -0
  156. package/dist/cjs/stored/draht.js +220 -0
  157. package/dist/cjs/stored/einstellungen.d.ts +23 -0
  158. package/dist/cjs/stored/einstellungen.js +200 -0
  159. package/dist/cjs/stored/index.d.ts +109 -0
  160. package/dist/cjs/stored/index.js +225 -0
  161. package/dist/cjs/stored/vokabular.d.ts +18 -0
  162. package/dist/cjs/stored/vokabular.js +389 -0
  163. package/dist/cjs/version.d.ts +7 -0
  164. package/dist/cjs/version.js +10 -0
  165. package/dist/cjs/vienna-time.d.ts +1 -1
  166. package/dist/cjs/vienna-time.js +2 -2
  167. package/dist/esm/client/api.d.ts +7 -6
  168. package/dist/esm/client/api.js +4 -4
  169. package/dist/esm/client/aufrufe.d.ts +29 -5
  170. package/dist/esm/client/aufrufe.js +111 -1
  171. package/dist/esm/client/auth.d.ts +2 -0
  172. package/dist/esm/client/auth.js +16 -1
  173. package/dist/esm/client/cashregisters.d.ts +1 -1
  174. package/dist/esm/client/cashregisters.js +2 -2
  175. package/dist/esm/client/errors.d.ts +78 -19
  176. package/dist/esm/client/errors.js +105 -27
  177. package/dist/esm/client/fehlercodes.d.ts +9 -0
  178. package/dist/esm/client/fehlercodes.js +32 -0
  179. package/dist/esm/client/index.d.ts +5 -5
  180. package/dist/esm/client/index.js +5 -5
  181. package/dist/esm/client/receipts.d.ts +131 -124
  182. package/dist/esm/client/receipts.js +213 -140
  183. package/dist/esm/client/reports.d.ts +26 -4
  184. package/dist/esm/client/reports.js +36 -4
  185. package/dist/esm/client/status.d.ts +3 -3
  186. package/dist/esm/client/status.js +7 -7
  187. package/dist/esm/client/transport.d.ts +56 -4
  188. package/dist/esm/client/transport.js +221 -24
  189. package/dist/esm/enums/vat-rate.d.ts +2 -2
  190. package/dist/esm/enums/vat-rate.js +1 -1
  191. package/dist/esm/index.d.ts +4 -3
  192. package/dist/esm/index.js +4 -3
  193. package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
  194. package/dist/esm/{rechnung → invoice}/api.js +6 -6
  195. package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
  196. package/dist/esm/{rechnung → invoice}/auth.js +4 -4
  197. package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
  198. package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
  199. package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
  200. package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
  201. package/dist/esm/invoice/fehler.d.ts +31 -0
  202. package/dist/esm/invoice/fehler.js +33 -0
  203. package/dist/esm/invoice/index.d.ts +21 -0
  204. package/dist/esm/invoice/index.js +20 -0
  205. package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
  206. package/dist/esm/{rechnung → invoice}/summen.js +12 -12
  207. package/dist/esm/invoice/texte.d.ts +224 -0
  208. package/dist/esm/invoice/texte.js +421 -0
  209. package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
  210. package/dist/{cjs/rechnung → esm/invoice}/vertrag.d.ts +97 -71
  211. package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
  212. package/dist/esm/models/cancellation.d.ts +53 -21
  213. package/dist/esm/models/cancellation.js +90 -41
  214. package/dist/esm/models/hobex-receipt.d.ts +3 -3
  215. package/dist/esm/models/hobex-receipt.js +35 -35
  216. package/dist/esm/models/index.d.ts +6 -5
  217. package/dist/esm/models/index.js +6 -5
  218. package/dist/esm/models/payment-errors.d.ts +32 -15
  219. package/dist/esm/models/payment-errors.js +77 -32
  220. package/dist/esm/models/receipt-company.d.ts +6 -5
  221. package/dist/esm/models/receipt-company.js +4 -4
  222. package/dist/esm/models/receipt-email.d.ts +32 -18
  223. package/dist/esm/models/receipt-email.js +65 -23
  224. package/dist/esm/models/receipt-errors.d.ts +39 -0
  225. package/dist/esm/models/receipt-errors.js +87 -0
  226. package/dist/esm/models/receipt-item.d.ts +9 -1
  227. package/dist/esm/models/receipt-item.js +3 -0
  228. package/dist/esm/models/receipt-payment.d.ts +2 -1
  229. package/dist/esm/models/receipt-summary.d.ts +10 -4
  230. package/dist/esm/models/receipt-summary.js +9 -3
  231. package/dist/esm/models/receipt.d.ts +31 -2
  232. package/dist/esm/models/receipt.js +28 -2
  233. package/dist/esm/models/voucher.d.ts +7 -6
  234. package/dist/esm/models/voucher.js +2 -7
  235. package/dist/esm/partner/ablauf.d.ts +10 -10
  236. package/dist/esm/partner/ablauf.js +27 -27
  237. package/dist/esm/partner/api.d.ts +26 -23
  238. package/dist/esm/partner/api.js +13 -15
  239. package/dist/esm/partner/auth.d.ts +1 -1
  240. package/dist/esm/partner/auth.js +2 -2
  241. package/dist/esm/partner/betrieb.d.ts +7 -7
  242. package/dist/esm/partner/betrieb.js +8 -8
  243. package/dist/esm/partner/endpunkte.d.ts +27 -14
  244. package/dist/esm/partner/endpunkte.js +79 -39
  245. package/dist/esm/partner/fehler.d.ts +60 -30
  246. package/dist/esm/partner/fehler.js +91 -35
  247. package/dist/esm/partner/index.d.ts +13 -12
  248. package/dist/esm/partner/index.js +12 -11
  249. package/dist/esm/partner/secret.d.ts +3 -3
  250. package/dist/esm/partner/secret.js +5 -5
  251. package/dist/esm/partner/typen.d.ts +129 -71
  252. package/dist/esm/partner/typen.js +75 -2
  253. package/dist/esm/partner/webhook-signatur.d.ts +2 -2
  254. package/dist/esm/partner/webhook-signatur.js +12 -12
  255. package/dist/esm/partner/webhooks.d.ts +60 -32
  256. package/dist/esm/partner/webhooks.js +38 -32
  257. package/dist/esm/payments/hobex-hps/transaction-response.js +28 -28
  258. package/dist/esm/payments/hobex.d.ts +2 -2
  259. package/dist/esm/payments/hobex.js +4 -4
  260. package/dist/esm/payments/stripe.d.ts +2 -2
  261. package/dist/esm/payments/stripe.js +4 -4
  262. package/dist/esm/pos/artikel.d.ts +90 -0
  263. package/dist/esm/pos/artikel.js +79 -0
  264. package/dist/esm/pos/client.d.ts +27 -0
  265. package/dist/esm/pos/client.js +137 -0
  266. package/dist/esm/pos/drucker.d.ts +86 -0
  267. package/dist/esm/pos/drucker.js +71 -0
  268. package/dist/esm/pos/errors.d.ts +36 -0
  269. package/dist/esm/pos/errors.js +88 -0
  270. package/dist/esm/pos/index.d.ts +15 -0
  271. package/dist/esm/pos/index.js +20 -0
  272. package/dist/esm/pos/settings.d.ts +313 -0
  273. package/dist/esm/pos/settings.js +367 -0
  274. package/dist/esm/pos/texte.d.ts +883 -0
  275. package/dist/esm/pos/texte.js +481 -0
  276. package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
  277. package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
  278. package/dist/esm/printing/escpos.d.ts +29 -29
  279. package/dist/esm/printing/escpos.js +56 -56
  280. package/dist/esm/printing/index.d.ts +2 -2
  281. package/dist/esm/printing/index.js +2 -2
  282. package/dist/esm/printing/qr-groesse.d.ts +38 -38
  283. package/dist/esm/printing/qr-groesse.js +42 -42
  284. package/dist/esm/printing/webusb.d.ts +2 -2
  285. package/dist/esm/printing/webusb.js +4 -4
  286. package/dist/esm/react/index.d.ts +21 -21
  287. package/dist/esm/react/index.js +39 -29
  288. package/dist/esm/receipt/bild.d.ts +4 -4
  289. package/dist/esm/receipt/bild.js +11 -11
  290. package/dist/esm/receipt/blatt.d.ts +46 -46
  291. package/dist/esm/receipt/blatt.js +55 -55
  292. package/dist/esm/receipt/discount.d.ts +1 -1
  293. package/dist/esm/receipt/discount.js +7 -7
  294. package/dist/esm/receipt/due.d.ts +86 -0
  295. package/dist/esm/receipt/due.js +257 -0
  296. package/dist/esm/receipt/epos.d.ts +22 -22
  297. package/dist/esm/receipt/epos.js +47 -47
  298. package/dist/esm/receipt/grid.d.ts +10 -10
  299. package/dist/esm/receipt/grid.js +18 -18
  300. package/dist/esm/receipt/index.d.ts +9 -8
  301. package/dist/esm/receipt/index.js +9 -8
  302. package/dist/esm/receipt/layout-escpos.d.ts +24 -24
  303. package/dist/esm/receipt/layout-escpos.js +51 -51
  304. package/dist/esm/receipt/layout.d.ts +28 -23
  305. package/dist/esm/receipt/layout.js +44 -20
  306. package/dist/esm/receipt/marke-daten.d.ts +8 -8
  307. package/dist/esm/receipt/marke-daten.js +7 -7
  308. package/dist/esm/receipt/marke.d.ts +7 -7
  309. package/dist/esm/receipt/marke.js +10 -10
  310. package/dist/esm/register/errors.d.ts +61 -0
  311. package/dist/esm/register/errors.js +104 -0
  312. package/dist/esm/register/index.d.ts +14 -1
  313. package/dist/esm/register/index.js +13 -0
  314. package/dist/esm/register/pairing.d.ts +55 -36
  315. package/dist/esm/register/pairing.js +33 -29
  316. package/dist/esm/register/session.d.ts +5 -5
  317. package/dist/esm/register/session.js +7 -7
  318. package/dist/esm/stored/draht.d.ts +45 -0
  319. package/dist/esm/stored/draht.js +208 -0
  320. package/dist/esm/stored/einstellungen.d.ts +23 -0
  321. package/dist/esm/stored/einstellungen.js +196 -0
  322. package/dist/esm/stored/index.d.ts +109 -0
  323. package/dist/esm/stored/index.js +217 -0
  324. package/dist/esm/stored/vokabular.d.ts +18 -0
  325. package/dist/esm/stored/vokabular.js +386 -0
  326. package/dist/esm/version.d.ts +7 -0
  327. package/dist/esm/version.js +7 -0
  328. package/dist/esm/vienna-time.d.ts +1 -1
  329. package/dist/esm/vienna-time.js +2 -2
  330. package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
  331. package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
  332. package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
  333. package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
  334. package/fixtures/expected/cancellation-full.sheet32.json +218 -0
  335. package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
  336. package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
  337. package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
  338. package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
  339. package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
  340. package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
  341. package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
  342. package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
  343. package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
  344. package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
  345. package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
  346. package/fixtures/expected/card-custom.sheet32.json +158 -0
  347. package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
  348. package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
  349. package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
  350. package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
  351. package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
  352. package/fixtures/expected/card-gptom.sheet32.json +230 -0
  353. package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
  354. package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
  355. package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
  356. package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
  357. package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
  358. package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
  359. package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
  360. package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
  361. package/fixtures/expected/card-mypos.sheet32.json +254 -0
  362. package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
  363. package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
  364. package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
  365. package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
  366. package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
  367. package/fixtures/expected/card-stripe.sheet32.json +212 -0
  368. package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
  369. package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
  370. package/fixtures/expected/card-sumup.sheet32.json +218 -0
  371. package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
  372. package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
  373. package/fixtures/expected/discount-lines.sheet32.json +200 -0
  374. package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
  375. package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
  376. package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
  377. package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
  378. package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
  379. package/fixtures/expected/discount-simple.sheet32.json +182 -0
  380. package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
  381. package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
  382. package/fixtures/expected/discount-tip.sheet32.json +212 -0
  383. package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
  384. package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
  385. package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
  386. package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
  387. package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
  388. package/fixtures/expected/long-item-name.sheet32.json +176 -0
  389. package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
  390. package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
  391. package/fixtures/expected/sale-card.sheet32.json +176 -0
  392. package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
  393. package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
  394. package/fixtures/expected/sale-cash.sheet32.json +176 -0
  395. package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
  396. package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
  397. package/fixtures/expected/sale-small-business.sheet32.json +182 -0
  398. package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
  399. package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
  400. package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
  401. package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
  402. package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
  403. package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
  404. package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
  405. package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
  406. package/fixtures/expected/split-cash-change.sheet32.json +194 -0
  407. package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
  408. package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
  409. package/fixtures/expected/split-long-amount.sheet32.json +266 -0
  410. package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
  411. package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
  412. package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
  413. package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
  414. package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
  415. package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
  416. package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
  417. package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
  418. package/fixtures/expected/split-tip-card.sheet32.json +272 -0
  419. package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
  420. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
  421. package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
  422. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
  423. package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
  424. package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
  425. package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
  426. package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
  427. package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
  428. package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
  429. package/fixtures/{erwartet → expected}/training.lines.json +2 -2
  430. package/fixtures/expected/training.sheet32.json +236 -0
  431. package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
  432. package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
  433. package/fixtures/expected/zero-annual.sheet32.json +212 -0
  434. package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
  435. package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
  436. package/fixtures/expected/zero-final.sheet32.json +206 -0
  437. package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
  438. package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
  439. package/fixtures/expected/zero-manual.sheet32.json +206 -0
  440. package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
  441. package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
  442. package/fixtures/expected/zero-monthly.sheet32.json +206 -0
  443. package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
  444. package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
  445. package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
  446. package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
  447. package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
  448. package/fixtures/expected/zero-start.sheet32.json +206 -0
  449. package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
  450. package/fixtures/hobex-hps-codes.json +40 -40
  451. package/fixtures/invoice-api-examples/brands-ok.json +8 -0
  452. package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
  453. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
  454. package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
  455. package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
  456. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
  457. package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
  458. package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
  459. package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
  460. package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
  461. package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
  462. package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
  463. package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
  464. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
  465. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
  466. package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
  467. package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
  468. package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
  469. package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
  470. package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
  471. package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
  472. package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
  473. package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
  474. package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
  475. package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
  476. package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
  477. package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
  478. package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
  479. package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
  480. package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
  481. package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
  482. package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
  483. package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
  484. package/fixtures/invoice-texts.json +464 -0
  485. package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
  486. package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
  487. package/fixtures/manifest.json +252 -252
  488. package/fixtures/pos-message-cases.json +32 -0
  489. package/fixtures/pos-settings-defaults.json +149 -0
  490. package/fixtures/pos-texts.json +957 -0
  491. package/fixtures/receipt-due-generated.json +1218 -0
  492. package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
  493. package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
  494. package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
  495. package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
  496. package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
  497. package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
  498. package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
  499. package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
  500. package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
  501. package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
  502. package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
  503. package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
  504. package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
  505. package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
  506. package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
  507. package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
  508. package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
  509. package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
  510. package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
  511. package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
  512. package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
  513. package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
  514. package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
  515. package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
  516. package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
  517. package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
  518. package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
  519. package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
  520. package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
  521. package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
  522. package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
  523. package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
  524. package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
  525. package/fixtures/{belege → receipts}/training.json +2 -2
  526. package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
  527. package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
  528. package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
  529. package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
  530. package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
  531. package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
  532. package/fixtures/renames-1.0.json +1490 -0
  533. package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +10 -8
  534. package/fixtures/surface.json +877 -0
  535. package/fixtures/v3/README.md +125 -0
  536. package/fixtures/v3/antworten/belege.json +4738 -0
  537. package/fixtures/v3/antworten/belegmail.json +154 -0
  538. package/fixtures/v3/antworten/kasse-belege.json +4304 -0
  539. package/fixtures/v3/antworten/kasse.json +12716 -0
  540. package/fixtures/v3/antworten/rechnungen.json +1712 -0
  541. package/fixtures/v3/antworten/storno.json +737 -0
  542. package/fixtures/v3/stored/belege.json +502 -0
  543. package/fixtures/v3/stored/kasse.json +3461 -0
  544. package/fixtures/v3/stored/rechnungen.json +750 -0
  545. package/fixtures/v3/v3-vokabular.json +3375 -0
  546. package/fixtures/v3/zahlbetrag-faelle.json +794 -0
  547. package/package.json +32 -18
  548. package/dist/cjs/kasse/artikel.d.ts +0 -83
  549. package/dist/cjs/kasse/artikel.js +0 -79
  550. package/dist/cjs/kasse/client.d.ts +0 -10
  551. package/dist/cjs/kasse/client.js +0 -38
  552. package/dist/cjs/kasse/drucker.d.ts +0 -59
  553. package/dist/cjs/kasse/drucker.js +0 -50
  554. package/dist/cjs/kasse/index.d.ts +0 -13
  555. package/dist/cjs/kasse/index.js +0 -79
  556. package/dist/cjs/kasse/settings.d.ts +0 -227
  557. package/dist/cjs/kasse/settings.js +0 -169
  558. package/dist/cjs/kasse/texte.d.ts +0 -458
  559. package/dist/cjs/kasse/texte.js +0 -244
  560. package/dist/cjs/rechnung/fehler.d.ts +0 -21
  561. package/dist/cjs/rechnung/fehler.js +0 -44
  562. package/dist/cjs/rechnung/index.d.ts +0 -21
  563. package/dist/cjs/rechnung/index.js +0 -82
  564. package/dist/cjs/rechnung/texte.d.ts +0 -222
  565. package/dist/cjs/rechnung/texte.js +0 -425
  566. package/dist/esm/kasse/artikel.d.ts +0 -83
  567. package/dist/esm/kasse/artikel.js +0 -70
  568. package/dist/esm/kasse/client.d.ts +0 -10
  569. package/dist/esm/kasse/client.js +0 -33
  570. package/dist/esm/kasse/drucker.d.ts +0 -59
  571. package/dist/esm/kasse/drucker.js +0 -45
  572. package/dist/esm/kasse/index.d.ts +0 -13
  573. package/dist/esm/kasse/index.js +0 -18
  574. package/dist/esm/kasse/settings.d.ts +0 -227
  575. package/dist/esm/kasse/settings.js +0 -165
  576. package/dist/esm/kasse/texte.d.ts +0 -458
  577. package/dist/esm/kasse/texte.js +0 -238
  578. package/dist/esm/rechnung/fehler.d.ts +0 -21
  579. package/dist/esm/rechnung/fehler.js +0 -39
  580. package/dist/esm/rechnung/index.d.ts +0 -21
  581. package/dist/esm/rechnung/index.js +0 -20
  582. package/dist/esm/rechnung/texte.d.ts +0 -222
  583. package/dist/esm/rechnung/texte.js +0 -421
  584. package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
  585. package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
  586. package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
  587. package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
  588. package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
  589. package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
  590. package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
  591. package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
  592. package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
  593. package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
  594. package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
  595. package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
  596. package/fixtures/erwartet/null-monat.blatt32.json +0 -206
  597. package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
  598. package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
  599. package/fixtures/erwartet/null-start.blatt32.json +0 -206
  600. package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
  601. package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
  602. package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
  603. package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
  604. package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
  605. package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
  606. package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
  607. package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
  608. package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
  609. package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
  610. package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
  611. package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
  612. package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
  613. package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
  614. package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
  615. package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
  616. package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
  617. package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
  618. package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
  619. package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
  620. package/fixtures/erwartet/training.blatt32.json +0 -236
  621. package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
  622. package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
  623. package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
  624. package/fixtures/kasse-meldungen-faelle.json +0 -32
  625. package/fixtures/kasse-texte.json +0 -513
  626. package/fixtures/oberflaeche.json +0 -557
  627. package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
  628. package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
  629. package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
  630. package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
  631. package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
  632. package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
  633. package/fixtures/rechnung-texte.json +0 -464
  634. /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
  635. /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
  636. /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
  637. /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
  638. /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
  639. /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
  640. /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
  641. /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
  642. /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
  643. /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
  644. /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
  645. /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
  646. /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
  647. /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
  648. /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
  649. /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
  650. /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
  651. /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
  652. /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
  653. /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
  654. /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
  655. /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
  656. /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
  657. /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
  658. /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
  659. /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
  660. /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
  661. /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
  662. /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
  663. /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
  664. /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
  665. /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
  666. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
  667. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
  668. /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
  669. /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
  670. /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
  671. /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
  672. /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
  673. /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
  674. /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
  675. /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
  676. /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
  677. /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
  678. /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
  679. /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
  680. /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
  681. /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
  682. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
  683. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
  684. /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
  685. /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
  686. /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
  687. /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
  688. /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
  689. /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
  690. /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
  691. /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
  692. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
  693. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
  694. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
  695. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
  696. /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
  697. /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
  698. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
  699. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
  700. /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
  701. /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
  702. /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
  703. /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
  704. /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
  705. /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
  706. /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
  707. /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
  708. /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
  709. /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
  710. /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
  711. /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
  712. /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
  713. /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
  714. /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
  715. /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
  716. /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
  717. /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' }
@@ -57,7 +57,8 @@ export interface ReceiptPaymentPayload {
57
57
  *
58
58
  * - `method`: jede Zahlungsart ausser `mixed`.
59
59
  * - `amountCents`: ganze Cent, am Verkauf > 0, am Storno < 0.
60
- * - `tenderedCents`: nur bei Barzahlung am Verkauf, hoechstens an einer Zahlung.
60
+ * - `tenderedCents`: nur bei Barzahlung am Verkauf; jede Barzahlung darf ihren
61
+ * eigenen gegebenen Betrag tragen (getrennt zahlen: Rueckgeld je Gast).
61
62
  * - `provider`/`providerPaymentId`/`providerData`: bei Karten Pflicht
62
63
  * (`providerPaymentId` ausser bei `custom`), bei `online` optional, sonst
63
64
  * nicht erlaubt; am Storno beschreiben sie die Erstattung und sind optional.
@@ -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 } : {}),
@@ -94,8 +104,24 @@ function leseStorno(eintrag) {
94
104
  ...(eintrag.promoAdjustmentCents && typeof eintrag.promoAdjustmentCents === 'object'
95
105
  ? { promoAdjustmentCents: Object.fromEntries(Object.entries(eintrag.promoAdjustmentCents).map(([k, v]) => [k, Number(v)])) }
96
106
  : {}),
107
+ ...(eintrag.refundedByPayment && typeof eintrag.refundedByPayment === 'object' && !Array.isArray(eintrag.refundedByPayment)
108
+ ? { refundedByPayment: gueltigeRueckzahlungen(eintrag.refundedByPayment) }
109
+ : {}),
97
110
  };
98
111
  }
112
+ // Nur ganzzahlige, nicht-negative Cent-Betraege je Zahlungs-ID; ein Eintrag,
113
+ // der das nicht erfuellt (negativ, Kommazahl, kein Zahlenwert), faellt weg --
114
+ // die uebrigen bleiben. Zwilling der Backend-Erzeugung (storno-core.js
115
+ // pruefeRueckzahlungen), die selbst nur so etwas ablegt.
116
+ function gueltigeRueckzahlungen(rueckzahlungen) {
117
+ const raus = {};
118
+ for (const [id, wert] of Object.entries(rueckzahlungen)) {
119
+ const cents = Number(wert);
120
+ if (Number.isInteger(cents) && cents >= 0)
121
+ raus[id] = cents;
122
+ }
123
+ return raus;
124
+ }
99
125
  /**
100
126
  * Zwischensumme in **Cent** — Positionen plus verkaufte Wertgutscheine minus
101
127
  * eingeloeste Promotionsgutscheine. Wertgutschein-Einloesungen wirken erst auf
@@ -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;