Merged PR 4546: Calculator changes
# Description After talking with the Ant he we realised that the `was_overriden` was not properly set up so I removed it. Added all calculated and submitted values for both guests and hosts and left out values in USD since we are not going to use them on the report. # 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. - [ ] I have checked for DRY opportunities with other models and docs. - [ ] I've picked the right materialization for the affected models. # Other - [ ] Check if a full-refresh is required after this PR is merged. Calculator changes Related work items: #27812
This commit is contained in:
commit
b2e15bbbab
6 changed files with 176 additions and 52 deletions
|
|
@ -189,20 +189,27 @@ select
|
||||||
|
|
||||||
-- Resolutions calculator
|
-- Resolutions calculator
|
||||||
i.protection_name,
|
i.protection_name,
|
||||||
i.was_overriden,
|
|
||||||
i.waiver_or_deposit_name,
|
i.waiver_or_deposit_name,
|
||||||
i.guest_verification_status,
|
i.guest_verification_status,
|
||||||
i.lower_protection_limit_usd,
|
i.lower_protection_limit_usd,
|
||||||
i.upper_protection_limit_usd,
|
i.upper_protection_limit_usd,
|
||||||
i.calculated_payout_amount_in_txn_currency,
|
i.calculated_payout_amount_in_txn_currency,
|
||||||
i.calculated_payout_currency,
|
i.calculated_payout_currency,
|
||||||
i.calculated_payout_amount_in_usd,
|
|
||||||
(i.calculated_payout_amount_in_usd * cer.rate)::decimal(
|
(i.calculated_payout_amount_in_usd * cer.rate)::decimal(
|
||||||
19, 4
|
19, 4
|
||||||
) as calculated_payout_amount_in_gbp,
|
) as calculated_payout_amount_in_gbp,
|
||||||
|
i.submitted_payout_amount_in_txn_currency,
|
||||||
|
i.submitted_payout_currency,
|
||||||
|
(i.submitted_payout_amount_in_usd * cer.rate)::decimal(
|
||||||
|
19, 4
|
||||||
|
) as submitted_payout_amount_in_gbp,
|
||||||
|
i.calculated_guest_charge_amount_in_txn_currency,
|
||||||
|
i.calculated_guest_charge_currency,
|
||||||
|
(i.calculated_guest_charge_amount_in_usd * cer.rate)::decimal(
|
||||||
|
19, 4
|
||||||
|
) as calculated_guest_charge_amount_in_gbp,
|
||||||
i.submitted_guest_charge_amount_in_txn_currency,
|
i.submitted_guest_charge_amount_in_txn_currency,
|
||||||
i.submitted_guest_charge_currency,
|
i.submitted_guest_charge_currency,
|
||||||
i.submitted_guest_charge_amount_in_usd,
|
|
||||||
(i.submitted_guest_charge_amount_in_usd * cer.rate)::decimal(
|
(i.submitted_guest_charge_amount_in_usd * cer.rate)::decimal(
|
||||||
19, 4
|
19, 4
|
||||||
) as submitted_guest_charge_amount_in_gbp,
|
) as submitted_guest_charge_amount_in_gbp,
|
||||||
|
|
|
||||||
|
|
@ -162,12 +162,6 @@ models:
|
||||||
or asked_repair_amount_in_host_currency > 0
|
or asked_repair_amount_in_host_currency > 0
|
||||||
or accepted_amount_in_host_currency > 0"
|
or accepted_amount_in_host_currency > 0"
|
||||||
|
|
||||||
- name: was_overriden
|
|
||||||
data_type: boolean
|
|
||||||
description: |
|
|
||||||
"Flag to indicate if the proposed settlement value from the
|
|
||||||
calculator was overridden."
|
|
||||||
|
|
||||||
- name: guest_verification_status
|
- name: guest_verification_status
|
||||||
data_type: text
|
data_type: text
|
||||||
description: "Guest verification status for this booking."
|
description: "Guest verification status for this booking."
|
||||||
|
|
@ -203,17 +197,55 @@ models:
|
||||||
- not_null:
|
- not_null:
|
||||||
where: "calculated_payout_amount_in_txn_currency > 0"
|
where: "calculated_payout_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
- name: calculated_payout_amount_in_usd
|
- name: calculated_payout_amount_in_gbp
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Calculated payout amount in USD."
|
description: "Calculated payout amount in GBP."
|
||||||
data_tests:
|
data_tests:
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
min_value: 0
|
min_value: 0
|
||||||
strictly: false
|
strictly: false
|
||||||
|
|
||||||
- name: calculated_payout_amount_in_gbp
|
- name: submitted_payout_amount_in_txn_currency
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Calculated payout amount in GBP."
|
description: "Submitted payout amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: submitted_payout_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the submitted payout amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "submitted_payout_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: submitted_payout_amount_in_gbp
|
||||||
|
data_type: numeric
|
||||||
|
description: "Submitted payout amount in GBP."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_txn_currency
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the calculated guest charge amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "calculated_guest_charge_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_gbp
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in GBP."
|
||||||
data_tests:
|
data_tests:
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
min_value: 0
|
min_value: 0
|
||||||
|
|
@ -234,14 +266,6 @@ models:
|
||||||
- not_null:
|
- not_null:
|
||||||
where: "submitted_guest_charge_amount_in_txn_currency > 0"
|
where: "submitted_guest_charge_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
- name: submitted_guest_charge_amount_in_usd
|
|
||||||
data_type: numeric
|
|
||||||
description: "Submitted guest charge amount in USD."
|
|
||||||
data_tests:
|
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
|
||||||
min_value: 0
|
|
||||||
strictly: false
|
|
||||||
|
|
||||||
- name: submitted_guest_charge_amount_in_gbp
|
- name: submitted_guest_charge_amount_in_gbp
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Submitted guest charge amount in GBP."
|
description: "Submitted guest charge amount in GBP."
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,6 @@ select
|
||||||
accepted_amount_in_gbp as accepted_amount_in_gbp,
|
accepted_amount_in_gbp as accepted_amount_in_gbp,
|
||||||
host_currency as host_currency,
|
host_currency as host_currency,
|
||||||
protection_name as protection_name,
|
protection_name as protection_name,
|
||||||
was_overriden as was_overriden,
|
|
||||||
waiver_or_deposit_name as waiver_or_deposit_name,
|
waiver_or_deposit_name as waiver_or_deposit_name,
|
||||||
guest_verification_status as guest_verification_status,
|
guest_verification_status as guest_verification_status,
|
||||||
lower_protection_limit_usd as lower_protection_limit_usd,
|
lower_protection_limit_usd as lower_protection_limit_usd,
|
||||||
|
|
@ -38,12 +37,17 @@ select
|
||||||
calculated_payout_amount_in_txn_currency
|
calculated_payout_amount_in_txn_currency
|
||||||
as calculated_payout_amount_in_txn_currency,
|
as calculated_payout_amount_in_txn_currency,
|
||||||
calculated_payout_currency as calculated_payout_currency,
|
calculated_payout_currency as calculated_payout_currency,
|
||||||
calculated_payout_amount_in_usd as calculated_payout_amount_in_usd,
|
|
||||||
calculated_payout_amount_in_gbp as calculated_payout_amount_in_gbp,
|
calculated_payout_amount_in_gbp as calculated_payout_amount_in_gbp,
|
||||||
|
submitted_payout_amount_in_txn_currency as submitted_payout_amount_in_txn_currency,
|
||||||
|
submitted_payout_currency as submitted_payout_currency,
|
||||||
|
submitted_payout_amount_in_gbp as submitted_payout_amount_in_gbp,
|
||||||
|
calculated_guest_charge_amount_in_txn_currency
|
||||||
|
as calculated_guest_charge_amount_in_txn_currency,
|
||||||
|
calculated_guest_charge_currency as calculated_guest_charge_currency,
|
||||||
|
calculated_guest_charge_amount_in_gbp as calculated_guest_charge_amount_in_gbp,
|
||||||
submitted_guest_charge_amount_in_txn_currency
|
submitted_guest_charge_amount_in_txn_currency
|
||||||
as submitted_guest_charge_amount_in_txn_currency,
|
as submitted_guest_charge_amount_in_txn_currency,
|
||||||
submitted_guest_charge_currency as submitted_guest_charge_currency,
|
submitted_guest_charge_currency as submitted_guest_charge_currency,
|
||||||
submitted_guest_charge_amount_in_usd as submitted_guest_charge_amount_in_usd,
|
|
||||||
submitted_guest_charge_amount_in_gbp as submitted_guest_charge_amount_in_gbp,
|
submitted_guest_charge_amount_in_gbp as submitted_guest_charge_amount_in_gbp,
|
||||||
id_user_host as id_user_host,
|
id_user_host as id_user_host,
|
||||||
host_account_name as host_account_name,
|
host_account_name as host_account_name,
|
||||||
|
|
|
||||||
|
|
@ -162,12 +162,6 @@ models:
|
||||||
or asked_repair_amount_in_host_currency > 0
|
or asked_repair_amount_in_host_currency > 0
|
||||||
or accepted_amount_in_host_currency > 0"
|
or accepted_amount_in_host_currency > 0"
|
||||||
|
|
||||||
- name: was_overriden
|
|
||||||
data_type: boolean
|
|
||||||
description: |
|
|
||||||
"Flag to indicate if the proposed settlement value from the
|
|
||||||
calculator was overridden."
|
|
||||||
|
|
||||||
- name: guest_verification_status
|
- name: guest_verification_status
|
||||||
data_type: text
|
data_type: text
|
||||||
description: "Guest verification status for this booking."
|
description: "Guest verification status for this booking."
|
||||||
|
|
@ -203,17 +197,55 @@ models:
|
||||||
- not_null:
|
- not_null:
|
||||||
where: "calculated_payout_amount_in_txn_currency > 0"
|
where: "calculated_payout_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
- name: calculated_payout_amount_in_usd
|
- name: calculated_payout_amount_in_gbp
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Calculated payout amount in USD."
|
description: "Calculated payout amount in GBP."
|
||||||
data_tests:
|
data_tests:
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
min_value: 0
|
min_value: 0
|
||||||
strictly: false
|
strictly: false
|
||||||
|
|
||||||
- name: calculated_payout_amount_in_gbp
|
- name: submitted_payout_amount_in_txn_currency
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Calculated payout amount in GBP."
|
description: "Submitted payout amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: submitted_payout_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the submitted payout amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "submitted_payout_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: submitted_payout_amount_in_gbp
|
||||||
|
data_type: numeric
|
||||||
|
description: "Submitted payout amount in GBP."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_txn_currency
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the calculated guest charge amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "calculated_guest_charge_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_gbp
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in GBP."
|
||||||
data_tests:
|
data_tests:
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
min_value: 0
|
min_value: 0
|
||||||
|
|
@ -234,14 +266,6 @@ models:
|
||||||
- not_null:
|
- not_null:
|
||||||
where: "submitted_guest_charge_amount_in_txn_currency > 0"
|
where: "submitted_guest_charge_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
- name: submitted_guest_charge_amount_in_usd
|
|
||||||
data_type: numeric
|
|
||||||
description: "Submitted guest charge amount in USD."
|
|
||||||
data_tests:
|
|
||||||
- dbt_expectations.expect_column_values_to_be_between:
|
|
||||||
min_value: 0
|
|
||||||
strictly: false
|
|
||||||
|
|
||||||
- name: submitted_guest_charge_amount_in_gbp
|
- name: submitted_guest_charge_amount_in_gbp
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Submitted guest charge amount in GBP."
|
description: "Submitted guest charge amount in GBP."
|
||||||
|
|
|
||||||
|
|
@ -313,11 +313,6 @@ models:
|
||||||
description: "Indicates the selected booking protection plan,
|
description: "Indicates the selected booking protection plan,
|
||||||
e.g., Damage Protection Plan."
|
e.g., Damage Protection Plan."
|
||||||
|
|
||||||
- name: was_overriden
|
|
||||||
data_type: boolean
|
|
||||||
description: "Flag to indicate if the proposed settlement value from
|
|
||||||
the calculator was overriden."
|
|
||||||
|
|
||||||
- name: waiver_or_deposit_name
|
- name: waiver_or_deposit_name
|
||||||
data_type: text
|
data_type: text
|
||||||
description: "Indicates whether the guest selected Deposit or Waiver as their cover."
|
description: "Indicates whether the guest selected Deposit or Waiver as their cover."
|
||||||
|
|
@ -365,6 +360,52 @@ models:
|
||||||
min_value: 0
|
min_value: 0
|
||||||
strictly: false
|
strictly: false
|
||||||
|
|
||||||
|
- name: submitted_payout_amount_in_txn_currency
|
||||||
|
data_type: numeric
|
||||||
|
description: "Submitted payout amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: submitted_payout_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the submitted payout amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "submitted_payout_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: submitted_payout_amount_in_usd
|
||||||
|
data_type: numeric
|
||||||
|
description: "Submitted payout amount in USD."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_txn_currency
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in local currency."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_currency
|
||||||
|
data_type: text
|
||||||
|
description: "Currency of the calculated guest charge amount."
|
||||||
|
data_tests:
|
||||||
|
- not_null:
|
||||||
|
where: "calculated_guest_charge_amount_in_txn_currency > 0"
|
||||||
|
|
||||||
|
- name: calculated_guest_charge_amount_in_usd
|
||||||
|
data_type: numeric
|
||||||
|
description: "Calculated guest charge amount in USD."
|
||||||
|
data_tests:
|
||||||
|
- dbt_expectations.expect_column_values_to_be_between:
|
||||||
|
min_value: 0
|
||||||
|
strictly: false
|
||||||
|
|
||||||
- name: submitted_guest_charge_amount_in_txn_currency
|
- name: submitted_guest_charge_amount_in_txn_currency
|
||||||
data_type: numeric
|
data_type: numeric
|
||||||
description: "Submitted guest charge amount in local currency."
|
description: "Submitted guest charge amount in local currency."
|
||||||
|
|
|
||||||
|
|
@ -200,8 +200,6 @@ select
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'ProtectionName' as protection_name,
|
->> 'ProtectionName' as protection_name,
|
||||||
({{ adapter.quote("documents") }} -> 'SavedCalculation' ->> 'WasOverriden')::boolean
|
|
||||||
as was_overriden,
|
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'WaiverOrDepositName' as waiver_or_deposit_name,
|
->> 'WaiverOrDepositName' as waiver_or_deposit_name,
|
||||||
|
|
@ -221,16 +219,42 @@ select
|
||||||
(
|
(
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'SubmittedHostPayoutAmount'
|
->> 'CalculatedHostPayoutAmountTheirCurrency'
|
||||||
)::numeric as calculated_payout_amount_in_txn_currency,
|
)::numeric as calculated_payout_amount_in_txn_currency,
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'SubmittedHostPayoutCurrency' as calculated_payout_currency,
|
->> 'CalculatedHostPayoutCurrency' as calculated_payout_currency,
|
||||||
(
|
(
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'CalculatedHostPayoutAmountInUsd'
|
->> 'CalculatedHostPayoutAmountInUsd'
|
||||||
)::numeric as calculated_payout_amount_in_usd,
|
)::numeric as calculated_payout_amount_in_usd,
|
||||||
|
(
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'SubmittedHostPayoutAmount'
|
||||||
|
)::numeric as submitted_payout_amount_in_txn_currency,
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'SubmittedHostPayoutCurrency' as submitted_payout_currency,
|
||||||
|
(
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'SubmittedHostPayoutAmountUsd'
|
||||||
|
)::numeric as submitted_payout_amount_in_usd,
|
||||||
|
(
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'CalculatedGuestChargeAmountTheirCurrency'
|
||||||
|
)::numeric as calculated_guest_charge_amount_in_txn_currency,
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'CalculatedGuestChargeCurrency' as calculated_guest_charge_currency,
|
||||||
|
(
|
||||||
|
{{ adapter.quote("documents") }}
|
||||||
|
-> 'SavedCalculation'
|
||||||
|
->> 'CalculatedGuestChargeAmountInUsd'
|
||||||
|
)::numeric as calculated_guest_charge_amount_in_usd,
|
||||||
(
|
(
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
|
|
@ -242,7 +266,7 @@ select
|
||||||
(
|
(
|
||||||
{{ adapter.quote("documents") }}
|
{{ adapter.quote("documents") }}
|
||||||
-> 'SavedCalculation'
|
-> 'SavedCalculation'
|
||||||
->> 'SubmittedGuestChargeAmountInUsd'
|
->> 'SubmittedGuestChargeAmountUsd'
|
||||||
)::numeric as submitted_guest_charge_amount_in_usd,
|
)::numeric as submitted_guest_charge_amount_in_usd,
|
||||||
|
|
||||||
-- Third Party Compensation Claim
|
-- Third Party Compensation Claim
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue