Skip to Content
DevelopmentReferenceTasksChainsGuestlineCleanGuestlineTask — Developer Reference

CleanGuestlineTask — Developer Reference

Developer reference for CleanGuestlineTask used to transform Raw* Guestline models into Clean* models for Queensway.

File: etl_lib/tasks/chains/guestline/CleanGuestlineTask.py

Constructor Parameters

ParameterTypeDescription
nameOptional[str]Custom task name
job_contextJobContextJob context with Spark session and config
**kwargsdictExtra Task kwargs

Example

from etl_lib.tasks.chains.guestline.CleanGuestlineTask import CleanGuestlineTask task = CleanGuestlineTask(job_context=job_context) task.run()

Implementation Summary

  • requires()[RawRoompicksModel, RawPersonprofilesModel]
  • provides()[CleanGuestModel, CleanReservationModel, CleanRoomModel]

Key implementations:

  • Deduplicate reservations using a status priority and latest lasteditedtimestamp timestamp
  • Create res_id and guest_id UUIDs when not present in payloads
  • Enrich guest profiles by joining RawPersonprofilesModel to reservations
  • Explode ratelines to create daily room records with distributed revenue and stay dates
  • Apply cleaning helpers for address/country/email/phone normalization

Back to tasks: /processes/tasks/chains/guestline/clean-guestline-task

Last updated on