Entwicklerhandbuch

Tabellen-Detail

Datenmodell

Tabellen-Detail

Tabellenprofile mit Zweck, Tenant-Key, Kritikalität, Beziehungen und technischer Spaltenstruktur.

DB-Tabellen: 333Views: 0Trigger: 0
Tabellen-Detail

hcc_zimmer

Vertiefte Sicht auf fachlichen Zweck, Mandantenbezug, Nutzungsstatus, Datenverantwortung, Risiken und Spaltenstruktur dieser Tabelle.

← Zurück zu Datenbank

Inventar / ZimmerNutzung: aktivKritikalität: hochTenant-Key: zi_hotelnummerGo-Live: hoch
26
Spalten
35
Dateibezüge
40
Lese-/Schreibhinweise
6
ID-/Verknüpfungsfelder
Kritischer Bereich
Diese Datei oder Tabelle ist fachlich bzw. technisch besonders sensibel. Änderungen sollten immer mit Blick auf Abhängigkeiten, Scope und Seiteneffekte geprüft werden.
Go-Live-relevant
Dieser Bereich ist für sichtbare, operative oder produktive Abläufe besonders relevant.
Tenant-/Hotelbezug
Dieser Bereich arbeitet direkt mit hotel- bzw. mandantenbezogenem Scope. Änderungen sollten immer auf saubere Zuordnung und Scope-Logik geprüft werden.

Langbeschreibung

Zimmer-Stammdaten und operative Raum-Basis

Die Tabelle `hcc_zimmer` ist die zentrale Haupttabelle für die einzelnen Zimmer eines Hotels. Sie hält die wichtigsten Stammdaten zu realen oder logisch buchbaren Zimmerobjekten fest und bildet damit die Grundlage für viele weitere Bereiche wie Inventar, Bilder, Zusatzleistungen, Verfügbarkeiten, Restriktionen, Concierge-Funktionen oder modulübergreifende Zimmerbezüge. Immer dann, wenn das System nicht nur mit einem Hotel im Ganzen, sondern mit einem konkreten Zimmer arbeitet, ist `hcc_zimmer` in der Regel einer der wichtigsten Bezugspunkte.

Überblick
Kurzbeschreibung

Die Tabelle `hcc_zimmer` ist die zentrale Haupttabelle für die einzelnen Zimmer eines Hotels. Sie hält die wichtigsten Stammdaten zu realen oder logisch buchbaren Zimmerobjekten fest und bildet damit die Grundlage für viele weitere Bereiche wie Inventar, Bilder, Zusatzleistungen, Verfügbarkeiten, Restriktionen, Concierge-Funktionen oder modulübergreifende Zimmerbezüge. Immer dann, wenn das System nicht nur mit einem Hotel im Ganzen, sondern mit einem konkreten Zimmer arbeitet, ist `hcc_zimmer` in der Regel einer der wichtigsten Bezugspunkte.

Fachlicher Zweck
Wofür diese Tabelle gebraucht wird

Der Hauptzweck dieser Tabelle besteht darin, jedes Zimmer eines Hotels als eigenständiges Objekt im System zu führen. Dabei werden zentrale Informationen wie Hotelbezug, Zimmernummer, interne Zuordnung, Kategorien, Zimmertypen, Bettentypen, Aktivitäts- und Anzeigezustände sowie weitere zimmerbezogene Kerndaten gebündelt. Dadurch muss die Zimmerlogik nicht in vielen verschiedenen Tabellen parallel nachgebildet werden, sondern kann sich auf eine zentrale Room-Basis stützen.

Warum es sie gibt

Diese Tabelle existiert, weil ein Hotel nicht nur als Mandant, sondern auch auf Ebene seiner einzelnen Zimmer verwaltet werden muss. Preise, Belegbarkeit, Bilder, Zusatzleistungen, Restriktionen oder guest-facing Informationen lassen sich nur dann sauber steuern, wenn jedes Zimmer im System eindeutig bekannt ist. `hcc_zimmer` löst genau dieses Problem: Sie definiert das Zimmer als fachlich und technisch greifbares Kernobjekt. Ohne eine solche Tabelle müssten verschiedene Bereiche mit freien Texten oder uneinheitlichen Referenzen arbeiten, was schnell zu Inkonsistenzen und Pflegeproblemen führen würde.

Nutzen im Alltag

Aus geschäftlicher Sicht sorgt diese Tabelle dafür, dass Zimmer nicht nur technisch vorhanden sind, sondern im gesamten System konsistent und nachvollziehbar verwaltet werden können. Sie ist damit die Grundlage für ein gepflegtes Inventar, eine saubere Darstellung im Portal, stabile Zuordnungen bei Bildern und Zusatzleistungen sowie für viele spätere Automatisierungen. Wenn Zimmerdaten klar und strukturiert geführt werden, sinkt der Pflegeaufwand, Fehler in angrenzenden Bereichen werden reduziert und operative Prozesse lassen sich deutlich sicherer steuern.

Einfach erklärt
Für Nicht-Techniker

Einfach erklärt ist diese Tabelle das zentrale Zimmerverzeichnis des Hotels. Hier steht, welche Zimmer es überhaupt gibt, wie sie intern geführt werden und wie sie grundsätzlich eingeordnet sind. Man kann sich `hcc_zimmer` wie einen sauberen Hauptordner für alle Zimmer vorstellen: Jedes Zimmer bekommt dort seinen eigenen Datensatz. Andere Bereiche wie Bilder, Ausstattungen, Zusatzleistungen, Buchungsregeln oder Gästeinformationen docken dann an diesen Zimmereintrag an. Dadurch weiß das System jederzeit, auf welches konkrete Zimmer sich eine Information bezieht. Für nicht-technische Leser ist wichtig: Diese Tabelle ist nicht nur eine einfache Liste mit Zimmernummern, sondern die eigentliche Basis dafür, dass Zimmer im Portal, im Backend und in weiteren Modulen überhaupt sinnvoll verwaltet werden können.

Technische Einordnung
Für Entwickler

Technisch ist `hcc_zimmer` die führende Room-Referenztabelle im hotelbezogenen Datenmodell. Sie verbindet den Hotel-Scope mit der operativen Zimmerlogik und dient vielen nachgelagerten Tabellen als Referenzpunkt, entweder direkt über eine Zimmer-ID oder indirekt über Zimmernummern und hotelbezogene Schlüssel. In gewachsenen Strukturen kann die Tabelle zusätzlich Legacy-Textfelder parallel zu neueren ID-basierten Beziehungen enthalten, etwa für Zimmerbezeichnung, Kategorie oder Bettentyp. Genau deshalb ist `hcc_zimmer` architektonisch sensibel: Änderungen an IDs, Scope-Feldern, Aktivitätslogik oder Klassifizierungsfeldern haben oft unmittelbare Auswirkungen auf Imports, Medienbezüge, Zusatzleistungs-Mappings, Verfügbarkeitssteuerung und modulübergreifende Room-Integrationen.

Was Änderungen auslösen können

Änderungen an `hcc_zimmer` wirken sich meist deutlich breiter aus, als es auf den ersten Blick scheint. Das betrifft vor allem Zimmerkennungen, Scope-Felder, Referenzlogik, Aktivitätszustände und die Verknüpfung zu Kategorien oder Typen. Wer diese Tabelle anpasst, sollte immer mitdenken, welche Importpfade, Zuordnungstabellen, Medienbezüge, Zusatzleistungs-Mappings, Restriktionslogiken und modulübergreifenden Room-Features daran hängen. `hcc_zimmer` ist kein isolierter Inventarbaustein, sondern eine zentrale operative Basistabelle.

Typische Nutzung und Inhalte
Typische Nutzung
  • Ein Hotel legt seine Zimmer im Backend an und pflegt dort Nummer, Typ, Kategorie oder weitere Stammdaten.
  • Import- und Pflegeprozesse lesen oder schreiben Zimmerdaten, um das Inventar aktuell zu halten.
  • Bilder, Zusatzleistungen und weitere Features werden einem konkreten Zimmer über dessen Referenz zugeordnet.
  • Buchungsnahe Prozesse greifen auf Zimmerdaten zu, um Verfügbarkeiten, Restriktionen oder Room-Mappings korrekt zu verarbeiten.
  • Concierge- oder Gastfunktionen lesen Zimmereigenschaften, um zimmerbezogene Inhalte oder Einstellungen anzuzeigen.
Hauptinhalte
  • Zentrale Zimmerkennung, zum Beispiel Zimmer-ID, Zimmernummer oder interne technische Referenzen.
  • Hotelbezug, damit jedes Zimmer klar einem Hotel zugeordnet bleibt.
  • Klassifizierungen wie Zimmerkategorie, Zimmertyp, Bezeichnung oder Bettentyp.
  • Steuerungsinformationen wie Aktivitäts-, Sichtbarkeits- oder Anzeigezustände.
  • Weitere strukturierende Felder, die für Pflege, Zuordnung und Folgeprozesse relevant sind.
