# Description Changes: * On Created and Check Out Bookings daily models, the determination of New Dash bookings now uses `int_core__booking_summary`. This does not change the output, but will be more consistent for other KPIs. * Adds the categorisation of `dash_source` in all daily metric models that depend on Verification Requests (Guest Journeys). This affects GJ Created, GJ Started, GJ Completed, GJ w. Payment and Guest Payments. Note that the next aggregations (monthly, mtd, agg_monthly, agg_mtd) are not created yet. This will be done in a separated PR. # Checklist - [X] The edited models and dependants run properly with production data. - [X] The edited models are sufficiently documented. - [X] The edited models contain PK tests, and I've ran and passed them. - [X] I have checked for DRY opportunities with other models and docs. - [X] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Related work items: #27356
46 lines
1.7 KiB
SQL
46 lines
1.7 KiB
SQL
{{ config(materialized="table", unique_key=["date", "id_deal", "dash_source"]) }}
|
|
select
|
|
-- Unique Key --
|
|
icb.created_date_utc as date,
|
|
coalesce(icuh.id_deal, 'UNSET') as id_deal,
|
|
case
|
|
when icbs.id_booking is not null then 'New Dash' else 'Old Dash'
|
|
end as dash_source,
|
|
-- Dimensions --
|
|
coalesce(
|
|
icd.main_billing_country_iso_3_per_deal, 'UNSET'
|
|
) as main_billing_country_iso_3_per_deal,
|
|
coalesce(
|
|
icmas.active_accommodations_per_deal_segmentation, 'UNSET'
|
|
) as active_accommodations_per_deal_segmentation,
|
|
-- Metrics --
|
|
count(distinct icb.id_booking) as created_bookings,
|
|
count(
|
|
distinct case
|
|
when upper(icb.booking_state) = {{ var("cancelled_booking_state") }}
|
|
then icb.id_booking
|
|
else null
|
|
end
|
|
) as cancelled_created_bookings,
|
|
count(
|
|
distinct case
|
|
when not upper(icb.booking_state) = {{ var("cancelled_booking_state") }}
|
|
then icb.id_booking
|
|
else null
|
|
end
|
|
) as not_cancelled_created_bookings
|
|
from {{ ref("int_core__bookings") }} as icb
|
|
left join
|
|
{{ ref("int_core__user_host") }} as icuh on icb.id_user_host = icuh.id_user_host
|
|
left join {{ ref("int_core__deal") }} as icd on icuh.id_deal = icd.id_deal
|
|
left join
|
|
{{ ref("int_kpis__dimension_daily_accommodation") }} as icmas
|
|
on icuh.id_deal = icmas.id_deal
|
|
and icb.created_date_utc = icmas.date
|
|
left join
|
|
{{ ref("int_core__booking_summary") }} as icbs
|
|
on icb.id_booking = icbs.id_booking
|
|
and icbs.is_user_in_new_dash = true
|
|
and icbs.is_missing_id_deal = false
|
|
where icb.is_duplicate_booking = false
|
|
group by 1, 2, 3, 4, 5
|