diff --git a/models/reporting/check_in_hero/check_in_hero__user_monthly_fee.sql b/models/reporting/check_in_hero/check_in_hero__user_monthly_fee.sql new file mode 100644 index 0000000..944c23d --- /dev/null +++ b/models/reporting/check_in_hero/check_in_hero__user_monthly_fee.sql @@ -0,0 +1,17 @@ +with + int_check_in_hero__user_monthly_fee as ( + select * from {{ ref("int_check_in_hero__user_monthly_fee") }} + ) + +select + id_user_partner as id_user_partner, + year as year, + month as month, + id_currency as id_currency, + currency_code as currency_code, + total_fee_in_local_currency as total_fee_in_local_currency, + total_fee_in_gbp as total_fee_in_gbp, + number_of_requests as number_of_requests, + company_name as company_name, + user_email as user_email +from int_check_in_hero__user_monthly_fee diff --git a/models/reporting/check_in_hero/schema.yml b/models/reporting/check_in_hero/schema.yml index c66e10e..adda291 100644 --- a/models/reporting/check_in_hero/schema.yml +++ b/models/reporting/check_in_hero/schema.yml @@ -156,3 +156,81 @@ models: description: Date when the record was created. data_tests: - not_null + + - name: check_in_hero__user_monthly_fee + description: | + Table that shows the total monthly fee for each user. + These charges are calculated based on the amount of request created + for each user partner that will be invoiced at the beginning of the + following month. + columns: + - name: id_user_partner + data_type: text + description: | + Identifier for the partner user associated with the check-in. + data_tests: + - not_null + + - name: year + data_type: integer + description: | + Year when the charges are created. This is obtained from the + creation date of each record. + data_tests: + - not_null + + - name: month + data_type: integer + description: | + Month number when the charges are created. This is obtained from the + creation date of each record. + data_tests: + - not_null + + - name: id_currency + data_type: bigint + description: "Id of the currency, works as a foreign key to the + currency table" + data_tests: + - not_null + - relationships: + to: ref('stg_core__currency') + field: id_currency + + - name: currency_code + data_type: character varying + description: Currency ISO 4217 code used by user. + data_tests: + - not_null + + - name: total_fee_in_local_currency + data_type: numeric + description: "Total fee charged to the user for the month in the local currency." + data_tests: + - dbt_expectations.expect_column_values_to_be_between: + min_value: 0 + strictly: true + + - name: total_fee_in_gbp + data_type: numeric + description: "Total fee charged to the user for the month in gbp." + data_tests: + - dbt_expectations.expect_column_values_to_be_between: + min_value: 0 + strictly: true + + - name: number_of_requests + data_type: numeric + description: "Count of requests created by the user partner for the month." + data_tests: + - dbt_expectations.expect_column_values_to_be_between: + min_value: 0 + strictly: true + + - name: company_name + data_type: text + description: Company name of partner user. + + - name: user_email + data_type: text + description: Email address of the user associated with the check-in.