{
  "vertrag": "Lagersystem stellt Kommission bereit, Schrank holt ab und quittiert",
  "endpunkte": {
    "POST /api/kommission": "Kommission anlegen → 201 mit Kommission",
    "GET /api/kommission/offen": "Liste offener Kommissionen für den Schrank",
    "POST /api/kommission/{nr}/quittung": "Ausgabe zurückmelden → 200 mit Kommission inkl. Quittung",
    "GET /api/kommission/{nr}": "zusätzlich: Stand einer Kommission (Tablet)"
  },
  "felder": {
    "kommission": {
      "nummer": "Kommissionsnummer, Format K-JJJJ-NNNN, vergibt das Lagersystem",
      "status": "offen (bereitgestellt) | abgeholt (vom Schrank gelesen) | quittiert (Ausgabe zurückgemeldet)",
      "erstellt": "Zeitstempel ISO 8601 mit Zeitzone",
      "fahrzeug.funkrufname": "Anzeigename, z. B. RTW 03",
      "fahrzeug.fin": "Fahrzeug-Identifizierungsnummer; die Fahrzeugkarte am Schrank trägt diese FIN",
      "fahrzeug.kennzeichen": "amtliches Kennzeichen, informativ",
      "anfordernde_person.name": "Person, die die Kommission am Tablet abgeschickt hat",
      "anfordernde_person.rolle": "Funktion, informativ",
      "einsatz": "optional: {nummer, stichwort} des Einsatzes, für den nachgefasst wird; sonst null",
      "positionen[].position": "laufende Nummer ab 1",
      "positionen[].artikelnr": "Artikelnummer des Lagersystems (führender Schlüssel)",
      "positionen[].bezeichnung": "Klartext, informativ",
      "positionen[].menge": "angeforderte Menge, ganzzahlig > 0",
      "positionen[].einheit": "Einheit der Menge, z. B. Stk, Amp., Fl.",
      "positionen[].btm": "true = Betäubungsmittel: Ausgabe nur mit Gegenzeichnung einer zweiten Person",
      "positionen[].chargenpflicht": "true = Quittung muss Charge und MHD enthalten",
      "quittung": "null bis zur Rückmeldung, danach das Quittungsobjekt"
    },
    "quittung": {
      "nummer": "Kommissionsnummer, zu der quittiert wird",
      "schrank.id": "Kennung des Schranks",
      "schrank.standort": "Standort, informativ",
      "zeitpunkt": "Zeitpunkt der Rückmeldung, ISO 8601",
      "ergebnis": "vollstaendig | teilweise | abgelehnt (vom Lagersystem aus den Positionen abgeleitet)",
      "fahrzeugkarte": "{fahrzeug, fin, erkannt}: welche Karte die Ausgabe freigegeben hat",
      "positionen[].position": "Bezug auf die Position der Kommission",
      "positionen[].artikelnr": "Artikelnummer",
      "positionen[].fach": "Fach, das geöffnet wurde; null bei Ablehnung",
      "positionen[].menge_angefordert": "Menge aus der Kommission",
      "positionen[].menge_ausgegeben": "tatsächlich ausgegebene Menge",
      "positionen[].charge": "Chargenbezeichnung der ausgegebenen Einheiten, null wenn nicht chargenpflichtig",
      "positionen[].mhd": "Mindesthaltbarkeitsdatum JJJJ-MM-TT der ausgegebenen Charge",
      "positionen[].status": "vollstaendig | teilweise | abgelehnt",
      "positionen[].grund": "Klartext bei teilweise/abgelehnt, sonst null",
      "positionen[].zeitpunkt": "Zeitpunkt der Fachöffnung bzw. Ablehnung",
      "positionen[].quittiert_von[]": "{rolle: entnehmend|gegenzeichnend, name, nachweis}; BTM-Positionen haben zwei Einträge"
    }
  }
}