Beispiele
  • Ein neues Zimmer wird angelegt und kann danach mit Bildern, Zusatzleistungen und Sichtbarkeitseinstellungen verknüpft werden.
  • Ein Import aktualisiert Zimmerdaten, damit Nummern, Typen oder Kategorien im System aktuell bleiben.
  • Eine Gästefunktion liest das zugeordnete Zimmer, um passende Informationen oder zimmerbezogene Einstellungen anzuzeigen.
  • Ein Restriktionsprozess prüft, auf welches konkrete Zimmer sich eine Regel oder Verfügbarkeitsinformation bezieht.
Beziehungen und Risiken
Wichtige Beziehungen
  • `hcc_zimmer` steht in enger Beziehung zu Zimmerkategorien, Zimmertypen, Bettentypen und weiteren Lookup-Tabellen des Inventars.
  • Zimmerbilder, Zimmer-Zusatzleistungen, Restriktionen, Kontingente und weitere operative Prozesse nutzen das Zimmer als Referenzobjekt.
  • StayGuide-, Room-Settings- oder andere modulübergreifende Bereiche greifen auf Zimmerdaten zurück, wenn sie einen konkreten Raum adressieren müssen.
  • Änderungen an Zimmerkennung oder Scope müssen in abhängigen Mappings und Integrationen konsistent mitgetragen werden.
Risiken
  • Änderungen an Zimmer-IDs oder hotelbezogenen Scope-Feldern können viele Folgebeziehungen gleichzeitig beeinflussen.
  • Uneinheitliche Pflege von Legacy-Textfeldern und neuen ID-Feldern kann zu widersprüchlichen Zuordnungen führen.
  • Fehlerhafte Aktiv- oder Anzeigezustände können dazu führen, dass Zimmer im Backend, in Importen oder im Portal unerwartet fehlen oder falsch erscheinen.
  • Direkte strukturelle Änderungen ohne Prüfung der abhängigen Module können Seiteneffekte in Medien, Zusatzleistungen, Restriktionen oder Gastfunktionen auslösen.
Hinweise
  • Diese Tabelle gehört zu den wichtigsten operativen Kernobjekten des Inventarbereichs.
  • In gewachsenen Beständen sollte besonders darauf geachtet werden, ob neben neuen ID-Feldern noch Legacy-Textfelder aktiv mitgeführt werden.
  • Für nicht-technische Leser lässt sich `hcc_zimmer` am besten als zentrales Zimmerverzeichnis mit technischer Tiefenwirkung erklären.

Steckbrief

Wofür diese Tabelle da ist

Dieser Bereich erklärt in kompakter Form, welche Aufgabe die Tabelle im Projekt hat und wie wichtig sie für Betrieb und Weiterentwicklung ist.

Projektkontext und Verantwortung
Modul / BereichInventar / Zimmer
Status im Projektaktiv
Hotel- / Mandanten-Schlüsselzi_hotelnummer
Wichtigkeithoch
Relevanz im Betriebhoch
Datenbank-EngineInnoDB
Zweck und Aufgabe

Verwaltet Zimmer eines Hotels inklusive Hotelbezug, Zimmernummer, Kategorien, Typen, Bettentypen und weiterer zimmerbezogener Kerndaten.

Wichtige Beziehungen

Mandantenbezug läuft über zi_hotelnummer. | Wird im Code von 35 Datei(en) direkt referenziert. | Soft-Delete- oder Statuslogik ist in der Struktur erkennbar. | Zentrale Room-Referenz für Inventar, Medien, Zusatzleistungen und weitere Module. | Verknüpft Core-Hotelbezug mit operativer Zimmerlogik.

Risiken bei Änderungen

Schemaänderungen oder Änderungen an Zimmer-IDs, Hotelbezug oder Referenzlogik wirken direkt auf Inventar, Bilder, Zusatzleistungen und modulübergreifende Prozesse.

Praktischer Hinweis

Operative Room-Kerntabelle mit direktem Bezug zu Import, Pflege und Medien.

Datenverantwortung

Datenart und Verantwortung

Hier siehst du, welche Art von Daten in der Tabelle liegt und worauf man bei Pflege, Historie und Umbauten achten sollte.

Art der gespeicherten Daten
DomäneInventar
Datenklassetransactional
Lifecycledauerhaft
PIInein
Aufbewahrung und Historie

Produktionsrelevante Daten nur mit fachlicher Archivierungsstrategie bereinigen.

Worauf bei Datenqualität zu achten ist

Legacy-Textfelder und neue ID-Felder konsistent halten.

Risiko bei Umbauten

Änderungen nur mit Blick auf Seiteneffekte, Scope und abhängige Prozesse durchführen.

Führende Datenquelle

Führende Room-Quelle für hotelbezogene Zimmerobjekte.

