edeposit_agg_fee_per_user to reporting
This commit is contained in:
parent
951bc70123
commit
ad2eb2544c
6 changed files with 309 additions and 230 deletions
|
|
@ -2781,233 +2781,4 @@ models:
|
|||
- name: has_bookings_with_product_bundle_with_paid_service
|
||||
data_type: integer
|
||||
description: |
|
||||
Integer-based flag version of total_bookings_with_product_bundle_with_paid_service.
|
||||
|
||||
- name: int_edeposit__verifications
|
||||
description:
|
||||
"This table holds records on verifications for e-deposit bookings.
|
||||
It contains details on validations checked on the guests, guest information
|
||||
and some booking details like checkin-checkout date or the status of the verification.
|
||||
The id values found here are completely unrelated to the ones found in Core DWH."
|
||||
columns:
|
||||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a booking"
|
||||
|
||||
- name: id_user_host
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for host"
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a listing"
|
||||
|
||||
- name: version
|
||||
data_type: text
|
||||
description:
|
||||
"value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V1
|
||||
- V2
|
||||
|
||||
- name: verification_source
|
||||
data_type: text
|
||||
description:
|
||||
"source of the verification for the booking"
|
||||
tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
- Edeposit
|
||||
|
||||
- name: verification_status
|
||||
data_type: text
|
||||
description: "status of the verification"
|
||||
|
||||
- name: verification_status_reason
|
||||
data_type: text
|
||||
description: "short explanation for status"
|
||||
|
||||
- name: nightly_fee_local
|
||||
data_type: text
|
||||
description: "fee charged per night"
|
||||
|
||||
- name: number_nights
|
||||
data_type: integer
|
||||
description: "number of nights for the booking"
|
||||
|
||||
- name: email_flag
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: phone_flag
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: watch_list
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: channel
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: checkin_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of checkin for the booking"
|
||||
|
||||
- name: checkout_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of checkout for the booking"
|
||||
|
||||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: ""
|
||||
|
||||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of cancellation of the booking"
|
||||
|
||||
- name: user_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_last_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_first_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_telephone
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: company_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: property_manager_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: property_manager_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_town
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_country
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_postcode
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: pets_allowed
|
||||
data_type: boolean
|
||||
description: ""
|
||||
|
||||
- name: level_of_protection_amount
|
||||
data_type: integer
|
||||
description: ""
|
||||
|
||||
- name: level_of_protection_currency
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: status_updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp when status was last updated"
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of last updated"
|
||||
|
||||
- name: creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: ""
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: ""
|
||||
|
||||
- name: int_edeposit__agg_fee_per_user
|
||||
description:
|
||||
"This table holds detailed data on revenue generated through e-deposit verifications.
|
||||
Each record provides insights into booking activities per user, including the number
|
||||
of bookings, cancellations, and associated fees within specific months. Each record
|
||||
captures data for bookings created in a particular month along with their corresponding
|
||||
checkout month, allowing for a comprehensive view of the booking lifecycle and associated
|
||||
revenues within those periods."
|
||||
tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- year_month_created
|
||||
- year_month_checkout
|
||||
- id_user_host
|
||||
columns:
|
||||
- name: year_month_created
|
||||
data_type: text
|
||||
description: "first day of month of created date"
|
||||
|
||||
- name: year_month_checkout
|
||||
data_type: text
|
||||
description: "first day of month of check-out date"
|
||||
|
||||
- name: id_user_host
|
||||
data_type: text
|
||||
description: "unique id value for user host"
|
||||
|
||||
- name: bookings_per_month
|
||||
data_type: bigint
|
||||
description: "total number of bookings"
|
||||
|
||||
- name: cancelled_per_month
|
||||
data_type: bigint
|
||||
description: "number of cancelled bookings"
|
||||
|
||||
- name: cancelled_ratio
|
||||
data_type: numeric
|
||||
description: "ratio of cancelled bookings over total bookings"
|
||||
|
||||
- name: sum_cancelled_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for cancelled bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_ok_status_fee
|
||||
data_type: double precision
|
||||
description: |
|
||||
"sum of fees charged for bookings with status 'Approved' or 'Flagged'
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_rejected_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for rejected bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: total_revenue
|
||||
data_type: double precision
|
||||
description: "total sum of fees charged (currency-less)"
|
||||
Integer-based flag version of total_bookings_with_product_bundle_with_paid_service.
|
||||
231
models/intermediate/edeposit/schema.yaml
Normal file
231
models/intermediate/edeposit/schema.yaml
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
version: 2
|
||||
|
||||
models:
|
||||
- name: int_edeposit__verifications
|
||||
description:
|
||||
"This table holds records on verifications for e-deposit bookings.
|
||||
It contains details on validations checked on the guests, guest information
|
||||
and some booking details like checkin-checkout date or the status of the verification.
|
||||
The id values found here are completely unrelated to the ones found in Core DWH."
|
||||
columns:
|
||||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a booking"
|
||||
|
||||
- name: id_user_host
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for host"
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a listing"
|
||||
|
||||
- name: version
|
||||
data_type: text
|
||||
description:
|
||||
"value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V1
|
||||
- V2
|
||||
|
||||
- name: verification_source
|
||||
data_type: text
|
||||
description:
|
||||
"source of the verification for the booking"
|
||||
tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
- Edeposit
|
||||
|
||||
- name: verification_status
|
||||
data_type: text
|
||||
description: "status of the verification"
|
||||
|
||||
- name: verification_status_reason
|
||||
data_type: text
|
||||
description: "short explanation for status"
|
||||
|
||||
- name: nightly_fee_local
|
||||
data_type: text
|
||||
description: "fee charged per night"
|
||||
|
||||
- name: number_nights
|
||||
data_type: integer
|
||||
description: "number of nights for the booking"
|
||||
|
||||
- name: email_flag
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: phone_flag
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: watch_list
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: channel
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: checkin_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of checkin for the booking"
|
||||
|
||||
- name: checkout_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of checkout for the booking"
|
||||
|
||||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: ""
|
||||
|
||||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of cancellation of the booking"
|
||||
|
||||
- name: user_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_last_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_first_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: guest_telephone
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: company_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: property_manager_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: property_manager_email
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_name
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_town
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_country
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: listing_postcode
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: pets_allowed
|
||||
data_type: boolean
|
||||
description: ""
|
||||
|
||||
- name: level_of_protection_amount
|
||||
data_type: integer
|
||||
description: ""
|
||||
|
||||
- name: level_of_protection_currency
|
||||
data_type: text
|
||||
description: ""
|
||||
|
||||
- name: status_updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp when status was last updated"
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Timestamp of last updated"
|
||||
|
||||
- name: creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: ""
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: ""
|
||||
|
||||
- name: int_edeposit__agg_fee_per_user
|
||||
description:
|
||||
"This table holds detailed data on revenue generated through e-deposit verifications.
|
||||
Each record provides insights into booking activities per user, including the number
|
||||
of bookings, cancellations, and associated fees within specific months. Each record
|
||||
captures data for bookings created in a particular month along with their corresponding
|
||||
checkout month, allowing for a comprehensive view of the booking lifecycle and associated
|
||||
revenues within those periods."
|
||||
tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- year_month_created
|
||||
- year_month_checkout
|
||||
- id_user_host
|
||||
columns:
|
||||
- name: year_month_created
|
||||
data_type: text
|
||||
description: "first day of month of created date"
|
||||
|
||||
- name: year_month_checkout
|
||||
data_type: text
|
||||
description: "first day of month of check-out date"
|
||||
|
||||
- name: id_user_host
|
||||
data_type: text
|
||||
description: "unique id value for user host"
|
||||
|
||||
- name: bookings_per_month
|
||||
data_type: bigint
|
||||
description: "total number of bookings"
|
||||
|
||||
- name: cancelled_per_month
|
||||
data_type: bigint
|
||||
description: "number of cancelled bookings"
|
||||
|
||||
- name: cancelled_ratio
|
||||
data_type: numeric
|
||||
description: "ratio of cancelled bookings over total bookings"
|
||||
|
||||
- name: sum_cancelled_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for cancelled bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_ok_status_fee
|
||||
data_type: double precision
|
||||
description: |
|
||||
"sum of fees charged for bookings with status 'Approved' or 'Flagged'
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_rejected_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for rejected bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: total_revenue
|
||||
data_type: double precision
|
||||
description: "total sum of fees charged (currency-less)"
|
||||
16
models/reporting/edeposit/edeposit_agg_fee_per_user.sql
Normal file
16
models/reporting/edeposit/edeposit_agg_fee_per_user.sql
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
with
|
||||
int_edeposit__agg_fee_per_user as (
|
||||
select * from {{ ref("int_edeposit__agg_fee_per_user") }}
|
||||
)
|
||||
select
|
||||
year_month_created as year_month_created,
|
||||
year_month_checkout as year_month_checkout,
|
||||
id_user_host as id_user_host,
|
||||
bookings_per_month as bookings_per_month,
|
||||
cancelled_per_month as cancelled_per_month,
|
||||
cancelled_ratio as cancelled_ratio,
|
||||
sum_cancelled_fee as sum_cancelled_fee,
|
||||
sum_ok_status_fee as sum_ok_status_fee,
|
||||
sum_rejected_fee as sum_rejected_fee,
|
||||
total_revenue as total_revenue
|
||||
from int_edeposit__agg_fee_per_user
|
||||
61
models/reporting/edeposit/schema.yaml
Normal file
61
models/reporting/edeposit/schema.yaml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
version: 2
|
||||
|
||||
models:
|
||||
- name: edeposit__agg_fee_per_user
|
||||
description:
|
||||
"This table holds detailed data on revenue generated through e-deposit verifications.
|
||||
Each record provides insights into booking activities per user, including the number
|
||||
of bookings, cancellations, and associated fees within specific months. Each record
|
||||
captures data for bookings created in a particular month along with their corresponding
|
||||
checkout month, allowing for a comprehensive view of the booking lifecycle and associated
|
||||
revenues within those periods."
|
||||
tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- year_month_created
|
||||
- year_month_checkout
|
||||
- id_user_host
|
||||
columns:
|
||||
- name: year_month_created
|
||||
data_type: text
|
||||
description: "first day of month of created date"
|
||||
|
||||
- name: year_month_checkout
|
||||
data_type: text
|
||||
description: "first day of month of check-out date"
|
||||
|
||||
- name: id_user_host
|
||||
data_type: text
|
||||
description: "unique id value for user host"
|
||||
|
||||
- name: bookings_per_month
|
||||
data_type: bigint
|
||||
description: "total number of bookings"
|
||||
|
||||
- name: cancelled_per_month
|
||||
data_type: bigint
|
||||
description: "number of cancelled bookings"
|
||||
|
||||
- name: cancelled_ratio
|
||||
data_type: numeric
|
||||
description: "ratio of cancelled bookings over total bookings"
|
||||
|
||||
- name: sum_cancelled_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for cancelled bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_ok_status_fee
|
||||
data_type: double precision
|
||||
description: |
|
||||
"sum of fees charged for bookings with status 'Approved' or 'Flagged'
|
||||
(currency-less)"
|
||||
|
||||
- name: sum_rejected_fee
|
||||
data_type: numeric
|
||||
description: "sum of fees charged for rejected bookings
|
||||
(currency-less)"
|
||||
|
||||
- name: total_revenue
|
||||
data_type: double precision
|
||||
description: "total sum of fees charged (currency-less)"
|
||||
Loading…
Add table
Add a link
Reference in a new issue