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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (712) hide show
  1. package/CHANGELOG.md +317 -0
  2. package/README.de.md +11 -7
  3. package/README.md +509 -126
  4. package/dist/cjs/client/api.d.ts +7 -6
  5. package/dist/cjs/client/api.js +2 -2
  6. package/dist/cjs/client/aufrufe.d.ts +29 -5
  7. package/dist/cjs/client/aufrufe.js +114 -2
  8. package/dist/cjs/client/auth.d.ts +2 -0
  9. package/dist/cjs/client/auth.js +17 -1
  10. package/dist/cjs/client/cashregisters.d.ts +1 -1
  11. package/dist/cjs/client/cashregisters.js +2 -2
  12. package/dist/cjs/client/errors.d.ts +94 -19
  13. package/dist/cjs/client/errors.js +132 -28
  14. package/dist/cjs/client/fehlercodes.d.ts +9 -0
  15. package/dist/cjs/client/fehlercodes.js +36 -0
  16. package/dist/cjs/client/index.d.ts +5 -5
  17. package/dist/cjs/client/index.js +11 -3
  18. package/dist/cjs/client/receipts.d.ts +131 -124
  19. package/dist/cjs/client/receipts.js +196 -137
  20. package/dist/cjs/client/reports.d.ts +26 -4
  21. package/dist/cjs/client/reports.js +37 -4
  22. package/dist/cjs/client/status.d.ts +3 -3
  23. package/dist/cjs/client/status.js +7 -7
  24. package/dist/cjs/client/transport.d.ts +56 -4
  25. package/dist/cjs/client/transport.js +234 -25
  26. package/dist/cjs/enums/vat-rate.d.ts +2 -2
  27. package/dist/cjs/enums/vat-rate.js +1 -1
  28. package/dist/cjs/index.d.ts +4 -3
  29. package/dist/cjs/index.js +42 -13
  30. package/dist/{esm/rechnung → cjs/invoice}/api.d.ts +18 -17
  31. package/dist/cjs/{rechnung → invoice}/api.js +6 -6
  32. package/dist/{esm/rechnung → cjs/invoice}/auth.d.ts +2 -2
  33. package/dist/cjs/{rechnung → invoice}/auth.js +5 -5
  34. package/dist/{esm/rechnung/rechnen.d.ts → cjs/invoice/calc.d.ts} +27 -27
  35. package/dist/cjs/{rechnung/rechnen.js → invoice/calc.js} +54 -54
  36. package/dist/{esm/rechnung → cjs/invoice}/endpunkte.d.ts +23 -21
  37. package/dist/cjs/{rechnung → invoice}/endpunkte.js +52 -42
  38. package/dist/cjs/invoice/fehler.d.ts +31 -0
  39. package/dist/cjs/invoice/fehler.js +39 -0
  40. package/dist/cjs/invoice/index.d.ts +21 -0
  41. package/dist/cjs/invoice/index.js +86 -0
  42. package/dist/cjs/{rechnung → invoice}/summen.d.ts +12 -12
  43. package/dist/cjs/{rechnung → invoice}/summen.js +14 -14
  44. package/dist/cjs/invoice/texte.d.ts +224 -0
  45. package/dist/cjs/invoice/texte.js +425 -0
  46. package/dist/{esm/rechnung → cjs/invoice}/typen.d.ts +32 -11
  47. package/dist/cjs/{rechnung → invoice}/vertrag.d.ts +97 -71
  48. package/dist/cjs/{rechnung → invoice}/vertrag.js +144 -82
  49. package/dist/cjs/models/cancellation.d.ts +43 -24
  50. package/dist/cjs/models/cancellation.js +94 -46
  51. package/dist/cjs/models/hobex-receipt.d.ts +3 -3
  52. package/dist/cjs/models/hobex-receipt.js +35 -35
  53. package/dist/cjs/models/index.d.ts +6 -5
  54. package/dist/cjs/models/index.js +22 -2
  55. package/dist/cjs/models/payment-errors.d.ts +32 -15
  56. package/dist/cjs/models/payment-errors.js +80 -32
  57. package/dist/cjs/models/receipt-company.d.ts +6 -5
  58. package/dist/cjs/models/receipt-company.js +4 -4
  59. package/dist/cjs/models/receipt-email.d.ts +32 -18
  60. package/dist/cjs/models/receipt-email.js +69 -24
  61. package/dist/cjs/models/receipt-errors.d.ts +39 -0
  62. package/dist/cjs/models/receipt-errors.js +94 -0
  63. package/dist/cjs/models/receipt-item.d.ts +9 -1
  64. package/dist/cjs/models/receipt-item.js +3 -0
  65. package/dist/cjs/models/receipt-summary.d.ts +10 -4
  66. package/dist/cjs/models/receipt-summary.js +10 -4
  67. package/dist/cjs/models/receipt.d.ts +31 -2
  68. package/dist/cjs/models/receipt.js +12 -1
  69. package/dist/cjs/models/voucher.d.ts +7 -6
  70. package/dist/cjs/models/voucher.js +2 -7
  71. package/dist/cjs/partner/ablauf.d.ts +10 -10
  72. package/dist/cjs/partner/ablauf.js +29 -29
  73. package/dist/cjs/partner/api.d.ts +26 -23
  74. package/dist/cjs/partner/api.js +11 -13
  75. package/dist/cjs/partner/auth.d.ts +1 -1
  76. package/dist/cjs/partner/auth.js +2 -2
  77. package/dist/cjs/partner/betrieb.d.ts +7 -7
  78. package/dist/cjs/partner/betrieb.js +10 -10
  79. package/dist/cjs/partner/endpunkte.d.ts +27 -14
  80. package/dist/cjs/partner/endpunkte.js +80 -39
  81. package/dist/cjs/partner/fehler.d.ts +60 -30
  82. package/dist/cjs/partner/fehler.js +99 -43
  83. package/dist/cjs/partner/index.d.ts +13 -12
  84. package/dist/cjs/partner/index.js +35 -22
  85. package/dist/cjs/partner/secret.d.ts +3 -3
  86. package/dist/cjs/partner/secret.js +6 -6
  87. package/dist/cjs/partner/typen.d.ts +129 -71
  88. package/dist/cjs/partner/typen.js +76 -3
  89. package/dist/cjs/partner/webhook-signatur.d.ts +2 -2
  90. package/dist/cjs/partner/webhook-signatur.js +12 -12
  91. package/dist/cjs/partner/webhooks.d.ts +60 -32
  92. package/dist/cjs/partner/webhooks.js +40 -34
  93. package/dist/cjs/payments/hobex.d.ts +11 -3
  94. package/dist/cjs/payments/hobex.js +17 -5
  95. package/dist/cjs/payments/stripe.d.ts +5 -2
  96. package/dist/cjs/payments/stripe.js +10 -5
  97. package/dist/cjs/pos/artikel.d.ts +90 -0
  98. package/dist/cjs/pos/artikel.js +89 -0
  99. package/dist/cjs/pos/client.d.ts +27 -0
  100. package/dist/cjs/pos/client.js +144 -0
  101. package/dist/cjs/pos/drucker.d.ts +86 -0
  102. package/dist/cjs/pos/drucker.js +78 -0
  103. package/dist/cjs/pos/errors.d.ts +36 -0
  104. package/dist/cjs/pos/errors.js +95 -0
  105. package/dist/cjs/pos/index.d.ts +15 -0
  106. package/dist/cjs/pos/index.js +102 -0
  107. package/dist/cjs/pos/settings.d.ts +313 -0
  108. package/dist/cjs/pos/settings.js +376 -0
  109. package/dist/cjs/pos/texte.d.ts +883 -0
  110. package/dist/cjs/pos/texte.js +489 -0
  111. package/dist/cjs/{kasse → pos}/trinkgeld.d.ts +1 -1
  112. package/dist/cjs/{kasse → pos}/trinkgeld.js +2 -2
  113. package/dist/cjs/printing/escpos.d.ts +29 -29
  114. package/dist/cjs/printing/escpos.js +61 -61
  115. package/dist/cjs/printing/index.d.ts +2 -2
  116. package/dist/cjs/printing/index.js +17 -17
  117. package/dist/cjs/printing/qr-groesse.d.ts +38 -38
  118. package/dist/cjs/printing/qr-groesse.js +47 -47
  119. package/dist/cjs/printing/webusb.d.ts +2 -2
  120. package/dist/cjs/printing/webusb.js +4 -4
  121. package/dist/cjs/react/index.d.ts +21 -21
  122. package/dist/cjs/react/index.js +40 -30
  123. package/dist/cjs/receipt/bild.d.ts +4 -4
  124. package/dist/cjs/receipt/bild.js +11 -11
  125. package/dist/cjs/receipt/blatt.d.ts +46 -46
  126. package/dist/cjs/receipt/blatt.js +59 -59
  127. package/dist/cjs/receipt/discount.d.ts +1 -1
  128. package/dist/cjs/receipt/discount.js +8 -8
  129. package/dist/cjs/receipt/due.d.ts +86 -0
  130. package/dist/cjs/receipt/due.js +261 -0
  131. package/dist/cjs/receipt/epos.d.ts +22 -22
  132. package/dist/cjs/receipt/epos.js +45 -45
  133. package/dist/cjs/receipt/grid.d.ts +10 -10
  134. package/dist/cjs/receipt/grid.js +20 -20
  135. package/dist/cjs/receipt/index.d.ts +9 -8
  136. package/dist/cjs/receipt/index.js +26 -23
  137. package/dist/cjs/receipt/layout-escpos.d.ts +24 -24
  138. package/dist/cjs/receipt/layout-escpos.js +49 -49
  139. package/dist/cjs/receipt/layout.d.ts +28 -23
  140. package/dist/cjs/receipt/layout.js +45 -21
  141. package/dist/cjs/receipt/marke-daten.d.ts +8 -8
  142. package/dist/cjs/receipt/marke-daten.js +8 -8
  143. package/dist/cjs/receipt/marke.d.ts +7 -7
  144. package/dist/cjs/receipt/marke.js +10 -10
  145. package/dist/cjs/register/errors.d.ts +61 -0
  146. package/dist/cjs/register/errors.js +112 -0
  147. package/dist/cjs/register/index.d.ts +14 -1
  148. package/dist/cjs/register/index.js +20 -1
  149. package/dist/cjs/register/pairing.d.ts +55 -36
  150. package/dist/cjs/register/pairing.js +33 -29
  151. package/dist/cjs/register/session.d.ts +5 -5
  152. package/dist/cjs/register/session.js +7 -7
  153. package/dist/cjs/stored/draht.d.ts +45 -0
  154. package/dist/cjs/stored/draht.js +220 -0
  155. package/dist/cjs/stored/einstellungen.d.ts +23 -0
  156. package/dist/cjs/stored/einstellungen.js +200 -0
  157. package/dist/cjs/stored/index.d.ts +109 -0
  158. package/dist/cjs/stored/index.js +225 -0
  159. package/dist/cjs/stored/vokabular.d.ts +18 -0
  160. package/dist/cjs/stored/vokabular.js +389 -0
  161. package/dist/cjs/version.d.ts +7 -0
  162. package/dist/cjs/version.js +10 -0
  163. package/dist/cjs/vienna-time.d.ts +1 -1
  164. package/dist/cjs/vienna-time.js +2 -2
  165. package/dist/esm/client/api.d.ts +7 -6
  166. package/dist/esm/client/api.js +4 -4
  167. package/dist/esm/client/aufrufe.d.ts +29 -5
  168. package/dist/esm/client/aufrufe.js +111 -1
  169. package/dist/esm/client/auth.d.ts +2 -0
  170. package/dist/esm/client/auth.js +16 -1
  171. package/dist/esm/client/cashregisters.d.ts +1 -1
  172. package/dist/esm/client/cashregisters.js +2 -2
  173. package/dist/esm/client/errors.d.ts +94 -19
  174. package/dist/esm/client/errors.js +129 -27
  175. package/dist/esm/client/fehlercodes.d.ts +9 -0
  176. package/dist/esm/client/fehlercodes.js +32 -0
  177. package/dist/esm/client/index.d.ts +5 -5
  178. package/dist/esm/client/index.js +5 -5
  179. package/dist/esm/client/receipts.d.ts +131 -124
  180. package/dist/esm/client/receipts.js +195 -140
  181. package/dist/esm/client/reports.d.ts +26 -4
  182. package/dist/esm/client/reports.js +36 -4
  183. package/dist/esm/client/status.d.ts +3 -3
  184. package/dist/esm/client/status.js +7 -7
  185. package/dist/esm/client/transport.d.ts +56 -4
  186. package/dist/esm/client/transport.js +233 -24
  187. package/dist/esm/enums/vat-rate.d.ts +2 -2
  188. package/dist/esm/enums/vat-rate.js +1 -1
  189. package/dist/esm/index.d.ts +4 -3
  190. package/dist/esm/index.js +4 -3
  191. package/dist/{cjs/rechnung → esm/invoice}/api.d.ts +18 -17
  192. package/dist/esm/{rechnung → invoice}/api.js +6 -6
  193. package/dist/{cjs/rechnung → esm/invoice}/auth.d.ts +2 -2
  194. package/dist/esm/{rechnung → invoice}/auth.js +4 -4
  195. package/dist/{cjs/rechnung/rechnen.d.ts → esm/invoice/calc.d.ts} +27 -27
  196. package/dist/esm/{rechnung/rechnen.js → invoice/calc.js} +45 -45
  197. package/dist/{cjs/rechnung → esm/invoice}/endpunkte.d.ts +23 -21
  198. package/dist/esm/{rechnung → invoice}/endpunkte.js +52 -42
  199. package/dist/esm/invoice/fehler.d.ts +31 -0
  200. package/dist/esm/invoice/fehler.js +33 -0
  201. package/dist/esm/invoice/index.d.ts +21 -0
  202. package/dist/esm/invoice/index.js +20 -0
  203. package/dist/esm/{rechnung → invoice}/summen.d.ts +12 -12
  204. package/dist/esm/{rechnung → invoice}/summen.js +12 -12
  205. package/dist/esm/invoice/texte.d.ts +224 -0
  206. package/dist/esm/invoice/texte.js +421 -0
  207. package/dist/{cjs/rechnung → esm/invoice}/typen.d.ts +32 -11
  208. package/dist/esm/{rechnung → invoice}/vertrag.d.ts +97 -71
  209. package/dist/esm/{rechnung → invoice}/vertrag.js +143 -81
  210. package/dist/esm/models/cancellation.d.ts +43 -24
  211. package/dist/esm/models/cancellation.js +90 -45
  212. package/dist/esm/models/hobex-receipt.d.ts +3 -3
  213. package/dist/esm/models/hobex-receipt.js +35 -35
  214. package/dist/esm/models/index.d.ts +6 -5
  215. package/dist/esm/models/index.js +6 -5
  216. package/dist/esm/models/payment-errors.d.ts +32 -15
  217. package/dist/esm/models/payment-errors.js +77 -32
  218. package/dist/esm/models/receipt-company.d.ts +6 -5
  219. package/dist/esm/models/receipt-company.js +4 -4
  220. package/dist/esm/models/receipt-email.d.ts +32 -18
  221. package/dist/esm/models/receipt-email.js +65 -23
  222. package/dist/esm/models/receipt-errors.d.ts +39 -0
  223. package/dist/esm/models/receipt-errors.js +87 -0
  224. package/dist/esm/models/receipt-item.d.ts +9 -1
  225. package/dist/esm/models/receipt-item.js +3 -0
  226. package/dist/esm/models/receipt-summary.d.ts +10 -4
  227. package/dist/esm/models/receipt-summary.js +9 -3
  228. package/dist/esm/models/receipt.d.ts +31 -2
  229. package/dist/esm/models/receipt.js +12 -2
  230. package/dist/esm/models/voucher.d.ts +7 -6
  231. package/dist/esm/models/voucher.js +2 -7
  232. package/dist/esm/partner/ablauf.d.ts +10 -10
  233. package/dist/esm/partner/ablauf.js +27 -27
  234. package/dist/esm/partner/api.d.ts +26 -23
  235. package/dist/esm/partner/api.js +13 -15
  236. package/dist/esm/partner/auth.d.ts +1 -1
  237. package/dist/esm/partner/auth.js +2 -2
  238. package/dist/esm/partner/betrieb.d.ts +7 -7
  239. package/dist/esm/partner/betrieb.js +8 -8
  240. package/dist/esm/partner/endpunkte.d.ts +27 -14
  241. package/dist/esm/partner/endpunkte.js +79 -39
  242. package/dist/esm/partner/fehler.d.ts +60 -30
  243. package/dist/esm/partner/fehler.js +91 -35
  244. package/dist/esm/partner/index.d.ts +13 -12
  245. package/dist/esm/partner/index.js +12 -11
  246. package/dist/esm/partner/secret.d.ts +3 -3
  247. package/dist/esm/partner/secret.js +5 -5
  248. package/dist/esm/partner/typen.d.ts +129 -71
  249. package/dist/esm/partner/typen.js +75 -2
  250. package/dist/esm/partner/webhook-signatur.d.ts +2 -2
  251. package/dist/esm/partner/webhook-signatur.js +12 -12
  252. package/dist/esm/partner/webhooks.d.ts +60 -32
  253. package/dist/esm/partner/webhooks.js +38 -32
  254. package/dist/esm/payments/hobex.d.ts +11 -3
  255. package/dist/esm/payments/hobex.js +18 -6
  256. package/dist/esm/payments/stripe.d.ts +5 -2
  257. package/dist/esm/payments/stripe.js +11 -6
  258. package/dist/esm/pos/artikel.d.ts +90 -0
  259. package/dist/esm/pos/artikel.js +79 -0
  260. package/dist/esm/pos/client.d.ts +27 -0
  261. package/dist/esm/pos/client.js +137 -0
  262. package/dist/esm/pos/drucker.d.ts +86 -0
  263. package/dist/esm/pos/drucker.js +71 -0
  264. package/dist/esm/pos/errors.d.ts +36 -0
  265. package/dist/esm/pos/errors.js +88 -0
  266. package/dist/esm/pos/index.d.ts +15 -0
  267. package/dist/esm/pos/index.js +20 -0
  268. package/dist/esm/pos/settings.d.ts +313 -0
  269. package/dist/esm/pos/settings.js +367 -0
  270. package/dist/esm/pos/texte.d.ts +883 -0
  271. package/dist/esm/pos/texte.js +481 -0
  272. package/dist/esm/{kasse → pos}/trinkgeld.d.ts +1 -1
  273. package/dist/esm/{kasse → pos}/trinkgeld.js +2 -2
  274. package/dist/esm/printing/escpos.d.ts +29 -29
  275. package/dist/esm/printing/escpos.js +56 -56
  276. package/dist/esm/printing/index.d.ts +2 -2
  277. package/dist/esm/printing/index.js +2 -2
  278. package/dist/esm/printing/qr-groesse.d.ts +38 -38
  279. package/dist/esm/printing/qr-groesse.js +42 -42
  280. package/dist/esm/printing/webusb.d.ts +2 -2
  281. package/dist/esm/printing/webusb.js +4 -4
  282. package/dist/esm/react/index.d.ts +21 -21
  283. package/dist/esm/react/index.js +39 -29
  284. package/dist/esm/receipt/bild.d.ts +4 -4
  285. package/dist/esm/receipt/bild.js +11 -11
  286. package/dist/esm/receipt/blatt.d.ts +46 -46
  287. package/dist/esm/receipt/blatt.js +55 -55
  288. package/dist/esm/receipt/discount.d.ts +1 -1
  289. package/dist/esm/receipt/discount.js +7 -7
  290. package/dist/esm/receipt/due.d.ts +86 -0
  291. package/dist/esm/receipt/due.js +257 -0
  292. package/dist/esm/receipt/epos.d.ts +22 -22
  293. package/dist/esm/receipt/epos.js +47 -47
  294. package/dist/esm/receipt/grid.d.ts +10 -10
  295. package/dist/esm/receipt/grid.js +18 -18
  296. package/dist/esm/receipt/index.d.ts +9 -8
  297. package/dist/esm/receipt/index.js +9 -8
  298. package/dist/esm/receipt/layout-escpos.d.ts +24 -24
  299. package/dist/esm/receipt/layout-escpos.js +51 -51
  300. package/dist/esm/receipt/layout.d.ts +28 -23
  301. package/dist/esm/receipt/layout.js +44 -20
  302. package/dist/esm/receipt/marke-daten.d.ts +8 -8
  303. package/dist/esm/receipt/marke-daten.js +7 -7
  304. package/dist/esm/receipt/marke.d.ts +7 -7
  305. package/dist/esm/receipt/marke.js +10 -10
  306. package/dist/esm/register/errors.d.ts +61 -0
  307. package/dist/esm/register/errors.js +104 -0
  308. package/dist/esm/register/index.d.ts +14 -1
  309. package/dist/esm/register/index.js +13 -0
  310. package/dist/esm/register/pairing.d.ts +55 -36
  311. package/dist/esm/register/pairing.js +33 -29
  312. package/dist/esm/register/session.d.ts +5 -5
  313. package/dist/esm/register/session.js +7 -7
  314. package/dist/esm/stored/draht.d.ts +45 -0
  315. package/dist/esm/stored/draht.js +208 -0
  316. package/dist/esm/stored/einstellungen.d.ts +23 -0
  317. package/dist/esm/stored/einstellungen.js +196 -0
  318. package/dist/esm/stored/index.d.ts +109 -0
  319. package/dist/esm/stored/index.js +217 -0
  320. package/dist/esm/stored/vokabular.d.ts +18 -0
  321. package/dist/esm/stored/vokabular.js +386 -0
  322. package/dist/esm/version.d.ts +7 -0
  323. package/dist/esm/version.js +7 -0
  324. package/dist/esm/vienna-time.d.ts +1 -1
  325. package/dist/esm/vienna-time.js +2 -2
  326. package/fixtures/{erwartet/storno-rabatt.lines.json → expected/cancellation-discount.lines.json} +2 -2
  327. package/fixtures/expected/cancellation-discount.sheet32.json +248 -0
  328. package/fixtures/{erwartet/storno-rabatt.blatt48.json → expected/cancellation-discount.sheet48.json} +119 -119
  329. package/fixtures/{erwartet/storno-voll.lines.json → expected/cancellation-full.lines.json} +2 -2
  330. package/fixtures/expected/cancellation-full.sheet32.json +218 -0
  331. package/fixtures/{erwartet/storno-voll.blatt48.json → expected/cancellation-full.sheet48.json} +107 -107
  332. package/fixtures/{erwartet/storno-teil.lines.json → expected/cancellation-partial.lines.json} +2 -2
  333. package/fixtures/expected/cancellation-partial.sheet32.json +206 -0
  334. package/fixtures/{erwartet/storno-teil.blatt48.json → expected/cancellation-partial.sheet48.json} +101 -101
  335. package/fixtures/{erwartet/storno-split-voll.lines.json → expected/cancellation-split-full.lines.json} +2 -2
  336. package/fixtures/expected/cancellation-split-full.sheet32.json +320 -0
  337. package/fixtures/{erwartet/storno-split-voll.blatt48.json → expected/cancellation-split-full.sheet48.json} +158 -158
  338. package/fixtures/{erwartet/storno-split-teil.lines.json → expected/cancellation-split-partial.lines.json} +2 -2
  339. package/fixtures/expected/cancellation-split-partial.sheet32.json +230 -0
  340. package/fixtures/{erwartet/storno-split-teil.blatt48.json → expected/cancellation-split-partial.sheet48.json} +113 -113
  341. package/fixtures/{erwartet/karte-eigener.lines.json → expected/card-custom.lines.json} +1 -1
  342. package/fixtures/expected/card-custom.sheet32.json +158 -0
  343. package/fixtures/{erwartet/karte-eigener.blatt48.json → expected/card-custom.sheet48.json} +80 -80
  344. package/fixtures/{erwartet/karte-gptom-ios.lines.json → expected/card-gptom-ios.lines.json} +1 -1
  345. package/fixtures/expected/card-gptom-ios.sheet32.json +230 -0
  346. package/fixtures/{erwartet/karte-gptom-ios.blatt48.json → expected/card-gptom-ios.sheet48.json} +116 -116
  347. package/fixtures/{erwartet/karte-gptom.lines.json → expected/card-gptom.lines.json} +1 -1
  348. package/fixtures/expected/card-gptom.sheet32.json +230 -0
  349. package/fixtures/{erwartet/karte-gptom.blatt48.json → expected/card-gptom.sheet48.json} +116 -116
  350. package/fixtures/{erwartet/karte-hobex-cloud.lines.json → expected/card-hobex-cloud.lines.json} +1 -1
  351. package/fixtures/expected/card-hobex-cloud.sheet32.json +200 -0
  352. package/fixtures/{erwartet/karte-hobex-cloud.blatt48.json → expected/card-hobex-cloud.sheet48.json} +101 -101
  353. package/fixtures/{erwartet/karte-hobex-hps.lines.json → expected/card-hobex-hps.lines.json} +1 -1
  354. package/fixtures/expected/card-hobex-hps.sheet32.json +224 -0
  355. package/fixtures/{erwartet/karte-hobex-hps.blatt48.json → expected/card-hobex-hps.sheet48.json} +113 -113
  356. package/fixtures/{erwartet/karte-mypos.lines.json → expected/card-mypos.lines.json} +1 -1
  357. package/fixtures/expected/card-mypos.sheet32.json +254 -0
  358. package/fixtures/{erwartet/karte-mypos.blatt48.json → expected/card-mypos.sheet48.json} +122 -122
  359. package/fixtures/{erwartet/karte-stripe-eps.lines.json → expected/card-stripe-eps.lines.json} +1 -1
  360. package/fixtures/expected/card-stripe-eps.sheet32.json +194 -0
  361. package/fixtures/{erwartet/karte-stripe-eps.blatt48.json → expected/card-stripe-eps.sheet48.json} +98 -98
  362. package/fixtures/{erwartet/karte-stripe.lines.json → expected/card-stripe.lines.json} +1 -1
  363. package/fixtures/expected/card-stripe.sheet32.json +212 -0
  364. package/fixtures/{erwartet/karte-stripe.blatt48.json → expected/card-stripe.sheet48.json} +107 -107
  365. package/fixtures/{erwartet/karte-sumup.lines.json → expected/card-sumup.lines.json} +1 -1
  366. package/fixtures/expected/card-sumup.sheet32.json +218 -0
  367. package/fixtures/{erwartet/karte-sumup.blatt48.json → expected/card-sumup.sheet48.json} +104 -104
  368. package/fixtures/{erwartet/rabattzeilen.lines.json → expected/discount-lines.lines.json} +1 -1
  369. package/fixtures/expected/discount-lines.sheet32.json +200 -0
  370. package/fixtures/{erwartet/rabattzeilen.blatt48.json → expected/discount-lines.sheet48.json} +98 -98
  371. package/fixtures/{erwartet/rabatt-chef-trinkgeld.lines.json → expected/discount-owner-tip.lines.json} +1 -1
  372. package/fixtures/expected/discount-owner-tip.sheet32.json +212 -0
  373. package/fixtures/{erwartet/rabatt-chef-trinkgeld.blatt48.json → expected/discount-owner-tip.sheet48.json} +104 -104
  374. package/fixtures/{erwartet/rabatt-einfach.lines.json → expected/discount-simple.lines.json} +1 -1
  375. package/fixtures/expected/discount-simple.sheet32.json +182 -0
  376. package/fixtures/{erwartet/rabatt-einfach.blatt48.json → expected/discount-simple.sheet48.json} +89 -89
  377. package/fixtures/{erwartet/rabatt-trinkgeld.lines.json → expected/discount-tip.lines.json} +1 -1
  378. package/fixtures/expected/discount-tip.sheet32.json +212 -0
  379. package/fixtures/{erwartet/rabatt-trinkgeld.blatt48.json → expected/discount-tip.sheet48.json} +104 -104
  380. package/fixtures/{erwartet/rabatt-wertgutschein.lines.json → expected/discount-value-voucher.lines.json} +1 -1
  381. package/fixtures/expected/discount-value-voucher.sheet32.json +218 -0
  382. package/fixtures/{erwartet/rabatt-wertgutschein.blatt48.json → expected/discount-value-voucher.sheet48.json} +107 -107
  383. package/fixtures/{erwartet/langer-artikelname.lines.json → expected/long-item-name.lines.json} +1 -1
  384. package/fixtures/expected/long-item-name.sheet32.json +176 -0
  385. package/fixtures/{erwartet/langer-artikelname.blatt48.json → expected/long-item-name.sheet48.json} +86 -86
  386. package/fixtures/{erwartet/verkauf-karte.lines.json → expected/sale-card.lines.json} +1 -1
  387. package/fixtures/expected/sale-card.sheet32.json +176 -0
  388. package/fixtures/{erwartet/verkauf-karte.blatt48.json → expected/sale-card.sheet48.json} +86 -86
  389. package/fixtures/{erwartet/verkauf-bar.lines.json → expected/sale-cash.lines.json} +1 -1
  390. package/fixtures/expected/sale-cash.sheet32.json +176 -0
  391. package/fixtures/{erwartet/verkauf-bar.blatt48.json → expected/sale-cash.sheet48.json} +86 -86
  392. package/fixtures/{erwartet/verkauf-kleinunternehmer.lines.json → expected/sale-small-business.lines.json} +1 -1
  393. package/fixtures/expected/sale-small-business.sheet32.json +182 -0
  394. package/fixtures/{erwartet/verkauf-kleinunternehmer.blatt48.json → expected/sale-small-business.sheet48.json} +89 -89
  395. package/fixtures/{erwartet/signaturausfall-verkauf.lines.json → expected/signature-outage-sale.lines.json} +1 -1
  396. package/fixtures/expected/signature-outage-sale.sheet32.json +194 -0
  397. package/fixtures/{erwartet/signaturausfall-verkauf.blatt48.json → expected/signature-outage-sale.sheet48.json} +92 -92
  398. package/fixtures/{erwartet/split-karte-karte-bar.lines.json → expected/split-card-card-cash.lines.json} +1 -1
  399. package/fixtures/expected/split-card-card-cash.sheet32.json +356 -0
  400. package/fixtures/{erwartet/split-karte-karte-bar.blatt48.json → expected/split-card-card-cash.sheet48.json} +170 -170
  401. package/fixtures/{erwartet/split-bar-rueckgeld.lines.json → expected/split-cash-change.lines.json} +1 -1
  402. package/fixtures/expected/split-cash-change.sheet32.json +194 -0
  403. package/fixtures/{erwartet/split-bar-rueckgeld.blatt48.json → expected/split-cash-change.sheet48.json} +92 -92
  404. package/fixtures/{erwartet/split-langer-betrag.lines.json → expected/split-long-amount.lines.json} +1 -1
  405. package/fixtures/expected/split-long-amount.sheet32.json +266 -0
  406. package/fixtures/{erwartet/split-langer-betrag.blatt48.json → expected/split-long-amount.sheet48.json} +131 -131
  407. package/fixtures/{erwartet/split-eine-karte-trinkgeld.lines.json → expected/split-one-card-tip.lines.json} +1 -1
  408. package/fixtures/expected/split-one-card-tip.sheet32.json +242 -0
  409. package/fixtures/{erwartet/split-eine-karte-trinkgeld.blatt48.json → expected/split-one-card-tip.sheet48.json} +113 -113
  410. package/fixtures/{erwartet/split-tischrunde-trinkgeld.lines.json → expected/split-table-round-tip.lines.json} +1 -1
  411. package/fixtures/expected/split-table-round-tip.sheet32.json +470 -0
  412. package/fixtures/{erwartet/split-tischrunde-trinkgeld.blatt48.json → expected/split-table-round-tip.sheet48.json} +218 -218
  413. package/fixtures/{erwartet/split-trinkgeld-karte.lines.json → expected/split-tip-card.lines.json} +1 -1
  414. package/fixtures/expected/split-tip-card.sheet32.json +272 -0
  415. package/fixtures/{erwartet/split-trinkgeld-karte.blatt48.json → expected/split-tip-card.sheet48.json} +128 -128
  416. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.lines.json → expected/split-two-cards-same-provider.lines.json} +1 -1
  417. package/fixtures/expected/split-two-cards-same-provider.sheet32.json +326 -0
  418. package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.blatt48.json → expected/split-two-cards-same-provider.sheet48.json} +149 -149
  419. package/fixtures/{erwartet/testkasse-verkauf.lines.json → expected/test-cashregister-sale.lines.json} +3 -3
  420. package/fixtures/expected/test-cashregister-sale.sheet32.json +224 -0
  421. package/fixtures/{erwartet/testkasse-verkauf.blatt48.json → expected/test-cashregister-sale.sheet48.json} +110 -110
  422. package/fixtures/{erwartet/testsignatur-verkauf.lines.json → expected/test-signature-sale.lines.json} +3 -3
  423. package/fixtures/expected/test-signature-sale.sheet32.json +236 -0
  424. package/fixtures/{erwartet/testsignatur-verkauf.blatt48.json → expected/test-signature-sale.sheet48.json} +110 -110
  425. package/fixtures/{erwartet → expected}/training.lines.json +2 -2
  426. package/fixtures/expected/training.sheet32.json +236 -0
  427. package/fixtures/{erwartet/training.blatt48.json → expected/training.sheet48.json} +110 -110
  428. package/fixtures/{erwartet/null-jahr.lines.json → expected/zero-annual.lines.json} +2 -2
  429. package/fixtures/expected/zero-annual.sheet32.json +212 -0
  430. package/fixtures/{erwartet/null-jahr.blatt48.json → expected/zero-annual.sheet48.json} +95 -95
  431. package/fixtures/{erwartet/null-schluss.lines.json → expected/zero-final.lines.json} +2 -2
  432. package/fixtures/expected/zero-final.sheet32.json +206 -0
  433. package/fixtures/{erwartet/null-schluss.blatt48.json → expected/zero-final.sheet48.json} +95 -95
  434. package/fixtures/{erwartet/null-pruef.lines.json → expected/zero-manual.lines.json} +2 -2
  435. package/fixtures/expected/zero-manual.sheet32.json +206 -0
  436. package/fixtures/{erwartet/null-pruef.blatt48.json → expected/zero-manual.sheet48.json} +95 -95
  437. package/fixtures/{erwartet/null-monat.lines.json → expected/zero-monthly.lines.json} +2 -2
  438. package/fixtures/expected/zero-monthly.sheet32.json +206 -0
  439. package/fixtures/{erwartet/null-monat.blatt48.json → expected/zero-monthly.sheet48.json} +95 -95
  440. package/fixtures/{erwartet/null-ausfall.lines.json → expected/zero-outage-end.lines.json} +2 -2
  441. package/fixtures/expected/zero-outage-end.sheet32.json +206 -0
  442. package/fixtures/{erwartet/null-ausfall.blatt48.json → expected/zero-outage-end.sheet48.json} +95 -95
  443. package/fixtures/{erwartet/null-start.lines.json → expected/zero-start.lines.json} +2 -2
  444. package/fixtures/expected/zero-start.sheet32.json +206 -0
  445. package/fixtures/{erwartet/null-start.blatt48.json → expected/zero-start.sheet48.json} +95 -95
  446. package/fixtures/hobex-hps-codes.json +12 -12
  447. package/fixtures/invoice-api-examples/brands-ok.json +8 -0
  448. package/fixtures/{rechnung-api-beispiele/credit-fehler-grund.json → invoice-api-examples/credit-error-reason.json} +6 -6
  449. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/credit-ok.json +6 -6
  450. package/fixtures/{rechnung-api-beispiele/customer-fehler-uid.json → invoice-api-examples/customer-error-vat-id.json} +4 -4
  451. package/fixtures/invoice-api-examples/customer-get-error-both.json +15 -0
  452. package/fixtures/{rechnung-api-beispiele → invoice-api-examples}/customer-ok.json +4 -4
  453. package/fixtures/{rechnung-api-beispiele/customer-search-fehler-leer.json → invoice-api-examples/customer-search-error-empty.json} +4 -4
  454. package/fixtures/{rechnung-api-beispiele/issue-rabatt.json → invoice-api-examples/issue-discount.json} +6 -6
  455. package/fixtures/{rechnung-api-beispiele/issue-englisch.json → invoice-api-examples/issue-english.json} +7 -7
  456. package/fixtures/{rechnung-api-beispiele/issue-fehler-cent.json → invoice-api-examples/issue-error-cent.json} +6 -6
  457. package/fixtures/{rechnung-api-beispiele/issue-fehler-sprache.json → invoice-api-examples/issue-error-language.json} +5 -5
  458. package/fixtures/{rechnung-api-beispiele/issue-fehler-negativ.json → invoice-api-examples/issue-error-negative.json} +6 -6
  459. package/fixtures/{rechnung-api-beispiele/issue-fehler-zahlungsart.json → invoice-api-examples/issue-error-payment-method.json} +8 -6
  460. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-beide.json → invoice-api-examples/issue-error-price-both.json} +6 -6
  461. package/fixtures/{rechnung-api-beispiele/issue-fehler-preis-fehlt.json → invoice-api-examples/issue-error-price-missing.json} +6 -6
  462. package/fixtures/{rechnung-api-beispiele/issue-fehler-menge.json → invoice-api-examples/issue-error-quantity.json} +6 -6
  463. package/fixtures/{rechnung-api-beispiele/issue-fehler-satz.json → invoice-api-examples/issue-error-rate.json} +6 -6
  464. package/fixtures/{rechnung-api-beispiele/issue-fehler-einheit.json → invoice-api-examples/issue-error-unit.json} +5 -5
  465. package/fixtures/{rechnung-api-beispiele/issue-fehler-unbekannt.json → invoice-api-examples/issue-error-unknown.json} +6 -6
  466. package/fixtures/{rechnung-api-beispiele/issue-brutto-20.json → invoice-api-examples/issue-gross-20.json} +6 -6
  467. package/fixtures/{rechnung-api-beispiele/issue-mikropreis.json → invoice-api-examples/issue-micro-price.json} +6 -6
  468. package/fixtures/{rechnung-api-beispiele/issue-gemischt.json → invoice-api-examples/issue-mixed.json} +6 -6
  469. package/fixtures/{rechnung-api-beispiele/issue-netto-20.json → invoice-api-examples/issue-net-20.json} +6 -6
  470. package/fixtures/{rechnung-api-beispiele/issue-bezahlt.json → invoice-api-examples/issue-paid.json} +7 -7
  471. package/fixtures/{rechnung-api-beispiele/issue-kleinunternehmer.json → invoice-api-examples/issue-small-business.json} +6 -6
  472. package/fixtures/invoice-api-examples/payment-error-on-site.json +17 -0
  473. package/fixtures/invoice-api-examples/payment-error-without-key.json +16 -0
  474. package/fixtures/invoice-api-examples/payment-recorded-later.json +14 -0
  475. package/fixtures/{rechnung-api-beispiele/setup-status-fehler-feld.json → invoice-api-examples/setup-status-error-field.json} +4 -4
  476. package/fixtures/invoice-api-examples/setup-status-ok.json +8 -0
  477. package/fixtures/{rechnung-api.schema.json → invoice-api.schema.json} +24 -24
  478. package/fixtures/{rechnung-rechnen-zufall.json → invoice-calc-random.json} +828 -828
  479. package/fixtures/{rechnung-rechnen.json → invoice-calc.json} +47 -47
  480. package/fixtures/invoice-texts.json +464 -0
  481. package/fixtures/{rechnung-summen.json → invoice-totals.json} +25 -25
  482. package/fixtures/{position-aus-euro.json → item-from-euro.json} +26 -26
  483. package/fixtures/manifest.json +252 -252
  484. package/fixtures/pos-message-cases.json +32 -0
  485. package/fixtures/pos-settings-defaults.json +149 -0
  486. package/fixtures/{kasse-texte.json → pos-texts.json} +416 -416
  487. package/fixtures/receipt-due-generated.json +1218 -0
  488. package/fixtures/{belege/storno-rabatt.json → receipts/cancellation-discount.json} +3 -3
  489. package/fixtures/{belege/storno-voll.json → receipts/cancellation-full.json} +3 -3
  490. package/fixtures/{belege/storno-teil.json → receipts/cancellation-partial.json} +3 -3
  491. package/fixtures/{belege/storno-split-voll.json → receipts/cancellation-split-full.json} +3 -3
  492. package/fixtures/{belege/storno-split-teil.json → receipts/cancellation-split-partial.json} +3 -3
  493. package/fixtures/{belege/karte-eigener.json → receipts/card-custom.json} +2 -2
  494. package/fixtures/{belege/karte-gptom-ios.json → receipts/card-gptom-ios.json} +2 -2
  495. package/fixtures/{belege/karte-gptom.json → receipts/card-gptom.json} +2 -2
  496. package/fixtures/{belege/karte-hobex-cloud.json → receipts/card-hobex-cloud.json} +2 -2
  497. package/fixtures/{belege/karte-hobex-hps.json → receipts/card-hobex-hps.json} +2 -2
  498. package/fixtures/{belege/karte-mypos.json → receipts/card-mypos.json} +2 -2
  499. package/fixtures/{belege/karte-stripe-eps.json → receipts/card-stripe-eps.json} +2 -2
  500. package/fixtures/{belege/karte-stripe.json → receipts/card-stripe.json} +2 -2
  501. package/fixtures/{belege/karte-sumup.json → receipts/card-sumup.json} +2 -2
  502. package/fixtures/{belege/rabattzeilen.json → receipts/discount-lines.json} +2 -2
  503. package/fixtures/{belege/rabatt-chef-trinkgeld.json → receipts/discount-owner-tip.json} +2 -2
  504. package/fixtures/{belege/rabatt-einfach.json → receipts/discount-simple.json} +2 -2
  505. package/fixtures/{belege/rabatt-trinkgeld.json → receipts/discount-tip.json} +2 -2
  506. package/fixtures/{belege/rabatt-wertgutschein.json → receipts/discount-value-voucher.json} +2 -2
  507. package/fixtures/{belege/langer-artikelname.json → receipts/long-item-name.json} +2 -2
  508. package/fixtures/{belege/verkauf-karte.json → receipts/sale-card.json} +2 -2
  509. package/fixtures/{belege/verkauf-bar.json → receipts/sale-cash.json} +2 -2
  510. package/fixtures/{belege/verkauf-kleinunternehmer.json → receipts/sale-small-business.json} +1 -1
  511. package/fixtures/{belege/signaturausfall-verkauf.json → receipts/signature-outage-sale.json} +2 -2
  512. package/fixtures/{belege/split-karte-karte-bar.json → receipts/split-card-card-cash.json} +2 -2
  513. package/fixtures/{belege/split-bar-rueckgeld.json → receipts/split-cash-change.json} +2 -2
  514. package/fixtures/{belege/split-langer-betrag.json → receipts/split-long-amount.json} +2 -2
  515. package/fixtures/{belege/split-eine-karte-trinkgeld.json → receipts/split-one-card-tip.json} +2 -2
  516. package/fixtures/{belege/split-tischrunde-trinkgeld.json → receipts/split-table-round-tip.json} +2 -2
  517. package/fixtures/{belege/split-trinkgeld-karte.json → receipts/split-tip-card.json} +2 -2
  518. package/fixtures/{belege/split-zwei-karten-gleicher-anbieter.json → receipts/split-two-cards-same-provider.json} +2 -2
  519. package/fixtures/{belege/testsignatur-verkauf.json → receipts/test-cashregister-sale.json} +3 -3
  520. package/fixtures/{belege/testkasse-verkauf.json → receipts/test-signature-sale.json} +3 -3
  521. package/fixtures/{belege → receipts}/training.json +2 -2
  522. package/fixtures/{belege/null-jahr.json → receipts/zero-annual.json} +5 -5
  523. package/fixtures/{belege/null-schluss.json → receipts/zero-final.json} +5 -5
  524. package/fixtures/{belege/null-pruef.json → receipts/zero-manual.json} +5 -5
  525. package/fixtures/{belege/null-monat.json → receipts/zero-monthly.json} +5 -5
  526. package/fixtures/{belege/null-ausfall.json → receipts/zero-outage-end.json} +5 -5
  527. package/fixtures/{belege/null-start.json → receipts/zero-start.json} +5 -5
  528. package/fixtures/renames-1.0.json +1490 -0
  529. package/fixtures/{kasse-settings-standard.json → stored/pos-settings-defaults.json} +7 -7
  530. package/fixtures/surface.json +877 -0
  531. package/fixtures/v3/README.md +125 -0
  532. package/fixtures/v3/antworten/belege.json +4738 -0
  533. package/fixtures/v3/antworten/belegmail.json +154 -0
  534. package/fixtures/v3/antworten/kasse-belege.json +4304 -0
  535. package/fixtures/v3/antworten/kasse.json +12716 -0
  536. package/fixtures/v3/antworten/rechnungen.json +1712 -0
  537. package/fixtures/v3/antworten/storno.json +737 -0
  538. package/fixtures/v3/stored/belege.json +502 -0
  539. package/fixtures/v3/stored/kasse.json +3461 -0
  540. package/fixtures/v3/stored/rechnungen.json +750 -0
  541. package/fixtures/v3/v3-vokabular.json +3375 -0
  542. package/fixtures/v3/zahlbetrag-faelle.json +794 -0
  543. package/package.json +32 -18
  544. package/dist/cjs/kasse/artikel.d.ts +0 -83
  545. package/dist/cjs/kasse/artikel.js +0 -79
  546. package/dist/cjs/kasse/client.d.ts +0 -10
  547. package/dist/cjs/kasse/client.js +0 -38
  548. package/dist/cjs/kasse/drucker.d.ts +0 -59
  549. package/dist/cjs/kasse/drucker.js +0 -50
  550. package/dist/cjs/kasse/index.d.ts +0 -13
  551. package/dist/cjs/kasse/index.js +0 -83
  552. package/dist/cjs/kasse/settings.d.ts +0 -229
  553. package/dist/cjs/kasse/settings.js +0 -172
  554. package/dist/cjs/kasse/texte.d.ts +0 -868
  555. package/dist/cjs/kasse/texte.js +0 -474
  556. package/dist/cjs/rechnung/fehler.d.ts +0 -21
  557. package/dist/cjs/rechnung/fehler.js +0 -44
  558. package/dist/cjs/rechnung/index.d.ts +0 -21
  559. package/dist/cjs/rechnung/index.js +0 -82
  560. package/dist/cjs/rechnung/texte.d.ts +0 -222
  561. package/dist/cjs/rechnung/texte.js +0 -425
  562. package/dist/esm/kasse/artikel.d.ts +0 -83
  563. package/dist/esm/kasse/artikel.js +0 -70
  564. package/dist/esm/kasse/client.d.ts +0 -10
  565. package/dist/esm/kasse/client.js +0 -33
  566. package/dist/esm/kasse/drucker.d.ts +0 -59
  567. package/dist/esm/kasse/drucker.js +0 -45
  568. package/dist/esm/kasse/index.d.ts +0 -13
  569. package/dist/esm/kasse/index.js +0 -18
  570. package/dist/esm/kasse/settings.d.ts +0 -229
  571. package/dist/esm/kasse/settings.js +0 -168
  572. package/dist/esm/kasse/texte.d.ts +0 -868
  573. package/dist/esm/kasse/texte.js +0 -466
  574. package/dist/esm/rechnung/fehler.d.ts +0 -21
  575. package/dist/esm/rechnung/fehler.js +0 -39
  576. package/dist/esm/rechnung/index.d.ts +0 -21
  577. package/dist/esm/rechnung/index.js +0 -20
  578. package/dist/esm/rechnung/texte.d.ts +0 -222
  579. package/dist/esm/rechnung/texte.js +0 -421
  580. package/fixtures/erwartet/karte-eigener.blatt32.json +0 -158
  581. package/fixtures/erwartet/karte-gptom-ios.blatt32.json +0 -230
  582. package/fixtures/erwartet/karte-gptom.blatt32.json +0 -230
  583. package/fixtures/erwartet/karte-hobex-cloud.blatt32.json +0 -200
  584. package/fixtures/erwartet/karte-hobex-hps.blatt32.json +0 -224
  585. package/fixtures/erwartet/karte-mypos.blatt32.json +0 -254
  586. package/fixtures/erwartet/karte-stripe-eps.blatt32.json +0 -194
  587. package/fixtures/erwartet/karte-stripe.blatt32.json +0 -212
  588. package/fixtures/erwartet/karte-sumup.blatt32.json +0 -218
  589. package/fixtures/erwartet/langer-artikelname.blatt32.json +0 -176
  590. package/fixtures/erwartet/null-ausfall.blatt32.json +0 -206
  591. package/fixtures/erwartet/null-jahr.blatt32.json +0 -212
  592. package/fixtures/erwartet/null-monat.blatt32.json +0 -206
  593. package/fixtures/erwartet/null-pruef.blatt32.json +0 -206
  594. package/fixtures/erwartet/null-schluss.blatt32.json +0 -206
  595. package/fixtures/erwartet/null-start.blatt32.json +0 -206
  596. package/fixtures/erwartet/rabatt-chef-trinkgeld.blatt32.json +0 -212
  597. package/fixtures/erwartet/rabatt-einfach.blatt32.json +0 -182
  598. package/fixtures/erwartet/rabatt-trinkgeld.blatt32.json +0 -212
  599. package/fixtures/erwartet/rabatt-wertgutschein.blatt32.json +0 -218
  600. package/fixtures/erwartet/rabattzeilen.blatt32.json +0 -200
  601. package/fixtures/erwartet/signaturausfall-verkauf.blatt32.json +0 -194
  602. package/fixtures/erwartet/split-bar-rueckgeld.blatt32.json +0 -194
  603. package/fixtures/erwartet/split-eine-karte-trinkgeld.blatt32.json +0 -242
  604. package/fixtures/erwartet/split-karte-karte-bar.blatt32.json +0 -356
  605. package/fixtures/erwartet/split-langer-betrag.blatt32.json +0 -266
  606. package/fixtures/erwartet/split-tischrunde-trinkgeld.blatt32.json +0 -470
  607. package/fixtures/erwartet/split-trinkgeld-karte.blatt32.json +0 -272
  608. package/fixtures/erwartet/split-zwei-karten-gleicher-anbieter.blatt32.json +0 -326
  609. package/fixtures/erwartet/storno-rabatt.blatt32.json +0 -248
  610. package/fixtures/erwartet/storno-split-teil.blatt32.json +0 -230
  611. package/fixtures/erwartet/storno-split-voll.blatt32.json +0 -320
  612. package/fixtures/erwartet/storno-teil.blatt32.json +0 -206
  613. package/fixtures/erwartet/storno-voll.blatt32.json +0 -218
  614. package/fixtures/erwartet/testkasse-verkauf.blatt32.json +0 -224
  615. package/fixtures/erwartet/testsignatur-verkauf.blatt32.json +0 -236
  616. package/fixtures/erwartet/training.blatt32.json +0 -236
  617. package/fixtures/erwartet/verkauf-bar.blatt32.json +0 -176
  618. package/fixtures/erwartet/verkauf-karte.blatt32.json +0 -176
  619. package/fixtures/erwartet/verkauf-kleinunternehmer.blatt32.json +0 -182
  620. package/fixtures/kasse-meldungen-faelle.json +0 -32
  621. package/fixtures/oberflaeche.json +0 -558
  622. package/fixtures/rechnung-api-beispiele/brands-ok.json +0 -8
  623. package/fixtures/rechnung-api-beispiele/customer-get-fehler-beide.json +0 -15
  624. package/fixtures/rechnung-api-beispiele/setup-status-ok.json +0 -8
  625. package/fixtures/rechnung-api-beispiele/zahlung-fehler-ohne-schluessel.json +0 -14
  626. package/fixtures/rechnung-api-beispiele/zahlung-fehler-vor-ort.json +0 -15
  627. package/fixtures/rechnung-api-beispiele/zahlung-nachtrag.json +0 -14
  628. package/fixtures/rechnung-texte.json +0 -464
  629. /package/dist/cjs/{rechnung → invoice}/typen.js +0 -0
  630. /package/dist/esm/{rechnung → invoice}/typen.js +0 -0
  631. /package/fixtures/{erwartet/storno-rabatt.grid32.txt → expected/cancellation-discount.grid32.txt} +0 -0
  632. /package/fixtures/{erwartet/storno-rabatt.grid48.txt → expected/cancellation-discount.grid48.txt} +0 -0
  633. /package/fixtures/{erwartet/storno-voll.grid32.txt → expected/cancellation-full.grid32.txt} +0 -0
  634. /package/fixtures/{erwartet/storno-voll.grid48.txt → expected/cancellation-full.grid48.txt} +0 -0
  635. /package/fixtures/{erwartet/storno-teil.grid32.txt → expected/cancellation-partial.grid32.txt} +0 -0
  636. /package/fixtures/{erwartet/storno-teil.grid48.txt → expected/cancellation-partial.grid48.txt} +0 -0
  637. /package/fixtures/{erwartet/storno-split-voll.grid32.txt → expected/cancellation-split-full.grid32.txt} +0 -0
  638. /package/fixtures/{erwartet/storno-split-voll.grid48.txt → expected/cancellation-split-full.grid48.txt} +0 -0
  639. /package/fixtures/{erwartet/storno-split-teil.grid32.txt → expected/cancellation-split-partial.grid32.txt} +0 -0
  640. /package/fixtures/{erwartet/storno-split-teil.grid48.txt → expected/cancellation-split-partial.grid48.txt} +0 -0
  641. /package/fixtures/{erwartet/karte-eigener.grid32.txt → expected/card-custom.grid32.txt} +0 -0
  642. /package/fixtures/{erwartet/karte-eigener.grid48.txt → expected/card-custom.grid48.txt} +0 -0
  643. /package/fixtures/{erwartet/karte-gptom-ios.grid32.txt → expected/card-gptom-ios.grid32.txt} +0 -0
  644. /package/fixtures/{erwartet/karte-gptom-ios.grid48.txt → expected/card-gptom-ios.grid48.txt} +0 -0
  645. /package/fixtures/{erwartet/karte-gptom.grid32.txt → expected/card-gptom.grid32.txt} +0 -0
  646. /package/fixtures/{erwartet/karte-gptom.grid48.txt → expected/card-gptom.grid48.txt} +0 -0
  647. /package/fixtures/{erwartet/karte-hobex-cloud.grid32.txt → expected/card-hobex-cloud.grid32.txt} +0 -0
  648. /package/fixtures/{erwartet/karte-hobex-cloud.grid48.txt → expected/card-hobex-cloud.grid48.txt} +0 -0
  649. /package/fixtures/{erwartet/karte-hobex-hps.grid32.txt → expected/card-hobex-hps.grid32.txt} +0 -0
  650. /package/fixtures/{erwartet/karte-hobex-hps.grid48.txt → expected/card-hobex-hps.grid48.txt} +0 -0
  651. /package/fixtures/{erwartet/karte-mypos.grid32.txt → expected/card-mypos.grid32.txt} +0 -0
  652. /package/fixtures/{erwartet/karte-mypos.grid48.txt → expected/card-mypos.grid48.txt} +0 -0
  653. /package/fixtures/{erwartet/karte-stripe-eps.grid32.txt → expected/card-stripe-eps.grid32.txt} +0 -0
  654. /package/fixtures/{erwartet/karte-stripe-eps.grid48.txt → expected/card-stripe-eps.grid48.txt} +0 -0
  655. /package/fixtures/{erwartet/karte-stripe.grid32.txt → expected/card-stripe.grid32.txt} +0 -0
  656. /package/fixtures/{erwartet/karte-stripe.grid48.txt → expected/card-stripe.grid48.txt} +0 -0
  657. /package/fixtures/{erwartet/karte-sumup.grid32.txt → expected/card-sumup.grid32.txt} +0 -0
  658. /package/fixtures/{erwartet/karte-sumup.grid48.txt → expected/card-sumup.grid48.txt} +0 -0
  659. /package/fixtures/{erwartet/rabattzeilen.grid32.txt → expected/discount-lines.grid32.txt} +0 -0
  660. /package/fixtures/{erwartet/rabattzeilen.grid48.txt → expected/discount-lines.grid48.txt} +0 -0
  661. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid32.txt → expected/discount-owner-tip.grid32.txt} +0 -0
  662. /package/fixtures/{erwartet/rabatt-chef-trinkgeld.grid48.txt → expected/discount-owner-tip.grid48.txt} +0 -0
  663. /package/fixtures/{erwartet/rabatt-einfach.grid32.txt → expected/discount-simple.grid32.txt} +0 -0
  664. /package/fixtures/{erwartet/rabatt-einfach.grid48.txt → expected/discount-simple.grid48.txt} +0 -0
  665. /package/fixtures/{erwartet/rabatt-trinkgeld.grid32.txt → expected/discount-tip.grid32.txt} +0 -0
  666. /package/fixtures/{erwartet/rabatt-trinkgeld.grid48.txt → expected/discount-tip.grid48.txt} +0 -0
  667. /package/fixtures/{erwartet/rabatt-wertgutschein.grid32.txt → expected/discount-value-voucher.grid32.txt} +0 -0
  668. /package/fixtures/{erwartet/rabatt-wertgutschein.grid48.txt → expected/discount-value-voucher.grid48.txt} +0 -0
  669. /package/fixtures/{erwartet/logo-probe-hoch.raster32.txt → expected/logo-sample-tall.raster32.txt} +0 -0
  670. /package/fixtures/{erwartet/logo-probe.raster32.txt → expected/logo-sample.raster32.txt} +0 -0
  671. /package/fixtures/{erwartet/langer-artikelname.grid32.txt → expected/long-item-name.grid32.txt} +0 -0
  672. /package/fixtures/{erwartet/langer-artikelname.grid48.txt → expected/long-item-name.grid48.txt} +0 -0
  673. /package/fixtures/{erwartet/verkauf-karte.grid32.txt → expected/sale-card.grid32.txt} +0 -0
  674. /package/fixtures/{erwartet/verkauf-karte.grid48.txt → expected/sale-card.grid48.txt} +0 -0
  675. /package/fixtures/{erwartet/verkauf-bar.grid32.txt → expected/sale-cash.grid32.txt} +0 -0
  676. /package/fixtures/{erwartet/verkauf-bar.grid48.txt → expected/sale-cash.grid48.txt} +0 -0
  677. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid32.txt → expected/sale-small-business.grid32.txt} +0 -0
  678. /package/fixtures/{erwartet/verkauf-kleinunternehmer.grid48.txt → expected/sale-small-business.grid48.txt} +0 -0
  679. /package/fixtures/{erwartet/signaturausfall-verkauf.grid32.txt → expected/signature-outage-sale.grid32.txt} +0 -0
  680. /package/fixtures/{erwartet/signaturausfall-verkauf.grid48.txt → expected/signature-outage-sale.grid48.txt} +0 -0
  681. /package/fixtures/{erwartet/split-karte-karte-bar.grid32.txt → expected/split-card-card-cash.grid32.txt} +0 -0
  682. /package/fixtures/{erwartet/split-karte-karte-bar.grid48.txt → expected/split-card-card-cash.grid48.txt} +0 -0
  683. /package/fixtures/{erwartet/split-bar-rueckgeld.grid32.txt → expected/split-cash-change.grid32.txt} +0 -0
  684. /package/fixtures/{erwartet/split-bar-rueckgeld.grid48.txt → expected/split-cash-change.grid48.txt} +0 -0
  685. /package/fixtures/{erwartet/split-langer-betrag.grid32.txt → expected/split-long-amount.grid32.txt} +0 -0
  686. /package/fixtures/{erwartet/split-langer-betrag.grid48.txt → expected/split-long-amount.grid48.txt} +0 -0
  687. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid32.txt → expected/split-one-card-tip.grid32.txt} +0 -0
  688. /package/fixtures/{erwartet/split-eine-karte-trinkgeld.grid48.txt → expected/split-one-card-tip.grid48.txt} +0 -0
  689. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid32.txt → expected/split-table-round-tip.grid32.txt} +0 -0
  690. /package/fixtures/{erwartet/split-tischrunde-trinkgeld.grid48.txt → expected/split-table-round-tip.grid48.txt} +0 -0
  691. /package/fixtures/{erwartet/split-trinkgeld-karte.grid32.txt → expected/split-tip-card.grid32.txt} +0 -0
  692. /package/fixtures/{erwartet/split-trinkgeld-karte.grid48.txt → expected/split-tip-card.grid48.txt} +0 -0
  693. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid32.txt → expected/split-two-cards-same-provider.grid32.txt} +0 -0
  694. /package/fixtures/{erwartet/split-zwei-karten-gleicher-anbieter.grid48.txt → expected/split-two-cards-same-provider.grid48.txt} +0 -0
  695. /package/fixtures/{erwartet/testkasse-verkauf.grid32.txt → expected/test-cashregister-sale.grid32.txt} +0 -0
  696. /package/fixtures/{erwartet/testkasse-verkauf.grid48.txt → expected/test-cashregister-sale.grid48.txt} +0 -0
  697. /package/fixtures/{erwartet/testsignatur-verkauf.grid32.txt → expected/test-signature-sale.grid32.txt} +0 -0
  698. /package/fixtures/{erwartet/testsignatur-verkauf.grid48.txt → expected/test-signature-sale.grid48.txt} +0 -0
  699. /package/fixtures/{erwartet → expected}/training.grid32.txt +0 -0
  700. /package/fixtures/{erwartet → expected}/training.grid48.txt +0 -0
  701. /package/fixtures/{erwartet/null-jahr.grid32.txt → expected/zero-annual.grid32.txt} +0 -0
  702. /package/fixtures/{erwartet/null-jahr.grid48.txt → expected/zero-annual.grid48.txt} +0 -0
  703. /package/fixtures/{erwartet/null-schluss.grid32.txt → expected/zero-final.grid32.txt} +0 -0
  704. /package/fixtures/{erwartet/null-schluss.grid48.txt → expected/zero-final.grid48.txt} +0 -0
  705. /package/fixtures/{erwartet/null-pruef.grid32.txt → expected/zero-manual.grid32.txt} +0 -0
  706. /package/fixtures/{erwartet/null-pruef.grid48.txt → expected/zero-manual.grid48.txt} +0 -0
  707. /package/fixtures/{erwartet/null-monat.grid32.txt → expected/zero-monthly.grid32.txt} +0 -0
  708. /package/fixtures/{erwartet/null-monat.grid48.txt → expected/zero-monthly.grid48.txt} +0 -0
  709. /package/fixtures/{erwartet/null-ausfall.grid32.txt → expected/zero-outage-end.grid32.txt} +0 -0
  710. /package/fixtures/{erwartet/null-ausfall.grid48.txt → expected/zero-outage-end.grid48.txt} +0 -0
  711. /package/fixtures/{erwartet/null-start.grid32.txt → expected/zero-start.grid32.txt} +0 -0
  712. /package/fixtures/{erwartet/null-start.grid48.txt → expected/zero-start.grid48.txt} +0 -0
