@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
@@ -2,8 +2,9 @@ import type { Cashregister, HobexReceipt, Receipt, ReportMonth, StripeUrlSession
2
2
  import { type CreateStripeLinkOptions, type StripeCaptureResult } from '../payments/stripe.js';
3
3
  import { type HobexPayOptions, type HobexRefundOptions } from '../payments/hobex.js';
4
4
  import { type TransportOptions } from './transport.js';
5
+ import { type ReportV2, type ReportV2Options } from './reports.js';
5
6
  import { type CashboxStatus, type SignatureStatus } from './status.js';
6
- import { type SendReceiptEmailOptions, type SendReceiptEmailResult, type ListMyReceiptsOptions, type ReceiptList, type ReceiptWithCompany, type SellReceiptOptions, type SellReceiptWithPaymentsOptions, type CancelReceiptOptions, type CancelReceiptResult, type CreateCancelReceiptOptions } from './receipts.js';
7
+ import { type SendReceiptEmailOptions, type SendReceiptEmailResult, type ListMyReceiptsOptions, type ReceiptList, type ReceiptWithCompany, type SellReceiptOptions, type CancelReceiptOptions, type CancelReceiptResult } from './receipts.js';
7
8
  /**
8
9
  * Schlichte Factory ueber den Endpunkt-Funktionen: bindet einen Transport
9
10
  * einmal und liefert die Aufrufe ohne den wiederkehrenden ersten Parameter.
@@ -30,13 +31,11 @@ import { type SendReceiptEmailOptions, type SendReceiptEmailResult, type ListMyR
30
31
  */
31
32
  export interface KasseneckApi {
32
33
  /** Normalbeleg (Verkauf). */
33
- sellReceipt(options: SellReceiptOptions | SellReceiptWithPaymentsOptions): Promise<Receipt>;
34
+ sellReceipt(options: SellReceiptOptions): Promise<Receipt>;
34
35
  /** Normalbeleg samt Firmen-/Druckdaten fuer den Belegdruck. */
35
- sellReceiptWithCompany(options: SellReceiptOptions | SellReceiptWithPaymentsOptions): Promise<ReceiptWithCompany>;
36
+ sellReceiptWithCompany(options: SellReceiptOptions): Promise<ReceiptWithCompany>;
36
37
  /** Storno eines bestehenden Belegs — voll oder in Teilen, ueber den Storno-Endpunkt. */
37
38
  cancelReceipt(options: CancelReceiptOptions): Promise<CancelReceiptResult>;
38
- /** Storno aus frei uebergebenen Positionen. */
39
- createCancelReceipt(options: CreateCancelReceiptOptions): Promise<Receipt>;
40
39
  /** Nullbeleg (RKSV-Pruefbeleg). */
41
40
  zeroReceipt(): Promise<Receipt>;
42
41
  /** Einzelnen Beleg holen. */
@@ -53,6 +52,8 @@ export interface KasseneckApi {
53
52
  listMyReceipts(options: ListMyReceiptsOptions): Promise<ReceiptList>;
54
53
  /** Kassen des angemeldeten Benutzers (nur mit ID-Token, siehe cashregisters.ts). */
55
54
  listMyCashregisters(): Promise<Cashregister[]>;
55
+ /** Rohdaten eines Zeitraums: Belege und Firmendaten (`getReportV2`). */
56
+ getReportV2(options: ReportV2Options): Promise<ReportV2>;
56
57
  /** Tagesbericht als PDF (Kalendertag nach Wiener Zeit). */
57
58
  downloadDailyReport(date: Date): Promise<Uint8Array>;
58
59
  /** Monatsbericht als PDF (Endpunkt `downloadReport`). */
@@ -60,7 +61,7 @@ export interface KasseneckApi {
60
61
  /** Betriebsstatus der Kasse bei FinanzOnline. */
61
62
  getCashboxStatus(): Promise<CashboxStatus>;
62
63
  /** Status der Signatureinheit bei FinanzOnline. */
63
- getSignatureStatus(zertifikatNrHex: string): Promise<SignatureStatus>;
64
+ getSignatureStatus(certificateSerialHex: string): Promise<SignatureStatus>;
64
65
  /** Stripe-Zahlungslink erzeugen (Endpunkt `createPaymentLinkStripe`). */
65
66
  createStripeLink(options: CreateStripeLinkOptions): Promise<StripeUrlSession>;
66
67
  /** Reservierte Stripe-Zahlung einziehen. */
@@ -18,7 +18,6 @@ function createKasseneckApi(options) {
18
18
  sellReceipt: (o) => (0, receipts_js_1.sellReceipt)(rufen, o),
19
19
  sellReceiptWithCompany: (o) => (0, receipts_js_1.sellReceiptWithCompany)(rufen, o),
20
20
  cancelReceipt: (o) => (0, receipts_js_1.cancelReceipt)(rufen, o),
21
- createCancelReceipt: (o) => (0, receipts_js_1.createCancelReceipt)(rufen, o),
22
21
  zeroReceipt: () => (0, receipts_js_1.zeroReceipt)(rufen),
23
22
  getReceipt: (receiptId) => (0, receipts_js_1.getReceipt)(rufen, receiptId),
24
23
  getReceiptWithCompany: (receiptId) => (0, receipts_js_1.getReceiptWithCompany)(rufen, receiptId),
@@ -27,10 +26,11 @@ function createKasseneckApi(options) {
27
26
  listMyReceipts: (o) => (0, receipts_js_1.listMyReceipts)(rufen, o),
28
27
  sendReceiptEmail: (o) => (0, receipts_js_1.sendReceiptEmail)(rufen, o),
29
28
  listMyCashregisters: () => (0, cashregisters_js_1.listMyCashregisters)(rufen),
29
+ getReportV2: (o) => (0, reports_js_1.getReportV2)(rufen, o),
30
30
  downloadDailyReport: (date) => (0, reports_js_1.downloadDailyReport)(rufenBinaer, date),
31
31
  downloadMonthlyReport: (reportMonth) => (0, reports_js_1.downloadMonthlyReport)(rufenBinaer, reportMonth),
32
32
  getCashboxStatus: () => (0, status_js_1.getCashboxStatus)(rufen),
33
- getSignatureStatus: (zertifikatNrHex) => (0, status_js_1.getSignatureStatus)(rufen, zertifikatNrHex),
33
+ getSignatureStatus: (certificateSerialHex) => (0, status_js_1.getSignatureStatus)(rufen, certificateSerialHex),
34
34
  createStripeLink: (o) => (0, stripe_js_1.createStripeLink)(rufen, o),
35
35
  stripeCaptureIntent: (stripeSessionId) => (0, stripe_js_1.stripeCaptureIntent)(rufen, stripeSessionId),
36
36
  hobexPay: (o) => (0, hobex_js_1.hobexPay)(rufen, o),
@@ -2,7 +2,7 @@
2
2
  * Die Namen der Backend-Functions, die dieses Paket aufruft — als Daten, nicht
3
3
  * als Zeichenketten im Code verstreut. Zwei Gruende:
4
4
  *
5
- * 1. Der Vertrag (`fixtures/oberflaeche.json`) gibt die Liste aus, damit die
5
+ * 1. Der Vertrag (`fixtures/surface.json`) gibt die Liste aus, damit die
6
6
  * Zwillinge pruefen koennen, ob sie denselben Aufruf kennen.
7
7
  * 2. Die paketinternen Module nehmen [InternerTransport] statt
8
8
  * [KasseneckTransport] entgegen; ein Tippfehler im Aufrufnamen ist damit ein
@@ -13,9 +13,33 @@
13
13
  * umhuellt, muss ihn weiterhin absetzen koennen.
14
14
  */
15
15
  import type { TransportBodyFields } from './transport.js';
16
- export declare const AUFRUFE: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook"];
17
- export type Aufruf = typeof AUFRUFE[number];
16
+ export declare const ALL_CALLS: readonly ["activateCashregister", "cancelInvoice", "cancelReceipt", "createCreditNote", "createCustomer", "createCustomerCashregister", "createPartnerCustomer", "checkPartnerCustomerEmail", "createPartnerWebhook", "createPaymentLinkStripe", "createPrintJob", "createReceipt", "deletePartnerWebhook", "downloadDailyReport", "downloadReport", "endRegisterSession", "financeWebService", "generateFullReceiptId", "getCustomer", "getCustomerCredentials", "getCustomerSignatureStatus", "getFirstReceiptDate", "getInvoice", "getInvoicePdf", "getInvoiceSetupStatus", "getInvoiceXml", "getKasseSettings", "getPartnerCustomer", "getPartnerInfo", "getPrintJob", "getReceipt", "getReportV2", "hobexPayApi", "hobexRefundApi", "issueInvoice", "listCustomerCashregisters", "listInvoices", "listBrands", "listMyArticleGroups", "listMyArticles", "listMyCashregisters", "listMyPrinters", "listMyReceipts", "listMyTipRecipients", "listPartnerCustomers", "listPartnerWebhookDeliveries", "listPartnerWebhooks", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "pairRegisterDevice", "recordInvoicePayment", "registerPinLogin", "registerUserLogin", "renewRegisterSession", "reportCustomerContract", "requestCustomerSignature", "searchCustomers", "sendPartnerCustomerFonLink", "sendPartnerWebhookTest", "sendReceiptEmail", "setMyKasseLogo", "setMyKasseSettings", "setMyRegisterDeviceSettings", "stripeCaptureIntent", "unpairRegisterDevice", "rotatePartnerWebhookSecret", "updateCustomer", "updatePartnerWebhook"];
17
+ export type ApiCall = typeof ALL_CALLS[number];
18
+ /**
19
+ * Die oeffentlichen Endpunkte unter `/v3` (`https://api.kasseneck.at/v3/<name>`),
20
+ * mit ihrem **aeusseren** Namen und in der Reihenfolge des Backend-Vertrags
21
+ * (`fixtures/v3/v3-vokabular.json`, `endpoints.public`, umbenannt nach
22
+ * `names`). Ein Test haelt beide Listen deckungsgleich.
23
+ */
24
+ export declare const PUBLIC_CALLS: readonly ["createReceipt", "getReceipt", "cancelReceipt", "sendReceiptEmail", "generateFullReceiptId", "downloadReceipt", "getFirstReceiptDate", "getReportV2", "downloadReport", "downloadDailyReport", "createPaymentLinkStripe", "stripeCaptureIntent", "hobexPayApi", "hobexRefundApi", "hobexGetStatus", "financeWebService", "listMyTipRecipients", "getPartnerInfo", "createPartnerCustomer", "checkPartnerCustomerEmail", "listPartnerCustomers", "getPartnerCustomer", "sendPartnerCustomerFonLink", "createPartnerWebhook", "updatePartnerWebhook", "deletePartnerWebhook", "listPartnerWebhooks", "sendPartnerWebhookTest", "rotatePartnerWebhookSecret", "listPartnerWebhookDeliveries", "requestCustomerSignature", "getCustomerSignatureStatus", "createCustomerCashregister", "activateCashregister", "listCustomerCashregisters", "getCustomerCredentials", "reportCustomerContract", "createCustomer", "getCustomer", "updateCustomer", "searchCustomers", "issueInvoice", "cancelInvoice", "createCreditNote", "getInvoice", "listInvoices", "getInvoicePdf", "getInvoiceXml", "getInvoiceSetupStatus", "listBrands", "recordInvoicePayment"];
25
+ /**
26
+ * Die Endpunkte des Kassenwegs (`https://kasse.kasseneck.at/api/v3/<name>`,
27
+ * Web-Kasse: gleicher Ursprung `/api/v3`), in der Reihenfolge von
28
+ * `endpoints.register`. Sechs davon sind zugleich oeffentlich; die Kasse ruft
29
+ * sie trotzdem ueber diesen Weg (ein Dialekt je Client, Nachtrag §5.2).
30
+ */
31
+ export declare const POS_CALLS: readonly ["pairRegisterDevice", "listRegisterUsersForDevice", "listRegisterSessionsForDevice", "registerUserLogin", "registerPinLogin", "renewRegisterSession", "endRegisterSession", "unpairRegisterDevice", "listMyCashregisters", "listMyReceipts", "getReceipt", "createReceipt", "generateFullReceiptId", "cancelReceipt", "sendReceiptEmail", "listMyArticleGroups", "listMyArticles", "getKasseSettings", "setMyKasseSettings", "setMyKasseLogo", "setMyRegisterDeviceSettings", "listMyPrinters", "createPrintJob", "getPrintJob", "listMyTipRecipients"];
32
+ export type PublicCall = typeof PUBLIC_CALLS[number];
33
+ export type PosCall = typeof POS_CALLS[number];
34
+ /** Einer der 25 Aufrufe des Kassenwegs. */
35
+ export declare function isPosCall(name: string): boolean;
36
+ /**
37
+ * Nur ueber den Kassenweg erreichbar (19 Namen): unter `api.kasseneck.at/v3`
38
+ * gibt es sie nicht. Der Transport schickt sie darum ohne eigene Basis an
39
+ * [POS_BASE_URL] statt an die oeffentliche Basis.
40
+ */
41
+ export declare function isPosOnlyCall(name: string): boolean;
18
42
  /** Wie [KasseneckTransport], nur mit bekanntem Aufrufnamen. Nicht exportiert nach aussen. */
19
- export type InternerTransport = <T = unknown>(functionName: Aufruf, params?: Record<string, unknown>, extraBodyFields?: TransportBodyFields, secretParams?: readonly string[]) => Promise<T>;
43
+ export type InternerTransport = <T = unknown>(functionName: ApiCall, params?: Record<string, unknown>, extraBodyFields?: TransportBodyFields, secretParams?: readonly string[]) => Promise<T>;
20
44
  /** Wie [KasseneckBinaryTransport], nur mit bekanntem Aufrufnamen. */
21
- export type InternerBinaerTransport = (functionName: Aufruf, params?: Record<string, unknown>) => Promise<Uint8Array>;
45
+ export type InternerBinaerTransport = (functionName: ApiCall, params?: Record<string, unknown>) => Promise<Uint8Array>;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AUFRUFE = void 0;
4
- exports.AUFRUFE = [
3
+ exports.POS_CALLS = exports.PUBLIC_CALLS = exports.ALL_CALLS = void 0;
4
+ exports.isPosCall = isPosCall;
5
+ exports.isPosOnlyCall = isPosOnlyCall;
6
+ exports.ALL_CALLS = [
5
7
  'activateCashregister',
6
8
  'cancelInvoice',
7
9
  'cancelReceipt',
@@ -33,6 +35,7 @@ exports.AUFRUFE = [
33
35
  'getPartnerInfo',
34
36
  'getPrintJob',
35
37
  'getReceipt',
38
+ 'getReportV2',
36
39
  'hobexPayApi',
37
40
  'hobexRefundApi',
38
41
  'issueInvoice',
@@ -55,11 +58,13 @@ exports.AUFRUFE = [
55
58
  'registerPinLogin',
56
59
  'registerUserLogin',
57
60
  'renewRegisterSession',
61
+ 'reportCustomerContract',
58
62
  'requestCustomerSignature',
59
63
  'searchCustomers',
60
64
  'sendPartnerCustomerFonLink',
61
65
  'sendPartnerWebhookTest',
62
66
  'sendReceiptEmail',
67
+ 'setMyKasseLogo',
63
68
  'setMyKasseSettings',
64
69
  'setMyRegisterDeviceSettings',
65
70
  'stripeCaptureIntent',
@@ -68,3 +73,110 @@ exports.AUFRUFE = [
68
73
  'updateCustomer',
69
74
  'updatePartnerWebhook',
70
75
  ];
76
+ /**
77
+ * Die oeffentlichen Endpunkte unter `/v3` (`https://api.kasseneck.at/v3/<name>`),
78
+ * mit ihrem **aeusseren** Namen und in der Reihenfolge des Backend-Vertrags
79
+ * (`fixtures/v3/v3-vokabular.json`, `endpoints.public`, umbenannt nach
80
+ * `names`). Ein Test haelt beide Listen deckungsgleich.
81
+ */
82
+ exports.PUBLIC_CALLS = [
83
+ 'createReceipt',
84
+ 'getReceipt',
85
+ 'cancelReceipt',
86
+ 'sendReceiptEmail',
87
+ 'generateFullReceiptId',
88
+ 'downloadReceipt',
89
+ 'getFirstReceiptDate',
90
+ 'getReportV2',
91
+ 'downloadReport',
92
+ 'downloadDailyReport',
93
+ 'createPaymentLinkStripe',
94
+ 'stripeCaptureIntent',
95
+ 'hobexPayApi',
96
+ 'hobexRefundApi',
97
+ 'hobexGetStatus',
98
+ 'financeWebService',
99
+ 'listMyTipRecipients',
100
+ 'getPartnerInfo',
101
+ 'createPartnerCustomer',
102
+ 'checkPartnerCustomerEmail',
103
+ 'listPartnerCustomers',
104
+ 'getPartnerCustomer',
105
+ 'sendPartnerCustomerFonLink',
106
+ 'createPartnerWebhook',
107
+ 'updatePartnerWebhook',
108
+ 'deletePartnerWebhook',
109
+ 'listPartnerWebhooks',
110
+ 'sendPartnerWebhookTest',
111
+ 'rotatePartnerWebhookSecret',
112
+ 'listPartnerWebhookDeliveries',
113
+ 'requestCustomerSignature',
114
+ 'getCustomerSignatureStatus',
115
+ 'createCustomerCashregister',
116
+ 'activateCashregister',
117
+ 'listCustomerCashregisters',
118
+ 'getCustomerCredentials',
119
+ 'reportCustomerContract',
120
+ 'createCustomer',
121
+ 'getCustomer',
122
+ 'updateCustomer',
123
+ 'searchCustomers',
124
+ 'issueInvoice',
125
+ 'cancelInvoice',
126
+ 'createCreditNote',
127
+ 'getInvoice',
128
+ 'listInvoices',
129
+ 'getInvoicePdf',
130
+ 'getInvoiceXml',
131
+ 'getInvoiceSetupStatus',
132
+ 'listBrands',
133
+ 'recordInvoicePayment',
134
+ ];
135
+ /**
136
+ * Die Endpunkte des Kassenwegs (`https://kasse.kasseneck.at/api/v3/<name>`,
137
+ * Web-Kasse: gleicher Ursprung `/api/v3`), in der Reihenfolge von
138
+ * `endpoints.register`. Sechs davon sind zugleich oeffentlich; die Kasse ruft
139
+ * sie trotzdem ueber diesen Weg (ein Dialekt je Client, Nachtrag §5.2).
140
+ */
141
+ exports.POS_CALLS = [
142
+ 'pairRegisterDevice',
143
+ 'listRegisterUsersForDevice',
144
+ 'listRegisterSessionsForDevice',
145
+ 'registerUserLogin',
146
+ 'registerPinLogin',
147
+ 'renewRegisterSession',
148
+ 'endRegisterSession',
149
+ 'unpairRegisterDevice',
150
+ 'listMyCashregisters',
151
+ 'listMyReceipts',
152
+ 'getReceipt',
153
+ 'createReceipt',
154
+ 'generateFullReceiptId',
155
+ 'cancelReceipt',
156
+ 'sendReceiptEmail',
157
+ 'listMyArticleGroups',
158
+ 'listMyArticles',
159
+ 'getKasseSettings',
160
+ 'setMyKasseSettings',
161
+ 'setMyKasseLogo',
162
+ 'setMyRegisterDeviceSettings',
163
+ 'listMyPrinters',
164
+ 'createPrintJob',
165
+ 'getPrintJob',
166
+ 'listMyTipRecipients',
167
+ ];
168
+ const OEFFENTLICH = new Set(exports.PUBLIC_CALLS);
169
+ const KASSENWEG = new Set(exports.POS_CALLS);
170
+ const NUR_KASSE = new Set(exports.POS_CALLS.filter((name) => !OEFFENTLICH.has(name)));
171
+ /** Einer der 25 Aufrufe des Kassenwegs. */
172
+ function isPosCall(name) {
173
+ return KASSENWEG.has(name);
174
+ }
175
+ /**
176
+ * Nur ueber den Kassenweg erreichbar (19 Namen): unter `api.kasseneck.at/v3`
177
+ * gibt es sie nicht. Der Transport schickt sie darum ohne eigene Basis an
178
+ * [POS_BASE_URL] statt an die oeffentliche Basis.
179
+ */
180
+ function isPosOnlyCall(name) {
181
+ return NUR_KASSE.has(name);
182
+ }
@@ -48,5 +48,7 @@ export interface RegisterUserAuthOptions {
48
48
  }
49
49
  /** Anmeldung per API-Schluessel und Kassen-Token (Geraete, POS-Apps, Dritte). */
50
50
  export declare function apiKeyAuth(options: ApiKeyAuthOptions): KasseneckAuth;
51
+ /** Nur fuer den Transport; nicht Teil der oeffentlichen Oberflaeche. */
52
+ export declare function isRegisterUserAuth(auth: KasseneckAuth): boolean;
51
53
  /** Anmeldung eines Kassen-Benutzers der Browser-Kasse (ID-Token + Sitzung). */
52
54
  export declare function registerUserAuth(options: RegisterUserAuthOptions): KasseneckAuth;
@@ -23,6 +23,7 @@
23
23
  */
24
24
  Object.defineProperty(exports, "__esModule", { value: true });
25
25
  exports.apiKeyAuth = apiKeyAuth;
26
+ exports.isRegisterUserAuth = isRegisterUserAuth;
26
27
  exports.registerUserAuth = registerUserAuth;
27
28
  const errors_js_1 = require("./errors.js");
28
29
  /** Anmeldung per API-Schluessel und Kassen-Token (Geraete, POS-Apps, Dritte). */
@@ -46,13 +47,26 @@ function apiKeyAuth(options) {
46
47
  params: {},
47
48
  });
48
49
  }
50
+ /**
51
+ * Anmeldungen der Kassen-Benutzer. Ein Transport mit einer davon ruft ohne
52
+ * eigene Basis **jeden** Aufruf ueber den Kassenweg (`kasse.kasseneck.at/api/v3`,
53
+ * Kanal `app`), auch die sechs oeffentlichen: die Kasse spricht einen Dialekt
54
+ * und braucht am Beleg die Anbieterdaten der Kartenzahlung (Nachtrag §5.2, §8).
55
+ * Eine Menge statt eines Felds am Funktionsobjekt: niemand kann eine fremde
56
+ * Anmeldung von aussen zur Kassen-Anmeldung erklaeren.
57
+ */
58
+ const KASSENWEG = new WeakSet();
59
+ /** Nur fuer den Transport; nicht Teil der oeffentlichen Oberflaeche. */
60
+ function isRegisterUserAuth(auth) {
61
+ return KASSENWEG.has(auth);
62
+ }
49
63
  /** Anmeldung eines Kassen-Benutzers der Browser-Kasse (ID-Token + Sitzung). */
50
64
  function registerUserAuth(options) {
51
65
  if (!options.cashregisterId) {
52
66
  throw new errors_js_1.KasseneckAuthError('registerUserAuth: cashregisterId fehlt');
53
67
  }
54
68
  const { getIdToken, getSessionId, cashregisterId } = options;
55
- return async () => {
69
+ const anmeldung = async () => {
56
70
  // Beides bei JEDEM Aufruf frisch — siehe Modulkommentar (Ablaufzeiten).
57
71
  const [idToken, sessionId] = await Promise.all([getIdToken(), getSessionId()]);
58
72
  if (!idToken) {
@@ -69,4 +83,6 @@ function registerUserAuth(options) {
69
83
  params: { cashregisterId },
70
84
  };
71
85
  };
86
+ KASSENWEG.add(anmeldung);
87
+ return anmeldung;
72
88
  }
@@ -18,4 +18,4 @@ import type { InternerTransport } from './aufrufe.js';
18
18
  *
19
19
  * Ohne diesen Aufruf kann eine Browser-Kasse ihre Kasse nicht auswaehlen.
20
20
  */
21
- export declare function listMyCashregisters(rufen: InternerTransport): Promise<Cashregister[]>;
21
+ export declare function listMyCashregisters(transport: InternerTransport): Promise<Cashregister[]>;
@@ -21,8 +21,8 @@ const errors_js_1 = require("./errors.js");
21
21
  *
22
22
  * Ohne diesen Aufruf kann eine Browser-Kasse ihre Kasse nicht auswaehlen.
23
23
  */
24
- async function listMyCashregisters(rufen) {
25
- const daten = await rufen('listMyCashregisters');
24
+ async function listMyCashregisters(transport) {
25
+ const daten = await transport('listMyCashregisters');
26
26
  const liste = daten?.cashregisters;
27
27
  if (!Array.isArray(liste)) {
28
28
  throw new errors_js_1.KasseneckValidationError('listMyCashregisters', 'Antwort enthaelt keine Kassenliste (data.cashregisters fehlt)', 'response');
@@ -11,24 +11,39 @@
11
11
  * `'response'`: das Backend meldete Erfolg, die Nutzlast enthielt aber
12
12
  * nicht, was der Aufruf zusagt.
13
13
  *
14
- * - `KasseneckApiError` — **fachlicher** Fehler. Das Backend antwortet immer
15
- * mit HTTP 200 und legt Erfolg/Misserfolg in den Rumpf
16
- * (`{status:'success'|'error', message, data}`, siehe `successResponse`/
17
- * `errorResponse` im Backend). Ein `status:'error'` heisst: die Anfrage kam
18
- * an und wurde abgelehnt (gesperrte Kasse, fehlendes Modul, ungueltiger
19
- * Parameter). Wiederholen hilft nicht.
14
+ * - `KasseneckApiError`: **fachlicher** Fehler mit `code`. Das Backend legt
15
+ * Erfolg/Misserfolg in den Rumpf (`{status:'success'|'error', message,
16
+ * code, data}`, siehe `successResponse`/`errorResponse` im Backend), meist
17
+ * unter HTTP 200, unter `/v3` bei unbekanntem Endpunkt auch unter HTTP 404
18
+ * (`not_found`). Dazu kommen drei Codes des Pakets selbst:
19
+ * `route_missing` (HTTP 200 mit HTML: die Auffangregel der
20
+ * Single-Page-App hat geantwortet, der Aufruf kam nie an),
21
+ * `dialect_mismatch` (Antwort ohne Kennzeichen `Kasseneck-Api-Version: v3`:
22
+ * ein Rand ohne `/v3` hat geantwortet, **Ausgang unklar**) und
23
+ * `response_unreadable` (ein signierender Aufruf meldete Erfolg, die
24
+ * Antwort traegt aber nicht, was er zusagt: **Ausgang unklar**).
25
+ * **Entscheidend ist `outcome`:** `'rejected'` heisst abgelehnt, nichts
26
+ * geschehen, Wiederholen hilft nicht. `'unknown'` heisst: der Vorgang kann
27
+ * ausgefuehrt sein (bei `createReceipt` ein signierter Beleg). Dann **nie
28
+ * wiederholen**, sondern das Ergebnis nachlesen (Belegliste, `getReceipt`).
20
29
  * - `KasseneckHttpError` — die Antwort war **keine** verwertbare Huelle:
21
- * HTTP 500/404, leerer Rumpf, oder HTTP 200 mit HTML statt JSON (typisch,
22
- * wenn ein Aufruf mangels Rewrite auf der Single-Page-App landet). Beim
30
+ * HTTP 500/404 ohne Huelle, leerer Rumpf oder Text statt JSON. Beim
23
31
  * Bericht-Download gelten dieselben Gruende fuer alles, was kein PDF ist.
24
- * `reason` trennt die Faelle maschinenlesbar.
32
+ * `reason` trennt die Faelle maschinenlesbar. Auf einem signierenden
33
+ * Aufruf hat HTTP 5xx `outcome: 'unknown'`, ebenso HTTP 200 mit
34
+ * Kennzeichen, aber leerem oder unlesbarem Rumpf.
25
35
  * - `KasseneckNetworkError` — die Antwort kam gar nicht: Netz weg, DNS,
26
- * abgebrochene Verbindung oder Zeitueberschreitung (`timedOut`).
36
+ * abgebrochene Verbindung oder Zeitueberschreitung (`timedOut`). Auch hier
37
+ * gilt `outcome`: war die Anfrage schon unterwegs und ist der Aufruf einer
38
+ * der signierenden (`createReceipt`, `cancelReceipt`, `financeWebService`),
39
+ * ist er `'unknown'`.
27
40
  * - `KasseneckAuthError` — es kam nicht einmal zur Anfrage, weil die Anmeldung
28
41
  * scheiterte (fehlende Zugangsdaten, oder der Token-/Sitzungsgeber warf).
29
42
  * In der Browser-Kasse mit ihrer 90-Sekunden-Sitzung ist das Alltag, kein
30
43
  * Sonderfall.
31
44
  *
45
+ * [isOutcomeUnknown] fasst das fuer jede Fehlerart zusammen.
46
+ *
32
47
  * **Geheimnisse gehoeren in keinen dieser Fehler.** Fehlermeldungen landen in
33
48
  * Protokollen und Fehlerdiensten; weder `api_key`, Kassen-Token, ID-
34
49
  * ID-Token noch Sitzungsbezeichner duerfen dorthin. Deshalb tragen die Fehler
@@ -87,6 +102,21 @@ export declare function causeDigest(ursache: unknown, geheimnisse: readonly stri
87
102
  * demselben Grund **keinen** Vorgabewert.
88
103
  */
89
104
  export declare function fehlerDetails(daten: unknown, geheimnisse: readonly string[]): Record<string, unknown>;
105
+ /**
106
+ * Ausgang eines gescheiterten Aufrufs. `'rejected'`: nichts geschehen.
107
+ * `'unknown'`: der Vorgang kann ausgefuehrt sein; nie wiederholen, sondern
108
+ * das Ergebnis nachlesen.
109
+ */
110
+ export type ErrorOutcome = 'unknown' | 'rejected';
111
+ /**
112
+ * Codes, die das Paket selbst vergibt, nicht der Server: `route_missing`
113
+ * (HTML statt Backend, der Aufruf kam nie an) und `response_unreadable`
114
+ * (ein signierender Aufruf meldete Erfolg, die Antwort ist aber unlesbar;
115
+ * Ausgang unklar). `dialect_mismatch` vergibt das Paket ebenfalls, der Code
116
+ * gehoert aber schon zum Rand des Servers (`errorCodes.edge`).
117
+ */
118
+ export declare const CLIENT_ERROR_CODES: readonly ["route_missing", "response_unreadable"];
119
+ export type ClientErrorCode = (typeof CLIENT_ERROR_CODES)[number];
90
120
  export declare class KasseneckApiError extends Error {
91
121
  readonly name = "KasseneckApiError";
92
122
  /** Aufgerufene Backend-Funktion, z. B. `createReceipt`. */
@@ -109,21 +139,37 @@ export declare class KasseneckApiError extends Error {
109
139
  * beilegt. Immer ein Objekt, notfalls ein leeres.
110
140
  */
111
141
  readonly details: Record<string, unknown>;
142
+ /**
143
+ * `'unknown'` bei `dialect_mismatch`, `receipt_outcome_unknown`,
144
+ * `cancellation_outcome_unknown`, `response_unreadable` (Erfolg gemeldet,
145
+ * Antwort eines signierenden Aufrufs aber unlesbar) und
146
+ * `response_translation_failed` (ausser mit `details.handled === false`);
147
+ * sonst `'rejected'`. Bei `'unknown'` nie wiederholen, sondern nachlesen.
148
+ */
149
+ readonly outcome: ErrorOutcome;
112
150
  constructor(functionName: string, serverMessage: string, details?: Record<string, unknown>, code?: string);
113
151
  }
114
152
  /** Warum die Antwort keine verwertbare Huelle war. */
115
153
  export type HttpFailureReason = 'server-error' | 'empty-body' | 'not-json' | 'missing-status';
116
- /** Antwort ohne verwertbare Huelle (HTTP-Fehler, leerer Rumpf, HTML statt JSON). */
154
+ /** Antwort ohne verwertbare Huelle (HTTP-Fehler ohne Huelle, leerer Rumpf, Text statt JSON). */
117
155
  export declare class KasseneckHttpError extends Error {
118
156
  readonly name = "KasseneckHttpError";
119
157
  readonly functionName: string;
120
- /** HTTP-Statuscode der Antwort (bei HTML-statt-JSON durchaus 200). */
158
+ /** HTTP-Statuscode der Antwort (bei Text statt JSON durchaus 200). */
121
159
  readonly statusCode: number;
122
160
  /** Inhaltstyp der Antwort, falls die Gegenstelle einen gesetzt hat. */
123
161
  readonly contentType: string | undefined;
124
162
  /** Maschinenlesbarer Grund — trennt den Rewrite-Fall vom 500er ohne Textparsen. */
125
163
  readonly reason: HttpFailureReason;
126
- constructor(functionName: string, statusCode: number, contentType: string | undefined, reason: HttpFailureReason);
164
+ /**
165
+ * `'unknown'` auf einem signierenden Aufruf (`createReceipt`,
166
+ * `cancelReceipt`, `financeWebService`) bei HTTP 5xx und bei HTTP 200 mit
167
+ * Kennzeichen, aber unlesbarem Rumpf (`empty-body`, `not-json` auch bei
168
+ * `text/html`, `missing-status`): der Handler kann gelaufen sein, nie wiederholen,
169
+ * sondern nachlesen. Sonst `'rejected'` (auch 4xx).
170
+ */
171
+ readonly outcome: ErrorOutcome;
172
+ constructor(functionName: string, statusCode: number, contentType: string | undefined, reason: HttpFailureReason, outcome?: ErrorOutcome);
127
173
  }
128
174
  /** Es kam keine Antwort: Netzfehler oder Zeitueberschreitung. */
129
175
  export declare class KasseneckNetworkError extends Error {
@@ -137,7 +183,13 @@ export declare class KasseneckNetworkError extends Error {
137
183
  readonly causeName: string | undefined;
138
184
  /** Code der zugrunde liegenden Ursache, sofern unbedenklich (z. B. `ECONNREFUSED`). */
139
185
  readonly causeCode: string | undefined;
140
- constructor(functionName: string, timedOut: boolean, timeoutMs: number, ursache?: CauseDigest);
186
+ /**
187
+ * `'unknown'`, wenn die Anfrage schon unterwegs war und der Aufruf signiert
188
+ * (`createReceipt`, `cancelReceipt`, `financeWebService`): dann nie
189
+ * wiederholen, sondern nachlesen. Sonst `'rejected'`.
190
+ */
191
+ readonly outcome: ErrorOutcome;
192
+ constructor(functionName: string, timedOut: boolean, timeoutMs: number, cause?: CauseDigest, outcome?: ErrorOutcome);
141
193
  }
142
194
  /**
143
195
  * Die Anmeldung scheiterte — es ging keine Anfrage raus.
@@ -185,8 +237,15 @@ export declare class KasseneckValidationError extends Error {
185
237
  }
186
238
  /** Alle Fehler, die dieses Paket wirft. */
187
239
  export type KasseneckError = KasseneckApiError | KasseneckHttpError | KasseneckNetworkError | KasseneckAuthError | KasseneckValidationError;
188
- export declare function isKasseneckApiError(fehler: unknown): fehler is KasseneckApiError;
189
- export declare function isKasseneckHttpError(fehler: unknown): fehler is KasseneckHttpError;
190
- export declare function isKasseneckNetworkError(fehler: unknown): fehler is KasseneckNetworkError;
191
- export declare function isKasseneckAuthError(fehler: unknown): fehler is KasseneckAuthError;
192
- export declare function isKasseneckValidationError(fehler: unknown): fehler is KasseneckValidationError;
240
+ /**
241
+ * Ist der Ausgang dieses Fehlers unklar (`outcome === 'unknown'`)? Dann den
242
+ * Aufruf **nicht wiederholen**, sondern das Ergebnis nachlesen. Gilt fuer
243
+ * jede Fehlerart; nur [KasseneckApiError], [KasseneckHttpError] und
244
+ * [KasseneckNetworkError] koennen `'unknown'` sein.
245
+ */
246
+ export declare function isOutcomeUnknown(error: unknown): boolean;
247
+ export declare function isKasseneckApiError(error: unknown): error is KasseneckApiError;
248
+ export declare function isKasseneckHttpError(error: unknown): error is KasseneckHttpError;
249
+ export declare function isKasseneckNetworkError(error: unknown): error is KasseneckNetworkError;
250
+ export declare function isKasseneckAuthError(error: unknown): error is KasseneckAuthError;
251
+ export declare function isKasseneckValidationError(error: unknown): error is KasseneckValidationError;