Skip to Content
ProcessesTasksChainsGuestlineGuestline Ingester Task

GuestlineIngesterTask

The GuestlineIngesterTask is responsible for downloading Guestline event logs from the configured Gateway and writing them into the ingest bucket. It downloads both roompicks (per-property event logs) and personprofiles (global profiles), normalizing keys and converting payloads to Spark DataFrames.

Overview

The ingester:

  • Calls the Guestline gateway using HttpClient with X-API-KEY headers
  • Requests event log URIs and then downloads event payloads
  • Lowercases JSON keys for downstream parsing
  • Writes event payloads to the ingest catalog as roompicks or personprofiles
  • Supports sync_dates to restrict to specific dates during ingestion

Behavior & Options

  • sync_dates: list of dates to ingest (YYYY-MM-DD). If omitted, falls back to default logic.
  • Per-property ingestion: roompicks are ingested per property id; personprofiles are collected once globally.
  • Resilience: handles empty responses and missing eventLogs gracefully.

Models

Requires

  • None

Provides

  • Writes roompicks records to ingest bucket
  • Writes personprofiles records to ingest bucket

Error Handling

  • Logs warnings if no event log URIs are found for a given property/date
  • Does not crash when empty results are returned; gracefully skips
Last updated on