change "tests:" to "data_tests:"
This commit is contained in:
parent
db1edf7a1c
commit
c3c628aec4
29 changed files with 1565 additions and 1565 deletions
|
|
@ -14,7 +14,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ models:
|
|||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -37,7 +37,7 @@ models:
|
|||
- name: version
|
||||
data_type: text
|
||||
description: "value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V1
|
||||
|
|
@ -45,7 +45,7 @@ models:
|
|||
- name: verification_source
|
||||
data_type: text
|
||||
description: "source of the verification for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
|
|
@ -213,7 +213,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -222,7 +222,7 @@ models:
|
|||
description: "unique Superhog generated id for a booking.
|
||||
note that there might be duplicate bookings on the original data
|
||||
but we remove them keeping only the verification with the most recent update."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -233,13 +233,13 @@ models:
|
|||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: "indicates if the booking has been cancelled or not."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: ok_status_fee_in_gbp
|
||||
data_type: integer
|
||||
description: "total fee charged on checkout, this is only charged for approved verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -249,11 +249,11 @@ models:
|
|||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: "Date of creation of the verification in the system"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkout for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -9,33 +9,33 @@ models:
|
|||
- name: id_record
|
||||
data_type: text
|
||||
description: Unique identifier for the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_reservation
|
||||
data_type: text
|
||||
description: Unique identifier for the reservation associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: Unique identifier for the accommodation associated with the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_currency
|
||||
data_type: bigint
|
||||
description: "Id of the currency, works as a foreign key to the
|
||||
currency table"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- relationships:
|
||||
to: ref('stg_core__currency')
|
||||
|
|
@ -64,7 +64,7 @@ models:
|
|||
- name: reservation_total_amount_in_local_currency
|
||||
data_type: numeric
|
||||
description: Total cost amount in guest currency for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: true
|
||||
|
|
@ -73,19 +73,19 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
Currency ISO code used by guest for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: channel
|
||||
data_type: text
|
||||
description: Booking channel or source.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_date_utc
|
||||
data_type: date
|
||||
description: Check-in date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_time_utc
|
||||
|
|
@ -95,13 +95,13 @@ models:
|
|||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: Check-out date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: number_of_nights
|
||||
data_type: integer
|
||||
description: Number of nights for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 1
|
||||
|
||||
|
|
@ -140,29 +140,29 @@ models:
|
|||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -26,18 +26,18 @@ models:
|
|||
description: A unique ID for the record, derived from concatenating the
|
||||
currencies, date, source and version. Currency order is relevant
|
||||
(EURUSD != USDEUR).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: from_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: to_currency
|
||||
data_type: character
|
||||
description: The target currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate
|
||||
data_type: numeric
|
||||
|
|
@ -51,13 +51,13 @@ models:
|
|||
always be one.
|
||||
|
||||
The rate can be smaller than one, but can't be negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_negative_or_zero
|
||||
- not_null
|
||||
- name: rate_date_utc
|
||||
data_type: date
|
||||
description: The date in which the rate record is relevant.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: source
|
||||
data_type: text
|
||||
|
|
@ -72,7 +72,7 @@ models:
|
|||
in nature) or `guess` (the rate sits in the past and is a guess in
|
||||
nature). Note that one currency pair can have multiple rate versions
|
||||
on the same date.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- guess
|
||||
|
|
@ -85,7 +85,7 @@ models:
|
|||
For external sources, this will be the point in time when the
|
||||
information was obtained from them. For stuff we make up here in the
|
||||
DWH, this will be the point in time when we made the assumption.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: int_simple_exchange_rates
|
||||
description: >-
|
||||
|
|
@ -96,7 +96,7 @@ models:
|
|||
The time granularity is daily. Each record holds a currency pair for a
|
||||
specific day. You will only find one conversion rate per currency pair and
|
||||
date.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- from_currency
|
||||
|
|
@ -106,22 +106,22 @@ models:
|
|||
- name: from_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: to_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate
|
||||
data_type: numeric
|
||||
description: The target currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate_date_utc
|
||||
data_type: date
|
||||
description: The date in which the rate record is relevant.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp with time zone
|
||||
|
|
@ -129,7 +129,7 @@ models:
|
|||
For external sources, this will be the point in time when the
|
||||
information was obtained from them. For stuff we make up here in the
|
||||
DWH, this will be the point in time when we made the assumption.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: int_mtd_vs_previous_year_metrics
|
||||
|
|
@ -145,7 +145,7 @@ models:
|
|||
date and it computes the relative increment by using the macro:
|
||||
- calculate_safe_relative_increment
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -156,13 +156,13 @@ models:
|
|||
- name: date
|
||||
data_type: date
|
||||
description: The date for the month-to-date metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dimension
|
||||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
|
|
@ -172,7 +172,7 @@ models:
|
|||
- name: dimension_value
|
||||
data_type: string
|
||||
description: The value or segment available for the selected dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: int_mtd_aggregated_metrics
|
||||
|
|
@ -183,7 +183,7 @@ models:
|
|||
a set of metric, value, previous_year_value and relative_increment at a given date. It uses Jinja
|
||||
code to avoid code replication.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -195,31 +195,31 @@ models:
|
|||
- name: year
|
||||
data_type: int
|
||||
description: year number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: month
|
||||
data_type: int
|
||||
description: month number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: day
|
||||
data_type: int
|
||||
description: day monthly number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_end_of_month
|
||||
data_type: boolean
|
||||
description: True if it's end of month.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_end_of_month_or_yesterday
|
||||
data_type: boolean
|
||||
description: True if it's end of month or yesterday.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_current_month
|
||||
|
|
@ -227,27 +227,27 @@ models:
|
|||
description: |
|
||||
checks if the date is within the current executed month,
|
||||
1 for yes, 0 for no.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: first_day_month
|
||||
data_type: date
|
||||
description: |
|
||||
first day of the month corresponding to the date field.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: date
|
||||
data_type: date
|
||||
description: |
|
||||
main date for the computation, that is used for filters.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dimension
|
||||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
|
|
@ -257,7 +257,7 @@ models:
|
|||
- name: dimension_value
|
||||
data_type: string
|
||||
description: The value or segment available for the selected dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_year_date
|
||||
|
|
@ -270,7 +270,7 @@ models:
|
|||
- name: metric
|
||||
data_type: text
|
||||
description: name of the business metric.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: order_by
|
||||
|
|
@ -282,7 +282,7 @@ models:
|
|||
- name: number_format
|
||||
data_type: text
|
||||
description: allows for grouping and formatting for displaying purposes.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
[
|
||||
|
|
@ -333,7 +333,7 @@ models:
|
|||
enforces that a booking/guest journey/listing/etc has a host with a deal assigned, which is
|
||||
not necessarily the case.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -343,27 +343,27 @@ models:
|
|||
- name: date
|
||||
data_type: date
|
||||
description: The last day of the month or yesterday for historic metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Id of the deal associated to the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_deal_name
|
||||
data_type: string
|
||||
description: |
|
||||
Main name for this ID deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_active_pms
|
||||
data_type: boolean
|
||||
description: |
|
||||
Does the deal have an active associated PMS.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: active_pms_list
|
||||
|
|
@ -415,7 +415,7 @@ models:
|
|||
Lastly, this model provides informative date fields, deal attributes, absolute
|
||||
metric values and MoM & YoY relative incrementals to enrich reporting.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -428,7 +428,7 @@ models:
|
|||
Date corresponding to the last day of the month. Given month
|
||||
metrics are inclusive to this date. Together with id_deal, it
|
||||
acts as the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
|
|
@ -436,21 +436,21 @@ models:
|
|||
description: |
|
||||
Unique identifier of a Deal. Together with date, it acts as
|
||||
the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_deal_name
|
||||
data_type: string
|
||||
description: |
|
||||
Main name for a Deal, representing the client.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_active_pms
|
||||
data_type: boolean
|
||||
description: |
|
||||
Does the deal have an active associated PMS.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: active_pms_list
|
||||
|
|
@ -499,7 +499,7 @@ models:
|
|||
Informative field. It indicates the first day of the
|
||||
month corresponding to date.
|
||||
If date = 2024-09-30, this field will be 2024-09-01.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_1_month_first_day_month
|
||||
|
|
@ -569,7 +569,7 @@ models:
|
|||
for a specific deal. This value corresponds to
|
||||
the given month. This value can be negative,
|
||||
but not null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_1_month_revenue_in_gbp
|
||||
|
|
@ -620,7 +620,7 @@ models:
|
|||
the previous month.
|
||||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -634,7 +634,7 @@ models:
|
|||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -647,7 +647,7 @@ models:
|
|||
months ago.
|
||||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -661,7 +661,7 @@ models:
|
|||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -672,7 +672,7 @@ models:
|
|||
Monthly value representing created bookings
|
||||
for a specific deal. This value corresponds to
|
||||
the given month. This value cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -686,7 +686,7 @@ models:
|
|||
the previous month.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -699,7 +699,7 @@ models:
|
|||
monthly amount generated 12 months ago.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -713,7 +713,7 @@ models:
|
|||
It can be null if the bookings created in the
|
||||
previous month are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -727,7 +727,7 @@ models:
|
|||
It can be null if the bookings created 12 months
|
||||
ago are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -738,7 +738,7 @@ models:
|
|||
Monthly value representing the listings booked in month
|
||||
for a specific deal. This value corresponds to
|
||||
the given month. This value cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -752,7 +752,7 @@ models:
|
|||
the previous month.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -765,7 +765,7 @@ models:
|
|||
monthly amount generated 12 months ago.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -779,7 +779,7 @@ models:
|
|||
It can be null if the listings booked in month in the
|
||||
previous month are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -793,7 +793,7 @@ models:
|
|||
It can be null if the listings booked in month of 12
|
||||
months ago are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -807,7 +807,7 @@ models:
|
|||
aggregated_revenue_to_first_day_month.
|
||||
It can be negative if the sum is negative.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: effective_deal_revenue_12_months_window
|
||||
|
|
@ -821,7 +821,7 @@ models:
|
|||
thus this value should not be reported.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global revenue. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -838,7 +838,7 @@ models:
|
|||
thus this value should not be reported.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global revenue. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -850,7 +850,7 @@ models:
|
|||
Represents the size of the deal in terms of revenue. In
|
||||
other words, what's the percentage of the global revenue
|
||||
that can be attributed to this deal. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -864,7 +864,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: deal_created_bookings_12_months_window
|
||||
|
|
@ -875,7 +875,7 @@ models:
|
|||
aggregated_revenue_from_first_day_month to
|
||||
aggregated_revenue_to_first_day_month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -890,7 +890,7 @@ models:
|
|||
aggregated_revenue_to_first_day_month.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global created bookings. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -903,7 +903,7 @@ models:
|
|||
In other words, what's the percentage of the global created
|
||||
bookings that can be attributed to this deal.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -917,7 +917,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: deal_avg_listings_booked_in_month_12_months_window
|
||||
|
|
@ -928,7 +928,7 @@ models:
|
|||
aggregated_revenue_from_first_day_month to
|
||||
aggregated_revenue_to_first_day_month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -944,7 +944,7 @@ models:
|
|||
It is used for the deal contribution share with respect
|
||||
to the global average listings booked in month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -958,7 +958,7 @@ models:
|
|||
In other words, what's the percentage of the global average listings
|
||||
booked in month that can be attributed to this deal.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -972,7 +972,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_mom_growth_score
|
||||
|
|
@ -983,7 +983,7 @@ models:
|
|||
MoM shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_yoy_growth_score
|
||||
|
|
@ -994,7 +994,7 @@ models:
|
|||
YoY shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_growth_score
|
||||
|
|
@ -1005,7 +1005,7 @@ models:
|
|||
YoY and MoM shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: weighted_avg_growth_score
|
||||
|
|
@ -1017,7 +1017,7 @@ models:
|
|||
It's the main indicator towards measuring both growth
|
||||
(if positive) or decay (if negative) while weighting
|
||||
the financial impact this deal tendency can have.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: categorisation_weighted_avg_growth_score
|
||||
|
|
@ -1028,7 +1028,7 @@ models:
|
|||
losers, flat, winners and top winners.
|
||||
Currently the categorisation is based on the score itself
|
||||
rather than selecting a top up/down.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1058,7 +1058,7 @@ models:
|
|||
The average approach "boosts" the contribution of those accounts
|
||||
that have been active for less than 12 months.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -1071,7 +1071,7 @@ models:
|
|||
Date corresponding to the last day of the month.
|
||||
Metrics are inclusive to this date. Together with id_deal, it
|
||||
acts as the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
|
|
@ -1079,7 +1079,7 @@ models:
|
|||
description: |
|
||||
Unique identifier of a Deal. Together with date, it acts as
|
||||
the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: deal_lifecycle_state
|
||||
|
|
@ -1096,7 +1096,7 @@ models:
|
|||
a given deal. In essence it states the amount of
|
||||
months a given deal has been active before a the month
|
||||
given by date, capped at 12 months.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 12
|
||||
|
|
@ -1117,7 +1117,7 @@ models:
|
|||
vs. the global amount, on the preceding 12 months
|
||||
with respect to date. It uses the average approach.
|
||||
It can be negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_bookings_12m_average_contribution
|
||||
|
|
@ -1126,7 +1126,7 @@ models:
|
|||
Share of the deal contribution on created bookings
|
||||
vs. the global amount, on the preceding 12 months
|
||||
with respect to date. It uses the average approach.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1139,7 +1139,7 @@ models:
|
|||
Share of the deal contribution on listings booked in month
|
||||
vs. the global amount, on the preceding 12 months
|
||||
with respect to date. It uses the average approach.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1172,7 +1172,7 @@ models:
|
|||
to the global amount. This means that, for instance, if we have 10% of churn
|
||||
in a month, it can be divided by 9% USA and 1% GBR since 9%+1% = 10%.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -1183,13 +1183,13 @@ models:
|
|||
- name: date
|
||||
data_type: date
|
||||
description: The date for the month-to-date metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dimension
|
||||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- global
|
||||
|
|
@ -1199,7 +1199,7 @@ models:
|
|||
- name: dimension_value
|
||||
data_type: string
|
||||
description: The value or segment available for the selected dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_revenue_churn_average_contribution
|
||||
|
|
@ -1228,7 +1228,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -1241,7 +1241,7 @@ models:
|
|||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -1251,7 +1251,7 @@ models:
|
|||
- name: version
|
||||
data_type: text
|
||||
description: "value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V1
|
||||
|
|
@ -1260,7 +1260,7 @@ models:
|
|||
- name: verification_source
|
||||
data_type: text
|
||||
description: "source of the verification for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
|
|
@ -1434,7 +1434,7 @@ models:
|
|||
additional metrics.
|
||||
The data is segmented by deal and time window for detailed analysis.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -1447,20 +1447,20 @@ models:
|
|||
description: |
|
||||
The last day of the month or yesterday for historic metrics.
|
||||
It's the same date as for KPIs related models.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Id of the deal associated to the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: time_window
|
||||
data_type: character varying
|
||||
description: |
|
||||
Identifier of the time window used for the aggregation of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1490,14 +1490,14 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
Main name for this ID deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_active_pms
|
||||
data_type: boolean
|
||||
description: |
|
||||
Does the deal have an active associated PMS.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: active_pms_list
|
||||
|
|
@ -1548,7 +1548,7 @@ models:
|
|||
Total amount of bookings created by the deal
|
||||
in the time window. It can be null if no bookings
|
||||
were created.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1559,7 +1559,7 @@ models:
|
|||
Average amount of listings booked in month by the deal
|
||||
in the time window. It can be null if no listings
|
||||
were booked.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1600,7 +1600,7 @@ models:
|
|||
Total amount of payments in GBP made by the guest
|
||||
in the time window. It can be null if no payments
|
||||
were made by the guest. It can be negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1619,7 +1619,7 @@ models:
|
|||
Total amount of resolution payments made to the host
|
||||
in the time window. It can be null if no resolution
|
||||
payments were made by the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1649,7 +1649,7 @@ models:
|
|||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: "Unique ID for this deal."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -1662,7 +1662,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Core.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1676,7 +1676,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Hubspot.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1690,7 +1690,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Xero.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ models:
|
|||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -38,7 +38,7 @@ models:
|
|||
- name: version
|
||||
data_type: text
|
||||
description: "value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V2
|
||||
|
|
@ -46,7 +46,7 @@ models:
|
|||
- name: verification_source
|
||||
data_type: text
|
||||
description: "source of the verification for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
|
|
@ -206,7 +206,7 @@ models:
|
|||
description: "Unique Superhog generated id for this verification.
|
||||
Note that there are some users that have a different id in Cosmos.
|
||||
For those users we created a mapping to relate this ids."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -215,19 +215,19 @@ models:
|
|||
description: "unique Superhog generated id for a booking.
|
||||
note that this could be duplicated and both will be charged,
|
||||
it's up to the user to no generate duplicate verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a listing"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: listing_town
|
||||
|
|
@ -257,7 +257,7 @@ models:
|
|||
- name: currency
|
||||
data_type: text
|
||||
description: "currency in which the transaction actually happened"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: nightly_fee_local
|
||||
|
|
@ -271,7 +271,7 @@ models:
|
|||
- name: ok_status_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for approved or flagged verifications and not cancelled"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -280,7 +280,7 @@ models:
|
|||
- name: ok_status_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for approved or flagged verifications and not cancelled"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -289,7 +289,7 @@ models:
|
|||
- name: rejected_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for rejected verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -298,7 +298,7 @@ models:
|
|||
- name: rejected_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for rejected verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -307,7 +307,7 @@ models:
|
|||
- name: cancelled_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for cancelled verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -316,7 +316,7 @@ models:
|
|||
- name: cancelled_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for cancelled verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -325,7 +325,7 @@ models:
|
|||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: "Date of creation of the verification in the system"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cancelled_date_utc
|
||||
|
|
@ -335,11 +335,11 @@ models:
|
|||
- name: checkin_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkin for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkout for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ models:
|
|||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Unique ID for this deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -6,7 +6,7 @@ models:
|
|||
Records of verification requests from the Screen and Protect API. The
|
||||
table tracks verification requests, their outcomes, and related metadata
|
||||
about guests, listings, and partners.
|
||||
tests:
|
||||
data_tests:
|
||||
- at_least_one_null:
|
||||
columns:
|
||||
- monthly_volume_discount
|
||||
|
|
@ -15,20 +15,20 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: Unique identifier for the verification request.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: Unique identifier for the booking associated with the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user initiating the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -39,7 +39,7 @@ models:
|
|||
data_type: bigint
|
||||
description: "Id of the currency, works as a foreign key to the
|
||||
currency table"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- relationships:
|
||||
to: ref('stg_core__currency')
|
||||
|
|
@ -49,13 +49,13 @@ models:
|
|||
data_type: boolean
|
||||
description: |
|
||||
Indicates if the booking is protected or not.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: protection_type
|
||||
data_type: text
|
||||
description: Specific protection type for the request.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -70,7 +70,7 @@ models:
|
|||
description: Field used for protection type "STANDALONE PROTECTION" to
|
||||
indicate the starting level of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -81,7 +81,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
"BASIC PROTECTION" or "DAMAGE WAIVER" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -92,7 +92,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
or "STANDALONE PROTECTION" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 50000000
|
||||
|
|
@ -105,7 +105,7 @@ models:
|
|||
- name: verification_status
|
||||
data_type: text
|
||||
description: Outcome of the verification process.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -117,7 +117,7 @@ models:
|
|||
data_type: numeric
|
||||
description: The percentage or value of the price increase
|
||||
applied to the user's account.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: true
|
||||
|
|
@ -126,7 +126,7 @@ models:
|
|||
data_type: date
|
||||
description: The date when the price increase becomes effective.
|
||||
This is the first day of the month.
|
||||
tests:
|
||||
data_tests:
|
||||
- is_first_day_of_month
|
||||
|
||||
- name: monthly_volume_discount
|
||||
|
|
@ -134,7 +134,7 @@ models:
|
|||
description: The discount percentage or value offered based on the
|
||||
volume of bookings achieved within a month.
|
||||
No user can have more than one discount per month.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100
|
||||
|
|
@ -144,7 +144,7 @@ models:
|
|||
data_type: numeric
|
||||
description: The minimum number of bookings required to qualify for
|
||||
the monthly volume discount.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: true
|
||||
|
|
@ -153,14 +153,14 @@ models:
|
|||
data_type: date
|
||||
description: The date when the monthly volume discount period begins.
|
||||
This is the first day of the month.
|
||||
tests:
|
||||
data_tests:
|
||||
- is_first_day_of_month
|
||||
|
||||
- name: monthly_volume_discount_end_date_utc
|
||||
data_type: date
|
||||
description: The date when the monthly volume discount period ends.
|
||||
This is the last day of the month.
|
||||
tests:
|
||||
data_tests:
|
||||
- is_last_day_of_month
|
||||
|
||||
- name: monthly_general_discount
|
||||
|
|
@ -168,7 +168,7 @@ models:
|
|||
description: The general discount percentage or value applied to all
|
||||
bookings within the applicable period.
|
||||
No user can have more than one discount per month.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100
|
||||
|
|
@ -178,14 +178,14 @@ models:
|
|||
data_type: date
|
||||
description: The date when the general discount period begins.
|
||||
This is the first day of the month.
|
||||
tests:
|
||||
data_tests:
|
||||
- is_first_day_of_month
|
||||
|
||||
- name: monthly_general_discount_end_date_utc
|
||||
data_type: date
|
||||
description: The date when the general discount period ends.
|
||||
This is the last day of the month.
|
||||
tests:
|
||||
data_tests:
|
||||
- is_last_day_of_month
|
||||
|
||||
- name: verification_status_reason
|
||||
|
|
@ -203,7 +203,7 @@ models:
|
|||
- name: watch_list
|
||||
data_type: text
|
||||
description: Indicates if the guest was flagged on a watchlist.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "MATCH"
|
||||
|
|
@ -228,13 +228,13 @@ models:
|
|||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: Indicates if the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: is_cancelled = true
|
||||
|
||||
|
|
@ -297,44 +297,44 @@ models:
|
|||
- name: status_updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: status_updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
Timestamp of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_created_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the verification request was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -4,31 +4,31 @@ models:
|
|||
- name: int_xero__invoices
|
||||
columns:
|
||||
- name: id_invoice
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: int_xero__credit_notes
|
||||
columns:
|
||||
- name: id_credit_note
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: int_xero__invoice_line_items
|
||||
columns:
|
||||
- name: id_line_item
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: int_xero__credit_note_line_items
|
||||
columns:
|
||||
- name: id_line_item
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: int_xero__bank_transactions
|
||||
columns:
|
||||
- name: id_bank_transaction
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ models:
|
|||
- name: id_line_item
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
Indicates whether the record belongs in an invoice or a credit note.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -137,7 +137,7 @@ models:
|
|||
- name: document_currency_iso_4217
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- length_between:
|
||||
min_length: 3
|
||||
|
|
@ -150,7 +150,7 @@ models:
|
|||
- name: id_document
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: reference
|
||||
|
|
@ -172,7 +172,7 @@ models:
|
|||
- name: document_type
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -188,14 +188,14 @@ models:
|
|||
- name: exchange_rate_to_gbp
|
||||
data_type: numeric
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- not_negative
|
||||
|
||||
- name: document_status
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -209,7 +209,7 @@ models:
|
|||
- name: line_amount_tax_inclusiveness
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -19,7 +19,7 @@ models:
|
|||
description: "unique Superhog generated id for a booking.
|
||||
note that this could be duplicated and both will be charged,
|
||||
it's up to the user to not generate or cancel duplicate verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: verification_status
|
||||
|
|
@ -29,13 +29,13 @@ models:
|
|||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: "indicates if the booking has been cancelled or not."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: ok_status_fee_in_gbp
|
||||
data_type: integer
|
||||
description: "total fee charged on checkout, this is only charged for approved verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -45,11 +45,11 @@ models:
|
|||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: "Date of creation of the verification in the system"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkout for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -9,26 +9,26 @@ models:
|
|||
- name: id_record
|
||||
data_type: text
|
||||
description: Unique identifier for the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_reservation
|
||||
data_type: text
|
||||
description: Unique identifier for the reservation associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: Unique identifier for the accommodation associated with the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: guest_last_name
|
||||
|
|
@ -54,7 +54,7 @@ models:
|
|||
- name: reservation_total_amount_in_local_currency
|
||||
data_type: numeric
|
||||
description: Total cost amount in guest currency for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: true
|
||||
|
|
@ -63,19 +63,19 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
Currency ISO code used by guest for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: channel
|
||||
data_type: text
|
||||
description: Booking channel or source.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_date_utc
|
||||
data_type: date
|
||||
description: Check-in date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_time_utc
|
||||
|
|
@ -85,13 +85,13 @@ models:
|
|||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: Check-out date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: number_of_nights
|
||||
data_type: integer
|
||||
description: Number of nights for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 1
|
||||
|
||||
|
|
@ -130,29 +130,29 @@ models:
|
|||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ models:
|
|||
- name: id_payment
|
||||
data_type: bigint
|
||||
description: Superhog id for this Payment.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -30,13 +30,13 @@ models:
|
|||
- name: payment_due_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: The point in time at which this payment had to be paid.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: payment_due_date_utc
|
||||
data_type: date
|
||||
description: The date on which this payment had to be paid.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: payment_paid_at_utc
|
||||
|
|
@ -88,13 +88,13 @@ models:
|
|||
- name: id_guest_user
|
||||
data_type: character varying
|
||||
description: The UUID of the guest user in the Superhog backend.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_verification
|
||||
data_type: bigint
|
||||
description: The ID of the verification that generated this payment.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: verification_payment_type
|
||||
|
|
@ -104,7 +104,7 @@ models:
|
|||
- name: amount_in_txn_currency
|
||||
data_type: numeric
|
||||
description: The payment amount in the currency in which the transaction actually happened. If the guest paid in Australian Dollars, this is measured in AUD. (To be decommissioned)
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -112,13 +112,13 @@ models:
|
|||
- name: currency
|
||||
data_type: character varying
|
||||
description: The currency in which the transaction actually happened. If the guest paid in Australian Dollars, this is measured in AUD.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: amount_in_gbp
|
||||
data_type: numeric
|
||||
description: The payment amount value, converted to GBP, using the exchange rate for the day on which the payment happened.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -126,7 +126,7 @@ models:
|
|||
- name: payment_status
|
||||
data_type: character varying
|
||||
description: "The status of the payment. It can be one of: Paid, Refunded, Refund Failed, Cancelled, Paid Manually, Unpaid."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: notes
|
||||
|
|
@ -139,7 +139,7 @@ models:
|
|||
- name: total_amount_in_txn_currency
|
||||
data_type: numeric
|
||||
description: The payment amount in the currency in which the transaction actually happened. If the guest paid in Australian Dollars, this is measured in AUD.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -147,7 +147,7 @@ models:
|
|||
- name: amount_without_taxes_in_txn_currency
|
||||
data_type: numeric
|
||||
description: The payment amount without taxes in the currency in which the transaction actually happened. If the guest paid in Australian Dollars, this is measured in AUD. (To be decommissioned)
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -155,7 +155,7 @@ models:
|
|||
- name: total_amount_in_gbp
|
||||
data_type: numeric
|
||||
description: The payment amount value, converted to GBP, using the exchange rate for the day on which the payment happened.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -163,7 +163,7 @@ models:
|
|||
- name: amount_without_taxes_in_gbp
|
||||
data_type: numeric
|
||||
description: The payment amount value without taxes, converted to GBP, using the exchange rate for the day on which the payment happened.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -185,7 +185,7 @@ models:
|
|||
- name: id_booking
|
||||
data_type: bigint
|
||||
description: The unique, Superhog generated id for this booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -253,7 +253,7 @@ models:
|
|||
description: |
|
||||
Unique, incremental, internal ID for the related verification
|
||||
request.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -632,7 +632,7 @@ models:
|
|||
- name: id_user
|
||||
data_type: character varying
|
||||
description: Unique, incremental, internal ID for the user.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -795,7 +795,7 @@ models:
|
|||
- name: id_user_host
|
||||
data_type: character varying
|
||||
description: Unique id value for the user
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -853,7 +853,7 @@ models:
|
|||
- name: id_verification_request
|
||||
data_type: bigint
|
||||
description: Unique id value for the verification request
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -871,7 +871,7 @@ models:
|
|||
- PMS
|
||||
- OSL
|
||||
- API/MANUAL
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -944,7 +944,7 @@ models:
|
|||
- name: id_user_host
|
||||
data_type: character varying
|
||||
description: Unique id value for the user
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
|
|
@ -994,7 +994,7 @@ models:
|
|||
- name: id_accommodation
|
||||
data_type: bigint
|
||||
description: "Id of the accommodation or listing. It's the unique key for this model."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1037,7 +1037,7 @@ models:
|
|||
- name: id_booking
|
||||
data_type: bigint
|
||||
description: "The unique, Superhog generated id for this booking."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -1048,7 +1048,7 @@ models:
|
|||
- name: id_user_host
|
||||
data_type: character varying
|
||||
description: The UUID of the Superhog user playing the host role in the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -1066,7 +1066,7 @@ models:
|
|||
- NoFlags
|
||||
- Flagged
|
||||
- IncompleteInformation"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Approved"
|
||||
|
|
@ -1129,7 +1129,7 @@ models:
|
|||
description: |
|
||||
The unique identifier of this table. It corresponds to the host users
|
||||
that have been migrated to the New Dashboard.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1142,7 +1142,7 @@ models:
|
|||
description: |
|
||||
The migration phase in which this user was migrated, for informative
|
||||
purposes.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_user_moved_from_old_dash
|
||||
|
|
@ -1155,7 +1155,7 @@ models:
|
|||
data_type: date
|
||||
description: |
|
||||
The estimated date in which this user was migrated.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: company_name
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -21,19 +21,19 @@ models:
|
|||
description: "unique Superhog generated id for a booking.
|
||||
note that there might be duplicate bookings on the original data
|
||||
but we remove them keeping only the verification with the most recent update."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for a listing"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: listing_town
|
||||
|
|
@ -63,7 +63,7 @@ models:
|
|||
- name: currency
|
||||
data_type: text
|
||||
description: "currency in which the transaction actually happened"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: nightly_fee_local
|
||||
|
|
@ -77,7 +77,7 @@ models:
|
|||
- name: ok_status_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for approved or flagged verifications and not cancelled"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -86,7 +86,7 @@ models:
|
|||
- name: ok_status_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for approved or flagged verifications and not cancelled"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -95,7 +95,7 @@ models:
|
|||
- name: rejected_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for rejected verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -104,7 +104,7 @@ models:
|
|||
- name: rejected_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for rejected verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -113,7 +113,7 @@ models:
|
|||
- name: cancelled_fee_in_txn_currency
|
||||
data_type: numeric
|
||||
description: "fee charged in used currency for cancelled verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -122,7 +122,7 @@ models:
|
|||
- name: cancelled_fee_in_gbp
|
||||
data_type: numeric
|
||||
description: "fee charged in gbp for cancelled verifications"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -131,7 +131,7 @@ models:
|
|||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: "Date of creation of the verification in the system"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cancelled_date_utc
|
||||
|
|
@ -141,11 +141,11 @@ models:
|
|||
- name: checkin_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkin for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: "Date of checkout for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -203,18 +203,18 @@ models:
|
|||
description: A unique ID for the record, derived from concatenating the
|
||||
currencies, date, source and version. Currency order is relevant
|
||||
(EURUSD != USDEUR).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: from_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: to_currency
|
||||
data_type: character
|
||||
description: The target currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate
|
||||
data_type: numeric
|
||||
|
|
@ -228,13 +228,13 @@ models:
|
|||
always be one.
|
||||
|
||||
The rate can be smaller than one, but can't be negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_negative_or_zero
|
||||
- not_null
|
||||
- name: rate_date_utc
|
||||
data_type: date
|
||||
description: The date in which the rate record is relevant.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: source
|
||||
data_type: text
|
||||
|
|
@ -249,7 +249,7 @@ models:
|
|||
in nature) or `guess` (the rate sits in the past and is a guess in
|
||||
nature). Note that one currency pair can have multiple rate versions
|
||||
on the same date.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- guess
|
||||
|
|
@ -262,7 +262,7 @@ models:
|
|||
For external sources, this will be the point in time when the
|
||||
information was obtained from them. For stuff we make up here in the
|
||||
DWH, this will be the point in time when we made the assumption.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: simple_exchange_rates
|
||||
|
|
@ -274,7 +274,7 @@ models:
|
|||
The time granularity is daily. Each record holds a currency pair for a
|
||||
specific day. You will only find one conversion rate per currency pair and
|
||||
date.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- from_currency
|
||||
|
|
@ -284,22 +284,22 @@ models:
|
|||
- name: from_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: to_currency
|
||||
data_type: character
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate
|
||||
data_type: numeric
|
||||
description: The target currency, represented as an ISO 4217 code.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate_date_utc
|
||||
data_type: date
|
||||
description: The date in which the rate record is relevant.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp with time zone
|
||||
|
|
@ -307,7 +307,7 @@ models:
|
|||
For external sources, this will be the point in time when the
|
||||
information was obtained from them. For stuff we make up here in the
|
||||
DWH, this will be the point in time when we made the assumption.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: mtd_aggregated_metrics
|
||||
|
|
@ -317,7 +317,7 @@ models:
|
|||
It's the main source of information for the Main KPIs reporting, specifically
|
||||
on the MTD (Month To Date) and the Monthly Overview.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -329,25 +329,25 @@ models:
|
|||
- name: year
|
||||
data_type: int
|
||||
description: Year number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: month
|
||||
data_type: int
|
||||
description: Month number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: day
|
||||
data_type: int
|
||||
description: Day monthly number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_end_of_month
|
||||
data_type: boolean
|
||||
description: Is end of month, 1 for yes, 0 for no.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_current_month
|
||||
|
|
@ -355,7 +355,7 @@ models:
|
|||
description: |
|
||||
Checks if the date is within the current executed month,
|
||||
1 for yes, 0 for no.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_end_of_month_or_yesterday
|
||||
|
|
@ -363,7 +363,7 @@ models:
|
|||
description: |
|
||||
Checks if the date is end of month or yesterday,
|
||||
1 for yes, 0 for no.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: first_day_month
|
||||
|
|
@ -371,7 +371,7 @@ models:
|
|||
description: |
|
||||
First day of the month corresponding to the date field.
|
||||
It comes from int_dates_mtd logic.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: date
|
||||
|
|
@ -379,7 +379,7 @@ models:
|
|||
description: |
|
||||
Main date for the computation, that is used for filters.
|
||||
It comes from int_dates_mtd logic.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- latest_date_is_yesterday
|
||||
|
||||
|
|
@ -391,13 +391,13 @@ models:
|
|||
dimension_display; this is, the name of the dimension for
|
||||
displaying purposes.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dimension_value
|
||||
data_type: string
|
||||
description: The value or segment available for the selected dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_year_date
|
||||
|
|
@ -410,7 +410,7 @@ models:
|
|||
- name: metric
|
||||
data_type: text
|
||||
description: Name of the business metric.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: order_by
|
||||
|
|
@ -422,7 +422,7 @@ models:
|
|||
- name: number_format
|
||||
data_type: text
|
||||
description: Allows for grouping and formatting for displaying purposes.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
[
|
||||
|
|
@ -475,7 +475,7 @@ models:
|
|||
enforces that a booking/guest journey/listing/etc has a host with a deal assigned, which is
|
||||
not necessarily the case.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -485,20 +485,20 @@ models:
|
|||
- name: date
|
||||
data_type: date
|
||||
description: The last day of the month for historic metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Id of the deal associated to the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_deal_name
|
||||
data_type: string
|
||||
description: |
|
||||
Main name for this ID deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_billing_country_iso_3_per_deal
|
||||
|
|
@ -510,19 +510,19 @@ models:
|
|||
- name: year
|
||||
data_type: int
|
||||
description: year number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: month
|
||||
data_type: int
|
||||
description: month number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: day
|
||||
data_type: int
|
||||
description: day monthly number of the given date.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: monthly_growth_score_by_deal
|
||||
|
|
@ -562,7 +562,7 @@ models:
|
|||
Lastly, this model provides informative date fields, deal attributes, absolute
|
||||
metric values and MoM & YoY relative incrementals to enrich reporting.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -575,7 +575,7 @@ models:
|
|||
Date corresponding to the last day of the month. Given month
|
||||
metrics are inclusive to this date. Together with id_deal, it
|
||||
acts as the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
|
|
@ -583,21 +583,21 @@ models:
|
|||
description: |
|
||||
Unique identifier of a Deal. Together with date, it acts as
|
||||
the primary key of this model.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_deal_name
|
||||
data_type: string
|
||||
description: |
|
||||
Main name for a Deal, representing the client.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_active_pms
|
||||
data_type: boolean
|
||||
description: |
|
||||
Does the deal have an active associated PMS.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: active_pms_list
|
||||
|
|
@ -646,7 +646,7 @@ models:
|
|||
Informative field. It indicates the first day of the
|
||||
month corresponding to date.
|
||||
If date = 2024-09-30, this field will be 2024-09-01.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_1_month_first_day_month
|
||||
|
|
@ -716,7 +716,7 @@ models:
|
|||
for a specific deal. This value corresponds to
|
||||
the given month. This value can be negative,
|
||||
but not null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: previous_1_month_revenue_in_gbp
|
||||
|
|
@ -767,7 +767,7 @@ models:
|
|||
the previous month.
|
||||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -781,7 +781,7 @@ models:
|
|||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -794,7 +794,7 @@ models:
|
|||
months ago.
|
||||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -808,7 +808,7 @@ models:
|
|||
It can be null if any revenue used in the computation
|
||||
is null or it's negative.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -819,7 +819,7 @@ models:
|
|||
Monthly value representing created bookings
|
||||
for a specific deal. This value corresponds to
|
||||
the given month. This value cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -833,7 +833,7 @@ models:
|
|||
the previous month.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -846,7 +846,7 @@ models:
|
|||
monthly amount generated 12 months ago.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -860,7 +860,7 @@ models:
|
|||
It can be null if the bookings created in the
|
||||
previous month are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -874,7 +874,7 @@ models:
|
|||
It can be null if the bookings created 12 months
|
||||
ago are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -885,7 +885,7 @@ models:
|
|||
Monthly value representing the listings booked in month
|
||||
for a specific deal. This value corresponds to
|
||||
the given month. This value cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -899,7 +899,7 @@ models:
|
|||
the previous month.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -912,7 +912,7 @@ models:
|
|||
monthly amount generated 12 months ago.
|
||||
This value can be null, thus indicating that no
|
||||
history is available.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -926,7 +926,7 @@ models:
|
|||
It can be null if the listings booked in month in the
|
||||
previous month are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -940,7 +940,7 @@ models:
|
|||
It can be null if the listings booked in month of 12
|
||||
months ago are null.
|
||||
This field is used for the growth score computation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: -1
|
||||
strictly: false
|
||||
|
|
@ -954,7 +954,7 @@ models:
|
|||
aggregated_revenue_to_first_day_month.
|
||||
It can be negative if the sum is negative.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: effective_deal_revenue_12_months_window
|
||||
|
|
@ -968,7 +968,7 @@ models:
|
|||
thus this value should not be reported.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global revenue. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -985,7 +985,7 @@ models:
|
|||
thus this value should not be reported.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global revenue. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -997,7 +997,7 @@ models:
|
|||
Represents the size of the deal in terms of revenue. In
|
||||
other words, what's the percentage of the global revenue
|
||||
that can be attributed to this deal. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1011,7 +1011,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: deal_created_bookings_12_months_window
|
||||
|
|
@ -1022,7 +1022,7 @@ models:
|
|||
aggregated_revenue_from_first_day_month to
|
||||
aggregated_revenue_to_first_day_month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1037,7 +1037,7 @@ models:
|
|||
aggregated_revenue_to_first_day_month.
|
||||
It is used for the deal contribution share with respect
|
||||
to the global created bookings. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1050,7 +1050,7 @@ models:
|
|||
In other words, what's the percentage of the global created
|
||||
bookings that can be attributed to this deal.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1064,7 +1064,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: deal_avg_listings_booked_in_month_12_months_window
|
||||
|
|
@ -1075,7 +1075,7 @@ models:
|
|||
aggregated_revenue_from_first_day_month to
|
||||
aggregated_revenue_to_first_day_month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1091,7 +1091,7 @@ models:
|
|||
It is used for the deal contribution share with respect
|
||||
to the global average listings booked in month.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1105,7 +1105,7 @@ models:
|
|||
In other words, what's the percentage of the global average listings
|
||||
booked in month that can be attributed to this deal.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -1119,7 +1119,7 @@ models:
|
|||
If more than one deal have the same share, the order is
|
||||
not under control.
|
||||
It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_mom_growth_score
|
||||
|
|
@ -1130,7 +1130,7 @@ models:
|
|||
MoM shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_yoy_growth_score
|
||||
|
|
@ -1141,7 +1141,7 @@ models:
|
|||
YoY shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: avg_growth_score
|
||||
|
|
@ -1152,7 +1152,7 @@ models:
|
|||
YoY and MoM shifted by one month of revenue.
|
||||
It indicates the tendency of growth of the deal without
|
||||
taking into account its revenue size. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: weighted_avg_growth_score
|
||||
|
|
@ -1164,7 +1164,7 @@ models:
|
|||
It's the main indicator towards measuring both growth
|
||||
(if positive) or decay (if negative) while weighting
|
||||
the financial impact this deal tendency can have.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: categorisation_weighted_avg_growth_score
|
||||
|
|
@ -1175,7 +1175,7 @@ models:
|
|||
losers, flat, winners and top winners.
|
||||
Currently the categorisation is based on the score itself
|
||||
rather than selecting a top up/down.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1202,7 +1202,7 @@ models:
|
|||
description: |
|
||||
The identifier of the booking. Acts as Primary Key to this table.
|
||||
Cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1210,7 +1210,7 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
Unique identifier of the account. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: main_billing_country
|
||||
|
|
@ -1228,7 +1228,7 @@ models:
|
|||
This field should be modified at the moment we have
|
||||
a proper way to retrieve a common account name per deal.
|
||||
It can contain duplicates.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: hubspot_deal_name
|
||||
|
|
@ -1246,7 +1246,7 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
The current status of the booking. Cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: program_name
|
||||
|
|
@ -1254,7 +1254,7 @@ models:
|
|||
description: |
|
||||
The name of the program, or product bundle, applied to the booking.
|
||||
Cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: booking_created_date_utc
|
||||
|
|
@ -1262,7 +1262,7 @@ models:
|
|||
description: |
|
||||
Date of when the Booking record was created in the Backend.
|
||||
Cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: booking_check_in_date_utc
|
||||
|
|
@ -1270,14 +1270,14 @@ models:
|
|||
description: |
|
||||
Date of the Check-in of the Booking.
|
||||
Cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: booking_check_out_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of the Check-out of the Booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: booking_number_of_nights
|
||||
|
|
@ -1296,7 +1296,7 @@ models:
|
|||
description: |
|
||||
Specifies the New Dash Version in which these users were
|
||||
moved or joined.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: user_in_new_dash_since_date_utc
|
||||
|
|
@ -1350,7 +1350,7 @@ models:
|
|||
not necessarily mean that it won't be in the future. Similarly, if
|
||||
the booking is chargeable it does not necessarily mean that is actually
|
||||
charged. It cannot be null.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_booking_cancelled
|
||||
|
|
@ -1389,7 +1389,7 @@ models:
|
|||
additional metrics.
|
||||
The data is segmented by deal and time window for detailed analysis.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -1402,20 +1402,20 @@ models:
|
|||
description: |
|
||||
The last day of the month or yesterday for historic metrics.
|
||||
It's the same date as for KPIs related models.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Id of the deal associated to the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: time_window
|
||||
data_type: character varying
|
||||
description: |
|
||||
Identifier of the time window used for the aggregation of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1445,14 +1445,14 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
Main name for this ID deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_active_pms
|
||||
data_type: boolean
|
||||
description: |
|
||||
Does the deal have an active associated PMS.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: active_pms_list
|
||||
|
|
@ -1503,7 +1503,7 @@ models:
|
|||
Total amount of bookings created by the deal
|
||||
in the time window. It can be null if no bookings
|
||||
were created.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1514,7 +1514,7 @@ models:
|
|||
Average amount of listings booked in month by the deal
|
||||
in the time window. It can be null if no listings
|
||||
were booked.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1555,7 +1555,7 @@ models:
|
|||
Total amount of payments in GBP made by the guest
|
||||
in the time window. It can be null if no payments
|
||||
were made by the guest. It can be negative.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1574,7 +1574,7 @@ models:
|
|||
Total amount of resolution payments made to the host
|
||||
in the time window. It can be null if no resolution
|
||||
payments were made by the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1609,7 +1609,7 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for this verification"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -1622,7 +1622,7 @@ models:
|
|||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: "unique Superhog generated id for partner"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -1632,7 +1632,7 @@ models:
|
|||
- name: version
|
||||
data_type: text
|
||||
description: "value to identify if it is Guesty (V1) or E-deposit (V2)"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- V1
|
||||
|
|
@ -1641,7 +1641,7 @@ models:
|
|||
- name: verification_source
|
||||
data_type: text
|
||||
description: "source of the verification for the booking"
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Guesty
|
||||
|
|
@ -1816,7 +1816,7 @@ models:
|
|||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: "Unique ID for this deal."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -1829,7 +1829,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Core.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1843,7 +1843,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Hubspot.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
@ -1857,7 +1857,7 @@ models:
|
|||
description: "Count of distinct names the deal has in Xero.
|
||||
It might be the case that a deal has ony NULL value for a name,
|
||||
so the count will be 0"
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: false
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ models:
|
|||
- has_id_check,
|
||||
- main_billing_country_iso_3_per_deal.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date_day
|
||||
|
|
@ -27,13 +27,13 @@ models:
|
|||
- name: date_day
|
||||
data_type: date
|
||||
description: "Date of when Guest Journeys have been completed."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: date_week
|
||||
data_type: string
|
||||
description: "Week number of when Guest Journeys have been completed."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: py_date_day
|
||||
|
|
@ -45,7 +45,7 @@ models:
|
|||
- name: has_payment
|
||||
data_type: string
|
||||
description: Has there been any guest payments on the guest journey.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -56,7 +56,7 @@ models:
|
|||
data_type: string
|
||||
description: Does the verification in the guest journey
|
||||
includes Government Id Check for the bookings.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -67,7 +67,7 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
Main billing country of the host.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_guest_journeys_not_cancelled
|
||||
|
|
@ -75,7 +75,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys created, excluding cancelled bookings,
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: created_guest_journeys_not_cancelled
|
||||
date_column: date_day
|
||||
|
|
@ -85,7 +85,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys started, excluding cancelled bookings,
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: started_guest_journeys_not_cancelled
|
||||
date_column: date_day
|
||||
|
|
@ -95,7 +95,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys completed, excluding cancelled bookings,
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: completed_guest_journeys_not_cancelled
|
||||
date_column: date_day
|
||||
|
|
@ -105,7 +105,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys created in a given date and
|
||||
per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: created_guest_journeys
|
||||
date_column: date_day
|
||||
|
|
@ -115,7 +115,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys started in a given date and
|
||||
per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: started_guest_journeys
|
||||
date_column: date_day
|
||||
|
|
@ -125,7 +125,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys completed in a given date and
|
||||
per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: completed_guest_journeys
|
||||
date_column: date_day
|
||||
|
|
@ -135,7 +135,7 @@ models:
|
|||
description: |
|
||||
Count of daily guest journeys with CSAT (customer satisfaction score)
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: total_csat_score_count
|
||||
date_column: date_day
|
||||
|
|
@ -150,7 +150,7 @@ models:
|
|||
description: |
|
||||
Sum of deposit fees paid by guests, without taxes, in GBP
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: deposit_fees_in_gbp
|
||||
date_column: date_day
|
||||
|
|
@ -160,7 +160,7 @@ models:
|
|||
description: |
|
||||
Sum of waiver payments paid by guests, without taxes, in GBP
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: waiver_payments_in_gbp
|
||||
date_column: date_day
|
||||
|
|
@ -170,7 +170,7 @@ models:
|
|||
description: |
|
||||
Sum of checkin cover fees paid by guests, without taxes, in GBP
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: checkin_cover_fees_in_gbp
|
||||
date_column: date_day
|
||||
|
|
@ -180,7 +180,7 @@ models:
|
|||
description: |
|
||||
Sum of total payments paid by guests, without taxes, in GBP
|
||||
in a given date and per specified dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- kpis_daily_outlier_detector:
|
||||
column_name: total_guest_payments_in_gbp
|
||||
date_column: date_day
|
||||
|
|
@ -263,7 +263,7 @@ models:
|
|||
of time granularity, dimension, dimension value and list of metrics
|
||||
with their value.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- date
|
||||
|
|
@ -277,13 +277,13 @@ models:
|
|||
description: |
|
||||
The end date of the time range specified in the time_granularity
|
||||
for the dimension, dimension_value and metrics in this record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: time_granularity
|
||||
data_type: string
|
||||
description: The time dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Daily
|
||||
|
|
@ -293,7 +293,7 @@ models:
|
|||
- name: dimension
|
||||
data_type: string
|
||||
description: The dimension or granularity of the metrics.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Global"
|
||||
|
|
@ -308,7 +308,7 @@ models:
|
|||
- name: dimension_value
|
||||
data_type: string
|
||||
description: The value or segment available for the selected dimension.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_services
|
||||
|
|
@ -368,7 +368,7 @@ models:
|
|||
- name: has_payment
|
||||
data_type: string
|
||||
description: Has there been any guest payments on the guest journey.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -379,7 +379,7 @@ models:
|
|||
data_type: string
|
||||
description: Does the verification in the guest journey
|
||||
includes Government Id Check for the bookings.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -390,7 +390,7 @@ models:
|
|||
data_type: string
|
||||
description: |
|
||||
Main billing country of the host aggregated at Deal level.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: timeframe
|
||||
|
|
@ -398,7 +398,7 @@ models:
|
|||
description: |
|
||||
Timeframe considered for the aggregation, it could be Year-to-date,
|
||||
Month-to-date or Week-to-date
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
|
|||
|
|
@ -10,20 +10,20 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: Unique identifier for the verification request.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: Unique identifier for the booking associated with the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user initiating the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -34,13 +34,13 @@ models:
|
|||
data_type: boolean
|
||||
description: |
|
||||
Indicates if the booking is protected or not.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: protection_type
|
||||
data_type: text
|
||||
description: Specific protection type for the request.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -55,7 +55,7 @@ models:
|
|||
description: Field used for protection type "STANDALONE PROTECTION" to
|
||||
indicate the starting level of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -66,7 +66,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
"BASIC PROTECTION" or "DAMAGE WAIVER" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -77,7 +77,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
or "STANDALONE PROTECTION" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 50000000
|
||||
|
|
@ -90,7 +90,7 @@ models:
|
|||
- name: verification_status
|
||||
data_type: text
|
||||
description: Outcome of the verification process.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -113,7 +113,7 @@ models:
|
|||
- name: watch_list
|
||||
data_type: text
|
||||
description: Indicates if the guest was flagged on a watchlist.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "MATCH"
|
||||
|
|
@ -138,13 +138,13 @@ models:
|
|||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: Indicates if the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: is_cancelled = true
|
||||
|
||||
|
|
@ -207,44 +207,44 @@ models:
|
|||
- name: status_updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: status_updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
Timestamp of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_created_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the verification request was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -795,7 +795,7 @@ models:
|
|||
- name: id_bank_transaction
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -841,7 +841,7 @@ models:
|
|||
negative, amounts we receive are positive.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#bank-transactions
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -861,7 +861,7 @@ models:
|
|||
receiving transactions show as 1. This helps in converting the
|
||||
transaction amounts in the right sign, since Xero brings all amounts
|
||||
as positive by default.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -876,7 +876,7 @@ models:
|
|||
Can be one of: AUTHORISED, DELETED.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#bank-transaction-status-codes
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -900,7 +900,7 @@ models:
|
|||
description: |
|
||||
Total of bank transaction tax inclusive, in the currency the
|
||||
transaction is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_amount_in_gbp
|
||||
|
|
@ -933,7 +933,7 @@ models:
|
|||
- name: transaction_currency_iso_4217
|
||||
data_type: character varying
|
||||
description: The ISO 4217 code for the currency of the transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- length_between:
|
||||
min_length: 3
|
||||
|
|
@ -956,7 +956,7 @@ models:
|
|||
For example, if the transaction is 135 ZAR, and this rate is 0.0167,
|
||||
the transaction value in GBP is 2.25 (135ZAR * 0.0167GBP/ZAR =
|
||||
2.25GBP).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_negative
|
||||
|
||||
- name: line_amount_tax_inclusiveness
|
||||
|
|
@ -965,7 +965,7 @@ models:
|
|||
Indicates whether the amounts included in line items are tax
|
||||
inclusive (Inclusive), tax exclusive (Exclusive) or simply,
|
||||
there are no taxes on the invoice (NoTax).
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
@ -975,7 +975,7 @@ models:
|
|||
- name: is_reconciled
|
||||
data_type: boolean
|
||||
description: A flag indicating if the transaction has been reconciled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_attachments
|
||||
|
|
@ -1011,13 +1011,13 @@ models:
|
|||
- name: id_bank_transaction
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_line_item
|
||||
data_type: text
|
||||
description: Xero's unique identifier for the line item.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1121,7 +1121,7 @@ models:
|
|||
- name: id_line_item
|
||||
data_type: text
|
||||
description: Xero's unique identifier for the line item.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1156,7 +1156,7 @@ models:
|
|||
- name: id_line_item
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -1168,7 +1168,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
Indicates whether the record belongs in an invoice or a credit note.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1218,7 +1218,7 @@ models:
|
|||
- name: document_currency_iso_4217
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- length_between:
|
||||
min_length: 3
|
||||
|
|
@ -1231,7 +1231,7 @@ models:
|
|||
- name: id_document
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: reference
|
||||
|
|
@ -1253,7 +1253,7 @@ models:
|
|||
- name: document_type
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1269,14 +1269,14 @@ models:
|
|||
- name: exchange_rate_to_gbp
|
||||
data_type: numeric
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- not_negative
|
||||
|
||||
- name: document_status
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -1290,7 +1290,7 @@ models:
|
|||
- name: line_amount_tax_inclusiveness
|
||||
data_type: character varying
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
|
|||
|
|
@ -12,21 +12,21 @@ models:
|
|||
- name: id_verification
|
||||
data_type: character varying
|
||||
description: "Unique id for the specific transaction."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: created_at_utc > '2024-04-01T00:00:00Z' and verification_status != 'InsufficientInformation'
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: The unique ID of the partner calling the API.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -38,7 +38,7 @@ models:
|
|||
description: |
|
||||
Indicates whether the verification is for V1 (Athena) or V2
|
||||
(e-deposit).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -51,7 +51,7 @@ models:
|
|||
of the user. Note that the Athena/e-deposit user also has a configured
|
||||
nightly fee. It's unclear at this point which one has priority for
|
||||
billing.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100
|
||||
|
|
@ -61,7 +61,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
This field shows the outcome of the Verification itself.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -85,7 +85,7 @@ models:
|
|||
description: |
|
||||
Null if the phone number shows no issues, otherwise it details the
|
||||
problems attached to the given phone number.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Phone number not reachable"
|
||||
|
|
@ -95,7 +95,7 @@ models:
|
|||
- name: watch_list
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Match"
|
||||
|
|
@ -119,7 +119,7 @@ models:
|
|||
Indicates if the booking has been cancelled or not. At the source,
|
||||
null and false values have the same meaning, so here we turn nulls
|
||||
into false to keep thing simple.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -129,7 +129,7 @@ models:
|
|||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: If the booking was cancelled, when did we learn about it.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: is_cancelled = true
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ models:
|
|||
description: |
|
||||
Timestamp of the last time the record was modified before screening
|
||||
happened. Only relevant for V1 records.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: version = 'V1'
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ models:
|
|||
description: |
|
||||
Date of the last time the record was modified before screening
|
||||
happened. Only relevant for V1 records.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: version = 'V1'
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ models:
|
|||
description: |
|
||||
Timestamp of the last edit of the record, as set by the
|
||||
Athena/e-deposit application.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
|
|
@ -233,7 +233,7 @@ models:
|
|||
description: |
|
||||
Date of the last edit of the record, as set by the
|
||||
Athena/e-deposit application.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: athena_creation_at_utc
|
||||
|
|
@ -252,18 +252,18 @@ models:
|
|||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application timestamp of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application date of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_db_timestamp_utc
|
||||
data_type: timestamp with time zone
|
||||
description: The internal Cosmos DB timestamp of the last record update.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -9,26 +9,26 @@ models:
|
|||
- name: id_record
|
||||
data_type: text
|
||||
description: Unique identifier for the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_reservation
|
||||
data_type: text
|
||||
description: Unique identifier for the reservation associated with the check-in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
data_type: text
|
||||
description: Unique identifier for the accommodation associated with the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: guest_last_name
|
||||
|
|
@ -54,7 +54,7 @@ models:
|
|||
- name: reservation_total_amount_in_local_currency
|
||||
data_type: numeric
|
||||
description: Total cost amount in guest currency for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
strictly: true
|
||||
|
|
@ -63,19 +63,19 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
Currency ISO code used by guest for the reservation.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: channel
|
||||
data_type: text
|
||||
description: Booking channel or source.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_date_utc
|
||||
data_type: date
|
||||
description: Check-in date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: checkin_time_utc
|
||||
|
|
@ -85,7 +85,7 @@ models:
|
|||
- name: checkout_date_utc
|
||||
data_type: date
|
||||
description: Check-out date for the booking.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: listing_name
|
||||
|
|
@ -119,35 +119,35 @@ models:
|
|||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_creation_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: date
|
||||
description: Date when the record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_db_timestamp_utc
|
||||
data_type: timestamp with time zone
|
||||
description: Internal Cosmos DB timestamp of the last record update.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ sources:
|
|||
data_type: character varying
|
||||
quote: True
|
||||
description: "UUID for the user."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -20,14 +20,14 @@ sources:
|
|||
data_type: bigint
|
||||
quote: True
|
||||
description: "WIP. Is this an increment unique ID?"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- name: Email
|
||||
data_type: character varying
|
||||
quote: True
|
||||
description: "Email for this user."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- name: Title
|
||||
|
|
@ -39,20 +39,20 @@ sources:
|
|||
quote: True
|
||||
description: "The Hubspot Deal Id that this user account belongs to. Multiple users can all be part of one Deal."
|
||||
# This test can't be enforced yet due to some bad test data in the production database. Once that's deal with, this should be activated.
|
||||
#tests:
|
||||
#data_tests:
|
||||
# - dbt_expectations.expect_column_values_to_match_regex:
|
||||
# regex: "^[0-9]{10,11}$"
|
||||
- name: Deleted
|
||||
data_type: boolean
|
||||
quote: True
|
||||
description: "WIP. I'm guessing this signals that the user wanted to be deleted?"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: JoinDate
|
||||
data_type: timestamp without time zone
|
||||
quote: True
|
||||
description: "Timestamp on which the user was created."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: LastName
|
||||
data_type: character varying
|
||||
|
|
@ -62,7 +62,7 @@ sources:
|
|||
data_type: character varying
|
||||
quote: True
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: FirstName
|
||||
data_type: character varying
|
||||
|
|
@ -103,7 +103,7 @@ sources:
|
|||
A user can be created by another user. If this user has been created by another user, this is the UUID of the creator.
|
||||
|
||||
Else, this is null.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$"
|
||||
row_condition: '"CreatedUserId" is not null'
|
||||
|
|
@ -151,7 +151,7 @@ sources:
|
|||
data_type: boolean
|
||||
quote: True
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: _airbyte_raw_id
|
||||
data_type: character varying
|
||||
|
|
@ -159,7 +159,7 @@ sources:
|
|||
- name: _airbyte_extracted_at
|
||||
data_type: timestamp with time zone
|
||||
description: "{{ doc('_airbyte_extracted_at_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||
datepart: day
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -12,21 +12,21 @@ models:
|
|||
- name: id_verification
|
||||
data_type: character varying
|
||||
description: "Unique id for the specific transaction."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: created_at_utc > '2024-04-01T00:00:00Z' and verification_status != 'InsufficientInformation'
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: The unique ID of the partner calling the API.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -38,7 +38,7 @@ models:
|
|||
description: |
|
||||
Indicates whether the verification is for V1 (Athena) or V2
|
||||
(e-deposit).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -51,7 +51,7 @@ models:
|
|||
of the user. Note that the Athena/e-deposit user also has a configured
|
||||
nightly fee. It's unclear at this point which one has priority for
|
||||
billing.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100
|
||||
|
|
@ -61,7 +61,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
This field shows the outcome of the Verification itself.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -85,7 +85,7 @@ models:
|
|||
description: |
|
||||
Null if the phone number shows no issues, otherwise it details the
|
||||
problems attached to the given phone number.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Phone number not reachable"
|
||||
|
|
@ -95,7 +95,7 @@ models:
|
|||
- name: watch_list
|
||||
data_type: text
|
||||
description: ""
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Match"
|
||||
|
|
@ -119,7 +119,7 @@ models:
|
|||
Indicates if the booking has been cancelled or not. At the source,
|
||||
null and false values have the same meaning, so here we turn nulls
|
||||
into false to keep thing simple.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -129,7 +129,7 @@ models:
|
|||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: If the booking was cancelled, when did we learn about it.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: is_cancelled = true
|
||||
|
||||
|
|
@ -207,7 +207,7 @@ models:
|
|||
description: |
|
||||
Timestamp of the last time the record was modified before screening
|
||||
happened. Only relevant for V1 records.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: version = 'V1'
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ models:
|
|||
description: |
|
||||
Date of the last time the record was modified before screening
|
||||
happened. Only relevant for V1 records.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: version = 'V1'
|
||||
|
||||
|
|
@ -225,7 +225,7 @@ models:
|
|||
description: |
|
||||
Timestamp of the last edit of the record, as set by the
|
||||
Athena/e-deposit application.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
|
|
@ -233,7 +233,7 @@ models:
|
|||
description: |
|
||||
Date of the last edit of the record, as set by the
|
||||
Athena/e-deposit application.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: athena_creation_at_utc
|
||||
|
|
@ -252,18 +252,18 @@ models:
|
|||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application timestamp of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application date of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_db_timestamp_utc
|
||||
data_type: timestamp with time zone
|
||||
description: The internal Cosmos DB timestamp of the last record update.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ models:
|
|||
- name: id_contact
|
||||
data_type: character varying
|
||||
description: "Unique id for each contact information."
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
@ -22,37 +22,37 @@ models:
|
|||
- name: properties
|
||||
data_type: jsonb
|
||||
description: "Json with all contact information for this record."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when this record was created."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Date of when this record was created."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when this record was last updated."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Date of when this record was last updated."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dwh_extracted_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when data was extracted to DWH."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: stg_hubspot__form_submissions
|
||||
|
|
@ -61,14 +61,14 @@ models:
|
|||
- name: id_form
|
||||
data_type: character varying
|
||||
description: "Unique id for each form submission."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
- name: values
|
||||
data_type: jsonb
|
||||
description: "Json with value information for each form"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: page_url
|
||||
|
|
@ -78,31 +78,31 @@ models:
|
|||
- name: submitted_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when this record was created."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: submitted_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Date of when this record was created."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when this record was last updated."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: "Date of when this record was last updated."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dwh_extracted_at_utc
|
||||
data_type: timestamp with time zone
|
||||
description: "Timestamp of when data was extracted to DWH."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: stg_hubspot__deal_pipelines
|
||||
|
|
@ -115,33 +115,33 @@ models:
|
|||
- name: id_deal_pipeline
|
||||
data_type: character varying
|
||||
description: "Unique id for each pipeline."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
- name: deal_pipeline_name
|
||||
data_type: character varying
|
||||
description: Name for the pipeline.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
- name: is_active
|
||||
data_type: boolean
|
||||
description: Flag indicating if the pipeline is currently active.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp
|
||||
description: When was this record created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp
|
||||
description: When was this record last updated.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dwh_extracted_at_utc
|
||||
|
|
@ -151,7 +151,7 @@ models:
|
|||
- name: stg_hubspot__deal_pipeline_stages
|
||||
description: |
|
||||
The different stages of deal pipelines.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_utils.unique_combination_of_columns:
|
||||
combination_of_columns:
|
||||
- id_deal_pipeline
|
||||
|
|
@ -160,13 +160,13 @@ models:
|
|||
- name: id_deal_pipeline
|
||||
data_type: character varying
|
||||
description: ID of the deal pipeline this stage belongs to.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_stage
|
||||
data_type: character varying
|
||||
description: Unique ID for this stage.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -175,25 +175,25 @@ models:
|
|||
description: |
|
||||
The name of this stage. There might be name collisions across
|
||||
pipelines.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_active
|
||||
data_type: boolean
|
||||
description: Flag indicating wheter the stage is currently active.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp
|
||||
description: When was this record created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp
|
||||
description: When was this record last updated.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: dwh_extracted_at_utc
|
||||
|
|
@ -212,7 +212,7 @@ models:
|
|||
- name: id_deal
|
||||
data_type: character varying
|
||||
description: Unique ID for this deal.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
|
|
|
|||
|
|
@ -10,20 +10,20 @@ models:
|
|||
- name: id_verification
|
||||
data_type: text
|
||||
description: Unique identifier for the verification request.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_booking
|
||||
data_type: text
|
||||
description: Unique identifier for the booking associated with the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: Identifier for the partner user initiating the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_accommodation
|
||||
|
|
@ -33,7 +33,7 @@ models:
|
|||
- name: protection_type
|
||||
data_type: text
|
||||
description: Specific protection type for the request.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -48,7 +48,7 @@ models:
|
|||
description: Field used for protection type "STANDALONE PROTECTION" to
|
||||
indicate the starting amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -59,7 +59,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
"BASIC PROTECTION" or "DAMAGE WAIVER" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 100000
|
||||
|
|
@ -70,7 +70,7 @@ models:
|
|||
description: Field used for protection type "SCREEN & PROTECT",
|
||||
or "STANDALONE PROTECTION" to show the basic amount of protection.
|
||||
In local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
max_value: 50000000
|
||||
|
|
@ -83,7 +83,7 @@ models:
|
|||
- name: verification_status
|
||||
data_type: text
|
||||
description: Outcome of the verification process.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -106,7 +106,7 @@ models:
|
|||
- name: watch_list
|
||||
data_type: text
|
||||
description: Indicates if the guest was flagged on a watchlist.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "MATCH"
|
||||
|
|
@ -127,13 +127,13 @@ models:
|
|||
- name: is_cancelled
|
||||
data_type: boolean
|
||||
description: Indicates if the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cancelled_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp when the booking was canceled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null:
|
||||
where: is_cancelled = true
|
||||
|
||||
|
|
@ -196,50 +196,50 @@ models:
|
|||
- name: status_updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: status_updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last status update for the verification.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: Timestamp of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
data_type: date
|
||||
description: Date of the last update to the record.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
Timestamp of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: creation_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the reservation was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_created_date_utc
|
||||
data_type: date
|
||||
description: |
|
||||
Date of when the verification request was created in Cosmos DB.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_db_timestamp_utc
|
||||
data_type: timestamp with time zone
|
||||
description: Internal Cosmos DB timestamp of the last record update.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -9,20 +9,20 @@ models:
|
|||
- name: id_verification
|
||||
data_type: character varying
|
||||
description: Unique id for the specific transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: id_seon
|
||||
data_type: text
|
||||
description: The identifier in Seon.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_user_partner
|
||||
data_type: text
|
||||
description: The unique ID of the partner calling the API.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: id_watch_list
|
||||
|
|
@ -33,7 +33,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
noFlags if the email shows no issues, Flagged otherwise.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Flagged"
|
||||
|
|
@ -43,7 +43,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
noFlags if the phone number shows no issues, Flagged otherwise.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Flagged"
|
||||
|
|
@ -53,7 +53,7 @@ models:
|
|||
data_type: text
|
||||
description: |
|
||||
noFlags if not in the watch list, Flagged otherwise.
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- "Flagged"
|
||||
|
|
@ -98,7 +98,7 @@ models:
|
|||
description: |
|
||||
Timestamp of the last edit of the record, as set by
|
||||
Screening API.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: updated_date_utc
|
||||
|
|
@ -106,25 +106,25 @@ models:
|
|||
description: |
|
||||
Date of the last edit of the record, as set by
|
||||
Screening API.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_at_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application timestamp of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: created_date_utc
|
||||
data_type: timestamp without time zone
|
||||
description: |
|
||||
The internal application date of when this record was created.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: cosmos_db_timestamp_utc
|
||||
data_type: timestamp with time zone
|
||||
description: The internal Cosmos DB timestamp of the last record update.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@ version: 2
|
|||
# It reads two different schemas (stripe_uk and stripe_us) that have exactly the
|
||||
# same table structure. To save work, we use YAML anchors (see the funny syntax)
|
||||
# under sources > stripe_uk > tables and sources > stripe_us > tables.
|
||||
# Basically, if you change anything in the stripe_uk section, changes will
|
||||
# happen in both schemas.
|
||||
# Basically, if you change anything in the stripe_uk section, changes will
|
||||
# happen in both schemas.
|
||||
|
||||
sources:
|
||||
- name: stripe_uk
|
||||
|
|
@ -25,7 +25,7 @@ sources:
|
|||
- name: id
|
||||
data_type: character varying
|
||||
description: "{{ doc('generic_id_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -33,17 +33,17 @@ sources:
|
|||
- name: fee
|
||||
data_type: bigint
|
||||
description: "Fees (in cents) paid for this transaction. Represented as a positive integer when assessed."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: net
|
||||
data_type: bigint
|
||||
description: "Net impact to a Stripe balance (in cents). A positive value represents incrementing a Stripe balance, and a negative value decrementing a Stripe balance. You can calculate the net impact of a transaction on a balance by amount - fee"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: type
|
||||
data_type: character varying
|
||||
description: "Transaction type: adjustment, advance, advance_funding, anticipation_repayment, application_fee, application_fee_refund, charge, climate_order_purchase, climate_order_refund, connect_collection_transfer, contribution, issuing_authorization_hold, issuing_authorization_release, issuing_dispute, issuing_transaction, obligation_outbound, obligation_reversal_inbound, payment, payment_failure_refund, payment_network_reserve_hold, payment_network_reserve_release, payment_refund, payment_reversal, payment_unreconciled, payout, payout_cancel, payout_failure, network_cost, refund, refund_failure, reserve_transaction, reserved_funds, stripe_fee, stripe_fx_fee, tax_fee, topup, topup_reversal, transfer, transfer_cancel, transfer_failure, or transfer_refund. Learn more about balance transaction types and what they represent. To classify transactions for accounting purposes, consider reporting_category instead."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set:
|
||||
|
|
@ -90,17 +90,17 @@ sources:
|
|||
"transfer_failure",
|
||||
"transfer_refund",
|
||||
"balance_transfer_outbound",
|
||||
"balance_transfer_inbound"
|
||||
"balance_transfer_inbound",
|
||||
]
|
||||
- name: amount
|
||||
data_type: bigint
|
||||
description: "Gross amount of this transaction (in cents). A positive value represents funds charged to another party, and a negative value represents funds sent to another party."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: object
|
||||
data_type: character varying
|
||||
description: "Silly column. The value is always `balance_transaction`."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^balance_transaction$"
|
||||
- name: source
|
||||
|
|
@ -109,19 +109,19 @@ sources:
|
|||
- name: status
|
||||
data_type: character varying
|
||||
description: "The transaction’s net funds status in the Stripe balance, which are either available or pending."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set: ["available", "pending"]
|
||||
- name: created
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: currency
|
||||
data_type: character varying
|
||||
description: "{{ doc('raw_stripe_currency_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_value_lengths_to_equal:
|
||||
value: 3
|
||||
|
|
@ -134,7 +134,7 @@ sources:
|
|||
- name: available_on
|
||||
data_type: bigint
|
||||
description: "The date that the transaction’s net funds become available in the Stripe balance."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: exchange_rate
|
||||
data_type: numeric
|
||||
|
|
@ -145,7 +145,7 @@ sources:
|
|||
- name: reporting_category
|
||||
data_type: character varying
|
||||
description: "Read more at https://stripe.com/docs/reports/reporting-categories."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set:
|
||||
|
|
@ -160,7 +160,7 @@ sources:
|
|||
"other_adjustment",
|
||||
"refund_failure",
|
||||
"dispute_reversal",
|
||||
"payout_reversal"
|
||||
"payout_reversal",
|
||||
]
|
||||
- name: _airbyte_raw_id
|
||||
data_type: character varying
|
||||
|
|
@ -168,7 +168,7 @@ sources:
|
|||
- name: _airbyte_extracted_at
|
||||
data_type: timestamp with time zone
|
||||
description: "{{ doc('_airbyte_extracted_at_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||
datepart: day
|
||||
|
|
@ -186,7 +186,7 @@ sources:
|
|||
- name: id
|
||||
data_type: character varying
|
||||
description: "{{ doc('generic_id_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -197,7 +197,7 @@ sources:
|
|||
- name: paid
|
||||
data_type: boolean
|
||||
description: "true if the charge succeeded, or was successfully authorized for later capture."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: order
|
||||
data_type: character varying
|
||||
|
|
@ -205,14 +205,14 @@ sources:
|
|||
- name: amount
|
||||
data_type: bigint
|
||||
description: "Amount intended to be collected by this payment. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
- name: object
|
||||
data_type: character varying
|
||||
description: "Silly column. The value is always `charge`."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^charge$"
|
||||
- name: review
|
||||
|
|
@ -224,14 +224,14 @@ sources:
|
|||
- name: status
|
||||
data_type: character varying
|
||||
description: "The status of the payment is either succeeded, pending, or failed."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set: ["succeeded", "pending", "failed"]
|
||||
- name: created
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: dispute
|
||||
data_type: character varying
|
||||
|
|
@ -248,17 +248,17 @@ sources:
|
|||
- name: updated
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: captured
|
||||
data_type: boolean
|
||||
description: "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: currency
|
||||
data_type: character varying
|
||||
description: "{{ doc('raw_stripe_currency_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_value_lengths_to_equal:
|
||||
value: 3
|
||||
|
|
@ -277,7 +277,7 @@ sources:
|
|||
- name: refunded
|
||||
data_type: boolean
|
||||
description: "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: shipping
|
||||
data_type: jsonb
|
||||
|
|
@ -315,14 +315,14 @@ sources:
|
|||
- name: payment_intent
|
||||
data_type: character varying
|
||||
description: "ID of the PaymentIntent associated with this charge, if one exists."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^pi_.{24}$"
|
||||
- name: payment_method
|
||||
data_type: character varying
|
||||
description: "ID of the payment method used in this charge."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^pm_.{24}$"
|
||||
|
|
@ -335,7 +335,7 @@ sources:
|
|||
- name: amount_captured
|
||||
data_type: bigint
|
||||
description: "Amount in cents captured (can be less than the amount attribute on the charge if a partial capture was made)."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -343,7 +343,7 @@ sources:
|
|||
- name: amount_refunded
|
||||
data_type: bigint
|
||||
description: "Amount in cents refunded (can be less than the amount attribute on the charge if a partial refund was issued)."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -363,7 +363,7 @@ sources:
|
|||
- name: balance_transaction
|
||||
data_type: character varying
|
||||
description: "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes)."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^txn_.{24}$"
|
||||
row_condition: "balance_transaction is not null"
|
||||
|
|
@ -394,7 +394,7 @@ sources:
|
|||
- name: _airbyte_extracted_at
|
||||
data_type: timestamp with time zone
|
||||
description: "{{ doc('_airbyte_extracted_at_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||
datepart: day
|
||||
|
|
@ -414,7 +414,7 @@ sources:
|
|||
- name: id
|
||||
data_type: character varying
|
||||
description: "{{ doc('generic_id_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -422,14 +422,14 @@ sources:
|
|||
- name: amount
|
||||
data_type: bigint
|
||||
description: "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or equivalent in charge currency. The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99)."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
- name: object
|
||||
data_type: character varying
|
||||
description: "Silly column. The value is always `payment_intent`."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^payment_intent$"
|
||||
- name: review
|
||||
|
|
@ -441,7 +441,7 @@ sources:
|
|||
- name: status
|
||||
data_type: character varying
|
||||
description: "Status of this PaymentIntent, one of requires_payment_method, requires_confirmation, requires_action, processing, requires_capture, canceled, or succeeded. Read more about each PaymentIntent status."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set:
|
||||
|
|
@ -461,7 +461,7 @@ sources:
|
|||
- name: created
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: invoice
|
||||
data_type: character varying
|
||||
|
|
@ -469,12 +469,12 @@ sources:
|
|||
- name: updated
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc')}}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: currency
|
||||
data_type: character varying
|
||||
description: "{{ doc('raw_stripe_currency_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_value_lengths_to_equal:
|
||||
value: 3
|
||||
|
|
@ -492,7 +492,7 @@ sources:
|
|||
- name: metadata
|
||||
data_type: jsonb
|
||||
description: "{{ doc('stripe_metadata_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: shipping
|
||||
data_type: jsonb
|
||||
|
|
@ -526,7 +526,7 @@ sources:
|
|||
- name: latest_charge
|
||||
data_type: character varying
|
||||
description: "The latest charge created by this PaymentIntent."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^(ch|py)_.{24}$"
|
||||
row_condition: "latest_charge is not null"
|
||||
|
|
@ -551,7 +551,7 @@ sources:
|
|||
- name: amount_received
|
||||
data_type: bigint
|
||||
description: "Amount that this PaymentIntent collects."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -559,7 +559,7 @@ sources:
|
|||
- name: amount_capturable
|
||||
data_type: bigint
|
||||
description: "Amount that can be captured from this PaymentIntent."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -611,7 +611,7 @@ sources:
|
|||
- name: _airbyte_extracted_at
|
||||
data_type: timestamp with time zone
|
||||
description: "{{ doc('_airbyte_extracted_at_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||
datepart: day
|
||||
|
|
@ -628,7 +628,7 @@ sources:
|
|||
- name: id
|
||||
data_type: character varying
|
||||
description: "{{ doc('generic_id_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -636,21 +636,21 @@ sources:
|
|||
- name: amount
|
||||
data_type: bigint
|
||||
description: "Amount, in cents."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
- name: charge
|
||||
data_type: character varying
|
||||
description: "ID of the charge that’s refunded."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^(ch|py)_.{24}$"
|
||||
- name: object
|
||||
data_type: character varying
|
||||
description: "Silly column. The value is always `refund`."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^refund$"
|
||||
- name: reason
|
||||
|
|
@ -659,7 +659,7 @@ sources:
|
|||
- name: status
|
||||
data_type: character varying
|
||||
description: "Status of the refund. This can be pending, requires_action, succeeded, failed, or canceled. Learn more about failed refunds."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_in_set:
|
||||
value_set:
|
||||
|
|
@ -673,7 +673,7 @@ sources:
|
|||
- name: created
|
||||
data_type: bigint
|
||||
description: "{{ doc('stripe_created_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: updated
|
||||
data_type: bigint
|
||||
|
|
@ -681,7 +681,7 @@ sources:
|
|||
- name: currency
|
||||
data_type: character varying
|
||||
description: "{{ doc('raw_stripe_currency_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_value_lengths_to_equal:
|
||||
value: 3
|
||||
|
|
@ -691,7 +691,7 @@ sources:
|
|||
- name: payment_intent
|
||||
data_type: character varying
|
||||
description: "ID of the PaymentIntent that’s refunded."
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^pi_.{24}$"
|
||||
|
|
@ -704,7 +704,7 @@ sources:
|
|||
- name: balance_transaction
|
||||
data_type: character varying
|
||||
description: "Balance transacion that describes the impact on your account balance."
|
||||
tests:
|
||||
data_tests:
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^txn_.{24}$"
|
||||
row_condition: "balance_transaction is not null"
|
||||
|
|
@ -720,7 +720,7 @@ sources:
|
|||
- name: _airbyte_extracted_at
|
||||
data_type: timestamp with time zone
|
||||
description: "{{ doc('_airbyte_extracted_at_desc') }}"
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_row_values_to_have_recent_data:
|
||||
datepart: day
|
||||
|
|
|
|||
|
|
@ -13,18 +13,18 @@ models:
|
|||
description: A unique ID for the record, derived from concatenating the
|
||||
currencies and date. Currency order is relevant (EURUSD != USDEUR).
|
||||
data_type: text
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: from_currency
|
||||
description: The source currency, represented as an ISO 4217 code.
|
||||
data_type: character
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: to_currency
|
||||
description: The target currency, represented as an ISO 4217 code.
|
||||
data_type: character
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- name: rate
|
||||
description: >-
|
||||
|
|
@ -38,7 +38,7 @@ models:
|
|||
|
||||
The rate can be smaller than one, but can't be negative.
|
||||
data_type: numeric
|
||||
tests:
|
||||
data_tests:
|
||||
- not_negative_or_zero
|
||||
- not_null
|
||||
- name: rate_date_utc
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ models:
|
|||
- name: id_contact
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the contact.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -21,14 +21,14 @@ models:
|
|||
- name: contact_name
|
||||
data_type: character varying
|
||||
description: The name for the customer.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
- name: is_customer
|
||||
data_type: boolean
|
||||
description: Flag that shows if the contact is a Superhog customer.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -38,7 +38,7 @@ models:
|
|||
- name: is_supplier
|
||||
data_type: boolean
|
||||
description: Flag that shows if the contact is a Superhog supplier.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -199,7 +199,7 @@ models:
|
|||
- name: id_invoice
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the invoice.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ models:
|
|||
description: |
|
||||
This field indicates whether the invoice is from Superhog towards a customer
|
||||
(value is "ACCREC") or from a supplier towards Superhog (value is "ACCPAY").
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -226,31 +226,31 @@ models:
|
|||
- name: total_amount_local_curr
|
||||
data_type: numeric
|
||||
description: The total amount to be paid, in the currency the invoice is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_amount_wo_tax_local_curr
|
||||
data_type: numeric
|
||||
description: The total amount to be paid minus taxes, in the currency the invoice is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_tax_local_curr
|
||||
data_type: numeric
|
||||
description: The total tax, in the currency the invoice is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_due_local_curr
|
||||
data_type: numeric
|
||||
description: The total amount outstanding right now, in the currency the invoice is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_paid_local_curr
|
||||
data_type: numeric
|
||||
description: The total amount that has already been paid, in the currency the invoice is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: invoice_status
|
||||
|
|
@ -261,7 +261,7 @@ models:
|
|||
Can be one of: PAID, VOIDED, DRAFT, DELETED, AUTHORISED, SUBMITTED.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#invoices
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -278,7 +278,7 @@ models:
|
|||
The contact related to this invoice.
|
||||
|
||||
The customer if it's an Accounts Receivables one, the supplier if it's an Accounts Payables one.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: invoice_due_date_utc
|
||||
|
|
@ -297,7 +297,7 @@ models:
|
|||
- name: line_items
|
||||
data_type: jsonb
|
||||
description: An array with all the line items and their details.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: reference
|
||||
|
|
@ -321,7 +321,7 @@ models:
|
|||
- name: invoice_currency_iso_4217
|
||||
data_type: character varying
|
||||
description: The ISO 4217 code for the currency which this invoice uses as unit of account.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- length_between:
|
||||
min_length: 3
|
||||
|
|
@ -337,7 +337,7 @@ models:
|
|||
|
||||
For example, if the invoice is 135 ZAR, and this rate is 0.0167, the invoice value in GBP is 2.25
|
||||
(135ZAR * 0.0167GBP/ZAR = 2.25GBP).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- not_negative
|
||||
|
||||
|
|
@ -399,7 +399,7 @@ models:
|
|||
Indicates whether the amounts included in line items are tax
|
||||
inclusive (Inclusive), tax exclusive (Exclusive) or simply,
|
||||
there are no taxes on the invoice (NoTax).
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
@ -428,7 +428,7 @@ models:
|
|||
- name: id_credit_note
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the credit note.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -451,7 +451,7 @@ models:
|
|||
- name: credit_note_type
|
||||
data_type: character varying
|
||||
description: The type of the credit note (e.g., ACCRECCREDIT or ACCPAYCREDIT).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -468,32 +468,32 @@ models:
|
|||
The implied exchange rate between the credit note currency and GBP.
|
||||
|
||||
This is the XXX to GBP rate, indicating how many GBP one unit of XXX is worth.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- not_negative
|
||||
|
||||
- name: total_amount_local_curr
|
||||
data_type: numeric
|
||||
description: The total amount of the credit note in the local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: subtotal_local_curr
|
||||
data_type: numeric
|
||||
description: The subtotal of the credit note in the local currency, before tax.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_tax_local_curr
|
||||
data_type: numeric
|
||||
description: The total tax amount of the credit note in the local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: remaining_credit_local_curr
|
||||
data_type: numeric
|
||||
description: The remaining credit amount in the local currency.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: applied_amount
|
||||
|
|
@ -508,7 +508,7 @@ models:
|
|||
Can be one of: PAID, VOIDED, DRAFT, DELETED, AUTHORISED, SUBMITTED.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#invoices
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -522,7 +522,7 @@ models:
|
|||
- name: full_contact_details
|
||||
data_type: jsonb
|
||||
description: The full contact details related to the credit note.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: credit_note_due_date
|
||||
|
|
@ -532,7 +532,7 @@ models:
|
|||
- name: line_items
|
||||
data_type: jsonb
|
||||
description: An array of line items associated with the credit note.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: date_string
|
||||
|
|
@ -573,7 +573,7 @@ models:
|
|||
Indicates whether the amounts included in line items are tax
|
||||
inclusive (Inclusive), tax exclusive (Exclusive) or simply,
|
||||
there are no taxes on the credit note (NoTax).
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
@ -597,7 +597,7 @@ models:
|
|||
- name: id_bank_transaction
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
|
||||
|
|
@ -633,7 +633,7 @@ models:
|
|||
negative, amounts we receive are positive.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#bank-transactions
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -653,7 +653,7 @@ models:
|
|||
receiving transactions show as 1. This helps in converting the
|
||||
transaction amounts in the right sign, since Xero brings all amounts
|
||||
as positive by default.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -668,7 +668,7 @@ models:
|
|||
Can be one of: AUTHORISED, DELETED.
|
||||
|
||||
You can read more here: https://developer.xero.com/documentation/api/accounting/types#bank-transaction-status-codes
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- accepted_values:
|
||||
values:
|
||||
|
|
@ -688,7 +688,7 @@ models:
|
|||
description: |
|
||||
Total of bank transaction tax inclusive, in the currency the
|
||||
transaction is denominated in.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: total_amount_wo_tax_local_curr
|
||||
|
|
@ -706,7 +706,7 @@ models:
|
|||
- name: transaction_currency_iso_4217
|
||||
data_type: character varying
|
||||
description: The ISO 4217 code for the currency of the transaction.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- length_between:
|
||||
min_length: 3
|
||||
|
|
@ -729,7 +729,7 @@ models:
|
|||
For example, if the transaction is 135 ZAR, and this rate is 0.0167,
|
||||
the transaction value in GBP is 2.25 (135ZAR * 0.0167GBP/ZAR =
|
||||
2.25GBP).
|
||||
tests:
|
||||
data_tests:
|
||||
- not_negative
|
||||
|
||||
- name: line_amount_tax_inclusiveness
|
||||
|
|
@ -738,7 +738,7 @@ models:
|
|||
Indicates whether the amounts included in line items are tax
|
||||
inclusive (Inclusive), tax exclusive (Exclusive) or simply,
|
||||
there are no taxes on the invoice (NoTax).
|
||||
tests:
|
||||
data_tests:
|
||||
- accepted_values:
|
||||
values:
|
||||
- Inclusive
|
||||
|
|
@ -755,19 +755,19 @@ models:
|
|||
- name: line_items
|
||||
data_type: jsonb
|
||||
description: An array with all the line items and their details.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: bank_account
|
||||
data_type: jsonb
|
||||
description: An array with the details of the related bank account.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: is_reconciled
|
||||
data_type: boolean
|
||||
description: A flag indicating if the transaction has been reconciled.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
|
||||
- name: has_attachments
|
||||
|
|
@ -801,11 +801,11 @@ models:
|
|||
- name: id_account
|
||||
data_type: character varying
|
||||
description: Xero's unique identifier for the account.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: account_code
|
||||
data_type: character varying
|
||||
description: Human readable account code.
|
||||
tests:
|
||||
data_tests:
|
||||
- unique
|
||||
|
|
|
|||
|
|
@ -13,14 +13,14 @@ seeds:
|
|||
- name: iso_4217_code
|
||||
data_type: character varying
|
||||
description: The 3 character ISO 4217 code for this currency, in Uppercase.
|
||||
tests:
|
||||
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.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
regex: "^[0-9]{3}$"
|
||||
|
|
@ -35,7 +35,7 @@ seeds:
|
|||
|
||||
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`.
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
@ -65,7 +65,7 @@ seeds:
|
|||
data_type: character varying
|
||||
description: The name of the country.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- name: alpha_2
|
||||
|
|
@ -73,7 +73,7 @@ seeds:
|
|||
description: |
|
||||
The two characters ISO 3166-1 Alpha-2 code for the country.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -83,7 +83,7 @@ seeds:
|
|||
description: |
|
||||
The three characters ISO 3166-1 Alpha-3 code for the country.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -93,7 +93,7 @@ seeds:
|
|||
description: |
|
||||
The three digit ISO 3166-1 Numeric code for the country.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- unique
|
||||
- dbt_expectations.expect_column_values_to_match_regex:
|
||||
|
|
@ -105,7 +105,7 @@ seeds:
|
|||
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.
|
||||
|
||||
tests:
|
||||
data_tests:
|
||||
- not_null
|
||||
- dbt_expectations.expect_column_values_to_be_between:
|
||||
min_value: 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue