Skip to Content
ProcessesModelsModels Glossary

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 loaded
  • write(): Writes the DataFrame to the catalog at the specified database and table
  • read(unpersist=True) -> DataFrame: Reads the DataFrame from the catalog

Constructor Parameters

  • job_context (required): The job context containing catalog and configuration
  • database (optional): Override the default database
  • table (optional): Override the default table
  • df (optional): Provide an existing DataFrame instead of reading from catalog
  • **kwargs: Additional keyword arguments passed to the base class
Last updated on