@@ -5,16 +5,13 @@
5
5
  * Funktionen und bleiben einzeln importierbar.
6
6
  */
7
7
  import { type FetchLike } from '../client/transport.js';
8
- import { type CreateWebhookOptions, type CreateWebhookResult, type DeleteWebhookResult, type PartnerWebhook, type WebhookListe, type PartnerWebhookEventType, type WebhookPatch, type WebhookTestResult, type WebhookZustellung } from './webhooks.js';
9
- import type { ActivateCashregisterResult, CreateCashregisterOptions, CreateCashregisterResult, CreateCustomerOptions, CreateCustomerResult, CustomerCredentials, FonLinkResult, KassenListe, Kunde, KundenListe, ListCustomersOptions, PartnerInfo, RequestSignatureOptions, RequestSignatureResult, SignaturStand } from './typen.js';
8
+ import { type CreateWebhookOptions, type CreateWebhookResult, type DeleteWebhookResult, type PartnerWebhook, type WebhookList, type PartnerWebhookEventType, type WebhookPatch, type WebhookTestResult, type WebhookDelivery } from './webhooks.js';
9
+ import type { ActivateCashregisterResult, CreateCashregisterOptions, CreateCashregisterResult, CreateCustomerOptions, CreateCustomerResult, CustomerCredentials, FonLinkResult, CustomerCashregisterList, PartnerCustomer, PartnerCustomerList, ListCustomersOptions, PartnerInfo, ReportCustomerContractOptions, ReportCustomerContractResult, RequestSignatureOptions, RequestSignatureResult, CustomerSignatureStatus } from './typen.js';
10
10
  /**
11
- * Die Basis-URL der Partner-API: `/v3`, die englische Fassung.
12
- *
13
- * Nur der Partner-Teil spricht `/v3`. Belege, Rechnungen, Kasse und Zahlungen
14
- * laufen weiter ueber [DEFAULT_BASE_URL] (`/v1`), bis es fuer sie eine `/v3`
15
- * gibt. Die Partner-Endpunkte unter `/v1` antworten weiter, deutsch und
16
- * abgekuendigt (Kopfzeilen `Deprecation`/`Sunset`); dieser Client spricht sie
17
- * nicht mehr.
11
+ * Die Basis-URL der Partner-API: `/v3`, die englische Fassung, dieselbe wie
12
+ * [DEFAULT_BASE_URL]. Die 1.x-Linie spricht nur noch `/v3`; die
13
+ * Partner-Endpunkte unter `/v1` antworten weiter, deutsch und abgekuendigt
14
+ * (Kopfzeilen `Deprecation`/`Sunset`), dieser Client spricht sie nicht.
18
15
  */
