Models Glossary
This document provides an overview of all available models in the ETL framework. Models are organized by their processing stage and chain specificity.
Common Models
These models are available across all chains and represent the standard data entities in the ETL pipeline.
Raw Models
RawReservationModel
Represents raw reservation data as ingested from source systems.
Database: GlueDatabases.RAW
Table: RawTables.RESERVATIONS
Cleaned Models
CleanGuestModel
Represents cleaned and standardized guest data.
Database: GlueDatabases.CLEAN
Table: CleanTables.GUESTS
CleanReservationModel
Represents cleaned and standardized reservation data.
Database: GlueDatabases.CLEAN
Table: CleanTables.RESERVATIONS
CleanRoomModel
Represents cleaned and standardized room data.
Database: GlueDatabases.CLEAN
Table: CleanTables.ROOMS
Processed Models
ProcessedGuestModel
Represents fully processed guest data ready for analytics.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.GUESTS
ProcessedReservationModel
Represents fully processed reservation data ready for analytics.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.RESERVATIONS
ProcessedRoomModel
Represents fully processed room data ready for analytics.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.ROOMS
Incremental / Added Models
ProcessedAddedGuestModel
Represents new or recently changed guest records processed in incremental runs. Used for merging into ProcessedGuestModel.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.ADDED_GUESTS
ProcessedAddedReservationModel
Represents new or recently changed reservation records processed in incremental runs. Used for merging into ProcessedReservationModel.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.ADDED_RESERVATIONS
ProcessedAddedRoomModel
Represents new or recently changed room/stay records processed in incremental runs. Used for merging into ProcessedRoomModel.
Database: GlueDatabases.PROCESSED
Table: ProcessedTables.ADDED_ROOMS
Chain-Specific Models
These models are specific to individual hotel chains and handle chain-specific data structures.
Athenaeum Chain
RawRevenueModel
Represents raw revenue data specific to the Athenaeum hotel chain.
Database: GlueDatabases.RAW
Table: RawTables.REVENUE
Opera Chain (Cheval Collection)
RawRateModel
Represents raw rate/daily revenue details specific to the Opera (Cheval Collection) chain.
Database: GlueDatabases.RAW
Table: RawTables.RATES
RawProfileModel
Represents raw profile/guest payloads specific to the Opera (Cheval Collection) chain.
Database: GlueDatabases.RAW
Table: RawTables.PROFILES
Guestline Chain (Queensway)
RawRoompicksModel
Raw event payloads for Guestline roompicks.
Database: GlueDatabases.RAW
Table: RawTables.ROOMPICKS
RawPersonprofilesModel
Raw personprofiles payloads used to enrich guest data.
Database: GlueDatabases.RAW
Table: RawTables.PROFILES
Model Base Class
All models inherit from the Model base class, which provides common functionality:
Methods
get() -> DataFrame: Returns the DataFrame, reading from catalog if not already loadedwrite(): Writes the DataFrame to the catalog at the specified database and tableread(unpersist=True) -> DataFrame: Reads the DataFrame from the catalog
Constructor Parameters
job_context(required): The job context containing catalog and configurationdatabase(optional): Override the default databasetable(optional): Override the default tabledf(optional): Provide an existing DataFrame instead of reading from catalog**kwargs: Additional keyword arguments passed to the base class