pos library
Die Kasse am Tresen: Einstellungen, Warenkorb, Kassieren und Belege — gemeinsam von Browser-Kasse und App.
Zwilling von kasse/settings.ts bzw. client/receipts.ts im JS-Paket und
von functions/kasse-settings-core.js im Backend. Die Golden-Datei
fixtures/pos-settings-defaults.json hält die Standardwerte deckungsgleich.
Classes
- AfterCount
-
Entnehmen oder Einlegen nach dem Zaehlen: amountCents immer positiv, die
Richtung sagt type (aus afterCountTypes). Gezaehlt wird immer die ganze
Lade; was danach bleibt, steht in
leftInDrawerCents(Schicht, Z-Bon). Dient auch als Parameter voncloseMyShift. - ArticleGroup
- Kategorie der Kachel-Kasse.
- CancellationOf
-
Bezug eines Storno-Belegs auf sein Original (
cancellationOf). - CancelReceiptResult
- Ergebnis eines Stornos: der neue, signierte Storno-Beleg, der Bezug zum Original und die verbliebenen Restmengen je Position.
- Cart
- CartItemDraft
- Was der Kassier eingegeben hat, bevor daraus eine Position wird.
- CartLine
- Eine Anzeigezeile des Korbs: gebuendelt (Menge × Preis) oder je Stueck einzeln.
- CashMovement
- CashMovementReceipt
-
Bon-Daten einer Kassenbewegung; Druck mit
cashMovementLayout. - CashMovementResult
-
Antwort von
recordMyCashMovement. - CashregisterAutoLogout
-
Automatisches Abmelden an der Kasse (
autoLogoutinlistMyCashregisters). Beide Werte sind einzeln optional: der Server sendet nur, was die Kasse selbst gesetzt hat. - CashregisterEntry
-
Eine Kasse aus
listMyCashregisters(Draht/v3). Zeitpunkte bleiben Text (ISO, UTC); ein fehlender istnull, nie ein erfundenes Datum. - CashregisterOnboarding
- Stand der Inbetriebnahme (RKSV): bei FinanzOnline registriert, Startbeleg erzeugt und übermittelt.
- CashregisterStockLocation
-
Antwort von
setMyCashregisterStockLocation. - CheckoutState
- Was der Kassier am Kassieren-Bildschirm eingestellt hat.
- CheckoutTotals
- Alle Beträge des Kassiervorgangs auf einen Blick.
- CompletionCheck
- DrawerInfo
- DrawerOpening
-
Eine gemeldete Oeffnung der Lade (nur mit
cashView). - DrawerOpeningEntry
- Eine Oeffnung der Lade, wie die Kasse sie puffert und meldet.
- DrawerOpeningOperator
- Wer die Lade oeffnete (gepufferte Oeffnung): der damals angemeldete Mitarbeiter. Der Server nimmt ihn nur, wenn er zum Betrieb gehoert und der Kasse zugewiesen ist, den Namen aus dem Konto; sonst gilt der sendende Benutzer.
- DrawerOpeningsResult
-
Antwort von
logMyDrawerOpenings. - DrawerRights
- Die vier Rechte des angemeldeten Benutzers an der Lade.
- DrawerState
-
Stand der Lade fuer die Kasse: Lade, Rechte, Schicht und was das Recht
cashViewzeigt. - ErrorRule
- Eine Regel: fuer eine Art (und optional bestimmte Codes oder einen Ausgang) entweder ein Satz des Katalogs (key) oder ein Verhalten (behavior).
- FieldError
-
Ein Feldfehler aus
details.errors[]einervalidation-Antwort. - KasseneckItem
- KasseneckReceipt
- KeckPayment
-
Eine Zahlung am Beleg — Zwilling von
ReceiptPaymentin@kreiseck/kasseneck-api(models/receipt-payment.ts) und der Eintraege, diefunctions/gemeinsam/zahlungen-core.jsunterpaymentsablegt. - KeckPaymentInput
-
Eine Zahlung, wie der Aufrufer sie an
sellReceipt/sell/cancelschickt – Zwilling vonReceiptPaymentInput.idundchangeCentsvergibt der Server. - KeckTip
- Trinkgeld auf einem Beleg.
- KeckTipPerson
- Eine Person, der sich Trinkgeld zuweisen lässt.
- KeckTipRecipient
- Ein Trinkgeld-Empfänger: ein Kassen-Benutzer und sein Anteil.
- KeckVoucher
-
Gutschein am Beleg bzw. Gutscheinwunsch an
createReceipt. Zwilling vonVoucherim npm-Paket. - NetworkPrinter
-
Ein Netzwerk-Drucker des Kontos (
listMyPrinters). - NonCashAmount
- OpenShiftResult
-
Antwort von
openMyShift. - PosArticle
- Artikel, wie ihn die Kasse für Kacheln und Belegpositionen braucht.
- PosBusinessSettings
- Was für den ganzen Betrieb gilt (im Panel eingestellt).
- PosColor
- PosDeviceSettings
- Was nur für dieses Gerät gilt (in der Kasse selbst eingestellt).
- Position
- Eine Position des laufenden Verkaufs.
- PosPrinterClient
- Drucker und Druckjobs über die laufende Kassen-Sitzung.
- PosSettings
- PosSettingsClient
- PosSettingValue
- Gemeinsame Sicht auf die Aufzählungen der Einstellungen: value ist der Wert am Draht.
- PosText
- Ein Eintrag des Katalogs.
- PosThemeData
- PosVoucherSettings
-
Gutschein-Einstellung der Kasse (Block
vouchersausgetKasseSettings). - PrintJob
- PrintResult
- Ergebnis eines Drucks, wie der Drucker es meldet.
- QuantityDefaults
- ReceiptDayGroup
- ReceiptFilter
- ReceiptOperator
- Bediener an einem Beleg.
- ReceiptSummary
- Ein Beleg in der Liste — eine Zusammenfassung, kein vollstaendiger Beleg. Fuer Nachdruck oder Storno gehoert der Beleg ueber RegisterReceiptClient.get einzeln geholt.
- RegisterReceiptClient
- RegistrationInfo
-
Registrierdaten fuer den Block „Prüfangaben“ am Nullbeleg (Regelwerk 2):
wann die Signaturkarte und wann die Kasse bei FinanzOnline registriert
wurden. Zwilling von
RegistrationInfoin@kreiseck/kasseneck-api1.0, DrahtfeldregistrationInfo(frueherpruefangaben). - SendReceiptEmailResult
- Was das Backend ueber einen erfolgten Versand sagt.
- Shift
-
Eine Schicht. Die Felder nach „Nur mit
cashView“ sindnull, wenn der Server sie nicht sendet (kein Recht);nullheisst dort „nicht gesendet“ oder „es gibt (noch) keinen Wert“ – nie0. Ohne das Rechtshiftsendet der Server von einer offenen Schicht nur die Grunddaten (id, drawerId, cashregisterId, number, status, openedAt, openedBy); alles andere ist dannnull, auch openingFloatTakenOver. - ShiftActor
-
Wer gehandelt hat: Kassen-Benutzer (
register_user), Inhaber (owner, Panel) oder Admin. - ShiftCloseResult
-
Ergebnis von
closeMyShift: recount = bitte noch einmal zaehlen (kein Fehler), ready = nur geprueft (checkOnly), Schliessen mit diesem Betrag ginge, sonst geschlossen mit Z-Bon in receipt. - ShiftReceiptHeader
- Kopf der Bon-Daten der Schicht (gemeinsam fuer Z-, X-Bon und Kassenbewegung).
- ShiftReceiptMovement
- Eine Kassenbewegung auf dem Z- oder X-Bon.
- ShiftReconciliation
- Nachrechnung des Laufstands beim Abschluss: stimmt er, oder welche Felder weichen ab.
- ShiftReport
-
Antwort von
getMyShiftReport. - ShiftRunningTotals
-
Laufstand der Schicht (nur mit
cashView). - ShiftSummaryReceipt
-
Bon-Daten des Z-Bons (
shift_close) bzw. X-Bons (shift_interim); Druck mitshiftReceiptLayout. Kein Registrierkassenbeleg. - ShiftTip
- Trinkgeld eines Mitarbeiters mit seinem offenen Anspruch an die Lade (openCents, „offen“): im Kassenstand (DrawerState.tips) und auf dem Z- und X-Bon. Was davon gezeigt wird, sagt shiftTipLines.
- ShiftTipLine
- Eine Zeile des Trinkgelds eines Mitarbeiters (siehe shiftTipLines).
- ShiftTipTotals
- StockLevel
- Bestand eines Artikels an einem Standort, in Tausendstel der Basiseinheit.
- StockList
-
Antwort von
listMyStock. - StockLocation
- Ein Standort des Betriebs (Lager, Geschaeft, Fahrzeug).
- StockLocationAddress
-
Anschrift eines Standorts. Jeder Teil ist
null, wenn er fehlt oder leer ist; eine Anschrift ohne einen einzigen Teil gibt es nicht (dann ist StockLocation.addressnull). - Stocktake
- Eine Inventur (Kopf), wie jeder Inventur-Aufruf ausser den Listen der Positionen und Zaehlungen sie sendet.
- StocktakeActor
- Wer etwas tat: Inhaber, Kasseneck-Admin, Kassen-Benutzer oder ein API-Schluessel.
- StocktakeCancellation
- Der Abbruch einer Inventur.
- StocktakeClosing
- Der Abschluss: er bucht in Teilen und laesst sich wieder aufnehmen.
- StocktakeCount
- Eine Zaehlung.
- StocktakeCountPage
-
Eine Seite von
listStocktakeCountsbzw.listMyStocktakeCounts, neueste zuerst. - StocktakeCountResult
- Antwort von Zaehlen und Stornieren: die Zaehlung und ihre Position danach (Summe der Runde in StocktakeItem.quantity, kein Soll).
- StocktakeCountVoided
- Das Storno einer Zaehlung.
- StocktakeInventoryLine
- Eine Zeile des Inventars (nach dem Abschluss).
- StocktakeItem
-
Eine Position: ein Artikel in einem Zustand (
sellablebzw.defective). - StocktakeItemPage
-
Eine Seite von
listStocktakeItemsbzw.listMyStocktakeItems, nach Kennung. - StocktakeNotBooked
- Was von einer Position nicht gebucht wurde, und warum.
- StocktakePdfInfo
- Das Inventurprotokoll: ob es da ist, und die Pruefsummen der Fassungen, die der Aufrufer sehen darf.
- StocktakeProgress
- Fortschritt: Zahl der Positionen und ob Positionen zum Nachzaehlen offen sind.
- StocktakeRecount
- Ein Nachzaehlen-Auftrag an einer Position.
- StocktakeReview
- Die Pruefung: wann und von wem angestossen, ob Soll und Differenz schon gerechnet sind.
- StocktakeScope
- Umfang einer Inventur, bei der Anlage eingefroren.
- StocktakeSeal
-
Siegelstand des Lagerprotokolls beim Abschluss: Wiener Tage
YYYY-MM-DD.verified: nullheisst „nicht fertig geprueft“, nie Bruch. - StocktakeTotals
-
Summen des Abschlusses (Anzahlen von Positionen; Werte nur mit dem Recht
costs). - StocktakeWarning
- Ein Hinweis zur Inventur, mit der Zahl der betroffenen Positionen. Er ist kein Fehler: der Vorgang hat gewirkt.
- StockValue
-
Lagerwert eines Artikels. Derselbe Typ an der Kasse (
pos.dart) und in der Lager-API (inventory.dart); er kommt nur, wenn Werte freigegeben sind: an der Kasse mit dem RechtstockCostsdes Kassenbenutzers, in der Lager-API mit dem Konto-Schalter „Einkaufswerte per API“ (Rechtcosts). - TileBooking
- Ergebnis eines Kachelgriffs: der neue Korb und die betroffene Zeile.
- TileCategory
- TipClaim
-
Offener Trinkgeld-Anspruch eines Mitarbeiters (auszahlbar beim Abschluss
oder per
tip_payout). - TipPayout
- Trinkgeld-Auszahlung beim Abschluss: hoechstens der offene Anspruch (DrawerState.tipClaims).
- VoucherArticle
-
Artikel eines Leistungsgutscheins, wie der Server ihn festhaelt (am Beleg
und in
checkVoucher). Zwilling vonVoucherArticleim npm-Paket. - VoucherCheck
-
Stand eines Gutscheins nach dem Code-Eingeben (
checkVoucher). Felder, die zur Art nicht passen oder die der Server nicht sendet, sindnull. - VoucherPerms
- Die drei Gutschein-Rechte, aufgeloest (kein Schluessel fehlt mehr).
- VoucherValidity
-
Gueltigkeit eines Gutscheins; Daten als
YYYY-MM-DD(Wiener Tag). Was der Server nicht nennt, istnull.
Enums
- CancellationState
-
Storno-Stand eines Belegs in der Liste (Drahtfeld
cancellationStatus, KatalogSTORNO_STAND):none,partial,full. Ein unbekannter kuenftiger Wert kommt als CancellationState.unknown an und nie alsnone: die Kasse bietet dann keinen Storno an (siehecanCancel), der Server haelt ohnehin die Restmengen. - CreditCardProvider
- DiscountKind
- ErrorKind
-
Wie ein Fehler fuer die Einordnung heisst (
kindim Vertrag): - ErrorOutcome
-
Ausgang eines gescheiterten Aufrufs. rejected: nichts geschehen.
unknown: der Vorgang kann ausgefuehrt sein (ein Beleg signiert, ein
Storno gebucht, Ware gebucht, eine Rechnung ausgestellt); nie blind
wiederholen. Belege, Stornos und Zahlungen nachlesen; ein Aufruf mit
idempotencyKeynur mit demselben Schluessel erneut senden (wirkt genau einmal, ein neuer buchte doppelt); ohne Schluessel erst nachlesen. - ErrorRuleBehavior
-
Was eine Regel ohne eigenen Satz tut (
behaviorim Vertrag). - KeckPaymentMethod
- PaymentFilter
- PosCardProvider
- Karte gibt es erst mit eingerichtetem Anbieter.
- PosCategoryPosition
- PosCheckoutMode
- PosCodePage
- PosCut
- PosDiscount
- PosDrawerAutoOpen
- PosFontSize
- PosLayout
- PosLogoScale
-
Größe des Bild-Logos am Beleg (
logoScale). - PosLogoSize
-
Größe des Kürzel-Logos in der Kopfzeile der Kasse (
logoSize). - PosPaperSize
- PosPrinterType
-
sdp= Netzwerk über Epson Server Direct Print (der Drucker holt die Jobs vom Backend),network= direkt per IP (ePOS),bluetooth,usb= Kabel,connect= Kasseneck Connect (lokaler Agent auf dem Kassen-Rechner). - PosQrMode
- Mit welchem Befehl der Signatur-QR auf den Bon kommt.
- PosQuantity
- PosReceiptOutput
- PosSettingsFontSize
- PosSurface
-
Die Seite, auf der ein Satz gilt (
onlyim Vertrag). - PosTerminalType
- Art des Kartenterminals an dieser Kasse: keines oder Hobex HPS.
- PosTerminalVia
- Terminal-Ansprache: direkt per IP oder über Kasseneck Connect.
- PosTheme
- PosTileHeight
- PosTileStyle
- PosTipMode
- PosWatermark
- PosWatermarkScale
-
Größe des Wasserzeichens (
watermarkScale), getrennt vom Beleg-Logo. - PosWatermarkSide
-
Seite des Wasserzeichens; alt, abgelöst von
watermarkX, bleibt fürs Mischen alter Stände. - QuantityRule
- Mengenregel eines Artikels.
- ReceiptPeriod
- ReceiptTypeFilter
- RegisterScope
- Reichweite eines Rechts.
- ReturnDisposition
-
Rueckgabe-Wahl als Typ; der Name ist der Wert am Draht
(
ReturnDisposition.defective.name='defective'). - StockLocationType
- Typ eines Standorts; der Name ist der Wert am Draht.
- VatRate
- VoucherAction
-
Gutschein-Aktion. Zwilling von
VoucherActionim npm-Paket; der Name ist zugleich der Drahtwert. - VoucherStatus
- Stand eines Gutscheins nach dem Code-Eingeben.
- VoucherType
-
Gutscheinart. Zwilling von
VoucherTypeim npm-Paket; am Draht steht wire (multi_purpose…), in Dart heisst der Wert in Dart-Schreibweise.
Constants
-
afterCountTypes
→ const List<
String> -
Was nach dem Zaehlen beim Schicht-Abschluss mit dem Geld geschieht (Katalog
NACH_ZAEHLUNG_ART):cash_drop= entnehmen (gebucht als Abschoepfung),change_in= einlegen (gebucht als Wechselgeld). Beides Geldtransit, kein Umsatz. -
callsWithEffect
→ const List<
String> - Kassen-Aufrufe mit Wirkung: nach Frist oder Netzfehler nie „erneut versuchen“; siehe messageOutcome.
-
cancellationPaymentErrorMessages
→ const Map<
String, String> - Storno mit mehreren Zahlungen: Code des Backends -> Schluessel des Satzes.
-
cancellationReasons
→ const Map<
String, String> -
Die Gründe, die das Backend annimmt – Codes wie unter
/v3(KatalogSTORNO_GRUND), Beschriftung für den Bildschirm und den Bon (bleibt deutsch, sie steht so am Beleg). Reihenfolge wie im Katalog des Backends. - cancellationReservationMs → const int
- Ab wann eine liegengebliebene Reservierung nicht mehr zählt (wie im Backend). Ohne diese Grenze bliebe eine Position für immer gesperrt, weil ein Abbruch irgendwann einmal eine Reservierung stehen ließ.
-
cancellationStatuses
→ const List<
String> -
Stornostand eines Belegs in der Belegliste (Katalog
STORNO_STAND). -
cardBlockHeadings
→ const Map<
CreditCardProvider, String> - Die Überschrift des Kartenzahlungsblocks je Anbieter.
-
cashLocations
→ const List<
String> -
Woher Wechselgeld kommt bzw. wohin abgeschoepft wird (Katalog
KASSEN_ORT). - defaultVatRate → const VatRate
- Der uebliche Fall am Tresen.
-
errorCodeRules
→ const List<
ErrorRule> - Regeln je Code, vor der Regel der Art; siehe findErrorRule.
-
errorOutcomeRules
→ const List<
ErrorRule> - Regeln je Ausgang, nach den Code-Regeln; siehe findErrorRule und messageOutcome.
-
errorRules
→ const List<
ErrorRule> - Genau eine Regel je Art, der Stand von 1.0.0-rc.4; siehe findErrorRule.
-
eurDenominations
→ const List<
int> -
Scheine und Muenzen in Euro-Cent, vom groessten Schein abwaerts (Backend
EUR_STUECKELUNG). -
fontScales
→ const Map<
PosFontSize, double> - Schriftfaktoren. Auch XL bleibt bedienbar — ein Faktor, der die Kasse sprengt, hilft niemandem, der schlecht sieht.
-
legacyBusinessKeys
→ const Map<
String, String> -
Schlüssel der inneren Form (0.x, Zwischenspeicher bis Dart 9.x) -> Draht,
Betriebsteil. Ein Test hält die Tabelle deckungsgleich mit
renames-1.0.json(structure.pos-settings-defaults.json.business). -
legacyDeviceKeys
→ const Map<
String, String> - Wie legacyBusinessKeys für den Geräteteil.
-
legacyShortcutActions
→ const Map<
String, String> - Tasten-Aktionen der inneren Form -> Draht.
-
legacyValues
→ const Map<
String, Map< String, String> > -
Werte der inneren Form -> Draht, je Drahtfeld; gleichlautende Werte
(
gptom,S) stehen nicht darin. Ein Test hält die Tabelle deckungsgleich mitrenames-1.0.json(values.pos-settings-defaults.json). -
manualMovementTypes
→ const List<
String> -
Was die Kasse von Hand buchen darf. Pflichtangaben je Art (sonst lehnt der
Server ab):
notebeiother_in/other_out,recipientIdbeitip_payout,targetDrawerIdbeitransfer_out.locationbeichange_in/cash_dropist freiwillig. -
manualOpeningReasons
→ const List<
String> -
Die Gruende des Knopfs „Lade“;
otherbraucht einen Text (note). - maxAmountCents → const int
- Obergrenze je Position: 100.000,00 €.
- maxPayments → const int
- Hoechstzahl der Zahlungen je Beleg (Backend: MAX_ZAHLUNGEN).
-
movementTypes
→ const List<
String> -
Alle Arten einer Kassenbewegung (Katalog
KASSEN_BEWEGUNG_ART). Die ersten acht sendet die Kasse (manualMovementTypes);transfer_in(Gegenseite einer Umbuchung),expense,count_differenceundhandover_differencevergibt nur der Server. -
openingReasons
→ const List<
String> -
Warum die Lade aufging (Katalog
LADE_OEFFNUNG_GRUND).sale,cash_movement,shift_openundshift_closemeldet die Kasse selbst beim jeweiligen Vorgang; von Hand waehlt der Kassier aus manualOpeningReasons. -
posAutoLogoutMinutes
→ const List<
int> - Automatisches Abmelden nach Minuten Ruhe; 0 = nie.
-
posBusinessOptionalFields
→ const List<
String> -
Optionale Betriebs-Schalter: ohne Standardwert, der Server sendet sie nur,
wenn sie gespeichert sind (Zwilling von
POS_BUSINESS_OPTIONAL_FIELDS). Gelesen nur als Wahrheitswert; fehlt einer, gilt aus. -
posDeviceOptionalFields
→ const List<
String> -
Optionale Geraete-Einstellungen: ohne Standardwert, der Server sendet sie
nur, wenn sie gesetzt sind (Zwilling von
POS_DEVICE_OPTIONAL_FIELDS). Sie fehlen darum in den Standardwerten; gelesen werden sie nur als gueltige Kennung, der Schreibweg nimmt Kennung odernull(Zuordnung entfernen). -
posDoneScreenSeconds
→ const List<
int> - Wie lange die Fertig-Seite stehen bleibt, in Sekunden; 0 = bis zum Tippen.
-
posErrorCodes
→ const List<
String> -
Gleich
pos.posErrorCodesim Vertrag (surface.json): Fehlerfälle der Endpunkte (seit 10.7 auch die fuenf der Inventur, seit 11.1 die sechs der Schicht) und ihre Handler-Codes, dazu Anmelde- und Randcodes (ohne den Partner-Zugang) und der Paketcoderoute_missing.validationträgtdetails.errors[]mit dem äußeren Feldpfad (posFieldErrors). -
posLabels
→ const Map<
String, PosText> - Beschriftungen: Knoepfe, Ueberschriften, Zeilennamen, was kein Satz ist.
-
posMessages
→ const Map<
String, PosText> -
Was die Kasse selbst sagt: ein Satz je Schluessel (
bereich.name), gleich wie im Web. -
posShortcutActions
→ const List<
String> -
Aktionen der Kasse, die eine Taste bekommen können (Schlüssel von
device.shortcuts), Zwilling vonPOS_SHORTCUT_ACTIONS. -
posShortcutDefaults
→ const Map<
String, List< String> > -
Tastenbelegung: Aktion -> Tasten (
Mod+F,Enter,Escape,F5...;Mod= Cmd auf dem Mac, Strg sonst). Zwilling vonPOS_SHORTCUT_DEFAULTS. -
Aktionen, die sich eine Taste teilen dürfen (Backend
TASTEN_PAARE), Zwilling vonPOS_SHORTCUT_SHARED_PAIRS. Jede andere Doppelbelegung weist der Server ab, und dieses Paket schon vor dem Senden. - posTextsVersion → const String
- Version des Vertrags, aus dem dieser Katalog erzeugt ist.
-
posVatRateOrder
→ const List<
double> - Steuersätze in der Reihenfolge, in der die Kasse sie zeigt.
-
posWatermarkStrengths
→ const List<
int> - Deckkraft des Wasserzeichens in Prozent, bewusst Stufen.
-
printJobSources
→ const List<
String> -
Bekannte Werte für
source(KatalogDRUCK_QUELLE): die Kasse oder das Panel. Der Server nimmt Freitext bis 40 Zeichen an und übersetzt nur diese beiden. -
printJobStatuses
→ const List<
String> -
Stände eines Druckjobs (Katalog
DRUCKJOB). - printJobStatusUnknown → const String
- Stand, wenn der Server einen nennt, den dieses Paket nicht kennt (oder keinen). Er beendet die Abfrage, gilt aber nie als gedruckt.
-
quantityRules
→ const List<
String> -
Die Werte von
quantityRule(KatalogMENGENREGEL). -
receiptEmailErrorMessages
→ const Map<
String, String> - Beleg per E-Mail: Code des Backends -> Schluessel des Satzes.
-
receiptEmailSendErrorCodes
→ const List<
String> -
Die fachlichen Codes von
sendReceiptEmail(ohne Anmeldung und Rand). -
receiptEmailVias
→ const List<
String> -
Versandwege einer Belegmail (Katalog
MAILWEG): Postfach des Betriebs, Plattform, Plattform nach gescheitertem eigenen Postfach. - receiptNumberMaxDigits → const int
- Höchstzahl der Stellen, die eine Belegnummer hat.
-
returnDispositionLabels
→ const Map<
String, String> -
Rueckgabe beim Storno: Wahl (
restock,defective,disposed) -> Schluessel der Beschriftung. -
returnDispositions
→ const List<
String> - Die Werte der Rueckgabe-Wahl, englisch wie am Draht, in der Reihenfolge des Vertrags.
-
shiftReceiptKinds
→ const List<
String> -
Arten der Bon-Daten (Katalog
SCHICHT_BON_ART): Z-Bon, X-Bon, Kassenbewegung. -
stockLocationTypes
→ const List<
String> -
Standort-Typen (Katalog
STANDORT_TYP), englisch wie am Draht. -
stocktakeStatuses
→ const List<
String> -
Stand einer Inventur (Katalog
INVENTUR_STATUS). Gezaehlt wird incounting;reviewrechnet Soll und Differenz (erst ab hier sichtbar, blind);closingbucht den Abschluss in Teilen;closedundcancelledsind endgueltig.creatingsteht nur, solange eine grosse Anlage ihre Positionen schreibt. -
tileHeights
→ const Map<
PosTileHeight, double> - Kachelhöhen in dp. Auch die flachste bleibt ein Fingerziel: unter 48 dp trifft ein Finger nicht mehr verlässlich.
-
tipRefundSources
→ const List<
String> -
Woher das Trinkgeld beim Storno zurueckkommt:
drawer– die Lade zahlt es aus;employee– die Mitarbeiterin gibt es selbst. Nur bei Barrueckgabe. - ungroupedColor → const String
- ungroupedId → const String
-
vatRateChoices
→ const List<
VatRate> - Die Steuersaetze zur Wahl — haeufige zuerst.
-
voucherErrorMessages
→ const Map<
String, String> -
Gutschein-Fehler (
/v3): Code des Backends -> Schluessel des Satzes; siehe voucherErrorMessage. -
voucherValidityPatterns
→ const List<
String> -
Die Gueltigkeitsmuster (
unlimited,1+3= ein Jahr einloesbar, drei rueckzahlbar,custom).
Properties
-
cancellationErrorCodes
→ List<
String> -
Codes von
cancelReceipt(Formfehler anpaymentsstehen inpaymentErrorCodes).final -
paymentErrorCodes
→ List<
String> -
Codes rund um
paymentsancreateReceiptundcancelReceipt.final -
posBusinessValues
→ Map<
String, List< Object> > -
Die Wertemenge je Betriebsfeld, soweit das Feld eine hat (Zwilling von
POS_BUSINESS_VALUES); dagegen prüft der Schreibweg vor dem Senden.final -
posDeviceValues
→ Map<
String, List< Object> > -
Wie posBusinessValues für die Geräte-Einstellungen (
POS_DEVICE_VALUES).final -
receiptEmailErrorCodes
→ List<
String> -
Codes von
sendReceiptEmail.final -
receiptErrorCodes
→ List<
String> -
Codes von
createReceiptundgetReceipt(ohne die Zahlungscodes, die stehen inpaymentErrorCodes).receipt_outcome_unknownheisst: der Beleg ist moeglicherweise signiert, nachlesen statt wiederholen.final -
voucherKinds
→ List<
String> -
Die Arten, die
checkVoucherliefert (Drahtwerte, wievoucherKindsim Vertragsurface.json).final -
voucherStatuses
→ List<
String> -
Die Staende, die
checkVoucherliefert (Drahtwerte, wievoucherStatusesim Vertrag).final
Functions
-
allowedQuantity(
PosArticle a, num wanted) → num - Deckelt eine gewünschte Menge an der Höchstmenge des Artikels.
-
amountDue(
Cart cart, int discount) → int - Zu zahlen nach Rabatt — nie unter null.
-
asksRefundTip(
KasseneckReceipt receipt, {int? nowMs}) → bool -
Fragt das Storno „Trinkgeld auch zurueckgeben?" – nur bei offenem
Mitarbeiter-Trinkgeld und ohne Wertgutschein am Beleg (Ruling R59). Einen
Wertgutschein spiegelt nur ein Storno, der alles nimmt; dort geht das
Trinkgeld immer mit (der Server weist
refundTip: falsemittip_keep_not_possible_with_voucherab), die Kasse zeigtcancellation.tip_refunded_with_voucherund sendetrefundTip: true. Die Frage nach der Quelle bleibt (asksTipRefundSource). Zwilling vonasksRefundTipim npm-Paket. -
asksTipRefundSource(
KasseneckReceipt receipt, int cashRefundCents, {int? nowMs}) → bool -
Fragt das Storno nach „Ja" auch „Woher kommt das Trinkgeld zurueck?" – nur,
wenn das Bargeld des Stornos (
cashRefundCents, siehe cancellationCashRefundCents) das offene Mitarbeiter-Trinkgeld deckt und die Mitarbeiterin wenigstens eines davon schon hatte. Bei Kartenrueckgabe geht es auf die Karte zurueck; ueber Lohn behaltenes Trinkgeld kommt immer aus der Lade. Ohne diese Frage gilt beim Server fuerrefundTip: true: aus der Lade, kein „gibt die Mitarbeiterin direkt". -
assertCardRefunds(
List< KeckPaymentInput> payments, KasseneckReceipt? original) → void -
Karten-Rueckbuchung am Storno, geprueft bevor etwas hinausgeht
(Zwilling von
assertCardRefundsim npm-Paket): -
bookTile(
Cart cart, CartItemDraft draft, {required bool bundle}) → TileBooking - Kachel in den Korb.
-
canCancel(
ReceiptSummary receipt, RegisterScope scope, String ownUid) → bool - Darf dieser Beleg storniert werden?
-
cancellationCashRefundCents(
KasseneckReceipt receipt, List< KeckPaymentInput> ? payments, int dueCents) → int -
Was dieses Storno bar zurueckgibt (positiv, Cent): mit Rueckzahlungen deren
Barteil; ohne (der Server spiegelt die eine Zahlung des Originals) alles,
wenn das Original bar bezahlt war. Bei mehr als einer Zahlung ohne Angabe 0:
welcher Teil bar zurueckgeht, ist dann offen (ein Teilstorno verlangt
ohnehin
payments). Beide Kassen schicken bei mehr als einer Zahlung darum immer die Rueckzahlungen mit und rechnen hier mit ihnen. -
cancellationItemsForTip(
KasseneckReceipt receipt, List< CancellationItem> ? items, {required bool refundTip, int? nowMs}) → List<CancellationItem> ? -
Die Positionen, die nach der Antwort auf „Trinkgeld auch zurueckgeben?"
hinausgehen – dieselbe Regel wie im Backend.
itemsnull= ganzer Beleg. Ja: zum Teilstorno kommt das offene Trinkgeld dazu, der ganze Beleg bleibtnull. Nein: ohne das Mitarbeiter-Trinkgeld; der ganze Beleg wird zur Liste aller Restmengen ausser dem Trinkgeld (leer = nichts mehr zu stornieren). Ist kein Mitarbeiter-Trinkgeld mehr offen (keines oder schon storniert), bleibt der Wunsch, wie er ist – „Nein" wirkt dann wie keine Wahl (R61). -
cancellationPaymentErrorMessage(
String? code) → String -
Der Satz zu einem
codedes Backends beim Storno mit mehreren Zahlungen. Einen unbekannten Code faengt der allgemeine Storno-Satz auf. -
cardRefundReference(
KasseneckReceipt receipt, String paymentId) → String -
Kennung der Originalzahlung fuer die Rueckbuchung am Terminal (Hobex
originalTransactionId, SumUp-Transaktion …):providerPaymentIdder ZahlungpaymentIddes Originals. Die liefert nur der Kassenweg (kasse.kasseneck.at/api/v3, Kanalapp); am oeffentlichen Weg fehlt sie, und dann wirft dieser Aufruf, stattnullan ein Terminal weiterzugeben. Zwilling voncardRefundReferenceim npm-Paket. -
cashMovementLayout(
CashMovementReceipt receipt, {PosPaperSize paperSize = PosPaperSize.mm58}) → ReceiptLayout -
Bon einer Kassenbewegung (Einzahlung, Auszahlung, Umbuchung). Wirft
(KasseneckValidationError,
kind: request), wenn die Bon-Daten keine Kassenbewegung sind. -
cashPayment(
CheckoutTotals invoice, {int? amountCents}) → KeckPaymentInput -
Die Barzahlung aus der Kassierrechnung als Eintrag fuer
payments-- mittenderedCents, damit das Backend Gegeben und Rueckgeld am Beleg fuehrt und der Bon sie zeigt. -
checkoutTotals(
Cart cart, PosBusinessSettings business, CheckoutState state) → CheckoutTotals -
Die ganze Rechnung des Kassierens — Zwilling von
kassierenRechnungder Browser-Kasse. -
checkVoucher(
RegisterTransport transport, String code) → Future< VoucherCheck> -
Gutschein am Code pruefen (Gutschein-Recht
voucherRedeem). Der Code wird tolerant eingelesen (Gross/klein, Bindestriche, Leerzeichen,O/0,I/L/1) und vor dem Senden auf sein Pruefzeichen geprueft: ein Tippfehler geht nie ueber das Netz, sondern endet mit KasseneckValidationError. Fachliche Fehler kommen als KasseneckApiError mit dem Code des Servers (voucher_not_found,too_many_voucher_checks,not_permitted…). Gesendet wird die Normalform; kein Text dieses Aufrufs nennt den Code. -
colorFromHsv(
double hue, double saturation, double value) → PosColor - Aus Farbton, Sättigung und Helligkeit (HSV) eine Farbe.
-
completionCheck(
{required KeckPaymentMethod paymentMethod, required int dueCents, required int? tenderedCents, required bool changeEnabled, required bool cartEmpty}) → CompletionCheck - Darf abgeschlossen werden? Bar mit Rückgeld-Rechnung braucht genug Gegebenes.
-
computeChange(
int dueCents, int tenderedCents) → int -
contrastRatio(
PosColor a, PosColor b) → double - Kontrastverhältnis nach WCAG: 1 (gleich) bis 21 (Schwarz auf Weiß).
-
discountCentsFor(
DiscountKind kind, num value, int total) → int? - Rabatt in Cent aus der Eingabe; außerhalb von 0 … Summe gibt es keinen.
-
distributeDiscount(
List< KasseneckItem> items, int discountCents, {String name = 'Rabatt'}) → List<KasseneckItem> - Rabatt als negative Position(en) — eine je Steuersatz, anteilig zum Bruttoumsatz dieses Satzes.
-
draftFromArticle(
PosArticle a) → CartItemDraft? -
Was aus einer Kachel im Korb wird;
null, wenn die Kachel nicht buchbar ist. -
durationText(
num minutes) → String -
Dauer für Menschen aus ganzen Minuten: unter 1 Std. „45 Min.“, unter 1 Tag
„8 Std. 32 Min.“ (bei 0 Minuten nur „8 Std.“), ab 1 Tag „1 Tag 3 Std.“ bzw.
„2 Tage“ (bei 0 Stunden ohne Stunden). Negatives und Unsinn zählt als 0;
Bruchteile werden abgeschnitten. Gemeinsame Fälle mit dem JS-Zwilling:
shift-cases.json(durationText). -
filterReceipts(
List< ReceiptSummary> receipts, ReceiptFilter f) → List<ReceiptSummary> -
findErrorRule(
ErrorKind kind, {String? code, ErrorOutcome? outcome}) → ErrorRule -
Die Regel fuer einen Fehler, in derselben Reihenfolge wie im Web: zuerst
eine Regel aus errorCodeRules mit passender Art und passendem
code, dann eine aus errorOutcomeRules mit passender Art und passendemoutcome, sonst die eine Regel der Art aus errorRules. -
formatEuro(
int cents) → String - Betrag fuer den Schirm: „2,50 €".
-
formatVatRate(
VatRate rate) → String - Beschriftung eines Steuersatzes, wie sie am Tresen gelesen wird.
-
fullReceiptIdFromNumber(
String cashregisterId, String number) → String? -
Aus der getippten Nummer die volle Kennung;
null, wenn keine Ziffer dabei ist. Der Kassier tippt nur die Nummer — das Kassenkürzel steht ohnehin fest. -
groupByDay(
List< ReceiptSummary> receipts) → List<ReceiptDayGroup> - Nach Wiener Kalendertag gruppiert, neueste zuerst.
-
isCancellationErrorCode(
Object? value) → bool -
Stabile Fehlercodes von
cancelReceiptunter/v3– Zwilling vonCANCELLATION_ERROR_CODESin@kreiseck/kasseneck-api1.0, in derselben Reihenfolge (siehereceipt/codes.dart). Das Backend legt sie alscodeneben die Meldung; sie kommen alsKasseneckApiError.codean. Entscheide am Code, nie am Text. Formfehler anpaymentsselbst melden die Codes auspaymentErrorCodes.cancellation_outcome_unknownheisst: der Storno ist moeglicherweise gebucht; nie wiederholen, sondern das Original nachlesen. Istvalueein Code aus cancellationErrorCodes? Ein Anzeigetext ist keiner, ein alter deutscher oder grosser Code aus/v1auch nicht. -
isLegacyValue0x(
String field, Object? value) → bool -
Ist
valueein Wert der inneren Form 0.x für dieses Drahtfeld? -
isOutcomeUnknown(
Object? error) → bool -
Ist der Ausgang dieses Fehlers unklar? Dann den Aufruf nicht blind
wiederholen: Belege, Stornos und Zahlungen nachlesen; einen Aufruf mit
idempotencyKeynur mit demselben Schluessel erneut senden; ohne Schluessel erst nachlesen (siehe ErrorOutcome). Gilt fuer jede Fehlerart; nur KasseneckApiError und KasseneckHttpError koennen unklar sein. -
isPaymentErrorCode(
Object? value) → bool -
Die Codes, gleiche Reihenfolge wie
PAYMENT_ERROR_CODES. Istvalueein Code aus paymentErrorCodes? Exakt, wie unter/v3(klein); ein grosser Code aus/v1ist keiner. Ein Anzeigetext auch nicht. -
isPosError(
Object? error, [String? code]) → bool -
Kurzform für
catch (e) { if (isPosError(e, 'logo_too_large')) … }. -
isPosErrorCode(
Object? value) → bool -
isPosOptionalId(
Object? value) → bool -
Ist
valueeine gueltige optionale Kennung (BackendladeKennung)? -
isPrintJobFinished(
String status) → bool -
Endet die Abfrage bei diesem Stand?
printed,failed,expired,unknown. -
isReceiptEmailErrorCode(
Object? value) → bool -
Stabile Fehlercodes von
sendReceiptEmailunter/v3– Zwilling vonRECEIPT_EMAIL_ERROR_CODES(siehereceipt/codes.dart). Sie kommen alsKasseneckApiError.codean – entscheide am Code, nie am Text, der deutsche Satz darf sich jederzeit aendern. -
isReceiptErrorCode(
Object? value) → bool -
Ist
valueein Code aus receiptErrorCodes? -
isReceiptVisible(
ReceiptSummary receipt, RegisterScope scope, String ownUid) → bool - Sieht dieser Kassier den Beleg überhaupt?
-
isReturnDisposition(
Object? value) → bool -
Ist
valueeine Rueckgabe-Wahl aus returnDispositions? Der innere deutsche Wert (lager,defekt,entsorgt) ist keine. -
isTipRefundSource(
Object? value) → bool -
Ist
valueein Wert aus tipRefundSources? -
isUsableBrandColor(
PosColor color) → bool - Taugt diese Farbe als Betriebsfarbe?
-
labelText(
String key, [Map< String, Object> values = const {}]) → String - Die Beschriftung zum Schluessel, Platzhalter ersetzt; wirft wie messageText.
-
messageAppliesTo(
String key, PosSurface surface) → bool - Gilt der Satz auf dieser Seite?
-
messageOutcome(
Object? error) → ErrorOutcome? - Der Ausgang, nach dem der Satz gewaehlt wird:
-
messageText(
String key, [Map< String, Object> values = const {}]) → String -
Der Satz zum Schluessel, Platzhalter ersetzt. Fehlt ein Wert oder ist der
Schluessel unbekannt, wirft es: ein
{status}am Tresen waere schlimmer. -
migrateStoredReceiptJson(
Map< String, dynamic> stored) → Map<String, dynamic> -
Bringt einen Beleg in der gespeicherten Form von 9.x (
toJsonmit 0.x- Namen:uid,taxnr,logo_skala,testCashregister,testSignatur,kopfId, Layout mitregelwerk/ton; an Storno-Zeilen und incancellations[]rueckgabestattreturnDisposition, dazulagerStandortId, das wegfaellt) in die Form von/v3, die KasseneckReceipt.fromJson liest. Fuer lokale Ablagen, die das Update ueberleben muessen: gelesen wird migriert, verworfen wird nichts. Schon englische Schluessel bleiben, wie sie sind; ein englischer Schluessel gewinnt immer gegen seinen deutschen Vorgaenger.storedbleibt unberuehrt. -
modeFor(
PosTheme style) → KdMode - Welcher Modus des Design-Systems hinter einem Stil steht.
-
netCentsFromGross(
int grossCents, num rate) → int - Netto aus Brutto, in ganzen Cent.
-
newIdempotencyKey(
) → String -
Ein frischer Idempotenzschluessel fuer einen neuen Vorgang:
kasse-und 32 Hex-Zeichen aus dem sicheren Zufall, dieselbe Form wie beim Zaehlen der Inventur. Fuer „Erneut senden“ nie einen neuen ziehen, sondern den alten behalten. -
offeredPaymentMethods(
PosBusinessSettings business) → List< KeckPaymentMethod> - Welche Zahlungsarten der Betrieb anbietet — nie keine (dann Bar).
-
openStaffTipCents(
KasseneckReceipt receipt, {int? nowMs}) → int - Noch nicht storniertes Mitarbeiter-Trinkgeld in Cent. Groesser 0 heisst: das Storno fragt „Trinkgeld auch zurueckgeben?" (auch beim Teilstorno). Inhaber-Trinkgeld ist Umsatz und folgt der Ware.
-
operatorNames(
List< ReceiptSummary> receipts) → List<String> - Bediener-Namen in der Liste, für den Filter — sortiert, ohne Doppelte.
-
parseAmountCents(
String text) → int? -
Betrag aus dem Eingabefeld in ganzen Cent — oder
null. -
parseCentsAllowZero(
String text) → int? -
Ein eingetippter Betrag in Cent, ohne Gleitkomma:
'12,5'->1250,'0'->0(anders als beim Kassieren ist 0 hier gueltig: eine leere Lade, kein Startgeld). Dezimaltrenner Komma oder Punkt mit einer oder zwei Nachkommastellen;nullfuer leer, Vorzeichen, Tausendertrenner ('1.000','1 000'), drei Nachkommastellen, Euro-Zeichen und alles ueber einer sicheren Ganzzahl. Leerraum aussen faellt weg wie beiString.prototype.trimin JS. Gemeinsame Faelle mit dem JS-Zwilling:shift-cases.jsondes Vertrags. -
parseQuantityMilli(
String text, String? unit, {QuantityRule? rule}) → int? -
Eine eingetippte Menge in Tausendstel der Basiseinheit, ohne
Gleitkomma:
'12'→12000,'0,25'→250,'1.5'→1500. Zwilling vonparseQuantityMilliim JS-Paket; gemeinsame Prueffaelle instocktake-quantity-cases.jsondes Vertrags. -
paymentsError(
List< KeckPaymentInput> payments, {required bool cancellation, bool payout = false}) → String? -
Was an der Zahlungsliste nicht stimmt --
null, wenn die Form passt. -
paymentsExpectedCents(
Object? error) → int? -
Der Zahlbetrag des Servers aus einem
payments_sum_mismatch(details.expectedCents), sonstnull. Das Paket wiederholt nie selbst mit diesem Betrag: eine Kartenzahlung ist schon belastet. Die Kasse entscheidet (Differenz nachkassieren oder erstatten) und schickt dann einen neuen Verkauf. Zwilling vonpaymentsExpectedCentsim npm-Paket. -
periodRange(
ReceiptPeriod period, [DateTime? now]) → ({String from, String to}) -
from/to(Wiener Wanduhr,YYYY-MM-DD) für den Zeitraum. -
posErrorCode(
Object? error) → String? -
Der Code eines geworfenen Fehlers, wenn er in posErrorCodes steht; sonst
null. -
posFieldErrors(
Object? error) → List< FieldError> -
Die Feldfehler einer
validation-Antwort (business.vatRates,device.shortcuts.cash); leer, wenn es keine sind. -
posSettingsChanges(
Map< String, dynamic> before, Map<String, dynamic> after) → Map<String, dynamic> -
Was sich zwischen zwei Ständen eines Teils (
toJsonvon Betrieb oder Gerät) geändert hat, als Nutzlast fürsaveBusinessbzw.saveDevice: nur geänderte Felder (der Server mischt; ein nicht geänderter, hier unbekannter Wert geht so nie verloren).vatRatesgeht bei einer Änderung als ganze Karte (Nachtrag §11.7.2),shortcutsebenfalls ganz, aber nur mit den Aktionen, die dieses Paket kennt: so sieht die Doppelbelegungsprüfung die ganze Belegung, und eine unbekannte Aktion bleibt am Server stehen.tipStepsgeht nur mit den geänderten Einträgen. Zwilling vonposSettingsChanges. -
posShortcutConflict(
Map< String, Object?> shortcuts) → ({String action, String heldBy, String key})? -
Die erste Doppelbelegung einer Tastenkarte oder
null. Geprüft wird die ganze Karte, so wie der Server sie nach dem Speichern hält. Zwilling vonposShortcutConflict. -
posTipKeptByDefault(
PosBusinessSettings? business) → bool -
Bar-Trinkgeld „gleich behalten“ vorbelegt? Fehlt die Einstellung, gilt aus
(Zwilling von
posTipKeptByDefault). -
quantityDefaults(
PosArticle a) → QuantityDefaults - Wirksame Regel eines Artikels: die gespeicherte Angabe schlägt die Vorgabe der Einheit.
-
quantityRuleForUnit(
String? unit) → QuantityDefaults - Vorgabe je Einheit — was der Betrieb bei einem neuen Artikel bekommt und ändern darf.
-
quickAmounts(
int dueCents) → List< int> - Schnellwahl für „Gegeben": passend, der nächste runde Euro, dann Scheine.
-
rasterRowsBase64(
PrintLogo logo) → String -
Die Rasterzeilen eines Logos als Base64 (1 Bit je Punkt, links das höchste
Bit, Zeilen auf ganze Bytes aufgefüllt), Zwilling von
rasterRowsBase64. -
readableOn(
PosColor background, {PosColor light = const PosColor(0xFF, 0xFF, 0xFF), PosColor dark = const PosColor(0x0F, 0x17, 0x2A)}) → PosColor -
Die besser lesbare von zwei Farben auf
background. -
receiptEmailErrorMessage(
String? code) → String -
Der Satz zu einem
codedes Backends beim Senden eines Belegs per E-Mail. Einen unbekannten Code faengt der allgemeine Satz auf. -
receiptIsTest(
{required bool testCashregister, String? qr}) → bool - Beides zusammen — so entscheidet die Anzeige.
-
receiptItems(
Cart cart, int discount) → List< KasseneckItem> - Positionen für den Beleg: Korb plus Rabattzeilen (eine je Steuersatz).
-
receiptNumber(
String receiptId) → String - Die Nummer aus einer vollen Beleg-Kennung — für die Anzeige „ID 809". Passt sie nicht auf das Muster, steht die Kennung selbst da; eine erfundene Nummer wäre schlimmer als eine lange.
-
receiptTime(
String timestamp) → String -
Uhrzeit eines Belegs in Wiener Wanduhrzeit (
HH:MM). -
receiptTypeLabel(
ReceiptSummary receipt) → String - Lesbarer Name der Belegart — nie ein Rohwert.
-
remainingQuantities(
KasseneckReceipt receipt, {int? nowMs}) → List< int> - Restmenge je Position: Belegmenge minus alles, was storniert oder frisch reserviert ist; nie unter null.
-
reprintVoucherLabel(
RegisterTransport transport, String id) → Future< String> -
Etikett eines Gutscheins noch einmal drucken (Gutschein-Recht
voucherManage). Liefert den Klartext-Code zum Drucken; er gehoert nur in den Speicher bis zum Druck. Aufrufer duerfen ihn nicht protokollieren, speichern oder in Meldungen nennen; Lesefehler dieser Antwort nennen ihn nie. -
searchTiles(
List< TileCategory> categories, String text) → List<PosArticle> - Suche über alle sichtbaren Kacheln (Name, ohne Groß/Klein, Teilwort).
-
shiftReceiptLayout(
ShiftSummaryReceipt receipt, {PosPaperSize paperSize = PosPaperSize.mm58}) → ReceiptLayout -
Z-Bon bzw. X-Bon der Schicht. Titel nach
kind: „Schichtabschluss“ oder „Zwischenbericht“. Wirft (KasseneckValidationError,kind: request), wenn die Bon-Daten keine Z- oder X-Bon-Daten sind.paperSizeist die Breite des Bauplans (Vorgabemm58); die Druckbreite waehlt der Druckweg. -
shiftTipLines(
ShiftTipTotals tip) → List< ShiftTipLine> -
Was vom Trinkgeld eines Mitarbeiters dasteht, auf dem Bon, im Kassenstand
und beim Abschluss gleich (Rulings R50/R51): „verdient“ (sofort + ueber
Lohn) immer, „über Lohn“, „schon genommen“, „selbst zurückgegeben“ (R62)
und „offen“ nur, wenn nicht 0. Davor „aus früheren Schichten“ (R64, nur
wenn nicht 0).
Ist alles 0, gibt es keine Zeile, und der Mitarbeiter entfaellt ganz. Ohne
openCents(Laufstand, ShiftTipTotals) zaehlt offen als 0. Gemeinsame Faelle mit dem JS-Zwilling:shift-cases.json. -
signatureIsTest(
String? qr) → bool -
Trägt der Beleg eine Test-Signatur? Erkannt am ZDA-Kennzeichen
AT100. -
stockViewOf(
RegisterUserPerms? perms) → bool -
Darf der Benutzer Standorte und Mengen sehen? Wie im Backend (lager-core):
ohne Schluessel gilt
stockViewals erteilt, nur ein ausdruecklichesfalsesperrt; alle anderen Lager-Rechte gelten ohne Schluessel als verweigert. Ohne Rechte (permsnull) nichts. -
storedLayoutJson(
Object? stored) → Map< String, dynamic> ? -
Ein gespeichertes Zeilenmodell (
layout) in der Form von/v3, wie ReceiptLayout.fromJson es liest. Zwilling vonfromStoredLayoutim npm-Paket: nimmt die Form von 0.x bzw. 9.x (regelwerk, Bannerzeilen mittonbelegart/warnung) und die Form 1.0 (ruleset,tonereceipt_type/warning); ein unbekannter Ton geht woertlich durch. Die Schluessel werden an ihrer Stelle umbenannt, die Reihenfolge bleibt; traegt ein Objekt beide Namen, gewinnt der englische. -
sumDenominations(
Object? denominations) → int? -
Summe einer Stueckelung in Cent, oder
null, wenn sie keine ist:denominationsist keine Abbildung, ein Schluessel ist kein Euro-Wert (eurDenominations, genau so geschrieben,"500", nicht"0500"), eine Anzahl ist keine ganze Zahl von 0 bis 100 000. Dieselbe Regel wie am Server (invalid_denominations). Schluessel duerfen Text oder Zahl sein. Gemeinsame Faelle mit dem JS-Zwilling:shift-cases.jsondes Vertrags. -
textColorOn(
String hex) → String - Kontrastfarbe für Text auf voller Kachelfläche. Eine kaputte Farbe bekommt hellen Text statt eines Absturzes.
-
tileCategories(
List< ArticleGroup> groups, List<PosArticle> articles) → List<TileCategory> -
unknownPosSettingValues(
PosSettings settings) → List< String> -
Die Felder, deren Wert dieses Paket nicht kennt, als Pfade
(
business.theme,device.shortcuts.<aktion>). Die Oberfläche zeigt sie als „vom Server, hier nicht einstellbar"; sie bleiben erhalten, solange nur geänderte Felder geschrieben werden (posSettingsChanges). Zwilling vonunknownPosSettingValues. -
untangleShortcuts(
Map< String, Object?> mixed, Map<String, Object?> stored) → Map<String, Object?> -
Zwilling von
untangleShortcuts(Backend, npmstored): Aktionen ausstoredbehalten ihre Tasten; jede andere Aktion verliert eine Taste, die eine gespeicherte Aktion beansprucht, außer die beiden dürfen sie teilen (posShortcutSharedPairs). -
vatCentsFromGross(
int grossCents, num rate) → int - Enthaltene MwSt aus Brutto, in ganzen Cent — die Differenz zum Netto.
-
vatRateFor(
num rate) → VatRate? -
Der RKSV-Steuersatz zu einer Prozentzahl — oder
nullbei Unbekanntem. -
vatTotalCents(
Cart cart, {int discountCents = 0}) → int - Enthaltene MwSt des Warenkorbs — wie sie auf dem Beleg stehen wird.
-
vatTotalCentsOfItems(
List< KasseneckItem> items) → int - Enthaltene MwSt einer Belegpositionsliste — je Steuersatz gruppiert, dann einmal zerlegt. Fuer Aufrufer, die die Positionen schon haben (Storno, Nachdruck), und die gemeinsame Rechnung hinter vatTotalCents.
-
viennaDate(
DateTime instant) → String -
Der Wiener Kalendertag eines Zeitpunkts als
YYYY-MM-DD. -
voucherErrorMessage(
String? code) → String? -
Der Satz zu einem Gutschein-
codedes Backends (/v3);nullfuer jeden anderen Code, der dann den allgemeinen Weg des Aufrufs geht. Wie beim E-Mail-Versand entscheiden beide Kassen am Code, nie am Wortlaut. -
voucherPermsOf(
RegisterUserPerms? perms) → VoucherPerms -
Gutschein-Rechte lesen. Das Backend loest sie bei der Anmeldung auf; ein
alter Server kennt sie nicht. Dann gilt je fehlendem Schluessel die
Vorgabe des Kassiers: verkaufen und einloesen ja, verwalten nein. Ein
ausdrueckliches
falsesperrt (beim Lesen wird jeder Wert aussertruezufalse). Zwilling vonvoucherPermsOfim npm-Paket; ohne Rechte (permsnull) gilt wie dort die Vorgabe.
Typedefs
- CancellationItem = ({int index, int quantity})
- Eine Position, die storniert werden soll.
- ShiftReceiptData = ShiftSummaryReceipt
-
Bon-Daten des Z- oder X-Bons unter dem Namen der Aufgabe (Zwilling:
ShiftSummaryReceipt). - ShiftReceiptTip = ShiftTip
- Trinkgeld auf dem Z- und X-Bon: offen = Anspruch beim Abschluss bzw. jetzt.
Exceptions / Errors
- KasseneckReceiptFormatError
- Ein Beleg kam an, liess sich aber nicht lesen — ein Pflichtfeld fehlt oder hat den falschen Typ.