# Description This PR handles the new price set for Athena in Nov.24, as indicated by Nila from Finance (see more detailes in linked story). Price has gone from 2.0GBP to 2.1GBP. Note that I have manually checked the correctness of the figures, I'm highly confident on the quality of the PR. All figures stay the same in old and new version of to the cutoff date (`2024-11-01T00:00:00Z`). Then, after that date, the 10 cents extra show appropiately. # 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: #26475
176 lines
6.4 KiB
YAML
176 lines
6.4 KiB
YAML
version: 2
|
|
|
|
seeds:
|
|
- name: stg_seed__currencies
|
|
description: |
|
|
A list of valid current currencies according to ISO 4217.
|
|
|
|
The list was obtained from https://www.six-group.com/en/products-services/financial-information/data-standards.html#scrollTo=isin
|
|
config:
|
|
column_types:
|
|
iso_4217_numeric_code: varchar(3)
|
|
columns:
|
|
- name: iso_4217_code
|
|
data_type: character varying
|
|
description: The 3 character ISO 4217 code for this currency, in Uppercase.
|
|
data_tests:
|
|
- not_null
|
|
- dbt_expectations.expect_column_values_to_match_regex:
|
|
regex: "^[A-Z]{3}$"
|
|
- name: iso_4217_numeric_code
|
|
data_type: character varying
|
|
description: The 3 digit ISO 4217 numeric code for this currency.
|
|
data_tests:
|
|
- not_null
|
|
- dbt_expectations.expect_column_values_to_match_regex:
|
|
regex: "^[0-9]{3}$"
|
|
- name: decimal_positions
|
|
data_type: int
|
|
description: |
|
|
The decimal positions that lead to this currency smallest unit.
|
|
|
|
For example: since Japanese Yen (JPY) have no cents, this value is 0.
|
|
|
|
On the other hand, since the US Dollar (USD) is composed of cents, and each dollar equals 100 cent, this value is 2.
|
|
|
|
To convert from normal unit (Dollar) to smallest unit (Cent), multiply by `10^decimal_positions`.
|
|
To convert from smallest unit (Cent) to normal unit (Dollar), divide by `10^decimal_positions`.
|
|
data_tests:
|
|
- not_null
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
max_value: 8
|
|
strictly: False
|
|
|
|
- name: stg_seed__guest_services_vat_rates_by_country
|
|
description: |
|
|
A list of applicable VAT rates for guest services, by country.
|
|
|
|
The list was provided by the Finance team. A value of 0% does not
|
|
necessarily mean that the country doesn't have VAT, but rather that we
|
|
don't need to charge it to guests from that country.
|
|
|
|
Country names and codes _almost_ follow ISO 3166-1 (https://en.wikipedia.org/wiki/ISO_3166-1).
|
|
The only exception sits in the Kosovo record. Kosovo does not appear as a country in ISO 3166, but is nevertheless
|
|
a valid country in the `Country` table of the Superhog backend database. Because of this, we need to include it.
|
|
The present codes are made up (not truly ISO 3166 codes) and match the ones present in the backend.
|
|
|
|
Read more here: https://www.notion.so/knowyourguest-superhog/Guest-Services-Taxes-How-to-calculate-a5ab4c049d61427fafab669dbbffb3a2?pvs=4
|
|
|
|
config:
|
|
column_types:
|
|
country_code: varchar(3)
|
|
columns:
|
|
- name: country_name
|
|
data_type: character varying
|
|
description: The name of the country.
|
|
|
|
data_tests:
|
|
- not_null
|
|
- unique
|
|
- name: alpha_2
|
|
data_type: character varying
|
|
description: |
|
|
The two characters ISO 3166-1 Alpha-2 code for the country.
|
|
|
|
data_tests:
|
|
- not_null
|
|
- unique
|
|
- dbt_expectations.expect_column_values_to_match_regex:
|
|
regex: "^[A-Za-z]{2}$"
|
|
- name: alpha_3
|
|
data_type: character varying
|
|
description: |
|
|
The three characters ISO 3166-1 Alpha-3 code for the country.
|
|
|
|
data_tests:
|
|
- not_null
|
|
- unique
|
|
- dbt_expectations.expect_column_values_to_match_regex:
|
|
regex: "^[A-Za-z]{3}$"
|
|
- name: country_code
|
|
data_type: character varying
|
|
description: |
|
|
The three digit ISO 3166-1 Numeric code for the country.
|
|
|
|
data_tests:
|
|
- not_null
|
|
- unique
|
|
- dbt_expectations.expect_column_values_to_match_regex:
|
|
regex: "^[0-9]{3}$"
|
|
- name: vat_rate
|
|
data_type: numeric
|
|
description: |
|
|
The Superhog applicable VAT rate for guests of this country. A value
|
|
of 0% does not necessarily mean that the country doesn't have VAT, but
|
|
rather that we don't need to charge it to guests from that country.
|
|
|
|
data_tests:
|
|
- not_null
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
max_value: 1
|
|
strictly: false
|
|
|
|
- name: stg_seed_guesty_claims_snapshot_20241010
|
|
description: |
|
|
A list of claims that have been paid out within the Athena/Guesty line of
|
|
business.
|
|
|
|
The data was shared on 2024-10-10 by Chloe from Resolutions in a static
|
|
file, and was added to the DWH to support this ticket: https://guardhog.visualstudio.com/Data/_boards/board/t/Data%20Team/Stories/?workitem=22703
|
|
This is a static snapshot and we currently have no intent of maintaining up to date.
|
|
|
|
columns:
|
|
- name: "Booking ID"
|
|
data_type: character varying
|
|
description: |
|
|
The internal ID of this booking in Athena. Matches with the booking ID
|
|
in the Athena verifications table.
|
|
|
|
- name: "Claim Date"
|
|
data_type: timestamp
|
|
description: When was the claim received by Superhog.
|
|
|
|
- name: "Settled Date"
|
|
data_type: timestamp
|
|
description: |
|
|
When was the outcome of the claim decided by Superhog. Do not confuse
|
|
with when was the payment executed or received.
|
|
|
|
- name: "Paid Date"
|
|
data_type: timestamp
|
|
description: |
|
|
When was the settlement amount payment executed by Superhog.
|
|
|
|
- name: Settlement Currency
|
|
data_type: character varying
|
|
description: ISO4217 code of the currency in which the claim was posted.
|
|
|
|
- name: Settlement Amount
|
|
data_type: numeric
|
|
description: |
|
|
How much Superhog decided to pay out to the partner as part of this
|
|
claim, defined in the settlement currency.
|
|
|
|
- name: stg_seed__athena_price_history
|
|
description: |
|
|
A price history for the Athena fee per night.
|
|
|
|
Yes, I know. It's terrible that we keep this here. Oh boy, how I wish it
|
|
wasn't like this!
|
|
|
|
columns:
|
|
- name: start_at_utc
|
|
data_type: timestamp
|
|
description: |
|
|
The start of the time range where this record is applicable.
|
|
|
|
- name: end_at_utc
|
|
data_type: timestamp
|
|
description: The end of the time range where this record is applicable.
|
|
|
|
- name: fee_per_night_gbp
|
|
data_type: numeric
|
|
description: |
|
|
How much we charge per night in this time range.
|