HorecaPOS

Databaseschema (ERD)

Tabellen en relaties van de kassadatabase (MySQL of MariaDB, ingebouwd met PGlite of PostgreSQL: overal dezelfde tabellen). Bron: erd.mmd (Mermaid).

erDiagram
  apicbase_koppeling {
    uuid vestiging_id PK, FK
    bool aan
    jsonb instellingen
    jsonb geheimen
    text status
    text melding "mag leeg"
    timestamptz verkopen_tot "mag leeg"
    uuid verkopen_tot_id "mag leeg"
    timestamptz verkopen_op "mag leeg"
    int verkopen_aantal
    timestamptz catalogus_op "mag leeg"
    text catalogus_hash "mag leeg"
    timestamptz kostprijzen_op "mag leeg"
    timestamptz bijgewerkt_op
  }
  apicbase_kostprijs {
    uuid vestiging_id PK, FK
    text plu PK
    uuid artikel_id FK "mag leeg"
    text recept_id
    text recept_naam "mag leeg"
    int kostprijs "mag leeg"
    int prime_cost "mag leeg"
    int verkoopprijs "mag leeg"
    numeric marge "mag leeg"
    timestamptz bijgewerkt_op
  }
  artikel {
    uuid id PK
    uuid vestiging_id FK
    uuid groep_id FK "mag leeg"
    text code "mag leeg"
    text naam
    text naam_bon "mag leeg"
    int prijs_incl
    uuid btw_ter_plaatse FK
    uuid btw_afhalen FK "mag leeg"
    text kleur "mag leeg"
    int volgorde
    bool actief
    bool uitverkocht
    text printer "mag leeg"
    text[] allergenen
    text voorraad_soort
    numeric voorraad
    numeric voorraad_minimum "mag leeg"
    numeric voorraad_aanvullen_tot "mag leeg"
    text leverancier "mag leeg"
    bool favoriet
    bool thuisbezorgd
    text thuisbezorgd_omschrijving "mag leeg"
    bool per_kilo
    int plu "mag leeg"
    int tarra_gram
    bool webshop
    uuid leverancier_id FK "mag leeg"
    text bestelcode "mag leeg"
    text bestel_ean "mag leeg"
    numeric bestel_per
    text bestel_eenheid "mag leeg"
    int inkoopprijs "mag leeg"
    bool alcohol
    int wegwerp
    int statiegeld
    text btw_soort "mag leeg"
    int prijs_afhalen "mag leeg"
    int prijs_bezorgen "mag leeg"
    text[] niet_bij
    bool bezorgplatforms
    bool mag_terug
    bool open_prijs
    bool voorschot
    bool spv
  }
  artikel_foto {
    uuid artikel_id PK, FK
    text type
    bytea data
    timestamptz gewijzigd_op
  }
  artikel_ingredient {
    uuid artikel_id PK, FK
    uuid ingredient_id PK, FK
    numeric hoeveelheid
  }
  artikel_prijs {
    bigint id PK
    uuid artikel_id FK
    int prijs_incl
    timestamptz vanaf
  }
  artikelgroep {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text kleur
    int volgorde
    text keuken_printer "mag leeg"
    bool actief
    text[] niet_bij
    text code "mag leeg"
  }
  ayce_arrangement {
    uuid id PK
    uuid vestiging_id FK
    text naam
    int prijs_volwassen
    int prijs_kind
    text btw
    uuid[] groepen
    uuid[] artikelen
    int minuten
    int ronde_max
    int ronde_minuten
    int toeslag
    int volgorde
    bool actief
    timestamptz aangemaakt_op
  }
  bank_koppeling {
    uuid vestiging_id PK, FK
    text provider
    text app_id "mag leeg"
    text app_sleutel "mag leeg"
    text bank_naam "mag leeg"
    text bank_land "mag leeg"
    text sessie_id "mag leeg"
    jsonb rekeningen
    timestamptz geldig_tot "mag leeg"
    text state "mag leeg"
    timestamptz state_tot "mag leeg"
    bool automatisch
    date opgehaald_tot "mag leeg"
    timestamptz laatst_opgehaald "mag leeg"
    text fout "mag leeg"
    timestamptz gewijzigd_op
    text terugadres "mag leeg"
  }
  bank_transactie {
    uuid id PK
    uuid vestiging_id FK
    text bron
    text sleutel
    date datum
    int bedrag
    text naam "mag leeg"
    text iban "mag leeg"
    text omschrijving
    text status
    uuid voorstel_factuur_id FK "mag leeg"
    text voorstel_reden "mag leeg"
    uuid factuur_id FK "mag leeg"
    uuid rekeningbetaling_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz bijgewerkt_op
  }
  bestelling {
    uuid id PK
    uuid vestiging_id FK
    uuid sessie_id FK "mag leeg"
    bigint nummer
    uuid tafel_id FK "mag leeg"
    text type
    text status
    int gasten
    text opmerking "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz geopend_op
    timestamptz gesloten_op "mag leeg"
    int groep_nummer
    text groep_naam "mag leeg"
    uuid retour_van_ticket FK "mag leeg"
    text retour_reden "mag leeg"
    uuid klant_id FK "mag leeg"
    int ayce_volwassenen "mag leeg"
    int ayce_kinderen "mag leeg"
    timestamptz ayce_start "mag leeg"
    timestamptz ayce_laatste_ronde "mag leeg"
    int ayce_rondes
    timestamptz gewenst_op "mag leeg"
    jsonb bezorging "mag leeg"
    bool zonder_toeslag
    bool leeftijd_bevestigd
    text oproep_stand "mag leeg"
    timestamptz oproep_op "mag leeg"
    uuid rit_id FK "mag leeg"
    int rit_volgorde "mag leeg"
    timestamptz bezorgd_op "mag leeg"
    text bezorg_betaling "mag leeg"
    text volg_code "mag leeg"
    int gang_gevraagd "mag leeg"
    timestamptz gang_gevraagd_op "mag leeg"
    text gang_gevraagd_station "mag leeg"
    uuid apart_van FK "mag leeg"
  }
  bestelling_ayce {
    uuid bestelling_id PK, FK
    uuid arrangement_id PK, FK
    int volwassenen
    int kinderen
    timestamptz start
    timestamptz laatste_ronde "mag leeg"
    int rondes
  }
  bestelling_status {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    text token UK
    timestamptz aangemaakt_op
  }
  bestelregel {
    uuid id PK
    uuid bestelling_id FK
    uuid artikel_id FK "mag leeg"
    text naam
    numeric aantal
    int prijs_incl
    numeric btw_percentage
    text btw_code
    jsonb opties
    int gang
    text opmerking "mag leeg"
    text status
    timestamptz geprint_op "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    uuid retour_van_regel FK "mag leeg"
    timestamptz afgeroepen_op "mag leeg"
    bool is_korting
    uuid korting_van_regel FK "mag leeg"
    timestamptz klaar_op "mag leeg"
    bool menu_kop
    uuid menu_van FK "mag leeg"
    text actie "mag leeg"
    uuid cadeaubon_id FK "mag leeg"
    numeric voorraad_aantal
    text spaar "mag leeg"
    text ayce "mag leeg"
    uuid ayce_arrangement FK "mag leeg"
    text eenheid "mag leeg"
    text toeslag "mag leeg"
    text keuken_station "mag leeg"
    jsonb keuken_route "mag leeg"
    bool opwaarderen
    bool afhalen
    int stoel "mag leeg"
    uuid voorschot_van FK "mag leeg"
    numeric korting_procent "mag leeg"
    bool spv
    uuid verbetering_van FK "mag leeg"
    jsonb gks2_stand "mag leeg"
  }
  betaalcorrectie {
    uuid id PK
    uuid vestiging_id FK
    uuid ticket_id FK
    text van
    text naar
    int bedrag
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
  }
  betaalinstelling {
    uuid vestiging_id PK, FK
    text api_sleutel
    text api_url
    bool testmodus
    timestamptz gewijzigd_op
  }
  betaalterminal {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text terminal_id
    int volgorde
    bool actief
    text api_sleutel
  }
  betaling {
    uuid id PK
    uuid bestelling_id FK
    text methode
    int bedrag
    int fooi
    text terminal_ref "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    text uitgever "mag leeg"
    text valuta "mag leeg"
    int valuta_bedrag "mag leeg"
    numeric koers "mag leeg"
    int wisselgeld
  }
  bezorg_rit {
    uuid id PK
    uuid vestiging_id FK
    int nummer
    uuid bezorger_id FK "mag leeg"
    text bezorger_naam
    text status
    int wisselgeld
    text sleutel_hash "mag leeg"
    timestamptz aangemaakt_op
    uuid aangemaakt_door FK "mag leeg"
    timestamptz vertrokken_op "mag leeg"
    timestamptz terug_op "mag leeg"
    timestamptz afgerekend_op "mag leeg"
    uuid afgerekend_door FK "mag leeg"
    int contant_verwacht "mag leeg"
    int contant_geteld "mag leeg"
    int verschil "mag leeg"
    double lat "mag leeg"
    double lon "mag leeg"
    timestamptz locatie_op "mag leeg"
    numeric afstand_km "mag leeg"
    int reistijd_min "mag leeg"
    bool via_app
  }
  bezorger_koppeling {
    uuid id PK
    uuid vestiging_id FK
    uuid gebruiker_id FK
    text toestel "mag leeg"
    text sleutel_hash
    timestamptz aangemaakt_op
    uuid aangemaakt_door FK "mag leeg"
    timestamptz ingetrokken_op "mag leeg"
    uuid ingetrokken_door FK "mag leeg"
    timestamptz gezien_op "mag leeg"
    timestamptz dienst_op "mag leeg"
    double lat "mag leeg"
    double lon "mag leeg"
    timestamptz locatie_op "mag leeg"
  }
  bi_koppeling {
    uuid id PK
    uuid vestiging_id FK
    text dienst
    text manier
    text naam
    bool actief
    jsonb instellingen
    jsonb geheimen
    text sleutel_hash "mag leeg"
    timestamptz cursor_op "mag leeg"
    uuid cursor_id "mag leeg"
    text laatste_export "mag leeg"
    timestamptz laatste_sync "mag leeg"
    text laatste_fout "mag leeg"
    timestamptz aangemaakt_op
  }
  boekhoud_app {
    uuid vestiging_id PK, FK
    text pakket PK
    text client_id
    text client_secret
    text redirect_uri
    timestamptz gewijzigd_op
    uuid gewijzigd_door FK "mag leeg"
  }
  boekhoud_boeking {
    uuid vestiging_id PK, FK
    text pakket PK
    date dag PK
    text status
    text boekstuk "mag leeg"
    text fout "mag leeg"
    timestamptz geboekt_op
  }
  boekhoud_koppeling {
    uuid vestiging_id PK, FK
    text pakket
    jsonb gegevens
    text administratie "mag leeg"
    date startdatum
    timestamptz verbonden_op "mag leeg"
    uuid verbonden_door FK "mag leeg"
    text laatste_fout "mag leeg"
  }
  btw_planning {
    uuid id PK
    uuid vestiging_id FK
    date vanaf
    text soort
    uuid artikel_id FK "mag leeg"
    text kolom "mag leeg"
    uuid tarief_id FK
    numeric nieuw_percentage "mag leeg"
    text status
    text fout "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz uitgevoerd_op "mag leeg"
  }
  btw_tarief {
    uuid id PK
    uuid vestiging_id FK
    text code
    numeric percentage
    text omschrijving
    int volgorde
  }
  cadeaubon {
    uuid id PK
    uuid vestiging_id FK
    text code
    int beginwaarde
    int saldo
    bool actief
    bool geblokkeerd
    timestamptz aangemaakt_op
    timestamptz geactiveerd_op "mag leeg"
  }
  cadeaubon_mutatie {
    uuid id PK
    uuid cadeaubon_id FK
    text soort
    int bedrag
    int saldo_na
    uuid bestelling_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    text omschrijving "mag leeg"
    timestamptz aangemaakt_op
  }
  camera_systeem {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text soort
    text adres "mag leeg"
    bool https
    text gebruiker "mag leeg"
    text wachtwoord "mag leeg"
    text url "mag leeg"
    text url_soort "mag leeg"
    text beeld
    int verversen
    jsonb cameras
    int volgorde
    timestamptz aangemaakt_op
    timestamptz gewijzigd_op "mag leeg"
  }
  dagdeel {
    uuid id PK
    uuid vestiging_id FK
    text naam
    int[] dagen
    text van
    text tot
    text seizoen_van "mag leeg"
    text seizoen_tot "mag leeg"
    uuid[] groep_ids
    uuid[] artikel_ids
    bool actief
    int volgorde
    timestamptz aangemaakt_op
  }
  digitale_bon {
    text token PK
    uuid vestiging_id FK
    uuid bestelling_id FK
    timestamptz aangemaakt_op
  }
  exact_boeking {
    uuid vestiging_id PK, FK
    date dag PK
    text status
    text entry_id "mag leeg"
    text boekstuk "mag leeg"
    text fout "mag leeg"
    timestamptz geboekt_op
  }
  exact_koppeling {
    uuid vestiging_id PK, FK
    text access_token "mag leeg"
    text refresh_token "mag leeg"
    timestamptz verloopt_op "mag leeg"
    int divisie "mag leeg"
    text administratie "mag leeg"
    date startdatum
    timestamptz verbonden_op "mag leeg"
    uuid verbonden_door FK "mag leeg"
    text laatste_fout "mag leeg"
  }
  factuur {
    uuid id PK
    uuid vestiging_id FK
    text nummer
    uuid ticket_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    date datum
    date vervaldatum "mag leeg"
    jsonb afnemer
    jsonb regels
    jsonb btw
    int totaal_incl
    int al_betaald
    text ubl
    text status
    text verzonden_via "mag leeg"
    timestamptz verzonden_op "mag leeg"
    text verzonden_aan "mag leeg"
    text extern_id "mag leeg"
    text fout "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    uuid rekeningklant_id FK "mag leeg"
    int ontvangen
    timestamptz betaald_op "mag leeg"
    uuid creditnota_van FK "mag leeg"
  }
  gebeurtenis {
    uuid id PK
    uuid vestiging_id FK
    uuid gebruiker_id FK "mag leeg"
    text soort
    jsonb details
    timestamptz aangemaakt_op
  }
  gebruiker {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text pincode_hash
    text rol
    text rijksregisternummer "mag leeg"
    bool actief
    timestamptz aangemaakt_op
    text taal "mag leeg"
    smallint lade "mag leeg"
    bool kiosk
    text pas_hash "mag leeg"
    text insz "mag leeg"
  }
  geldsysteem {
    uuid vestiging_id PK, FK
    text merk
    jsonb gegevens
    bool verplicht
    text laatste_fout "mag leeg"
    timestamptz gewijzigd_op
  }
  geldtransactie {
    uuid id PK
    uuid vestiging_id FK
    uuid bestelling_id FK "mag leeg"
    text soort
    text merk
    int bedrag
    int ingeworpen
    int uitbetaald
    int niet_uitbetaald
    text status
    bool annuleren
    text extern_id "mag leeg"
    text fout "mag leeg"
    jsonb gegevens
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz gecontroleerd_op "mag leeg"
    timestamptz afgerond_op "mag leeg"
    timestamptz verwerkt_op "mag leeg"
  }
  gks2_event {
    uuid id PK
    uuid vestiging_id FK
    timestamptz aangemaakt_op
    text mutatie
    text event_label "mag leeg"
    date booking_date "mag leeg"
    int pos_fiscal_ticket_no "mag leeg"
    uuid gebruiker_id "mag leeg"
    uuid bestelling_id "mag leeg"
    uuid ticket_id "mag leeg"
    jsonb invoer
    jsonb resultaat
  }
  haccp_punt {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text soort
    numeric min_temp "mag leeg"
    numeric max_temp "mag leeg"
    text frequentie
    int volgorde
    bool actief
    timestamptz aangemaakt_op
  }
  haccp_registratie {
    uuid id PK
    uuid vestiging_id FK
    uuid punt_id FK "mag leeg"
    uuid taak_id FK "mag leeg"
    text naam
    numeric waarde "mag leeg"
    bool in_orde
    text actie "mag leeg"
    text opmerking "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    text gebruiker_naam "mag leeg"
    timestamptz tijdstip
  }
  haccp_taak {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text ruimte "mag leeg"
    text instructie "mag leeg"
    text frequentie
    int weekdag "mag leeg"
    int volgorde
    bool actief
    timestamptz aangemaakt_op
  }
  happyhour {
    uuid id PK
    uuid vestiging_id FK
    text naam
    int[] dagen
    text van
    text tot
    text soort
    int waarde
    uuid[] groep_ids
    uuid[] artikel_ids
    bool actief
    int volgorde
    timestamptz aangemaakt_op
    text seizoen_van "mag leeg"
    text seizoen_tot "mag leeg"
  }
  hotel_boeking {
    uuid id PK
    uuid vestiging_id FK
    uuid bestelling_id FK "mag leeg"
    text leverancier
    text reservering_id
    text gast_id "mag leeg"
    text kamer "mag leeg"
    text gast_naam "mag leeg"
    int bedrag
    text extern_id "mag leeg"
    text status
    text fout "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    jsonb regels "mag leeg"
    text bon "mag leeg"
  }
  hotel_gast {
    uuid vestiging_id PK, FK
    text leverancier PK
    text boeking_id PK
    int regel PK
    text kamer
    text naam
    date aankomst "mag leeg"
    date vertrek "mag leeg"
    bool geannuleerd
    bool ingecheckt
    bool uitgecheckt
    timestamptz gemaakt_op "mag leeg"
    timestamptz bijgewerkt_op
  }
  hotel_koppeling {
    uuid vestiging_id PK, FK
    bool aan
    text leverancier "mag leeg"
    jsonb instellingen
    jsonb geheimen
    text status
    text melding "mag leeg"
    timestamptz bijgewerkt_op
  }
  ingredient {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text eenheid
    numeric voorraad
    numeric minimum "mag leeg"
    bool actief
    timestamptz aangemaakt_op
    numeric aanvullen_tot "mag leeg"
    text leverancier "mag leeg"
    uuid leverancier_id FK "mag leeg"
    text bestelcode "mag leeg"
    text bestel_ean "mag leeg"
    numeric bestel_per
    text bestel_eenheid "mag leeg"
    int inkoopprijs "mag leeg"
  }
  inkooporder {
    uuid id PK
    uuid vestiging_id FK
    uuid leverancier_id FK "mag leeg"
    text leverancier_naam
    int nummer
    text status
    text wijze "mag leeg"
    date leverdatum "mag leeg"
    text opmerking "mag leeg"
    int totaal
    bool automatisch
    text fout "mag leeg"
    text referentie "mag leeg"
    uuid gemaakt_door FK "mag leeg"
    uuid verzonden_door FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz verzonden_op "mag leeg"
    timestamptz ontvangen_op "mag leeg"
  }
  inkooporder_regel {
    uuid id PK
    uuid order_id FK
    int volgorde
    uuid artikel_id FK "mag leeg"
    uuid ingredient_id FK "mag leeg"
    text naam
    text bestelcode "mag leeg"
    text ean "mag leeg"
    numeric aantal
    numeric per
    text eenheid "mag leeg"
    int prijs "mag leeg"
    numeric ontvangen "mag leeg"
  }
  kasmutatie {
    uuid id PK
    uuid vestiging_id FK
    uuid sessie_id FK
    text soort
    int bedrag
    text reden
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
  }
  kassasessie {
    uuid id PK
    uuid vestiging_id FK
    timestamptz geopend_op
    uuid geopend_door FK "mag leeg"
    timestamptz gesloten_op "mag leeg"
    uuid gesloten_door FK "mag leeg"
    int startgeld
    int telling "mag leeg"
    jsonb rapport "mag leeg"
  }
  keuken_instelling {
    uuid vestiging_id PK, FK
    bool doorzetten
    jsonb volgende
    text[] extra_stations
    bool herordenen
    text gang
    timestamptz bijgewerkt_op
  }
  keuken_volgorde {
    uuid vestiging_id PK, FK
    text station PK
    uuid bestelling_id PK, FK
    int positie
  }
  kiosk_apparaat {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text sleutel_hash "mag leeg"
    text koppelcode_hash "mag leeg"
    timestamptz koppelcode_tot "mag leeg"
    uuid betaalterminal_id FK "mag leeg"
    bool actief
    timestamptz gekoppeld_op "mag leeg"
    timestamptz laatst_gezien "mag leeg"
    timestamptz aangemaakt_op
    text betalen
  }
  kiosk_bestelling {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    uuid kiosk_id FK "mag leeg"
    bool meenemen
    text status
    uuid pinbetaling_id "mag leeg"
    text taal "mag leeg"
    jsonb bon "mag leeg"
    timestamptz aangemaakt_op
    timestamptz bijgewerkt_op
    text status_token "mag leeg"
  }
  klant {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text telefoon "mag leeg"
    text email "mag leeg"
    int punten
    timestamptz aangemaakt_op
    timestamptz laatst_op "mag leeg"
    bool sms_toestemming
    bool email_toestemming
    timestamptz toestemming_op "mag leeg"
    text verjaardag "mag leeg"
    text adres "mag leeg"
    text postcode "mag leeg"
    text plaats "mag leeg"
    bool vip
    text[] dieet
    text voorkeuren "mag leeg"
    text kaart "mag leeg"
  }
  klant_mutatie {
    uuid id PK
    uuid vestiging_id FK
    uuid klant_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    text soort
    int punten
    uuid artikel_id FK "mag leeg"
    int stempels
    text omschrijving "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
  }
  klant_stempel {
    uuid klant_id PK, FK
    uuid artikel_id PK, FK
    int stempels
  }
  kortingscode {
    uuid id PK
    uuid vestiging_id FK
    text code
    text omschrijving "mag leeg"
    text soort
    int waarde
    int minimum
    date geldig_van "mag leeg"
    date geldig_tot "mag leeg"
    int max_gebruik "mag leeg"
    bool aan_kassa
    bool in_webshop
    bool actief
    timestamptz aangemaakt_op
    uuid campagne_id FK "mag leeg"
    uuid klant_id FK "mag leeg"
    uuid te_laat_bestelling_id FK "mag leeg"
  }
  kortingscode_gebruik {
    uuid id PK
    uuid kortingscode_id FK
    uuid bestelling_id FK "mag leeg"
    text bron
    int bedrag
    timestamptz op
  }
  ladestart {
    uuid sessie_id PK, FK
    uuid medewerker_id PK, FK
    int startgeld
  }
  ladetelling {
    uuid id PK
    uuid vestiging_id FK
    uuid sessie_id FK "mag leeg"
    uuid medewerker_id FK "mag leeg"
    smallint lade "mag leeg"
    int startgeld
    int verwacht
    int geteld
    int verschil
    uuid geteld_door FK "mag leeg"
    timestamptz aangemaakt_op
  }
  leverancier {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text catalogus "mag leeg"
    text klantnummer "mag leeg"
    text wijze
    text email "mag leeg"
    text email_kopie "mag leeg"
    text bijlage
    text bestand
    text csv_scheiding
    bool csv_kop
    text csv_kolommen
    text eancom_versie
    text koppeling_url "mag leeg"
    text koppeling_van "mag leeg"
    text koppeling_naar "mag leeg"
    text koppeling_domein "mag leeg"
    text koppeling_sleutel "mag leeg"
    text gln "mag leeg"
    int[] besteldagen
    text besteltijd "mag leeg"
    int levertijd_dagen
    int minimum_bedrag
    text automatisch
    date laatste_auto "mag leeg"
    text opmerking "mag leeg"
    bool actief
    timestamptz aangemaakt_op
    text koppeling_gebruiker "mag leeg"
    text koppeling_wachtwoord "mag leeg"
    text koppeling_headers "mag leeg"
    text upload_protocol
    text upload_host "mag leeg"
    int upload_poort "mag leeg"
    text upload_map "mag leeg"
    text upload_gebruiker "mag leeg"
    text upload_wachtwoord "mag leeg"
    text upload_sleutel "mag leeg"
    text upload_sleutel_wachtwoord "mag leeg"
    text upload_vingerafdruk "mag leeg"
    text env_code "mag leeg"
    timestamptz koppeling_aangevraagd "mag leeg"
    text aanvraag_aan "mag leeg"
  }
  mailing_klant {
    uuid vestiging_id PK, FK
    text dienst PK
    text email PK
    uuid klant_id FK "mag leeg"
    bool aangemeld
    text hash
    timestamptz verstuurd_op
  }
  mailing_koppeling {
    uuid vestiging_id PK, FK
    text dienst PK
    text sleutel "mag leeg"
    text oauth_toegang "mag leeg"
    text oauth_vernieuw "mag leeg"
    timestamptz oauth_tot "mag leeg"
    text client_id "mag leeg"
    text client_geheim "mag leeg"
    text terugadres "mag leeg"
    text api_basis "mag leeg"
    text state "mag leeg"
    text verifier "mag leeg"
    timestamptz state_tot "mag leeg"
    text lijst_id "mag leeg"
    text lijst_naam "mag leeg"
    timestamptz bestellingen_tot "mag leeg"
    timestamptz afmeldingen_tot "mag leeg"
    timestamptz laatst_op "mag leeg"
    text fout "mag leeg"
    timestamptz gewijzigd_op
  }
  marketing_bericht {
    uuid id PK
    uuid campagne_id FK
    uuid klant_id FK "mag leeg"
    text kanaal
    bool gelukt
    text fout "mag leeg"
    timestamptz verstuurd_op
  }
  marketing_campagne {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text soort
    text kanaal
    text onderwerp "mag leeg"
    text tekst
    int dagen "mag leeg"
    int min_punten "mag leeg"
    bool actief
    text status
    timestamptz verstuurd_op "mag leeg"
    int aantal_verstuurd
    int aantal_mislukt
    uuid aangemaakt_door FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz gewijzigd_op "mag leeg"
    text code_soort "mag leeg"
    int code_waarde "mag leeg"
    int code_minimum
    int code_dagen "mag leeg"
    bool code_kassa
    bool code_webshop
    text via
    text extern_id "mag leeg"
    text fout "mag leeg"
  }
  menu_onderdeel {
    uuid id PK
    uuid menu_artikel_id FK
    text naam
    text soort
    uuid[] artikel_ids
    uuid groep_id FK "mag leeg"
    int aantal
    int gang
    int volgorde
    int menuprijs "mag leeg"
  }
  muziek_bron {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text soort
    text adres "mag leeg"
    text sleutel "mag leeg"
    text zone_id "mag leeg"
    text zone_naam "mag leeg"
    jsonb commandos
    int volgorde
    timestamptz aangemaakt_op
    timestamptz gewijzigd_op "mag leeg"
  }
  optie {
    uuid id PK
    uuid optiegroep_id FK
    text naam
    int prijs_delta
    int volgorde
  }
  optie_ingredient {
    uuid optie_id PK, FK
    uuid ingredient_id PK, FK
    numeric hoeveelheid
  }
  optiegroep {
    uuid id PK
    uuid artikel_id FK "mag leeg"
    text naam
    int minimum
    int maximum
    int volgorde
    uuid artikelgroep_id FK "mag leeg"
  }
  personeel_koppeling {
    uuid vestiging_id PK, FK
    text soort PK
    text pakket
    jsonb gegevens
    jsonb nummers
    date startdatum "mag leeg"
    timestamptz laatste_sync "mag leeg"
    text laatste_fout "mag leeg"
    timestamptz gewijzigd_op
    uuid gewijzigd_door FK "mag leeg"
  }
  pinbetaling {
    uuid id PK
    uuid vestiging_id FK
    uuid bestelling_id FK
    text terminal_id
    text terminal_naam "mag leeg"
    text transactie_id "mag leeg"
    text eigen_referentie
    int bedrag
    text status
    text fout "mag leeg"
    text bon "mag leeg"
    bool testmodus
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz bijgewerkt_op
    timestamptz gecontroleerd_op "mag leeg"
    timestamptz verwerkt_op "mag leeg"
    uuid betaalterminal_id FK "mag leeg"
    text soort
    int fooi
  }
  platform_bestelling {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    text platform
    text kanaal "mag leeg"
    text extern_id
    text referentie "mag leeg"
    text levering
    text status
    jsonb klant
    timestamptz klaar_om "mag leeg"
    timestamptz bezorgen_om "mag leeg"
    text betaalwijze "mag leeg"
    bool online_betaald
    int totaal
    text notitie "mag leeg"
    timestamptz ontvangen_op
    timestamptz bijgewerkt_op
  }
  platform_gebeurtenis {
    uuid id PK
    uuid bestelling_id FK
    text soort
    text code "mag leeg"
    text tekst
    timestamptz op
  }
  platform_koppeling {
    uuid vestiging_id PK, FK
    text platform PK
    bool aan
    jsonb instellingen
    jsonb geheimen
    text status
    text melding "mag leeg"
    timestamptz menu_op "mag leeg"
    text menu_fout "mag leeg"
    timestamptz bijgewerkt_op
  }
  printapparaat {
    uuid vestiging_id PK, FK
    text id PK
    text naam
    text platform
    text sleutel_hash
    timestamptz aangemeld_op
    timestamptz laatst_gezien "mag leeg"
  }
  printer {
    uuid vestiging_id PK, FK
    text naam PK
    text host
    int poort
    int breedte
    timestamptz gewijzigd_op
    text taal "mag leeg"
    text verbinding
    text adres
    int baud
    text protocol
    text apparaat "mag leeg"
  }
  rekeningbetaling {
    uuid id PK
    uuid vestiging_id FK
    uuid factuur_id FK "mag leeg"
    text methode
    int bedrag
    text terminal_ref "mag leeg"
    text cadeaubon_code "mag leeg"
    uuid kasmutatie_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    uuid post_id FK "mag leeg"
  }
  rekeningklant {
    uuid id PK
    uuid vestiging_id FK
    jsonb afnemer
    int limiet "mag leeg"
    int betaaltermijn "mag leeg"
    bool versturen
    text notitie "mag leeg"
    bool actief
    timestamptz aangemaakt_op
    timestamptz bijgewerkt_op
    text webshop_code_hash "mag leeg"
    timestamptz webshop_code_op "mag leeg"
    int tegoed
    bool verzamelfactuur
  }
  rekeningklant_storting {
    uuid id PK
    uuid vestiging_id FK
    uuid klant_id FK
    text methode
    int bedrag
    uuid kasmutatie_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
  }
  rekeningpost {
    uuid id PK
    uuid vestiging_id FK
    uuid klant_id FK
    uuid ticket_id FK, UK
    int bedrag
    int ontvangen
    uuid factuur_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
  }
  reservering {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text telefoon "mag leeg"
    text email "mag leeg"
    int personen
    timestamptz tijdstip
    int duur_min
    uuid tafel_id FK "mag leeg"
    text opmerking "mag leeg"
    text status
    uuid bestelling_id FK "mag leeg"
    uuid klant_id FK "mag leeg"
    timestamptz gemaild_op "mag leeg"
    uuid aangemaakt_door FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz gewijzigd_op "mag leeg"
    text webshop_id "mag leeg"
    text webshop_gemeld "mag leeg"
    uuid platform_id FK "mag leeg"
    text platform_extern "mag leeg"
    text platform_tafel "mag leeg"
    text platform_gemeld "mag leeg"
  }
  reservering_platform {
    uuid id PK
    uuid vestiging_id FK
    text platform
    text naam
    bool actief
    jsonb instellingen
    jsonb geheimen
    text sleutel_hash "mag leeg"
    timestamptz laatste_sync "mag leeg"
    text laatste_fout "mag leeg"
    timestamptz aangemaakt_op
  }
  review {
    uuid id PK
    uuid vestiging_id FK
    text platform
    text extern_id
    text auteur
    smallint sterren "mag leeg"
    text titel "mag leeg"
    text tekst "mag leeg"
    text taal "mag leeg"
    timestamptz geplaatst_op "mag leeg"
    text antwoord "mag leeg"
    timestamptz antwoord_op "mag leeg"
    uuid antwoord_door FK "mag leeg"
    bool gelezen
    timestamptz opgehaald_op
  }
  review_koppeling {
    uuid id PK
    uuid vestiging_id FK
    text platform
    text manier
    bool actief
    jsonb instellingen
    jsonb geheimen
    text access_token "mag leeg"
    text refresh_token "mag leeg"
    timestamptz verloopt_op "mag leeg"
    timestamptz verbonden_op "mag leeg"
    timestamptz laatste_sync "mag leeg"
    text laatste_fout "mag leeg"
    timestamptz aangemaakt_op
  }
  review_verzoek {
    uuid id PK
    uuid vestiging_id FK
    uuid bestelling_id FK, UK "mag leeg"
    text email "mag leeg"
    text naam "mag leeg"
    text email_hash
    timestamptz verzend_op
    timestamptz verstuurd_op "mag leeg"
    text fout "mag leeg"
    int pogingen
    timestamptz aangemaakt_op
  }
  rolrecht {
    uuid vestiging_id PK, FK
    text rol PK
    text recht PK
    bool aan
    timestamptz gewijzigd_op
  }
  ruimte {
    uuid id PK
    uuid vestiging_id FK
    text naam
    int volgorde
    bool actief
  }
  scherm_tablet {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text sleutel_hash
    text scherm "mag leeg"
    text bron "mag leeg"
    timestamptz gestuurd_op "mag leeg"
    uuid gestuurd_door FK "mag leeg"
    timestamptz laatst_gezien "mag leeg"
    timestamptz aangemaakt_op
    uuid aangemaakt_door FK "mag leeg"
  }
  signalering {
    uuid id PK
    uuid vestiging_id FK
    text soort
    text regel
    text sleutel
    uuid gebruiker_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    text tekst
    numeric waarde "mag leeg"
    numeric grens "mag leeg"
    jsonb details
    timestamptz gemeld_op
    text[] kanalen
    text[] fouten
    timestamptz afgehandeld_op "mag leeg"
    uuid afgehandeld_door FK "mag leeg"
    text notitie "mag leeg"
  }
  signalering_instelling {
    uuid vestiging_id PK, FK
    bool fraude_aan
    bool afwijking_aan
    jsonb instellingen
    jsonb geheimen
    timestamptz laatst_op "mag leeg"
    timestamptz bijgewerkt_op
  }
  spaar_link {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    text platform PK
    text url "mag leeg"
    bool bijgeschreven
    timestamptz aangemaakt_op
  }
  spaar_review {
    uuid vestiging_id PK, FK
    text spaar_platform "mag leeg"
    text spaar_manier
    jsonb spaar_instellingen
    jsonb spaar_geheimen
    bool spaar_op_bon
    text review_google "mag leeg"
    text review_trustpilot "mag leeg"
    text review_trustpilot_bcc "mag leeg"
    int review_na_uur
    int review_dagen
    bool review_op_bon
    text laatste_fout "mag leeg"
    timestamptz gewijzigd_op
    jsonb spaar_platformen
  }
  stempelkaart {
    uuid artikel_id PK, FK
    uuid vestiging_id FK
    int nodig
  }
  tafel {
    uuid id PK
    uuid ruimte_id FK
    text naam
    int x
    int y
    int breedte
    int hoogte
    text vorm
    int plaatsen
    bool actief
  }
  tap_bron {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text merk
    text koppeling
    jsonb instellingen
    text sleutel_hash "mag leeg"
    bool actief
    timestamptz laatste_tap "mag leeg"
    text laatste_fout "mag leeg"
    timestamptz aangemaakt_op
    text koppel_apparaat "mag leeg"
    text koppel_status "mag leeg"
    text koppel_ip "mag leeg"
    timestamptz koppel_gezien "mag leeg"
    text koppel_sleutel "mag leeg"
  }
  tap_kraan {
    uuid id PK
    uuid vestiging_id FK
    uuid bron_id FK
    text code
    text naam "mag leeg"
    uuid artikel_id FK "mag leeg"
    text modus
    int portie_ml
    int drempel
    bool vrijgave
    int relais "mag leeg"
    int vrijgave_sec
  }
  tap_tap {
    uuid id PK
    uuid vestiging_id FK
    uuid bron_id FK "mag leeg"
    text extern_id "mag leeg"
    text kraan
    uuid kraan_id FK "mag leeg"
    uuid artikel_id FK "mag leeg"
    numeric ml "mag leeg"
    int porties "mag leeg"
    text tafel "mag leeg"
    text bediening "mag leeg"
    timestamptz getapt_op
    timestamptz ontvangen_op
    text status
    uuid bestelling_id FK "mag leeg"
    uuid bestelregel_id FK "mag leeg"
    text reden "mag leeg"
    uuid afgehandeld_door FK "mag leeg"
    timestamptz afgehandeld_op "mag leeg"
    uuid vrijgave_id FK "mag leeg"
  }
  tap_vrijgave {
    uuid id PK
    uuid vestiging_id FK
    uuid bron_id FK "mag leeg"
    uuid kraan_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    uuid bestelregel_id FK, UK "mag leeg"
    numeric ml
    numeric getapt_ml
    text status
    text fout "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    timestamptz aangemaakt_op
    timestamptz verzonden_op "mag leeg"
    timestamptz geldig_tot
    timestamptz klaar_op "mag leeg"
  }
  te_laat {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    text bron
    text soort
    text naam "mag leeg"
    timestamptz beloofd_op
    timestamptz gemeld_op
    timestamptz klaar_op "mag leeg"
    text bericht
    text[] bericht_via
    timestamptz bericht_op "mag leeg"
    uuid kortingscode_id FK "mag leeg"
    timestamptz afgehandeld_op "mag leeg"
    uuid gebruiker_id FK "mag leeg"
  }
  telefonie_instelling {
    uuid vestiging_id PK, FK
    bool aan
    jsonb instellingen
    jsonb geheimen
    timestamptz bijgewerkt_op
  }
  telefoon_oproep {
    uuid id PK
    uuid vestiging_id FK
    text bron
    text extern_id "mag leeg"
    text nummer "mag leeg"
    text sleutel "mag leeg"
    text naam "mag leeg"
    text lijn "mag leeg"
    text status
    uuid klant_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    timestamptz op
    timestamptz bijgewerkt_op
    timestamptz afgehandeld_op "mag leeg"
    uuid afgehandeld_door FK "mag leeg"
  }
  teller {
    uuid vestiging_id PK, FK
    text naam PK
    bigint waarde
  }
  thefork_order {
    text order_id PK
    uuid vestiging_id PK, FK
    uuid bestelling_id FK "mag leeg"
    text tafel_naam "mag leeg"
    text klant "mag leeg"
    int gasten "mag leeg"
    text reservering_status "mag leeg"
    text maaltijd_status "mag leeg"
    jsonb inhoud
    text rekening
    int rekening_totaal "mag leeg"
    text rekening_fout "mag leeg"
    timestamptz rekening_op "mag leeg"
    timestamptz ontvangen_op
    timestamptz bijgewerkt_op
  }
  thuisbezorgd_bestelling {
    uuid bestelling_id PK, FK
    uuid vestiging_id FK
    text jet_id
    text referentie "mag leeg"
    text je_referentie "mag leeg"
    text levering
    text status
    jsonb klant
    jsonb bezorger "mag leeg"
    timestamptz klaar_om "mag leeg"
    timestamptz bezorgen_om "mag leeg"
    text betaalwijze "mag leeg"
    bool online_betaald
    int totaal
    text notitie_keuken "mag leeg"
    timestamptz ontvangen_op
    timestamptz bijgewerkt_op
  }
  thuisbezorgd_gebeurtenis {
    uuid id PK
    uuid bestelling_id FK
    text soort
    text code "mag leeg"
    text tekst
    timestamptz op
  }
  ticket {
    uuid id PK
    uuid vestiging_id FK
    uuid bestelling_id FK "mag leeg"
    bigint volgnummer
    text soort
    int totaal_incl
    jsonb btw_regels
    jsonb betaalregels
    uuid gebruiker_id FK "mag leeg"
    text fiscale_status
    jsonb fiscale_data "mag leeg"
    text vorige_hash "mag leeg"
    text hash
    timestamptz aangemaakt_op
  }
  verwerkt_verzoek {
    text sleutel PK
    timestamptz aangemaakt_op
  }
  vestiging {
    uuid id PK
    text naam
    char(2) land
    text btw_nummer "mag leeg"
    text adres "mag leeg"
    text postcode "mag leeg"
    text plaats "mag leeg"
    text telefoon "mag leeg"
    text email "mag leeg"
    char(3) valuta
    text gks_productienummer "mag leeg"
    timestamptz aangemaakt_op
    text bonprinter "mag leeg"
    text bon_voettekst "mag leeg"
    bool contant_afronden
    bool fooi_aan
    int[] fooi_procenten
    bool fooi_afronden
    text[] fooi_betaalwijzen
    text klokken
    jsonb boekhouding
    bool allergenen_aan
    bool happyhour_aan
    bool menus_aan
    bool cadeaubon_betalen
    bool cadeaubon_saldo
    bool voorraad_aan
    text thema
    bool bon_mailen
    text favorieten
    int tafel_stil_minuten
    bool keuken_geluid
    text z_rapport_mail "mag leeg"
    text fooi_verdelen
    bool klantenkaart
    numeric spaar_punten_per_euro
    int spaar_punten_nodig
    int spaar_beloning
    bool reserveringen
    int reservering_vooraf_min
    int reservering_duur_min
    bool updatemelding
    bool snelle_verkoop
    bool afhalen_aan
    bool ayce_aan
    int ayce_prijs_volwassen
    int ayce_prijs_kind
    text ayce_btw
    uuid[] ayce_groepen
    int ayce_minuten
    int ayce_ronde_max
    int ayce_ronde_minuten
    int ayce_toeslag
    bool klantscherm_aan
    text klantscherm_welkom "mag leeg"
    bool productfoto_knoppen
    bool productfoto_klantscherm
    bool thuisbezorgd_aan
    bool thuisbezorgd_menu_auto
    bool thuisbezorgd_werkbon
    jsonb thuisbezorgd_tijden "mag leeg"
    bool weegschaal_aan
    jsonb weegschaal "mag leeg"
    bool wachtlijst
    text wachtlijst_sms_tekst "mag leeg"
    text bon_taal "mag leeg"
    text afrekenknop
    bool webshop_werkbon
    bool marketing_sms
    bool marketing_email
    bool adres_zoeken
    bool importeren
    bool exact
    bool bezorgen_aan
    jsonb bezorg_zones
    int bezorg_tijd_min
    int afhaal_tijd_min
    int tijdvak_min
    int per_tijdvak
    bool webshop_volgt
    jsonb open_tijden "mag leeg"
    jsonb gesloten_dagen
    int vooruit_dagen
    int drukte_min
    bool bezorg_berichten
    bool webshop_pauze
    text webshop_pauze_tekst "mag leeg"
    jsonb reserveren_online "mag leeg"
    bool cadeaubon_online
    bool kortingscodes
    text boekhoudpakket
    bool inkoop_aan
    text inkoop_gln "mag leeg"
    text lade_sensor
    bool lade_blokkeren
    int lade_max_open
    bool lade_per_medewerker
    bool leeftijdscheck
    bool wegwerp_aan
    bool statiegeld_aan
    bool contant_limiet
    bool facturen_aan
    jsonb factuur_gegevens
    bool haccp_aan
    jsonb peppol_gegevens
    bool tap_aan
    bool resplatform_aan
    bool bi_aan
    bool bi_keten
    bool spaarpartner_aan
    bool reviews_aan
    bool reviewbeheer_aan
    bool dagdelen_aan
    bool leverwijze_aan
    bool op_rekening_aan
    bool te_laat_aan
    int te_laat_min
    text te_laat_bericht
    text te_laat_tegoed_soort "mag leeg"
    int te_laat_tegoed_waarde "mag leeg"
    int te_laat_tegoed_dagen
    text te_laat_tekst "mag leeg"
    bool muziek_aan
    bool camera_aan
    bool tablet_aan
    bool oproep_aan
    int oproep_minuten
    bool oproep_balie
    bool oproep_naam
    bool oproep_geluid
    bool bezorgers_aan
    int bezorg_wisselgeld
    bool volgen_aan
    bool volgen_locatie
    bool ritplanning_aan
    int ritplanning_max_stops
    int ritplanning_max_min
    int ritplanning_snelheid
    int ritplanning_venster
    int ritplanning_per_stop
    text ritplanning_dienst
    text ritplanning_url "mag leeg"
    text ritplanning_sleutel "mag leeg"
    bool bezorgersapp_aan
    bool bezorgers_zelf_oppakken
    bool bezorgers_app_vertrek
    bool bezorgers_kaart
    bool ayce_webshop
    bool op_rekening_webshop
    bool wachtlijst_online
    bool kiosk_aan
    jsonb kiosk
    bool oproep_bezorgers
    bool oproep_stem
    text oproep_stem_taal
    bool oproep_status_qr
    bool klantscherm_bon
    jsonb klantscherm_dia "mag leeg"
    jsonb menubord "mag leeg"
    jsonb extra_rapporten "mag leeg"
    jsonb webshop_upsell "mag leeg"
    bool pas_aanmelden
    jsonb maaltijdcheques "mag leeg"
    bool z_samenvatting
    jsonb etiketten "mag leeg"
    bool gastprofiel
    jsonb tegoed "mag leeg"
    jsonb scanner
    jsonb vreemde_valuta "mag leeg"
    text vestigingsnummer "mag leeg"
    text juridische_naam "mag leeg"
    jsonb kassa_opties
    bool gks_plichtig "mag leeg"
    timestamptz gks_verklaring_op "mag leeg"
    text gks_verklaring_door "mag leeg"
    bool fiscaal_demo
  }
  vinify_artikel {
    uuid artikel_id PK, FK
    uuid vestiging_id FK
    text vinify_id "mag leeg"
    bool glas
    int inkoopprijs "mag leeg"
    numeric voorraad "mag leeg"
    timestamptz aangemaakt_op
    timestamptz bijgewerkt_op
  }
  vinify_koppeling {
    uuid vestiging_id PK, FK
    bool aan
    jsonb instellingen
    jsonb geheimen
    timestamptz laatst_contact "mag leeg"
    timestamptz push_tot "mag leeg"
    uuid push_tot_id "mag leeg"
    timestamptz push_op "mag leeg"
    int push_aantal
    text status
    text melding "mag leeg"
    timestamptz bijgewerkt_op
  }
  voorraad_mutatie {
    uuid id PK
    uuid vestiging_id FK
    uuid artikel_id FK "mag leeg"
    uuid ingredient_id FK "mag leeg"
    text soort
    numeric hoeveelheid
    numeric voorraad_na
    uuid bestelling_id FK "mag leeg"
    uuid gebruiker_id FK "mag leeg"
    text reden "mag leeg"
    timestamptz aangemaakt_op
    uuid inkooporder_id FK "mag leeg"
  }
  wachtlijst {
    uuid id PK
    uuid vestiging_id FK
    text naam
    text telefoon "mag leeg"
    int personen
    text wens "mag leeg"
    int wachttijd_min "mag leeg"
    text status
    timestamptz aangemeld_op
    timestamptz opgeroepen_op "mag leeg"
    text sms_status "mag leeg"
    timestamptz sms_op "mag leeg"
    timestamptz geplaatst_op "mag leeg"
    uuid tafel_id FK "mag leeg"
    uuid bestelling_id FK "mag leeg"
    uuid aangemaakt_door FK "mag leeg"
    timestamptz gewijzigd_op "mag leeg"
    text bron
    text webshop_id "mag leeg"
    text webshop_gemeld "mag leeg"
  }
  webshop_bestelling {
    uuid id PK
    uuid bestelling_id FK
    uuid vestiging_id FK
    text webshop_id
    text code "mag leeg"
    text nummer "mag leeg"
    text soort
    text status
    jsonb klant
    timestamptz tijdstip "mag leeg"
    bool zsm
    text betaalwijze "mag leeg"
    bool online_betaald
    int fooi
    int totaal
    text opmerking "mag leeg"
    jsonb regels
    uuid[] regel_ids
    text gemeld "mag leeg"
    timestamptz ontvangen_op
    timestamptz bijgewerkt_op
    uuid rekeningklant_id FK "mag leeg"
    jsonb kamer "mag leeg"
  }
  webshop_gebeurtenis {
    uuid id PK
    uuid webshop_bestelling_id FK
    text soort
    text code "mag leeg"
    text tekst
    timestamptz op
  }
  werktijd {
    uuid id PK
    uuid vestiging_id FK
    uuid gebruiker_id FK
    timestamptz in_op
    timestamptz uit_op "mag leeg"
    text opmerking "mag leeg"
    uuid gewijzigd_door FK "mag leeg"
    timestamptz gewijzigd_op "mag leeg"
    timestamptz aangemaakt_op
  }
  vestiging ||--o| apicbase_koppeling : "vestiging_id"
  artikel |o--o{ apicbase_kostprijs : "artikel_id"
  vestiging ||--o{ apicbase_kostprijs : "vestiging_id"
  btw_tarief |o--o{ artikel : "btw_afhalen"
  btw_tarief ||--o{ artikel : "btw_ter_plaatse"
  artikelgroep |o--o{ artikel : "groep_id"
  leverancier |o--o{ artikel : "leverancier_id"
  vestiging ||--o{ artikel : "vestiging_id"
  artikel ||--o| artikel_foto : "artikel_id"
  artikel ||--o{ artikel_ingredient : "artikel_id"
  ingredient ||--o{ artikel_ingredient : "ingredient_id"
  artikel ||--o{ artikel_prijs : "artikel_id"
  vestiging ||--o{ artikelgroep : "vestiging_id"
  vestiging ||--o{ ayce_arrangement : "vestiging_id"
  vestiging ||--o| bank_koppeling : "vestiging_id"
  factuur |o--o{ bank_transactie : "factuur_id"
  gebruiker |o--o{ bank_transactie : "gebruiker_id"
  rekeningbetaling |o--o{ bank_transactie : "rekeningbetaling_id"
  vestiging ||--o{ bank_transactie : "vestiging_id"
  factuur |o--o{ bank_transactie : "voorstel_factuur_id"
  bestelling |o--o{ bestelling : "apart_van"
  gebruiker |o--o{ bestelling : "gebruiker_id"
  klant |o--o{ bestelling : "klant_id"
  ticket |o--o{ bestelling : "retour_van_ticket"
  bezorg_rit |o--o{ bestelling : "rit_id"
  kassasessie |o--o{ bestelling : "sessie_id"
  tafel |o--o{ bestelling : "tafel_id"
  vestiging ||--o{ bestelling : "vestiging_id"
  ayce_arrangement ||--o{ bestelling_ayce : "arrangement_id"
  bestelling ||--o{ bestelling_ayce : "bestelling_id"
  bestelling ||--o| bestelling_status : "bestelling_id"
  vestiging ||--o{ bestelling_status : "vestiging_id"
  artikel |o--o{ bestelregel : "artikel_id"
  ayce_arrangement |o--o{ bestelregel : "ayce_arrangement"
  bestelling ||--o{ bestelregel : "bestelling_id"
  cadeaubon |o--o{ bestelregel : "cadeaubon_id"
  gebruiker |o--o{ bestelregel : "gebruiker_id"
  bestelregel |o--o{ bestelregel : "korting_van_regel"
  bestelregel |o--o{ bestelregel : "menu_van"
  bestelregel |o--o{ bestelregel : "retour_van_regel"
  ticket |o--o{ bestelregel : "verbetering_van"
  ticket |o--o{ bestelregel : "voorschot_van"
  gebruiker |o--o{ betaalcorrectie : "gebruiker_id"
  ticket ||--o{ betaalcorrectie : "ticket_id"
  vestiging ||--o{ betaalcorrectie : "vestiging_id"
  vestiging ||--o| betaalinstelling : "vestiging_id"
  vestiging ||--o{ betaalterminal : "vestiging_id"
  bestelling ||--o{ betaling : "bestelling_id"
  gebruiker |o--o{ betaling : "gebruiker_id"
  gebruiker |o--o{ bezorg_rit : "aangemaakt_door"
  gebruiker |o--o{ bezorg_rit : "afgerekend_door"
  gebruiker |o--o{ bezorg_rit : "bezorger_id"
  vestiging ||--o{ bezorg_rit : "vestiging_id"
  gebruiker |o--o{ bezorger_koppeling : "aangemaakt_door"
  gebruiker ||--o{ bezorger_koppeling : "gebruiker_id"
  gebruiker |o--o{ bezorger_koppeling : "ingetrokken_door"
  vestiging ||--o{ bezorger_koppeling : "vestiging_id"
  vestiging ||--o{ bi_koppeling : "vestiging_id"
  gebruiker |o--o{ boekhoud_app : "gewijzigd_door"
  vestiging ||--o{ boekhoud_app : "vestiging_id"
  vestiging ||--o{ boekhoud_boeking : "vestiging_id"
  gebruiker |o--o{ boekhoud_koppeling : "verbonden_door"
  vestiging ||--o| boekhoud_koppeling : "vestiging_id"
  artikel |o--o{ btw_planning : "artikel_id"
  gebruiker |o--o{ btw_planning : "gebruiker_id"
  btw_tarief ||--o{ btw_planning : "tarief_id"
  vestiging ||--o{ btw_planning : "vestiging_id"
  vestiging ||--o{ btw_tarief : "vestiging_id"
  vestiging ||--o{ cadeaubon : "vestiging_id"
  bestelling |o--o{ cadeaubon_mutatie : "bestelling_id"
  cadeaubon ||--o{ cadeaubon_mutatie : "cadeaubon_id"
  gebruiker |o--o{ cadeaubon_mutatie : "gebruiker_id"
  vestiging ||--o{ camera_systeem : "vestiging_id"
  vestiging ||--o{ dagdeel : "vestiging_id"
  bestelling ||--o{ digitale_bon : "bestelling_id"
  vestiging ||--o{ digitale_bon : "vestiging_id"
  vestiging ||--o{ exact_boeking : "vestiging_id"
  gebruiker |o--o{ exact_koppeling : "verbonden_door"
  vestiging ||--o| exact_koppeling : "vestiging_id"
  bestelling |o--o{ factuur : "bestelling_id"
  factuur |o--o{ factuur : "creditnota_van"
  gebruiker |o--o{ factuur : "gebruiker_id"
  rekeningklant |o--o{ factuur : "rekeningklant_id"
  ticket |o--o{ factuur : "ticket_id"
  vestiging ||--o{ factuur : "vestiging_id"
  gebruiker |o--o{ gebeurtenis : "gebruiker_id"
  vestiging ||--o{ gebeurtenis : "vestiging_id"
  vestiging ||--o{ gebruiker : "vestiging_id"
  vestiging ||--o| geldsysteem : "vestiging_id"
  bestelling |o--o{ geldtransactie : "bestelling_id"
  gebruiker |o--o{ geldtransactie : "gebruiker_id"
  vestiging ||--o{ geldtransactie : "vestiging_id"
  vestiging ||--o{ gks2_event : "vestiging_id"
  vestiging ||--o{ haccp_punt : "vestiging_id"
  gebruiker |o--o{ haccp_registratie : "gebruiker_id"
  haccp_punt |o--o{ haccp_registratie : "punt_id"
  haccp_taak |o--o{ haccp_registratie : "taak_id"
  vestiging ||--o{ haccp_registratie : "vestiging_id"
  vestiging ||--o{ haccp_taak : "vestiging_id"
  vestiging ||--o{ happyhour : "vestiging_id"
  bestelling |o--o{ hotel_boeking : "bestelling_id"
  gebruiker |o--o{ hotel_boeking : "gebruiker_id"
  vestiging ||--o{ hotel_boeking : "vestiging_id"
  vestiging ||--o{ hotel_gast : "vestiging_id"
  vestiging ||--o| hotel_koppeling : "vestiging_id"
  leverancier |o--o{ ingredient : "leverancier_id"
  vestiging ||--o{ ingredient : "vestiging_id"
  gebruiker |o--o{ inkooporder : "gemaakt_door"
  leverancier |o--o{ inkooporder : "leverancier_id"
  gebruiker |o--o{ inkooporder : "verzonden_door"
  vestiging ||--o{ inkooporder : "vestiging_id"
  artikel |o--o{ inkooporder_regel : "artikel_id"
  ingredient |o--o{ inkooporder_regel : "ingredient_id"
  inkooporder ||--o{ inkooporder_regel : "order_id"
  gebruiker |o--o{ kasmutatie : "gebruiker_id"
  kassasessie ||--o{ kasmutatie : "sessie_id"
  vestiging ||--o{ kasmutatie : "vestiging_id"
  gebruiker |o--o{ kassasessie : "geopend_door"
  gebruiker |o--o{ kassasessie : "gesloten_door"
  vestiging ||--o{ kassasessie : "vestiging_id"
  vestiging ||--o| keuken_instelling : "vestiging_id"
  bestelling ||--o{ keuken_volgorde : "bestelling_id"
  vestiging ||--o{ keuken_volgorde : "vestiging_id"
  betaalterminal |o--o{ kiosk_apparaat : "betaalterminal_id"
  vestiging ||--o{ kiosk_apparaat : "vestiging_id"
  bestelling ||--o| kiosk_bestelling : "bestelling_id"
  kiosk_apparaat |o--o{ kiosk_bestelling : "kiosk_id"
  vestiging ||--o{ kiosk_bestelling : "vestiging_id"
  vestiging ||--o{ klant : "vestiging_id"
  artikel |o--o{ klant_mutatie : "artikel_id"
  bestelling |o--o{ klant_mutatie : "bestelling_id"
  gebruiker |o--o{ klant_mutatie : "gebruiker_id"
  klant |o--o{ klant_mutatie : "klant_id"
  vestiging ||--o{ klant_mutatie : "vestiging_id"
  artikel ||--o{ klant_stempel : "artikel_id"
  klant ||--o{ klant_stempel : "klant_id"
  marketing_campagne |o--o{ kortingscode : "campagne_id"
  klant |o--o{ kortingscode : "klant_id"
  bestelling |o--o{ kortingscode : "te_laat_bestelling_id"
  vestiging ||--o{ kortingscode : "vestiging_id"
  bestelling |o--o{ kortingscode_gebruik : "bestelling_id"
  kortingscode ||--o{ kortingscode_gebruik : "kortingscode_id"
  gebruiker ||--o{ ladestart : "medewerker_id"
  kassasessie ||--o{ ladestart : "sessie_id"
  gebruiker |o--o{ ladetelling : "geteld_door"
  gebruiker |o--o{ ladetelling : "medewerker_id"
  kassasessie |o--o{ ladetelling : "sessie_id"
  vestiging ||--o{ ladetelling : "vestiging_id"
  vestiging ||--o{ leverancier : "vestiging_id"
  klant |o--o{ mailing_klant : "klant_id"
  vestiging ||--o{ mailing_klant : "vestiging_id"
  vestiging ||--o{ mailing_koppeling : "vestiging_id"
  marketing_campagne ||--o{ marketing_bericht : "campagne_id"
  klant |o--o{ marketing_bericht : "klant_id"
  gebruiker |o--o{ marketing_campagne : "aangemaakt_door"
  vestiging ||--o{ marketing_campagne : "vestiging_id"
  artikelgroep |o--o{ menu_onderdeel : "groep_id"
  artikel ||--o{ menu_onderdeel : "menu_artikel_id"
  vestiging ||--o{ muziek_bron : "vestiging_id"
  optiegroep ||--o{ optie : "optiegroep_id"
  ingredient ||--o{ optie_ingredient : "ingredient_id"
  optie ||--o{ optie_ingredient : "optie_id"
  artikel |o--o{ optiegroep : "artikel_id"
  artikelgroep |o--o{ optiegroep : "artikelgroep_id"
  gebruiker |o--o{ personeel_koppeling : "gewijzigd_door"
  vestiging ||--o{ personeel_koppeling : "vestiging_id"
  bestelling ||--o{ pinbetaling : "bestelling_id"
  betaalterminal |o--o{ pinbetaling : "betaalterminal_id"
  gebruiker |o--o{ pinbetaling : "gebruiker_id"
  vestiging ||--o{ pinbetaling : "vestiging_id"
  bestelling ||--o| platform_bestelling : "bestelling_id"
  vestiging ||--o{ platform_bestelling : "vestiging_id"
  platform_bestelling ||--o{ platform_gebeurtenis : "bestelling_id"
  vestiging ||--o{ platform_koppeling : "vestiging_id"
  vestiging ||--o{ printapparaat : "vestiging_id"
  vestiging ||--o{ printer : "vestiging_id"
  factuur |o--o{ rekeningbetaling : "factuur_id"
  gebruiker |o--o{ rekeningbetaling : "gebruiker_id"
  kasmutatie |o--o{ rekeningbetaling : "kasmutatie_id"
  rekeningpost |o--o{ rekeningbetaling : "post_id"
  vestiging ||--o{ rekeningbetaling : "vestiging_id"
  vestiging ||--o{ rekeningklant : "vestiging_id"
  gebruiker |o--o{ rekeningklant_storting : "gebruiker_id"
  kasmutatie |o--o{ rekeningklant_storting : "kasmutatie_id"
  rekeningklant ||--o{ rekeningklant_storting : "klant_id"
  vestiging ||--o{ rekeningklant_storting : "vestiging_id"
  factuur |o--o{ rekeningpost : "factuur_id"
  gebruiker |o--o{ rekeningpost : "gebruiker_id"
  rekeningklant ||--o{ rekeningpost : "klant_id"
  ticket ||--o| rekeningpost : "ticket_id"
  vestiging ||--o{ rekeningpost : "vestiging_id"
  gebruiker |o--o{ reservering : "aangemaakt_door"
  bestelling |o--o{ reservering : "bestelling_id"
  klant |o--o{ reservering : "klant_id"
  reservering_platform |o--o{ reservering : "platform_id"
  tafel |o--o{ reservering : "tafel_id"
  vestiging ||--o{ reservering : "vestiging_id"
  vestiging ||--o{ reservering_platform : "vestiging_id"
  gebruiker |o--o{ review : "antwoord_door"
  vestiging ||--o{ review : "vestiging_id"
  vestiging ||--o{ review_koppeling : "vestiging_id"
  bestelling |o--o| review_verzoek : "bestelling_id"
  vestiging ||--o{ review_verzoek : "vestiging_id"
  vestiging ||--o{ rolrecht : "vestiging_id"
  vestiging ||--o{ ruimte : "vestiging_id"
  gebruiker |o--o{ scherm_tablet : "aangemaakt_door"
  gebruiker |o--o{ scherm_tablet : "gestuurd_door"
  vestiging ||--o{ scherm_tablet : "vestiging_id"
  gebruiker |o--o{ signalering : "afgehandeld_door"
  bestelling |o--o{ signalering : "bestelling_id"
  gebruiker |o--o{ signalering : "gebruiker_id"
  vestiging ||--o{ signalering : "vestiging_id"
  vestiging ||--o| signalering_instelling : "vestiging_id"
  bestelling ||--o{ spaar_link : "bestelling_id"
  vestiging ||--o{ spaar_link : "vestiging_id"
  vestiging ||--o| spaar_review : "vestiging_id"
  artikel ||--o| stempelkaart : "artikel_id"
  vestiging ||--o{ stempelkaart : "vestiging_id"
  ruimte ||--o{ tafel : "ruimte_id"
  vestiging ||--o{ tap_bron : "vestiging_id"
  artikel |o--o{ tap_kraan : "artikel_id"
  tap_bron ||--o{ tap_kraan : "bron_id"
  vestiging ||--o{ tap_kraan : "vestiging_id"
  gebruiker |o--o{ tap_tap : "afgehandeld_door"
  artikel |o--o{ tap_tap : "artikel_id"
  bestelling |o--o{ tap_tap : "bestelling_id"
  bestelregel |o--o{ tap_tap : "bestelregel_id"
  tap_bron |o--o{ tap_tap : "bron_id"
  tap_kraan |o--o{ tap_tap : "kraan_id"
  vestiging ||--o{ tap_tap : "vestiging_id"
  tap_vrijgave |o--o{ tap_tap : "vrijgave_id"
  bestelling |o--o{ tap_vrijgave : "bestelling_id"
  bestelregel |o--o| tap_vrijgave : "bestelregel_id"
  tap_bron |o--o{ tap_vrijgave : "bron_id"
  gebruiker |o--o{ tap_vrijgave : "gebruiker_id"
  tap_kraan |o--o{ tap_vrijgave : "kraan_id"
  vestiging ||--o{ tap_vrijgave : "vestiging_id"
  bestelling ||--o| te_laat : "bestelling_id"
  gebruiker |o--o{ te_laat : "gebruiker_id"
  kortingscode |o--o{ te_laat : "kortingscode_id"
  vestiging ||--o{ te_laat : "vestiging_id"
  vestiging ||--o| telefonie_instelling : "vestiging_id"
  gebruiker |o--o{ telefoon_oproep : "afgehandeld_door"
  bestelling |o--o{ telefoon_oproep : "bestelling_id"
  klant |o--o{ telefoon_oproep : "klant_id"
  vestiging ||--o{ telefoon_oproep : "vestiging_id"
  vestiging ||--o{ teller : "vestiging_id"
  bestelling |o--o{ thefork_order : "bestelling_id"
  vestiging ||--o{ thefork_order : "vestiging_id"
  bestelling ||--o| thuisbezorgd_bestelling : "bestelling_id"
  vestiging ||--o{ thuisbezorgd_bestelling : "vestiging_id"
  thuisbezorgd_bestelling ||--o{ thuisbezorgd_gebeurtenis : "bestelling_id"
  bestelling |o--o{ ticket : "bestelling_id"
  gebruiker |o--o{ ticket : "gebruiker_id"
  vestiging ||--o{ ticket : "vestiging_id"
  artikel ||--o| vinify_artikel : "artikel_id"
  vestiging ||--o{ vinify_artikel : "vestiging_id"
  vestiging ||--o| vinify_koppeling : "vestiging_id"
  artikel |o--o{ voorraad_mutatie : "artikel_id"
  bestelling |o--o{ voorraad_mutatie : "bestelling_id"
  gebruiker |o--o{ voorraad_mutatie : "gebruiker_id"
  ingredient |o--o{ voorraad_mutatie : "ingredient_id"
  inkooporder |o--o{ voorraad_mutatie : "inkooporder_id"
  vestiging ||--o{ voorraad_mutatie : "vestiging_id"
  gebruiker |o--o{ wachtlijst : "aangemaakt_door"
  bestelling |o--o{ wachtlijst : "bestelling_id"
  tafel |o--o{ wachtlijst : "tafel_id"
  vestiging ||--o{ wachtlijst : "vestiging_id"
  bestelling ||--o{ webshop_bestelling : "bestelling_id"
  rekeningklant |o--o{ webshop_bestelling : "rekeningklant_id"
  vestiging ||--o{ webshop_bestelling : "vestiging_id"
  webshop_bestelling ||--o{ webshop_gebeurtenis : "webshop_bestelling_id"
  gebruiker ||--o{ werktijd : "gebruiker_id"
  gebruiker |o--o{ werktijd : "gewijzigd_door"
  vestiging ||--o{ werktijd : "vestiging_id"