{% set dimensions = get_kpi_dimensions_per_model("GUEST_PAYMENTS") %}

{{
    config(
        materialized="table", unique_key=["end_date", "dimension", "dimension_value"]
    )
}}


{% for dimension in dimensions %}
    select
        -- Unique Key --
        start_date,
        end_date,
        {{ dimension.dimension }} as dimension,
        {{ dimension.dimension_value }} as dimension_value,
        -- Metrics --
        sum(deposit_fees_in_gbp) as deposit_fees_in_gbp,
        sum(waiver_payments_in_gbp) as waiver_payments_in_gbp,
        sum(checkin_cover_fees_in_gbp) as checkin_cover_fees_in_gbp,
        sum(total_guest_payments_in_gbp) as total_guest_payments_in_gbp
    from {{ ref("int_kpis__metric_weekly_guest_payments") }}
    group by 1, 2, 3, 4
    {% if not loop.last %}
        union all
    {% endif %}
{% endfor %}
