{{ config( materialized="view", unique_key=[ "end_date", "id_deal", "business_scope", "has_id_check", "active_accommodations_per_deal_segmentation", ], ) }} select -- Unique Key -- d.first_day_month as start_date, d.date as end_date, gp.id_deal, gp.business_scope, gp.has_id_check, gp.active_accommodations_per_deal_segmentation, -- Dimensions -- gp.main_billing_country_iso_3_per_deal, -- Metrics -- sum(gp.deposit_fees_in_gbp) as deposit_fees_in_gbp, sum(gp.waiver_payments_in_gbp) as waiver_payments_in_gbp, sum(gp.checkin_cover_fees_in_gbp) as checkin_cover_fees_in_gbp, sum(gp.stay_disrupt_fees_in_gbp) as stay_disrupt_fees_in_gbp, sum(gp.total_guest_payments_in_gbp) as total_guest_payments_in_gbp from {{ ref("int_kpis__dimension_dates") }} d left join {{ ref("int_kpis__metric_daily_guest_payments") }} gp on date_trunc('month', gp.date)::date = d.first_day_month and extract(day from gp.date) <= d.day where d.is_month_to_date = true and gp.id_deal is not null group by 1, 2, 3, 4, 5, 6, 7