@kreiseck/kasseneck-api 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/dist/cjs/kasse/index.d.ts +1 -1
- package/dist/cjs/kasse/index.js +5 -1
- package/dist/cjs/kasse/settings.d.ts +4 -2
- package/dist/cjs/kasse/settings.js +5 -2
- package/dist/cjs/kasse/texte.d.ts +444 -34
- package/dist/cjs/kasse/texte.js +265 -35
- package/dist/cjs/models/cancellation.d.ts +18 -5
- package/dist/cjs/models/cancellation.js +8 -4
- package/dist/cjs/models/payment-errors.js +1 -1
- package/dist/cjs/models/receipt-payment.d.ts +2 -1
- package/dist/cjs/models/receipt.js +16 -0
- package/dist/cjs/payments/hobex-hps/transaction-response.js +28 -28
- package/dist/esm/kasse/index.d.ts +1 -1
- package/dist/esm/kasse/index.js +1 -1
- package/dist/esm/kasse/settings.d.ts +4 -2
- package/dist/esm/kasse/settings.js +5 -2
- package/dist/esm/kasse/texte.d.ts +444 -34
- package/dist/esm/kasse/texte.js +262 -34
- package/dist/esm/models/cancellation.d.ts +18 -5
- package/dist/esm/models/cancellation.js +8 -4
- package/dist/esm/models/payment-errors.js +1 -1
- package/dist/esm/models/receipt-payment.d.ts +2 -1
- package/dist/esm/models/receipt.js +16 -0
- package/dist/esm/payments/hobex-hps/transaction-response.js +28 -28
- package/fixtures/hobex-hps-codes.json +29 -29
- package/fixtures/kasse-settings-standard.json +4 -2
- package/fixtures/kasse-texte.json +479 -35
- package/fixtures/oberflaeche.json +3 -2
- package/fixtures/rechnung-api.schema.json +1 -1
- package/fixtures/rechnung-texte.json +1 -1
- package/package.json +1 -1
|
@@ -59,40 +59,40 @@ const tecs_codes_js_1 = require("./tecs-codes.js");
|
|
|
59
59
|
/** Der Satz fuer den Bediener je Grund, deutsch. */
|
|
60
60
|
exports.HPS_REASON_HINTS = {
|
|
61
61
|
approved: 'Vom Terminal genehmigt.',
|
|
62
|
-
approvedWithCondition: 'Das Terminal meldet eine Genehmigung mit Vorbehalt (etwa nur über einen Teilbetrag). Ob und in welcher Höhe belastet wurde, bitte am Terminalbeleg prüfen
|
|
62
|
+
approvedWithCondition: 'Das Terminal meldet eine Genehmigung mit Vorbehalt (etwa nur über einen Teilbetrag). Ob und in welcher Höhe belastet wurde, bitte am Terminalbeleg prüfen – nicht erneut kassieren, bevor es geklärt ist.',
|
|
63
63
|
aborted: 'Der Vorgang wurde abgebrochen. Es wurde kein Geld bewegt.',
|
|
64
|
-
noCard: 'Es wurde keine Karte vorgehalten. Es wurde kein Geld bewegt
|
|
65
|
-
cardReadFailed: 'Die Karte konnte nicht gelesen werden. Es wurde kein Geld bewegt
|
|
66
|
-
cardDeclined: 'Die Karte wurde vom Terminal abgelehnt. Es wurde kein Geld bewegt
|
|
67
|
-
issuerDeclined: 'Die Zahlung wurde von der Bank abgelehnt. Es wurde kein Geld bewegt
|
|
68
|
-
cardBlocked: 'Die Karte ist gesperrt. Es wurde kein Geld bewegt
|
|
69
|
-
cardExpired: 'Die Karte ist abgelaufen. Es wurde kein Geld bewegt
|
|
70
|
-
insufficientFunds: 'Das Konto ist nicht gedeckt oder das Kartenlimit ist erreicht. Es wurde kein Geld bewegt
|
|
71
|
-
wrongPin: 'Die PIN war falsch. Es wurde kein Geld bewegt
|
|
72
|
-
pinTriesExceeded: 'Die PIN wurde zu oft falsch eingegeben. Es wurde kein Geld bewegt
|
|
73
|
-
pinRequired: 'Die Bank verlangt die PIN. Es wurde kein Geld bewegt
|
|
64
|
+
noCard: 'Es wurde keine Karte vorgehalten. Es wurde kein Geld bewegt – bitte erneut versuchen.',
|
|
65
|
+
cardReadFailed: 'Die Karte konnte nicht gelesen werden. Es wurde kein Geld bewegt – bitte erneut versuchen, notfalls die Karte stecken statt auflegen.',
|
|
66
|
+
cardDeclined: 'Die Karte wurde vom Terminal abgelehnt. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
67
|
+
issuerDeclined: 'Die Zahlung wurde von der Bank abgelehnt. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
68
|
+
cardBlocked: 'Die Karte ist gesperrt. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
69
|
+
cardExpired: 'Die Karte ist abgelaufen. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
70
|
+
insufficientFunds: 'Das Konto ist nicht gedeckt oder das Kartenlimit ist erreicht. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
71
|
+
wrongPin: 'Die PIN war falsch. Es wurde kein Geld bewegt – bitte erneut versuchen.',
|
|
72
|
+
pinTriesExceeded: 'Die PIN wurde zu oft falsch eingegeben. Es wurde kein Geld bewegt – bitte eine andere Karte oder Zahlungsart verwenden.',
|
|
73
|
+
pinRequired: 'Die Bank verlangt die PIN. Es wurde kein Geld bewegt – bitte erneut versuchen, die Karte stecken und die PIN eingeben.',
|
|
74
74
|
amountInvalid: 'Das Terminal nimmt diesen Betrag nicht an. Es wurde kein Geld bewegt.',
|
|
75
|
-
tipNotSelected: 'Das Trinkgeld wurde nicht rechtzeitig gewählt. Es wurde kein Geld bewegt
|
|
76
|
-
terminalBusy: 'Das Terminal ist noch mit einem anderen Vorgang beschäftigt. Es wurde kein Geld bewegt
|
|
77
|
-
terminalBlocked: 'Das Terminal ist gesperrt. Es wurde kein Geld bewegt
|
|
78
|
-
terminalSetup: 'Das Terminal ist nicht richtig eingerichtet. Es wurde kein Geld bewegt
|
|
79
|
-
acquirerSetup: 'hobex nimmt dieses Terminal oder diesen Händler so nicht an. Es wurde kein Geld bewegt
|
|
80
|
-
terminalFault: 'Das Terminal meldet eine Störung. Es wurde kein Geld bewegt
|
|
81
|
-
requestRejected: 'Das Terminal hat die Anfrage abgewiesen. Es wurde kein Geld bewegt
|
|
82
|
-
hostRejected: 'hobex hat die Zahlung abgewiesen. Es wurde kein Geld bewegt
|
|
83
|
-
hostUnavailable: 'Die Bank oder hobex ist gerade nicht erreichbar. Es wurde kein Geld bewegt
|
|
75
|
+
tipNotSelected: 'Das Trinkgeld wurde nicht rechtzeitig gewählt. Es wurde kein Geld bewegt – bitte erneut versuchen.',
|
|
76
|
+
terminalBusy: 'Das Terminal ist noch mit einem anderen Vorgang beschäftigt. Es wurde kein Geld bewegt – kurz warten und erneut versuchen.',
|
|
77
|
+
terminalBlocked: 'Das Terminal ist gesperrt. Es wurde kein Geld bewegt – bitte hobex kontaktieren.',
|
|
78
|
+
terminalSetup: 'Das Terminal ist nicht richtig eingerichtet. Es wurde kein Geld bewegt – bitte die Terminal-ID in den Einstellungen prüfen, sonst hobex kontaktieren.',
|
|
79
|
+
acquirerSetup: 'hobex nimmt dieses Terminal oder diesen Händler so nicht an. Es wurde kein Geld bewegt – bitte hobex kontaktieren.',
|
|
80
|
+
terminalFault: 'Das Terminal meldet eine Störung. Es wurde kein Geld bewegt – bitte das Terminal neu starten und erneut versuchen.',
|
|
81
|
+
requestRejected: 'Das Terminal hat die Anfrage abgewiesen. Es wurde kein Geld bewegt – tritt das wieder auf, bitte den Support kontaktieren.',
|
|
82
|
+
hostRejected: 'hobex hat die Zahlung abgewiesen. Es wurde kein Geld bewegt – bitte erneut versuchen; tritt das wieder auf, hobex kontaktieren.',
|
|
83
|
+
hostUnavailable: 'Die Bank oder hobex ist gerade nicht erreichbar. Es wurde kein Geld bewegt – bitte später erneut versuchen oder eine andere Zahlungsart verwenden.',
|
|
84
84
|
invalidTransaction: 'Das Terminal kennt die ursprüngliche Zahlung nicht. Es wurde kein Geld bewegt.',
|
|
85
85
|
refundPassword: 'Das Passwort für die Gutschrift war falsch oder wurde nicht eingegeben. Es wurde nichts ausgezahlt.',
|
|
86
|
-
refundDisabled: 'Gutschriften sind an diesem Terminal abgeschaltet. Es wurde nichts ausgezahlt
|
|
86
|
+
refundDisabled: 'Gutschriften sind an diesem Terminal abgeschaltet. Es wurde nichts ausgezahlt – bitte hobex kontaktieren.',
|
|
87
87
|
refundRejected: 'Die Gutschrift wurde abgewiesen (Betrag zu hoch, bereits erstattet oder zu viele Versuche). Es wurde nichts ausgezahlt.',
|
|
88
|
-
hostTimeoutReversed: 'hobex hat nicht rechtzeitig geantwortet, das Terminal hat den Vorgang selbst storniert. Es wird kein Geld bewegt
|
|
89
|
-
reversedByHost: 'Die Zahlung wurde wegen einer Störung automatisch storniert. Es wurde kein Geld bewegt
|
|
90
|
-
voidedAfterHostFault: 'hobex hat nicht sauber geantwortet, die Zahlung wurde deshalb sicherheitshalber storniert. Es wurde kein Geld bewegt
|
|
91
|
-
hostFault: 'Die Verbindung zwischen Terminal und hobex ist gestört. Ob die Karte belastet wurde, weiß das Terminal nicht
|
|
92
|
-
hostTimeout: 'hobex hat nicht rechtzeitig geantwortet. Ob die Karte belastet wurde, weiß das Terminal nicht
|
|
93
|
-
internalError: 'Das Terminal meldet einen internen Fehler. Ob die Karte belastet wurde, ist unklar
|
|
88
|
+
hostTimeoutReversed: 'hobex hat nicht rechtzeitig geantwortet, das Terminal hat den Vorgang selbst storniert. Es wird kein Geld bewegt – bitte erneut versuchen.',
|
|
89
|
+
reversedByHost: 'Die Zahlung wurde wegen einer Störung automatisch storniert. Es wurde kein Geld bewegt – bitte erneut versuchen.',
|
|
90
|
+
voidedAfterHostFault: 'hobex hat nicht sauber geantwortet, die Zahlung wurde deshalb sicherheitshalber storniert. Es wurde kein Geld bewegt – bitte erneut versuchen.',
|
|
91
|
+
hostFault: 'Die Verbindung zwischen Terminal und hobex ist gestört. Ob die Karte belastet wurde, weiß das Terminal nicht – bitte nicht erneut kassieren, bevor es geklärt ist.',
|
|
92
|
+
hostTimeout: 'hobex hat nicht rechtzeitig geantwortet. Ob die Karte belastet wurde, weiß das Terminal nicht – bitte nicht erneut kassieren, bevor es geklärt ist.',
|
|
93
|
+
internalError: 'Das Terminal meldet einen internen Fehler. Ob die Karte belastet wurde, ist unklar – bitte nicht erneut kassieren, bevor es geklärt ist.',
|
|
94
94
|
canceled: 'Die Zahlung ist aufgehoben.',
|
|
95
|
-
cancelDenied: 'Die Zahlung lässt sich nicht mehr aufheben und bleibt belastet
|
|
95
|
+
cancelDenied: 'Die Zahlung lässt sich nicht mehr aufheben und bleibt belastet – bitte stattdessen eine Gutschrift ausführen.',
|
|
96
96
|
originalDeclined: 'Die ursprüngliche Zahlung war abgelehnt; es gibt nichts aufzuheben.',
|
|
97
97
|
notAbortable: 'Der Vorgang ist bereits abgeschlossen und lässt sich nicht mehr abbrechen.',
|
|
98
98
|
noStatement: 'Das Terminal hat zu diesem Vorgang keine Auskunft.',
|
|
@@ -10,4 +10,4 @@ export { verteileRabatt } from '../receipt/discount.js';
|
|
|
10
10
|
export { cancelScopeOf, receiptsScopeOf, type RegisterScope, type RegisterUserPerms } from '../register/pairing.js';
|
|
11
11
|
export { type NetzDrucker, type DruckJob, type DruckJobStatus, type CreatePrintJobOptions, listMyPrinters, createPrintJob, getPrintJob } from './drucker.js';
|
|
12
12
|
export { listMyTipRecipients } from './trinkgeld.js';
|
|
13
|
-
export { MELDUNGEN, FEHLERREGELN, meldung, meldungGiltFuer, BELEG_MAIL_FEHLER, belegMailFehler, type Meldung, type MeldungsSchluessel, type Fehlerart, type Seite, type BelegMailFehlercode, } from './texte.js';
|
|
13
|
+
export { MELDUNGEN, FEHLERREGELN, meldung, meldungGiltFuer, BELEG_MAIL_FEHLER, belegMailFehler, STORNO_ZAHLUNG_FEHLER, stornoZahlungFehler, BESCHRIFTUNGEN, beschriftung, type Meldung, type MeldungsSchluessel, type Fehlerart, type Seite, type BelegMailFehlercode, type StornoZahlungFehlercode, type BeschriftungsSchluessel, } from './texte.js';
|
package/dist/esm/kasse/index.js
CHANGED
|
@@ -15,4 +15,4 @@ export { cancelScopeOf, receiptsScopeOf } from '../register/pairing.js';
|
|
|
15
15
|
export { listMyPrinters, createPrintJob, getPrintJob } from './drucker.js';
|
|
16
16
|
export { listMyTipRecipients } from './trinkgeld.js';
|
|
17
17
|
// Was die Kasse selbst sagt — ein Katalog fuer Browser-Kasse und App.
|
|
18
|
-
export { MELDUNGEN, FEHLERREGELN, meldung, meldungGiltFuer, BELEG_MAIL_FEHLER, belegMailFehler, } from './texte.js';
|
|
18
|
+
export { MELDUNGEN, FEHLERREGELN, meldung, meldungGiltFuer, BELEG_MAIL_FEHLER, belegMailFehler, STORNO_ZAHLUNG_FEHLER, stornoZahlungFehler, BESCHRIFTUNGEN, beschriftung, } from './texte.js';
|
|
@@ -156,6 +156,8 @@ export interface KasseSettingsBetrieb {
|
|
|
156
156
|
rueckgeld: boolean;
|
|
157
157
|
schnellbar: boolean;
|
|
158
158
|
kassierenModus: KasseKassierenModus;
|
|
159
|
+
/** Getrennt zahlen: dritter Knopf neben Bar und Karte, ein Beleg mit mehreren Zahlungen. */
|
|
160
|
+
zahlGetrennt: boolean;
|
|
159
161
|
/** Trinkgeld-Chips in Prozent (eine Nachkommastelle, max 5, eindeutig, Reihenfolge des Chefs). */
|
|
160
162
|
tgChips: number[];
|
|
161
163
|
/** Rabatt-Chips in Prozent — dieselben Regeln wie tgChips, vom Chef einstellbar. */
|
|
@@ -168,10 +170,10 @@ export interface KasseSettingsBetrieb {
|
|
|
168
170
|
hinweise: boolean;
|
|
169
171
|
}
|
|
170
172
|
/** Aktionen der Kasse, die eine Taste bekommen koennen. */
|
|
171
|
-
export declare const KASSE_TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren"];
|
|
173
|
+
export declare const KASSE_TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren", "getrennt"];
|
|
172
174
|
export type KasseTastenAktion = typeof KASSE_TASTEN_AKTIONEN[number];
|
|
173
175
|
/** Kurzer Name, damit alle Enum-Listen gleich heissen; der alte bleibt gueltig. */
|
|
174
|
-
export declare const TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren"];
|
|
176
|
+
export declare const TASTEN_AKTIONEN: readonly ["kassieren", "abschliessen", "abbrechen", "frei", "bar", "karte", "passend", "belege", "letzteZurueck", "einstellungen", "abmelden", "trinkgeld", "vollbild", "gegebenLeeren", "korbLeeren", "getrennt"];
|
|
175
177
|
/** Tastenkarte: Aktion -> Tasten (`Mod+F`, `Enter`, `Escape`, `F5` ...; `Mod` = ⌘ auf dem Mac, Strg sonst). */
|
|
176
178
|
export type KasseTastenkarte = Record<KasseTastenAktion, string[]>;
|
|
177
179
|
export declare const KASSE_TASTEN_STANDARD: Readonly<KasseTastenkarte>;
|
|
@@ -88,7 +88,7 @@ export const WZ_SKALA = ['S', 'M', 'L', 'XL'];
|
|
|
88
88
|
/** Wie lange die Fertig-Seite stehen bleibt, in Sekunden; 0 = bis zum Tippen. */
|
|
89
89
|
export const FERTIG_SEKUNDEN = [0, 3, 5, 10, 15, 30, 60];
|
|
90
90
|
/** Aktionen der Kasse, die eine Taste bekommen koennen. */
|
|
91
|
-
export const KASSE_TASTEN_AKTIONEN = ['kassieren', 'abschliessen', 'abbrechen', 'frei', 'bar', 'karte', 'passend', 'belege', 'letzteZurueck', 'einstellungen', 'abmelden', 'trinkgeld', 'vollbild', 'gegebenLeeren', 'korbLeeren'];
|
|
91
|
+
export const KASSE_TASTEN_AKTIONEN = ['kassieren', 'abschliessen', 'abbrechen', 'frei', 'bar', 'karte', 'passend', 'belege', 'letzteZurueck', 'einstellungen', 'abmelden', 'trinkgeld', 'vollbild', 'gegebenLeeren', 'korbLeeren', 'getrennt'];
|
|
92
92
|
/** Kurzer Name, damit alle Enum-Listen gleich heissen; der alte bleibt gueltig. */
|
|
93
93
|
export const TASTEN_AKTIONEN = KASSE_TASTEN_AKTIONEN;
|
|
94
94
|
export const KASSE_TASTEN_STANDARD = Object.freeze({
|
|
@@ -110,6 +110,9 @@ export const KASSE_TASTEN_STANDARD = Object.freeze({
|
|
|
110
110
|
// verschiedenen Momenten (Korb vor dem Kassieren, Gegeben-Feld darin) —
|
|
111
111
|
// der Verteiler laesst die nicht zustaendige Aktion durchfallen.
|
|
112
112
|
korbLeeren: ['Mod+C'],
|
|
113
|
+
// Bewusst ohne Vorgabe: jede freie Mod-Taste ist in irgendeinem Browser
|
|
114
|
+
// belegt oder am Geraet unerprobt. Der Chef vergibt sie, wenn er sie braucht.
|
|
115
|
+
getrennt: [],
|
|
113
116
|
});
|
|
114
117
|
export const KASSE_BETRIEB_STANDARD = Object.freeze({
|
|
115
118
|
// Das Petrol der Marke: die Aktionsfarbe des Design-Systems (Rolle `brand`).
|
|
@@ -124,7 +127,7 @@ export const KASSE_BETRIEB_STANDARD = Object.freeze({
|
|
|
124
127
|
menge: 'x', notiz: false, suche: false, rabatt: 'aus',
|
|
125
128
|
zahlBar: true, zahlKarte: false, kartenanbieter: 'keiner', trinkgeld: false, tgModus: 'beides',
|
|
126
129
|
tgStufen: { 5: true, 10: true, 15: false, 20: false }, tgChips: [5, 10], tgSplit: true, rueckgeld: true,
|
|
127
|
-
schnellbar: false, kassierenModus: '
|
|
130
|
+
schnellbar: false, kassierenModus: 'panel', zahlGetrennt: false,
|
|
128
131
|
// 'fragen' = Fertig-Seite bietet QR und Bon an — sicherster Standard.
|
|
129
132
|
logoBild: '', wzSeite: 'mitte', wzPos: 50, wzPosV: 50, wzStaerke: 6, logoSkala: 'M', wzSkala: 'M',
|
|
130
133
|
glas: true, hinweise: true,
|