Skip to Content

RoomMetricsTask

The RoomMetricsTask calculates daily stay metrics per room including stay-day/night flags, length of stay, and revenue aggregations.

Overview

This task transforms room data to enable daily-level analysis by:

  • Calculating length of stay for each room
  • Setting check-in/check-out day flags
  • Determining stay-day and stay-night flags
  • Computing total net revenue per stay date
  • Aggregating occupancy metrics

Notes and Incremental Behavior

  • Requires CleanRoomModel and CleanReservationModel as input models.
  • Produces ProcessedRoomModel and supports incremental processing by writing ProcessedAddedRoomModel when only new/changed rooms are processed.
  • The task will compute room_stay_date_total_net from room_stay_date_rate_net, room_stay_date_fnb_net, and room_stay_date_other_net if not present.
  • A default room_pm boolean column is set to False if missing.
  • The incremental merge deduplicates by composite key (res_id, room_stay_date) and merges added rows into the existing ProcessedRoomModel.

Flow Diagram

Occupancy Calculation

Last updated on