19
16
  export declare const PARTNER_BASE_URL = "https://api.kasseneck.at/v3";
20
17
  export interface PartnerApiOptions {
@@ -34,15 +31,15 @@ export interface PartnerApiOptions {
34
31
  }
35
32
  export interface PartnerApi {
36
33
  getPartnerInfo(): Promise<PartnerInfo>;
37
- createPartnerCustomer(optionen: CreateCustomerOptions): Promise<CreateCustomerResult>;
38
- listPartnerCustomers(optionen?: ListCustomersOptions): Promise<KundenListe>;
39
- getPartnerCustomer(customerId: string): Promise<Kunde>;
34
+ createPartnerCustomer(options: CreateCustomerOptions): Promise<CreateCustomerResult>;
35
+ listPartnerCustomers(options?: ListCustomersOptions): Promise<PartnerCustomerList>;
36
+ getPartnerCustomer(customerId: string): Promise<PartnerCustomer>;
40
37
  sendPartnerCustomerFonLink(customerId: string): Promise<FonLinkResult>;
41
- requestCustomerSignature(customerId: string, optionen?: RequestSignatureOptions): Promise<RequestSignatureResult>;
42
- getCustomerSignatureStatus(customerId: string): Promise<SignaturStand>;
43
- createCustomerCashregister(optionen: CreateCashregisterOptions): Promise<CreateCashregisterResult>;
38
+ requestCustomerSignature(customerId: string, options?: RequestSignatureOptions): Promise<RequestSignatureResult>;
39
+ getCustomerSignatureStatus(customerId: string): Promise<CustomerSignatureStatus>;
40
+ createCustomerCashregister(options: CreateCashregisterOptions): Promise<CreateCashregisterResult>;
44
41
  activateCashregister(customerId: string, cashregisterId: string): Promise<ActivateCashregisterResult>;
45
- listCustomerCashregisters(customerId: string): Promise<KassenListe>;
42
+ listCustomerCashregisters(customerId: string): Promise<CustomerCashregisterList>;
46
43
  /** Geheimnisse des Betriebs — siehe `getCustomerCredentials` in endpunkte.ts. */
47
44
  getCustomerCredentials(customerId: string): Promise<CustomerCredentials>;
48
45
  /**
@@ -51,8 +48,13 @@ export interface PartnerApi {
51
48
  * erst nach dem ganzen Formular auf.
52
49
  */
53
50
  checkPartnerCustomerEmail(email: string): Promise<boolean>;
54
- createPartnerWebhook(optionen: CreateWebhookOptions): Promise<CreateWebhookResult>;
55
- listPartnerWebhooks(): Promise<WebhookListe>;
51
+ /**
52
+ * Meldet eine in Vollmacht eingeholte Zustimmung des Betriebs (nur AVV);
53
+ * siehe `reportCustomerContract` in endpunkte.ts.
54
+ */
55
+ reportCustomerContract(options: ReportCustomerContractOptions): Promise<ReportCustomerContractResult>;
56
+ createPartnerWebhook(options: CreateWebhookOptions): Promise<CreateWebhookResult>;
57
+ listPartnerWebhooks(): Promise<WebhookList>;
56
58
  updatePartnerWebhook(webhookId: string, patch: WebhookPatch): Promise<PartnerWebhook>;
57
59
  deletePartnerWebhook(webhookId: string): Promise<DeleteWebhookResult>;
58
60
  /**
@@ -66,15 +68,16 @@ export interface PartnerApi {
66
68
  * soll. Jede Probe traegt `test: true` im Umschlag.
67
69
  */
68
70
  sendPartnerWebhookTest(webhookId: string, event?: PartnerWebhookEventType | (string & {})): Promise<WebhookTestResult>;
69
- listPartnerWebhookDeliveries(optionen?: {
71
+ listPartnerWebhookDeliveries(options?: {
70
72
  webhookId?: string;
71
73
  limit?: number;
72
- }): Promise<WebhookZustellung[]>;
74
+ }): Promise<WebhookDelivery[]>;
73
75
  /**
74
76
  * Der Handlungssatz zu einem beliebigen Fehlercode der Partner-API. Gehoert
75
77
  * in die eigene Fehlermeldung, damit ein Anwender nicht in der Doku
76
- * nachschlagen muss.
78
+ * nachschlagen muss. Fuer einen unbekannten Code kommt ein Rueckfallsatz,
79
+ * nie `undefined` und nie ein Wurf.
77
80
  */
78
- fehlerRat(code: string): string | undefined;
81
+ errorAdvice(code: string): string;
79
82
  }
80
- export declare function createPartnerApi(optionen: PartnerApiOptions): PartnerApi;
83
+ export declare function createPartnerApi(options: PartnerApiOptions): PartnerApi;
@@ -6,25 +6,22 @@
6
6
  */
7
7
  import { createTransport } from '../client/transport.js';
8
8
  import { partnerKeyAuth } from './auth.js';
9
- import { partnerFehlerRat } from './fehler.js';
10
- import { activateCashregister, createCustomerCashregister, createPartnerCustomer, getCustomerCredentials, getCustomerSignatureStatus, getPartnerCustomer, getPartnerInfo, checkPartnerCustomerEmail, listCustomerCashregisters, listPartnerCustomers, requestCustomerSignature, sendPartnerCustomerFonLink, } from './endpunkte.js';
9
+ import { partnerErrorAdvice } from './fehler.js';
10
+ import { activateCashregister, createCustomerCashregister, createPartnerCustomer, getCustomerCredentials, getCustomerSignatureStatus, getPartnerCustomer, getPartnerInfo, checkPartnerCustomerEmail, listCustomerCashregisters, reportCustomerContract, listPartnerCustomers, requestCustomerSignature, sendPartnerCustomerFonLink, } from './endpunkte.js';
11
11
  import { createPartnerWebhook, deletePartnerWebhook, listPartnerWebhookDeliveries, listPartnerWebhooks, rotatePartnerWebhookSecret, sendPartnerWebhookTest, updatePartnerWebhook, } from './webhooks.js';
12
12
  /**
13
- * Die Basis-URL der Partner-API: `/v3`, die englische Fassung.
14
- *
15
- * Nur der Partner-Teil spricht `/v3`. Belege, Rechnungen, Kasse und Zahlungen
16
- * laufen weiter ueber [DEFAULT_BASE_URL] (`/v1`), bis es fuer sie eine `/v3`
17
- * gibt. Die Partner-Endpunkte unter `/v1` antworten weiter, deutsch und
18
- * abgekuendigt (Kopfzeilen `Deprecation`/`Sunset`); dieser Client spricht sie
19
- * nicht mehr.
13
+ * Die Basis-URL der Partner-API: `/v3`, die englische Fassung, dieselbe wie
14
+ * [DEFAULT_BASE_URL]. Die 1.x-Linie spricht nur noch `/v3`; die
15
+ * Partner-Endpunkte unter `/v1` antworten weiter, deutsch und abgekuendigt
16
+ * (Kopfzeilen `Deprecation`/`Sunset`), dieser Client spricht sie nicht.
20
17
  */
21
18
  export const PARTNER_BASE_URL = 'https://api.kasseneck.at/v3';
22
- export function createPartnerApi(optionen) {
19
+ export function createPartnerApi(options) {
23
20
  const rufen = createTransport({
24
- auth: partnerKeyAuth({ partnerKey: optionen.partnerKey }),
25
- baseUrl: optionen.baseUrl ?? PARTNER_BASE_URL,
26
- timeoutMs: optionen.timeoutMs,
27
- fetch: optionen.fetch,
21
+ auth: partnerKeyAuth({ partnerKey: options.partnerKey }),
22
+ baseUrl: options.baseUrl ?? PARTNER_BASE_URL,
23
+ timeoutMs: options.timeoutMs,
24
+ fetch: options.fetch,
28
25
  });
29
26
  return {
30
27
  getPartnerInfo: () => getPartnerInfo(rufen),
@@ -39,6 +36,7 @@ export function createPartnerApi(optionen) {
39
36
  listCustomerCashregisters: (id) => listCustomerCashregisters(rufen, id),
40
37
  getCustomerCredentials: (id) => getCustomerCredentials(rufen, id),
41
38
  checkPartnerCustomerEmail: (email) => checkPartnerCustomerEmail(rufen, email),
39
+ reportCustomerContract: (o) => reportCustomerContract(rufen, o),
42
40
  createPartnerWebhook: (o) => createPartnerWebhook(rufen, o),
43
41
  listPartnerWebhooks: () => listPartnerWebhooks(rufen),
44
42
  updatePartnerWebhook: (id, patch) => updatePartnerWebhook(rufen, id, patch),
@@ -46,6 +44,6 @@ export function createPartnerApi(optionen) {
46
44
  rotatePartnerWebhookSecret: (id) => rotatePartnerWebhookSecret(rufen, id),
47
45
  sendPartnerWebhookTest: (id, event) => sendPartnerWebhookTest(rufen, id, event),
48
46
  listPartnerWebhookDeliveries: (o) => listPartnerWebhookDeliveries(rufen, o),
49
- fehlerRat: (code) => partnerFehlerRat(code),
47
+ errorAdvice: (code) => partnerErrorAdvice(code),
50
48
  };
51
49
  }
@@ -17,7 +17,7 @@ import type { PartnerEnv } from './typen.js';
17
17
  * keiner ist. Nuetzlich fuer die Zusicherung „auf diesem Server laeuft nur
18
18
  * `pk_live_`" beim Hochfahren.
19
19
  */
20
- export declare function partnerKeyEnv(schluessel: string): PartnerEnv | null;
20
+ export declare function partnerKeyEnv(key: string): PartnerEnv | null;
21
21
  export interface PartnerKeyAuthOptions {
22
22
  /** Partner-Schluessel `pk_test_…` / `pk_live_…`. */
23
23
  partnerKey: string;
@@ -22,8 +22,8 @@ const SCHLUESSEL_FORM = /^pk_(test|live)_[A-Za-z0-9_-]{16,}$/;
22
22
  * keiner ist. Nuetzlich fuer die Zusicherung „auf diesem Server laeuft nur
23
23
  * `pk_live_`" beim Hochfahren.
24
24
  */
25
- export function partnerKeyEnv(schluessel) {
26
- const treffer = SCHLUESSEL_FORM.exec(typeof schluessel === 'string' ? schluessel.trim() : '');
25
+ export function partnerKeyEnv(key) {
26
+ const treffer = SCHLUESSEL_FORM.exec(typeof key === 'string' ? key.trim() : '');
27
27
  return treffer ? treffer[1] : null;
28
28
  }
29
29
  /**
@@ -13,15 +13,15 @@
13
13
  *
14
14
  * Zwei Dinge halten diese Seite dagegen:
15
15
  *
16
- * - der Typ [Betrieb] (typen.ts) hat genau diese Felder, und TypeScript meldet
16
+ * - der Typ [Business] (typen.ts) hat genau diese Felder, und TypeScript meldet
17
17
  * ein ueberzaehliges schon beim Tippen;
18
- * - [unbekannteBetriebsfelder] beantwortet dieselbe Frage zur Laufzeit — fuer
18
+ * - [unknownBusinessFields] beantwortet dieselbe Frage zur Laufzeit, fuer
19
19
  * Daten, die aus einer Datenbank oder einem Formular kommen und deshalb nie
20
20
  * durch die Typpruefung gelaufen sind.
21
21
  *
22
22
  * **Die Wahrheit bleibt der Server.** Dieser Client weist nichts von sich aus
23
23
  * ab: eine spaetere Backend-Fassung darf ein Feld ergaenzen, ohne dass ein
24
- * aelterer Client es blockiert. [unbekannteBetriebsfelder] ist die Vorschau,
24
+ * aelterer Client es blockiert. [unknownBusinessFields] ist die Vorschau,
25
25
  * nicht das Tor.
26
26
  *
27
27
  * Quelle der Liste: `partner-core.BETRIEB_FELDER` im Backend.
@@ -34,10 +34,10 @@
34
34
  * Zwilling Zeile fuer Zeile nachhalten kann. Das Schema fuer die Pruefung
35
35
  * entsteht daraus (siehe unten) und nicht daneben.
36
36
  */
37
- export declare const BETRIEB_FELDER: readonly ["companyName", "legalForm", "state", "industry", "companyRegister", "court", "web", "phone", "email", "billingEmail", "address.street", "address.number", "address.zip", "address.city", "taxDetails.taxNumber", "taxDetails.vatId", "taxDetails.gln", "taxDetails.smallBusiness", "contacts[].name", "contacts[].email", "contacts[].phone", "contacts[].roles", "taxAdvisor.name", "taxAdvisor.email", "taxAdvisor.phone", "taxAdvisor.mayContact"];
38
- export type BetriebFeld = typeof BETRIEB_FELDER[number];
37
+ export declare const BUSINESS_FIELDS: readonly ["companyName", "legalForm", "state", "industry", "companyRegister", "court", "web", "phone", "email", "billingEmail", "address.street", "address.number", "address.zip", "address.city", "taxDetails.taxNumber", "taxDetails.vatId", "taxDetails.gln", "taxDetails.smallBusiness", "contacts[].name", "contacts[].email", "contacts[].phone", "contacts[].roles", "taxAdvisor.name", "taxAdvisor.email", "taxAdvisor.phone", "taxAdvisor.mayContact"];
38
+ export type BusinessField = typeof BUSINESS_FIELDS[number];
39
39
  /**
40
- * Die Feldpfade eines Betriebs, die [BETRIEB_FELDER] nicht kennt — dieselbe
40
+ * Die Feldpfade eines Betriebs, die [BUSINESS_FIELDS] nicht kennt, dieselbe
41
41
  * Ableitung wie im Backend, also dieselben Pfade wie in `data.errors[].field`.
42
42
  * Leer heisst: aus dieser Sicht ist nichts ueberzaehlig.
43
43
  *
@@ -45,4 +45,4 @@ export type BetriebFeld = typeof BETRIEB_FELDER[number];
45
45
  * das Backend mit `@kreiseck/validator`. Diese Funktion beantwortet nur die
46
46
  * Frage „schicke ich etwas, das dort niemand erwartet?".
47
47
  */
48
- export declare function unbekannteBetriebsfelder(business: unknown): string[];
48
+ export declare function unknownBusinessFields(business: unknown): string[];
@@ -13,15 +13,15 @@
13
13
  *
14
14
  * Zwei Dinge halten diese Seite dagegen:
15
15
  *
16
- * - der Typ [Betrieb] (typen.ts) hat genau diese Felder, und TypeScript meldet
16
+ * - der Typ [Business] (typen.ts) hat genau diese Felder, und TypeScript meldet
17
17
  * ein ueberzaehliges schon beim Tippen;
18
- * - [unbekannteBetriebsfelder] beantwortet dieselbe Frage zur Laufzeit — fuer
18
+ * - [unknownBusinessFields] beantwortet dieselbe Frage zur Laufzeit, fuer
19
19
  * Daten, die aus einer Datenbank oder einem Formular kommen und deshalb nie
20
20
  * durch die Typpruefung gelaufen sind.
21
21
  *
22
22
  * **Die Wahrheit bleibt der Server.** Dieser Client weist nichts von sich aus
23
23
  * ab: eine spaetere Backend-Fassung darf ein Feld ergaenzen, ohne dass ein
24
- * aelterer Client es blockiert. [unbekannteBetriebsfelder] ist die Vorschau,
24
+ * aelterer Client es blockiert. [unknownBusinessFields] ist die Vorschau,
25
25
  * nicht das Tor.
26
26
  *
27
27
  * Quelle der Liste: `partner-core.BETRIEB_FELDER` im Backend.
@@ -34,7 +34,7 @@
34
34
  * Zwilling Zeile fuer Zeile nachhalten kann. Das Schema fuer die Pruefung
35
35
  * entsteht daraus (siehe unten) und nicht daneben.
36
36
  */
37
- export const BETRIEB_FELDER = [
37
+ export const BUSINESS_FIELDS = [
38
38
  'companyName',
39
39
  'legalForm',
40
40
  'state',
@@ -62,10 +62,10 @@ export const BETRIEB_FELDER = [
62
62
  'taxAdvisor.phone',
63
63
  'taxAdvisor.mayContact',
64
64
  ];
65
- /** Das Schema entsteht aus [BETRIEB_FELDER] — eine Quelle, keine zweite Liste. */
65
+ /** Das Schema entsteht aus [BUSINESS_FIELDS]: eine Quelle, keine zweite Liste. */
66
66
  const SCHEMA = (() => {
67
67
  const wurzel = {};
68
- for (const pfad of BETRIEB_FELDER) {
68
+ for (const pfad of BUSINESS_FIELDS) {
69
69
  const teile = pfad.split('.');
70
70
  let stand = wurzel;
71
71
  teile.forEach((rohes, i) => {
@@ -119,7 +119,7 @@ function sammle(eingabe, schema, pfad) {
119
119
  return raus;
120
120
  }
121
121
  /**
122
- * Die Feldpfade eines Betriebs, die [BETRIEB_FELDER] nicht kennt — dieselbe
122
+ * Die Feldpfade eines Betriebs, die [BUSINESS_FIELDS] nicht kennt, dieselbe
123
123
  * Ableitung wie im Backend, also dieselben Pfade wie in `data.errors[].field`.
124
124
  * Leer heisst: aus dieser Sicht ist nichts ueberzaehlig.
125
125
  *
@@ -127,6 +127,6 @@ function sammle(eingabe, schema, pfad) {
127
127
  * das Backend mit `@kreiseck/validator`. Diese Funktion beantwortet nur die
128
128
  * Frage „schicke ich etwas, das dort niemand erwartet?".
129
129
  */
130
- export function unbekannteBetriebsfelder(business) {
130
+ export function unknownBusinessFields(business) {
131
131
  return sammle(business, SCHEMA, '');
132
132
  }
@@ -11,7 +11,7 @@
11
11
  * PLZ, Gericht) macht das Backend mit `@kreiseck/validator` — sie hier zu
12
12
  * wiederholen hiesse, zwei Wahrheiten zu haben, von denen eine veraltet.
13
13
  * Ein Formfehler kommt als `KasseneckApiError` mit `code:"validation"` zurueck;
14
- * `partnerFeldFehler(fehler)` macht `data.errors[]` daraus. **Es entsteht dabei
14
+ * `partnerFieldErrors(fehler)` macht `data.errors[]` daraus. **Es entsteht dabei
15
15
  * nichts** — der Aufruf ist folgenlos wiederholbar.
16
16
  *
17
17
  * Nach dem Senden wird nichts hart gecastet: fehlt ein zugesagtes Feld, wirft
@@ -19,7 +19,7 @@
19
19
  * einen `TypeError` an unpassender Stelle.
20
20
  */
21
21
  import type { InternerTransport } from '../client/aufrufe.js';
22
- import type { ActivateCashregisterResult, CreateCashregisterOptions, CreateCashregisterResult, CreateCustomerOptions, CreateCustomerResult, CustomerCredentials, FonLinkResult, KassenListe, Kunde, KundenListe, ListCustomersOptions, PartnerInfo, RequestSignatureOptions, RequestSignatureResult, SignaturStand } from './typen.js';
22
+ import type { ActivateCashregisterResult, CreateCashregisterOptions, CreateCashregisterResult, CreateCustomerOptions, CreateCustomerResult, CustomerCredentials, FonLinkResult, CustomerCashregisterList, PartnerCustomer, PartnerCustomerList, ListCustomersOptions, PartnerInfo, ReportCustomerContractOptions, ReportCustomerContractResult, RequestSignatureOptions, RequestSignatureResult, CustomerSignatureStatus } from './typen.js';
23
23
  /**
24
24
  * Wer bin ich, in welcher Umgebung, mit welchen Rechten — und welche Apps
25
25
  * gehoeren mir. `apps[].id` ist die `appId` fuer [createPartnerCustomer].
@@ -27,7 +27,7 @@ import type { ActivateCashregisterResult, CreateCashregisterOptions, CreateCashr
27
27
  * Der guenstigste Selbsttest beim Hochfahren: er beweist Schluessel, Umgebung
28
28
  * und Rechte in einem Aufruf.
29
29
  */
30
- export declare function getPartnerInfo(rufen: InternerTransport): Promise<PartnerInfo>;
30
+ export declare function getPartnerInfo(transport: InternerTransport): Promise<PartnerInfo>;
31
31
  /**
32
32
  * Legt einen Betrieb an.
33
33
  *
@@ -46,11 +46,11 @@ export declare function getPartnerInfo(rufen: InternerTransport): Promise<Partne
46
46
  * — auch dann, wenn der Rumpf inzwischen abweicht. Die eigene Kundennummer ist
47
47
  * der natuerliche Wert dafuer.
48
48
  */
49
- export declare function createPartnerCustomer(rufen: InternerTransport, optionen: CreateCustomerOptions): Promise<CreateCustomerResult>;
49
+ export declare function createPartnerCustomer(transport: InternerTransport, options: CreateCustomerOptions): Promise<CreateCustomerResult>;
50
50
  /** Betriebe dieses Partners, seitenweise. `cursor` aus der Antwort setzt fort. */
51
- export declare function listPartnerCustomers(rufen: InternerTransport, optionen?: ListCustomersOptions): Promise<KundenListe>;
51
+ export declare function listPartnerCustomers(transport: InternerTransport, options?: ListCustomersOptions): Promise<PartnerCustomerList>;
52
52
  /** Ein Betrieb mit allem, was der Partner ueber ihn sehen darf — nie Geheimnisse. */
53
- export declare function getPartnerCustomer(rufen: InternerTransport, customerId: string): Promise<Kunde>;
53
+ export declare function getPartnerCustomer(transport: InternerTransport, customerId: string): Promise<PartnerCustomer>;
54
54
  /**
55
55
  * Schickt dem Betrieb den Einrichtungs-Link fuer seinen FinanzOnline-Zugang.
56
56
  * Ohne diesen Zugang gibt es live keine Signatureinheit (`fon_missing`).
@@ -69,8 +69,8 @@ export declare function getPartnerCustomer(rufen: InternerTransport, customerId:
69
69
  * einem ganzen ausgefuellten Formular auf. Die Antwort sagt NUR ja oder nein —
70
70
  * nie, wem die Adresse gehoert.
71
71
  */
72
- export declare function checkPartnerCustomerEmail(rufen: InternerTransport, email: string): Promise<boolean>;
73
- export declare function sendPartnerCustomerFonLink(rufen: InternerTransport, customerId: string): Promise<FonLinkResult>;
72
+ export declare function checkPartnerCustomerEmail(transport: InternerTransport, email: string): Promise<boolean>;
73
+ export declare function sendPartnerCustomerFonLink(transport: InternerTransport, customerId: string): Promise<FonLinkResult>;
74
74
  /**
75
75
  * Beantragt die Signatureinheit. Kasseneck laesst die Karte beim
76
76
  * Vertrauensdiensteanbieter **auf diesen Betrieb** ausstellen und meldet sie
@@ -87,9 +87,9 @@ export declare function sendPartnerCustomerFonLink(rufen: InternerTransport, cus
87
87
  * Abschluss kommt als Ereignis `signature.ready`, nicht als Antwort auf diesen
88
88
  * Aufruf.
89
89
  */
90
- export declare function requestCustomerSignature(rufen: InternerTransport, customerId: string, optionen?: RequestSignatureOptions): Promise<RequestSignatureResult>;
90
+ export declare function requestCustomerSignature(transport: InternerTransport, customerId: string, options?: RequestSignatureOptions): Promise<RequestSignatureResult>;
91
91
  /** Stand der Signatur eines Betriebs samt aller Signaturen, Antraege und des FON-Zugangs. */
92
- export declare function getCustomerSignatureStatus(rufen: InternerTransport, customerId: string): Promise<SignaturStand>;
92
+ export declare function getCustomerSignatureStatus(transport: InternerTransport, customerId: string): Promise<CustomerSignatureStatus>;
93
93
  /**
94
94
  * Legt eine Kasse an.
95
95
  *
@@ -105,7 +105,7 @@ export declare function getCustomerSignatureStatus(rufen: InternerTransport, cus
105
105
  * Hoechstens 20 Kassen je Betrieb (`cashregister_limit`); ohne gebuchtes Modul
106
106
  * `module_inactive`.
107
107
  */
108
- export declare function createCustomerCashregister(rufen: InternerTransport, optionen: CreateCashregisterOptions): Promise<CreateCashregisterResult>;
108
+ export declare function createCustomerCashregister(transport: InternerTransport, options: CreateCashregisterOptions): Promise<CreateCashregisterResult>;
109
109
  /**
110
110
  * Nimmt eine Kasse in Betrieb — von Hand, wenn `automatic:false` gilt oder
111
111
  * ein Lauf abgebrochen ist.
@@ -117,9 +117,9 @@ export declare function createCustomerCashregister(rufen: InternerTransport, opt
117
117
  * veraendernde Aufruf dieses Clients, der ohne Idempotenzschluessel gefahrlos
118
118
  * wiederholbar ist — weil der Server ihn so gebaut hat.
119
119
  */
120
- export declare function activateCashregister(rufen: InternerTransport, customerId: string, cashregisterId: string): Promise<ActivateCashregisterResult>;
120
+ export declare function activateCashregister(transport: InternerTransport, customerId: string, cashregisterId: string): Promise<ActivateCashregisterResult>;
121
121
  /** Die Kassen eines Betriebs samt Stand der Inbetriebnahme — **nie** Token. */
122
- export declare function listCustomerCashregisters(rufen: InternerTransport, customerId: string): Promise<KassenListe>;
122
+ export declare function listCustomerCashregisters(transport: InternerTransport, customerId: string): Promise<CustomerCashregisterList>;
123
123
  /**
124
124
  * Holt die **Geheimnisse des Betriebs**: seinen `api_key` und die Token seiner
125
125
  * Kassen. Damit signiert eine App in seinem Namen Belege — und ein Beleg ist
@@ -136,4 +136,17 @@ export declare function listCustomerCashregisters(rufen: InternerTransport, cust
136
136
  * Zeichenketten-Umwandlung zeigen eine Maske, heraus kommt man nur ueber
137
137
  * `.reveal()`.
138
138
  */
139
- export declare function getCustomerCredentials(rufen: InternerTransport, customerId: string): Promise<CustomerCredentials>;
139
+ export declare function getCustomerCredentials(transport: InternerTransport, customerId: string): Promise<CustomerCredentials>;
140
+ /**
141
+ * Meldet eine Zustimmung des Betriebs, die der Partner **in Vollmacht**
142
+ * eingeholt hat (Endpunkt `reportCustomerContract`, unter `/v1`
143
+ * `reportCustomerVertrag`). Braucht die Berechtigung `customers:write`.
144
+ *
145
+ * Vor dem Senden prueft dieser Client nur, dass jede Pflichtangabe da ist und
146
+ * `acceptedAt` eine Zahl ist. Ob die Art erlaubt ist (`kind_not_allowed`), die
147
+ * Fassung gilt (`unknown_version`, `no_version`) und der Text derselbe ist
148
+ * (`text_changed`), entscheidet der Server. Eine schon bestaetigte Fassung
149
+ * kommt als `already_accepted` mit `data.contractId`; das ist kein Schaden,
150
+ * sondern die Bestaetigung, dass es sie gibt.
151
+ */
152
+ export declare function reportCustomerContract(transport: InternerTransport, options: ReportCustomerContractOptions): Promise<ReportCustomerContractResult>;
@@ -11,7 +11,7 @@
11
11
  * PLZ, Gericht) macht das Backend mit `@kreiseck/validator` — sie hier zu
12
12
  * wiederholen hiesse, zwei Wahrheiten zu haben, von denen eine veraltet.
13
13
  * Ein Formfehler kommt als `KasseneckApiError` mit `code:"validation"` zurueck;
14
- * `partnerFeldFehler(fehler)` macht `data.errors[]` daraus. **Es entsteht dabei
14
+ * `partnerFieldErrors(fehler)` macht `data.errors[]` daraus. **Es entsteht dabei
15
15
  * nichts** — der Aufruf ist folgenlos wiederholbar.
16
16
  *
17
17
  * Nach dem Senden wird nichts hart gecastet: fehlt ein zugesagtes Feld, wirft
@@ -86,8 +86,8 @@ function pflicht(wert, vorgang, feld) {
86
86
  * Der guenstigste Selbsttest beim Hochfahren: er beweist Schluessel, Umgebung
87
87
  * und Rechte in einem Aufruf.
88
88
  */
89
- export async function getPartnerInfo(rufen) {
90
- const daten = objekt(await rufen('getPartnerInfo'));
89
+ export async function getPartnerInfo(transport) {
90
+ const daten = objekt(await transport('getPartnerInfo'));
91
91
  const partner = verlangt(daten['partner'], 'getPartnerInfo', 'partner');
92
92
  const key = objekt(daten['key']);
93
93
  return {
@@ -145,18 +145,18 @@ export async function getPartnerInfo(rufen) {
145
145
  * — auch dann, wenn der Rumpf inzwischen abweicht. Die eigene Kundennummer ist
146
146
  * der natuerliche Wert dafuer.
147
147
  */
148
- export async function createPartnerCustomer(rufen, optionen) {
149
- const appId = pflicht(optionen?.appId, 'createPartnerCustomer', 'appId');
150
- const betrieb = optionen?.business;
148
+ export async function createPartnerCustomer(transport, options) {
149
+ const appId = pflicht(options?.appId, 'createPartnerCustomer', 'appId');
150
+ const betrieb = options?.business;
151
151
  if (betrieb === null || typeof betrieb !== 'object') {
152
152
  throw new KasseneckValidationError('createPartnerCustomer', 'business fehlt', 'request');
153
153
  }
154
- const daten = objekt(await rufen('createPartnerCustomer', {
154
+ const daten = objekt(await transport('createPartnerCustomer', {
155
155
  appId,
156
156
  business: betrieb,
157
- idempotencyKey: optionen.idempotencyKey,
158
- access: optionen.access,
159
- env: optionen.env,
157
+ idempotencyKey: options.idempotencyKey,
158
+ access: options.access,
159
+ env: options.env,
160
160
  }));
161
161
  const customerId = textOderNull(daten['customerId']);
162
162
  if (!customerId) {
@@ -176,14 +176,14 @@ export async function createPartnerCustomer(rufen, optionen) {
176
176
  };
177
177
  }
178
178
  /** Betriebe dieses Partners, seitenweise. `cursor` aus der Antwort setzt fort. */
179
- export async function listPartnerCustomers(rufen, optionen = {}) {
180
- if (optionen.limit !== undefined && (!Number.isInteger(optionen.limit) || optionen.limit < 1 || optionen.limit > 200)) {
179
+ export async function listPartnerCustomers(transport, options = {}) {
180
+ if (options.limit !== undefined && (!Number.isInteger(options.limit) || options.limit < 1 || options.limit > 200)) {
181
181
  throw new KasseneckValidationError('listPartnerCustomers', 'limit muss zwischen 1 und 200 liegen', 'request');
182
182
  }
183
- const daten = objekt(await rufen('listPartnerCustomers', {
184
- status: optionen.status,
185
- limit: optionen.limit,
186
- cursor: optionen.cursor,
183
+ const daten = objekt(await transport('listPartnerCustomers', {
184
+ status: options.status,
185
+ limit: options.limit,
186
+ cursor: options.cursor,
187
187
  }));
188
188
  return {
189
189
  customers: liste(daten['customers']).map(kundenZeile),
@@ -233,9 +233,9 @@ function avvStand(wert) {
233
233
  return { ...v, mode: textOderNull(wert['mode']) };
234
234
  }
235
235
  /** Ein Betrieb mit allem, was der Partner ueber ihn sehen darf — nie Geheimnisse. */
236
- export async function getPartnerCustomer(rufen, customerId) {
236
+ export async function getPartnerCustomer(transport, customerId) {
237
237
  const id = pflicht(customerId, 'getPartnerCustomer', 'customerId');
238
- const daten = objekt(await rufen('getPartnerCustomer', { customerId: id }));
238
+ const daten = objekt(await transport('getPartnerCustomer', { customerId: id }));
239
239
  const k = verlangt(daten['customer'], 'getPartnerCustomer', 'customer');
240
240
  const fon = objekt(k['fon']);
241
241
  const zugang = k['access'];
@@ -280,16 +280,16 @@ export async function getPartnerCustomer(rufen, customerId) {
280
280
  * einem ganzen ausgefuellten Formular auf. Die Antwort sagt NUR ja oder nein —
281
281
  * nie, wem die Adresse gehoert.
282
282
  */
283
- export async function checkPartnerCustomerEmail(rufen, email) {
283
+ export async function checkPartnerCustomerEmail(transport, email) {
284
284
  const adresse = typeof email === 'string' ? email.trim() : '';
285
285
  if (!adresse)
286
286
  throw new KasseneckValidationError('checkPartnerCustomerEmail', 'email fehlt', 'request');
287
- const daten = objekt(await rufen('checkPartnerCustomerEmail', { email: adresse }));
287
+ const daten = objekt(await transport('checkPartnerCustomerEmail', { email: adresse }));
288
288
  return daten['available'] === true;
289
289
  }
290
- export async function sendPartnerCustomerFonLink(rufen, customerId) {
290
+ export async function sendPartnerCustomerFonLink(transport, customerId) {
291
291
  const id = pflicht(customerId, 'sendPartnerCustomerFonLink', 'customerId');
292
- const daten = objekt(await rufen('sendPartnerCustomerFonLink', { customerId: id }));
292
+ const daten = objekt(await transport('sendPartnerCustomerFonLink', { customerId: id }));
293
293
  return {
294
294
  customerId: text(daten['customerId'], id),
295
295
  sentTo: text(daten['sentTo']),
@@ -346,12 +346,12 @@ function antrag(eintrag) {
346
346
  * Abschluss kommt als Ereignis `signature.ready`, nicht als Antwort auf diesen
347
347
  * Aufruf.
348
348
  */
349
- export async function requestCustomerSignature(rufen, customerId, optionen = {}) {
349
+ export async function requestCustomerSignature(transport, customerId, options = {}) {
350
350
  const id = pflicht(customerId, 'requestCustomerSignature', 'customerId');
351
- const daten = objekt(await rufen('requestCustomerSignature', {
351
+ const daten = objekt(await transport('requestCustomerSignature', {
352
352
  customerId: id,
353
- kind: optionen.kind,
354
- additional: optionen.additional,
353
+ kind: options.kind,
354
+ additional: options.additional,
355
355
  }));
356
356
  return {
357
357
  request: antrag(verlangt(daten['request'], 'requestCustomerSignature', 'request')),
@@ -385,9 +385,9 @@ function signaturEinzeln(eintrag) {
385
385
  };
386
386
  }
387
387
  /** Stand der Signatur eines Betriebs samt aller Signaturen, Antraege und des FON-Zugangs. */
388
- export async function getCustomerSignatureStatus(rufen, customerId) {
388
+ export async function getCustomerSignatureStatus(transport, customerId) {
389
389
  const id = pflicht(customerId, 'getCustomerSignatureStatus', 'customerId');
390
- const daten = objekt(await rufen('getCustomerSignatureStatus', { customerId: id }));
390
+ const daten = objekt(await transport('getCustomerSignatureStatus', { customerId: id }));
391
391
  const signatur = objekt(daten['signature']);
392
392
  const fon = objekt(daten['fon']);
393
393
  return {
@@ -447,12 +447,12 @@ function kasse(eintrag) {
447
447
  * Hoechstens 20 Kassen je Betrieb (`cashregister_limit`); ohne gebuchtes Modul
448
448
  * `module_inactive`.
449
449
  */
450
- export async function createCustomerCashregister(rufen, optionen) {
451
- const id = pflicht(optionen?.customerId, 'createCustomerCashregister', 'customerId');
452
- const daten = objekt(await rufen('createCustomerCashregister', {
450
+ export async function createCustomerCashregister(transport, options) {
451
+ const id = pflicht(options?.customerId, 'createCustomerCashregister', 'customerId');
452
+ const daten = objekt(await transport('createCustomerCashregister', {
453
453
  customerId: id,
454
- automatic: optionen.automatic,
455
- signatureRequestId: optionen.signatureRequestId,
454
+ automatic: options.automatic,
455
+ signatureRequestId: options.signatureRequestId,
456
456
  }));
457
457
  const ib = objekt(daten['activation']);
458
458
  return {
@@ -476,19 +476,19 @@ export async function createCustomerCashregister(rufen, optionen) {
476
476
  * veraendernde Aufruf dieses Clients, der ohne Idempotenzschluessel gefahrlos
477
477
  * wiederholbar ist — weil der Server ihn so gebaut hat.
478
478
  */
479
- export async function activateCashregister(rufen, customerId, cashregisterId) {
479
+ export async function activateCashregister(transport, customerId, cashregisterId) {
480
480
  const kunde = pflicht(customerId, 'activateCashregister', 'customerId');
481
481
  const kassenId = pflicht(cashregisterId, 'activateCashregister', 'cashregisterId');
482
- const daten = objekt(await rufen('activateCashregister', { customerId: kunde, cashregisterId: kassenId }));
482
+ const daten = objekt(await transport('activateCashregister', { customerId: kunde, cashregisterId: kassenId }));
483
483
  return {
484
484
  cashregister: kasse(verlangt(daten['cashregister'], 'activateCashregister', 'cashregister')),
485
485
  unchanged: jaNein(daten['unchanged']),
486
486
  };
487
487
  }
488
488
  /** Die Kassen eines Betriebs samt Stand der Inbetriebnahme — **nie** Token. */
489
- export async function listCustomerCashregisters(rufen, customerId) {
489
+ export async function listCustomerCashregisters(transport, customerId) {
490
490
  const id = pflicht(customerId, 'listCustomerCashregisters', 'customerId');
491
- const daten = objekt(await rufen('listCustomerCashregisters', { customerId: id }));
491
+ const daten = objekt(await transport('listCustomerCashregisters', { customerId: id }));
492
492
  return {
493
493
  customerId: text(daten['customerId'], id),
494
494
  cashregisters: liste(daten['cashregisters']).map(kasse),
@@ -511,9 +511,9 @@ export async function listCustomerCashregisters(rufen, customerId) {
511
511
  * Zeichenketten-Umwandlung zeigen eine Maske, heraus kommt man nur ueber
512
512
  * `.reveal()`.
513
513
  */
514
- export async function getCustomerCredentials(rufen, customerId) {
514
+ export async function getCustomerCredentials(transport, customerId) {
515
515
  const id = pflicht(customerId, 'getCustomerCredentials', 'customerId');
516
- const daten = objekt(await rufen('getCustomerCredentials', { customerId: id }));
516
+ const daten = objekt(await transport('getCustomerCredentials', { customerId: id }));
517
517
  return {
518
518
  customerId: text(daten['customerId'], id),
519
519
  companyName: text(daten['companyName']),
@@ -531,3 +531,43 @@ export async function getCustomerCredentials(rufen, customerId) {
531
531
  note: text(daten['note']),
532
532
  };
533
533
  }
534
+ // ---------------------------------------------------------------------------
535
+ // Vertraege
536
+ // ---------------------------------------------------------------------------
537
+ /**
538
+ * Meldet eine Zustimmung des Betriebs, die der Partner **in Vollmacht**
539
+ * eingeholt hat (Endpunkt `reportCustomerContract`, unter `/v1`
540
+ * `reportCustomerVertrag`). Braucht die Berechtigung `customers:write`.
541
+ *
542
+ * Vor dem Senden prueft dieser Client nur, dass jede Pflichtangabe da ist und
543
+ * `acceptedAt` eine Zahl ist. Ob die Art erlaubt ist (`kind_not_allowed`), die
544
+ * Fassung gilt (`unknown_version`, `no_version`) und der Text derselbe ist
545
+ * (`text_changed`), entscheidet der Server. Eine schon bestaetigte Fassung
546
+ * kommt als `already_accepted` mit `data.contractId`; das ist kein Schaden,
547
+ * sondern die Bestaetigung, dass es sie gibt.
548
+ */
549
+ export async function reportCustomerContract(transport, options) {
550
+ const vorgang = 'reportCustomerContract';
551
+ const o = objekt(options);
552
+ const customerId = pflicht(o['customerId'], vorgang, 'customerId');
553
+ const kind = pflicht(o['kind'], vorgang, 'kind');
554
+ const version = pflicht(o['version'], vorgang, 'version');
555
+ const textHash = pflicht(o['textHash'], vorgang, 'textHash');
556
+ const name = pflicht(o['name'], vorgang, 'name');
557
+ const signerRole = pflicht(o['signerRole'], vorgang, 'signerRole');
558
+ const acceptedAt = o['acceptedAt'];
559
+ if (acceptedAt !== undefined && (typeof acceptedAt !== 'number' || !Number.isFinite(acceptedAt))) {
560
+ throw new KasseneckValidationError(vorgang, 'acceptedAt muss eine Zahl sein (Unix-Millisekunden)', 'request');
561
+ }
562
+ const daten = objekt(await transport(vorgang, { customerId, kind, version, textHash, name, signerRole, acceptedAt }));
563
+ const contractId = daten['contractId'];
564
+ if (typeof contractId !== 'string' || !contractId) {
565
+ throw new KasseneckValidationError(vorgang, 'Antwort enthaelt keine contractId', 'response');
566
+ }
567
+ return {
568
+ contractId,
569
+ confirmedAt: zahlOderNull(daten['confirmedAt']),
570
+ kind: text(daten['kind'], kind),
571
+ version: text(daten['version'], version),
572
+ };
573
+ }