Nutzung

Wo die Tabelle verwendet wird

Dieser Bereich zeigt, in welchen Dateien oder Abläufen die Tabelle vorkommt. Das hilft beim Verstehen von Auswirkungen vor Änderungen.

Verwendet in Dateien39 Dateien
Wird gelesen von37 Lese-Hinweise
hotel/add_zimmer.phphotel/ausstattung_zimmer.phphotel/aus_zusatzleistungen.phphotel/buchung_import_preise_basis.phphotel/buchung_import_verfuegbarkeit.phphotel/buchung_import_verfuegbarkeit_range.phphotel/edit_zimmer.phphotel/edit_zimmer2.phphotel/ical_export.phphotel/ical_import.phphotel/index.phphotel/kalender-zimmer.phphotel/kalender.phphotel/kalender_v1.phphotel/kategorien.phphotel/modules/staypass/kurz_preview.phphotel/modules/staypass/offer_edit.phphotel/modules/staypass/offer_preview.phphotel/modules/staypass/offer_prices.phphotel/modules/staypass/offer_scope.phphotel/portal_readiness_audit.phphotel/preis_zimmer.phphotel/sichtbarkeit_import_zimmerbilder.phphotel/sichtbarkeit_import_zimmerbilder_auswahl.phphotel/staygreenseal_hotels_landing.phphotel/update_zimmerausstattung.phphotel/update_zimmer_status.phphotel/upload-arrangement.phphotel/upload-zimmer.phphotel/zimmer.phphotel/zimmer2.phphotel/zimmerfotos.phphotel/zimmer_arrangement.phphotel/zusatzleistungen_zimmer.phpmodule_settings.phpedit_zimmer.phpmodules/stayguide/api/guestmap/room_settings.php
Wird beschrieben von3 Schreib-Hinweise
inventar_import.phpadd_zimmer.phpedit_zimmer.php
Zusätzliche Hinweise11 Einträge
Legacy-Textfelder existieren zusätzlich zu ID-Feldern.Systemwerte können über negative IDs modelliert sein.#hcc#zimmer#used#tenant#status#inventory#rooms#core#room-scope

Schlüssel & Lifecycle

Wichtige Strukturmerkmale

Hier werden technische Merkmale der Tabelle zusammengefasst, zum Beispiel Schlüssel, Statusfelder und typische Verknüpfungsspalten.

Primärschlüssel
zi_id
Eindeutige Felder und Indizes
zi_idzi_zimmernummerzi_hotelnummerzi_preiszi_kategorie_id
Status-, Lösch- und Sichtbarkeitsfelder
zi_aktivzi_anzeigen
Zeitstempel, Audit und Verknüpfungen
zi_created_atzi_updated_atzi_zimmernummerzi_hotelnummerzi_zimmerbezeichnung_idzi_zimmerkategorie_idzi_bettentyp_idzi_kategorie_id

Weiterarbeiten

Was noch dazugehört

Wenn du die Tabelle weiter untersuchen willst, findest du hier passende Dateien und fachlich verwandte Tabellen.

Spaltenstruktur

Spalten im Überblick

Hier siehst du die Felder der Tabelle mit Typ, Standardwerten und technischen Zusatzinformationen.

Spaltenstruktur öffnen26 Spalten
SpalteTypNullDefaultKeyExtraKommentar
zi_idint(11)NOPRIauto_increment
zi_zimmernummervarchar(20)YESNULLUNI
zi_aktivint(1)NO
zi_anzeigenint(1)YESNULL
zi_hat_bildint(1)YESNULL
zi_hotelnummerint(11)YESNULLMUL
zi_zimmer_anzahlint(11)NO
zi_zimmerbezeichnungvarchar(250)YESNULL
zi_zimmerbezeichnung_idint(11)YESNULL
zi_zimmerkategorievarchar(250)NO
zi_zimmerkategorie_idint(11)YESNULL
zi_bettenartvarchar(150)NO
zi_bettentyp_idint(11)YESNULL
zi_kurzbeschreibungvarchar(200)NO
zi_beschreibungtextYESNULL
zi_personenanzahlint(1)YESNULL
zi_groesseint(3)YESNULL
zi_preisint(11)YESNULLMUL
zi_halber_preisint(11)YESNULL
zi_ausstattungtextYESNULL
zi_checkboxvarchar(100)YESNULL
zi_created_attimestampYEScurrent_timestamp()
zi_pausstattungtextYESNULL
zi_pcheckboxvarchar(100)YESNULL
zi_updated_attimestampYESNULLon update current_timestamp()
zi_kategorie_idint(11)YESNULLMUL