diff --git a/models/intermediate/core/schema.yaml b/models/intermediate/core/schema.yml similarity index 90% rename from models/intermediate/core/schema.yaml rename to models/intermediate/core/schema.yml index d67a186..a877015 100644 --- a/models/intermediate/core/schema.yaml +++ b/models/intermediate/core/schema.yml @@ -44,10 +44,10 @@ models: - The value of this field for both B and C will be A's id. tests: - not_null - + - name: int_core__booking_charge_events description: | - + Booking charge events is a fancy word for saying: a booking happened, the related host had a booking fee set up at the right time, hence we need to charge him. @@ -126,7 +126,7 @@ models: started, depending on the billing settings of the host. tests: - not_null - + - name: is_booking_created_after_charging_date data_type: boolean description: | @@ -136,7 +136,7 @@ models: - name: int_core__check_in_cover_prices description: | - + This table shows the active price and cover for the Check-In Hero product. @@ -157,7 +157,7 @@ models: - name: checkin_cover_guest_fee_local_curr data_type: numeric - description: | + description: | The fee that the guest user must pay if he wants to purchase the cover. @@ -175,16 +175,15 @@ models: tests: - not_null - unique - + - name: int_core__vr_check_in_cover - description: - "This tables holds information on verification requests + description: "This tables holds information on verification requests with Ckeck-in Hero available for the guests." columns: - name: id_verification_request data_type: bigint - description: - "Unique, incremental, internal ID for the related verification + description: + "Unique, incremental, internal ID for the related verification request." tests: - unique @@ -224,8 +223,7 @@ models: - name: is_verification_request_complete data_type: boolean - description: - "True if the verification request is considered + description: "True if the verification request is considered complete, AKA the guest has finished the full guest journey." - name: is_past_check_in @@ -238,13 +236,11 @@ models: - name: cover_was_purchased data_type: boolean - description: - "Boolean to indicate if the cover was purchased by the guest or not." + description: "Boolean to indicate if the cover was purchased by the guest or not." - name: address_validation_passed data_type: boolean - description: - "Boolean to indicate if the validation was approved or not. + description: "Boolean to indicate if the validation was approved or not. In case there was a problem with the validation it will be Null" - name: address_validation_notes @@ -405,25 +401,23 @@ models: - name: amount_in_txn_currency data_type: numeric - description: - "The payment amount in the currency in which the transaction actually happened. + 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." - name: currency data_type: text - description: - "The currency in which the transaction actually happened." + description: "The currency in which the transaction actually happened." - name: amount_in_gbp data_type: numeric - description: + description: "The payment amount value, converted to GBP, using the exchange rate for the day on which the payment happened." - name: payment_status data_type: character varying - description: - "The status of the payment. It can be one of: Paid, Refunded, Refund Failed." + description: "The status of the payment. It can be one of: Paid, Refunded, Refund Failed." - name: payment_paid_date_utc data_type: date @@ -431,13 +425,13 @@ models: - name: checkin_cover_limit_amount_local_curr data_type: numeric - description: + description: "The amount for which the guest user is covered if he faces problems during check-in in their local currency." - name: checkin_cover_limit_amount_in_gbp data_type: numeric - description: + description: "The amount for which the guest user is covered if he faces problems during check-in in GBP." @@ -447,7 +441,7 @@ models: as listings, for each deal id. It's used for the business KPIs in the view by deal id. Data is aggregated at the last day of the month, or up to yesterday if it's the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -462,7 +456,7 @@ models: - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -471,7 +465,7 @@ models: This model contains the historic information regarding the bookings for each deal id. It's used for the business KPIs in the view by deal id. Data is aggregated at the last day of the month, or up to yesterday if it's the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -486,7 +480,7 @@ models: - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -495,7 +489,7 @@ models: This model contains the historic information regarding the guest journey for each deal id. It's used for the business KPIs in the view by deal id. Data is aggregated at the last day of the month, or up to yesterday if it's the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -510,7 +504,7 @@ models: - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -520,7 +514,7 @@ models: It's used for the business KPIs. Data is aggregated at the last day of the month and in the days necessary for the Month-to-Date computation of the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -539,11 +533,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -556,13 +550,13 @@ models: It's used for the business KPIs. Data is aggregated at the last day of the month and in the days necessary for the Month-to-Date computation of the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date - dimension - dimension_value - + columns: - name: date data_type: date @@ -575,11 +569,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -592,13 +586,13 @@ models: It's used for the business KPIs. Data is aggregated at the last day of the month and in the days necessary for the Month-to-Date computation of the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date - dimension - dimension_value - + columns: - name: date data_type: date @@ -611,11 +605,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -628,7 +622,7 @@ models: It's used for the business KPIs. Data is aggregated at the last day of the month and in the days necessary for the Month-to-Date computation of the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -647,11 +641,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -664,13 +658,13 @@ models: It's used for the business KPIs. Data is aggregated at the last day of the month and in the days necessary for the Month-to-Date computation of the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date - dimension - dimension_value - + columns: - name: date data_type: date @@ -683,11 +677,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -699,7 +693,7 @@ models: This model contains the historic information regarding the guest revenue for each deal id. It's used for the business KPIs in the view by deal id. Data is aggregated at the last day of the month, or up to yesterday if it's the current month. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -714,7 +708,7 @@ models: - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -724,7 +718,7 @@ models: completed or not. To achieve it, it encapsulates the logic to determine the different possibilites. Its main output is the column is_verification_request_complete, but it also provides outputs of the intermediate logic steps to be used for further modeling, such as determining the completion date. - + columns: - name: id_verification_request data_type: bigint @@ -747,7 +741,7 @@ models: - name: confirmed_verification_count data_type: int - description: | + description: | total count of confirmed verifications. Mainly, it's the sum of the confirmed verifications that come from the same verification request plus the ones that come from previous verifications requests. @@ -757,19 +751,19 @@ models: - name: used_verification_from_same_verification_request data_type: boolean - description: | + description: | if the verification request can be considered as completed and has at least one confirmed verification from the same verification request. - name: used_verification_from_previous_verification_requests data_type: boolean - description: | + description: | if the verification request can be considered as completed and has at least one confirmed verification from a previous verification request. - name: is_complete_only_from_previous_verification_requests data_type: boolean - description: | + description: | if the verification request can be considered as completed and all confirmed verifications are from previous verification requests. @@ -800,7 +794,7 @@ models: Finally, this model only contains those request that have been completed, so keep it in mind when joining this table. - + columns: - name: id_verification_request data_type: bigint @@ -814,7 +808,7 @@ models: description: estimated timestamp of when the verification request was completed. - name: estimated_completed_date_utc - data_type: date + data_type: date description: estimated date from the timestamp of when the verification request was completed. - name: is_completed_at_overriden_with_used_link_at @@ -835,7 +829,7 @@ models: - name: id_verification_to_payment data_type: bigint description: Unique ID for the relation between the payment verification - and the payment at hand. + and the payment at hand. tests: - unique - not_null @@ -906,12 +900,12 @@ models: data_type: character varying - name: notes data_type: character varying - + - name: int_core__country description: | This model contains information regarding countries, such as codes, names and preferred currencies - + columns: - name: id_country data_type: bigint @@ -928,10 +922,10 @@ models: - name: iso_3 data_type: char(3) - description: | + description: | ISO 3166-1 alpha-3 country code. Some countries can have this value as not set, therefore it's nullable. - + - name: country_name data_type: character varying description: name of the country. Cannot be null. @@ -946,7 +940,7 @@ models: - name: phone_code data_type: int - description: | + description: | Phone code prefix for a given country. Can contain default / duplicated values. - name: id_preferred_currency @@ -971,7 +965,7 @@ models: These codes are part of the ISO 4217 standard. tests: - not_null - + - name: int_core__accommodation description: | This model contains information regarding accommodations, also known as listings. @@ -1001,8 +995,8 @@ models: - name: country_iso_2 data_type: char(2) - description: ISO 3166-1 alpha-2 country code where the listing is located. - + description: ISO 3166-1 alpha-2 country code where the listing is located. + - name: country_name data_type: character varying description: Name of the country where the listing is located. @@ -1093,7 +1087,7 @@ models: - 06-Inactive: Listings that have not had a booking for more than 12 months. - 07-Reactivated: Listings that have had a booking in the current month that were inactive or churning before. - Finally, if none of the logic applies, which should not happen, null will be set and a dbt alert will raise. - + Since the states of Active, First Time Booked and Reactivated indicate certain booking activity and are mutually exclusive, the model also provides information of the recency of the bookings by the following booleans: @@ -1102,8 +1096,8 @@ models: - has_been_booked_within_last_12_months: If a listing has had a booking created in the past 12 months Note that if a listing has had a booking created in a given month, all 3 columns will be true. Similarly, if the last booking created to a listing was 5 months ago, only the column has_been_booked_in_1_month - will be false; while the other 2 will be true. - tests: + will be false; while the other 2 will be true. + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -1112,13 +1106,13 @@ models: columns: - name: date data_type: date - description: The date for the month-to-date. Information is inclusive to the date displayed. + description: The date for the month-to-date. Information is inclusive to the date displayed. tests: - not_null - name: id_accommodation data_type: bigint - description: Id of the accommodation or listing. + description: Id of the accommodation or listing. tests: - not_null @@ -1128,25 +1122,25 @@ models: - name: first_time_booked_date_utc data_type: date - description: | + description: | Date of the first booking created for a given listing. Can be null if the listing has never had a booking associated with it. - name: last_time_booked_date_utc data_type: date - description: | + description: | Date of the last booking created for a given listing. Can be null if the listing has never had a booking associated with it. Can be the same as first_time_booked_date_utc if the listing only had 1 booking in its history. - name: second_to_last_time_booked_date_utc data_type: date - description: | + description: | Date of the second-to-last booking created for a given listing, meaning the creation date of the booking that precedes the last one. It's relevant for the reactivation computation on the lifecycle. Can be null if the listing has never had a booking associated with it or if the listing only had 1 booking in its history. - + - name: accommodation_lifecycle_state data_type: character varying description: | @@ -1189,7 +1183,7 @@ models: These segments are inspired from the ones RevOps team uses, but the associated deals and listings volume will differ since the listing activity logic considered is different. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -1198,28 +1192,28 @@ models: columns: - name: date data_type: date - description: The date for the month-to-date. Information is inclusive to the date displayed. + description: The date for the month-to-date. Information is inclusive to the date displayed. tests: - not_null - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null - name: active_accommodations_per_deal_segmentation data_type: character varying - description: The segmentation based on the number of listings booked in the last 12 months. + description: The segmentation based on the number of listings booked in the last 12 months. tests: - not_null - accepted_values: - values: - - '0' - - '01-05' - - '06-20' - - '21-60' - - '61+' + values: + - "0" + - "01-05" + - "06-20" + - "21-60" + - "61+" - name: accommodations_booked_in_12_months data_type: integer @@ -1240,7 +1234,7 @@ models: - 06-Inactive: Deals that have not had a booking for more than 12 months. - 07-Reactivated: Deals that have had a booking in the current month that were inactive or churning before. - Finally, if none of the logic applies, which should not happen, null will be set and a dbt alert will raise. - + Since the states of Active, First Time Booked and Reactivated indicate certain booking activity and are mutually exclusive, the model also provides information of the recency of the bookings by the following booleans: @@ -1249,8 +1243,8 @@ models: - has_been_booked_within_last_12_months: If a deal has had a booking created in the past 12 months Note that if a deal has had a booking created in a given month, all 3 columns will be true. Similarly, if the last booking created to a deal was 5 months ago, only the column has_been_booked_in_1_month - will be false; while the other 2 will be true. - tests: + will be false; while the other 2 will be true. + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -1259,13 +1253,13 @@ models: columns: - name: date data_type: date - description: The date for the month-to-date. Information is inclusive to the date displayed. + description: The date for the month-to-date. Information is inclusive to the date displayed. tests: - not_null - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -1275,25 +1269,25 @@ models: - name: first_time_booked_date_utc data_type: date - description: | + description: | Date of the first booking created for a given deal. Can be null if the deal has never had a booking associated with it. - name: last_time_booked_date_utc data_type: date - description: | + description: | Date of the last booking created for a given deal. Can be null if the deal has never had a booking associated with it. Can be the same as first_time_booked_date_utc if the deal only had 1 booking in its history. - name: second_to_last_time_booked_date_utc data_type: date - description: | + description: | Date of the second-to-last booking created for a given deal, meaning the creation date of the booking that precedes the last one. It's relevant for the reactivation computation on the lifecycle. Can be null if the deal has never had a booking associated with it or if the deal only had 1 booking in its history. - + - name: deal_lifecycle_state data_type: character varying description: | @@ -1316,7 +1310,7 @@ models: description: If the deal has had a booking created in the past 12 months. - name: int_core__check_in_cover_users - description: + description: This model contains information about hosts that offer check in cover. It has basic information on the users like name, phone, email or joined date. @@ -1364,8 +1358,7 @@ models: - name: check_in_cover_added_date_utc data_type: date - description: - Date the user first included check-in cover + description: Date the user first included check-in cover - name: billing_town data_type: character varying @@ -1376,7 +1369,7 @@ models: description: "" - name: int_core__guest_satisfaction_responses - description: + description: This model contains information on guests satisfaction survey responses, it contains some basic information on the guests, a rating of their experience and some comments on it. @@ -1399,28 +1392,25 @@ models: - name: verification_request_booking_source data_type: text - description: - Source type of host of the booking, this could be either; + description: Source type of host of the booking, this could be either; - PMS - OSL - API/MANUAL tests: - not_null - accepted_values: - values: - - 'PMS' - - 'OSL' - - 'API/MANUAL' + values: + - "PMS" + - "OSL" + - "API/MANUAL" - name: experience_rating data_type: bigint - description: - Guest rating of their experience with Superhog from 1 to 5 + description: Guest rating of their experience with Superhog from 1 to 5 - name: guest_comments data_type: character varying - description: - Guest comments on their experience with Superhog + description: Guest comments on their experience with Superhog - name: is_contactable data_type: boolean @@ -1429,13 +1419,11 @@ models: - name: created_at_utc data_type: timestamp without time zone - description: - Date and time of response creation + description: Date and time of response creation - name: updated_at_utc data_type: timestamp without time zone - description: - Date and time of last update of response + description: Date and time of last update of response - name: selected_payment_option data_type: character varying @@ -1469,16 +1457,14 @@ models: description: | True if guest payed the fee - - name: int_core__verification_request_booking_source - description: - This model contains information on verification requests + description: This model contains information on verification requests and the category type of host that manages the associated booking. - For PMS (Property Manager System) we use the id_integration + For PMS (Property Manager System) we use the id_integration from stg_core__booking, if it isn't Null then the host is PMS type. - For OSL (One Step Link) we use the id_one_step_link from - stg_core__verification_request, similarly if it isn't Null then + For OSL (One Step Link) we use the id_one_step_link from + stg_core__verification_request, similarly if it isn't Null then the host is OSL type. Finally if both id_integration and id_one_step_link are Null, then we classify them as API/MANUAL. (At this point we can't @@ -1488,8 +1474,7 @@ models: columns: - name: id_verification_request data_type: bigint - description: - Id value for the verification request, there can be more + description: Id value for the verification request, there can be more than 1 record for each verification request since they can be associated to more than 1 booking tests: @@ -1498,42 +1483,39 @@ models: - name: created_at_utc data_type: timestamp without time zone - description: - Date and time of creation of the verification request + description: Date and time of creation of the verification request - name: created_date_utc data_type: date - description: - Date of creation of the verification request + description: Date of creation of the verification request - name: verification_request_booking_source data_type: text - description: - Source type of host of the booking, this could be either; + description: Source type of host of the booking, this could be either; - PMS - OSL - API/MANUAL tests: - not_null - accepted_values: - values: - - 'PMS' - - 'OSL' - - 'API/MANUAL' + values: + - "PMS" + - "OSL" + - "API/MANUAL" - name: int_core__verification_requests - description: + description: This is a table that shows all guest journey from our guests users with each record matching each guest journey. It holds information about the guests like name, email, phone, etc.., as - well as dates regarding the process of the guest journey like when it + well as dates regarding the process of the guest journey like when it was started or finished. columns: - name: id_verification_request data_type: bigint - description: - Unique, incremental, internal ID for the related verification + description: + Unique, incremental, internal ID for the related verification request. - name: uuid_verification_request @@ -1562,7 +1544,7 @@ models: - name: is_verification_request_complete data_type: boolean - description: True if the verification request is considered + description: True if the verification request is considered complete, AKA the guest has finished the full guest journey. - name: verification_url @@ -1607,43 +1589,35 @@ models: - name: verification_estimated_started_at_utc data_type: timestamp without time zone - description: - The estimated date and time at which the guest started the guest journey. + description: The estimated date and time at which the guest started the guest journey. - name: verification_estimated_started_date_utc data_type: date - description: - The estimated date on which the guest started the guest journey. + description: The estimated date on which the guest started the guest journey. - name: verification_estimated_completed_at_utc data_type: timestamp without time zone - description: - The estimated date and time at which the guest finished the guest journey. + description: The estimated date and time at which the guest finished the guest journey. - name: verification_estimated_completed_date_utc data_type: date - description: - The estimated date on which the guest finished the guest journey. + description: The estimated date on which the guest finished the guest journey. - name: link_used_at_utc data_type: timestamp without time zone - description: - The date and time at which the guest used the link for the verification. + description: The date and time at which the guest used the link for the verification. - name: link_used_date_utc data_type: date - description: - The date on which the guest used the link for the verification. + description: The date on which the guest used the link for the verification. - name: expire_at_utc data_type: timestamp without time zone - description: - The date and time at which the link for the verification expires. + description: The date and time at which the link for the verification expires. - name: expire_date_utc data_type: date - description: - The date on which the link for the verification expires. + description: The date on which the link for the verification expires. - name: is_deleted data_type: boolean @@ -1661,18 +1635,17 @@ models: - name: verification_request_booking_source data_type: text - description: - Source type of host of the booking, this could be either; + description: Source type of host of the booking, this could be either; - PMS - OSL - API/MANUAL tests: - not_null - accepted_values: - values: - - 'PMS' - - 'OSL' - - 'API/MANUAL' + values: + - "PMS" + - "OSL" + - "API/MANUAL" - name: success_message data_type: character varying @@ -1684,8 +1657,7 @@ models: - name: rejection_reason data_type: character varying - description: - Reason as to why the guest was rejected. + description: Reason as to why the guest was rejected. - name: has_switched_to_mobile data_type: boolean @@ -1707,23 +1679,19 @@ models: - name: created_at_utc data_type: timestamp without time zone - description: - The date and time at which the verification process was created. + description: The date and time at which the verification process was created. - name: created_date_utc data_type: date - description: - The date on which the verification process was created. + description: The date on which the verification process was created. - name: updated_at_utc data_type: timestamp without time zone - description: - The date and time at which the last update on the entry happened. + description: The date and time at which the last update on the entry happened. - name: updated_date_utc data_type: date - description: - The date on which the last update on the entry happened. + description: The date on which the last update on the entry happened. - name: dwh_extracted_at_utc data_type: timestamp with time zone @@ -1765,18 +1733,17 @@ models: - name: verification_request_booking_source data_type: text - description: - Source type of host of the booking, this could be either; + description: Source type of host of the booking, this could be either; - PMS - OSL - API/MANUAL - null (bookings without verification request) tests: - accepted_values: - values: - - 'PMS' - - 'OSL' - - 'API/MANUAL' + values: + - "PMS" + - "OSL" + - "API/MANUAL" - name: id_staging_host_booking data_type: bigint @@ -1784,8 +1751,7 @@ models: - name: is_duplicate_booking data_type: boolean - description: - A flag that identifies whether the booking is a duplicate. + description: A flag that identifies whether the booking is a duplicate. A booking is considered a duplicate if there's an older booking with the same user, accomodation and check-in date. If there are two or more bookings with the same user, @@ -1796,8 +1762,7 @@ models: - name: is_duplicating_booking_with_id data_type: bigint - description: - "If is_duplicate_booking is True then gives id_booking" + description: "If is_duplicate_booking is True then gives id_booking" - name: booking_state data_type: character varying @@ -1892,13 +1857,12 @@ models: description: "" - name: int_core__check_in_cover_listings - description: - This model contains information about hosts and their listings + description: This model contains information about hosts and their listings that offer check in cover. It has basic information on the users and listings like country, town, address and if they are active or not. - This model is restricted to active user so it doesn't include historical + This model is restricted to active user so it doesn't include historical data like users that had check-in cover but are currently inactive. columns: - name: id_user_host @@ -1941,8 +1905,7 @@ models: - name: check_in_cover_added_date_utc data_type: date - description: - Date the user first included check-in cover + description: Date the user first included check-in cover - name: billing_town data_type: character varying @@ -1985,15 +1948,13 @@ models: - name: check_in_cover_purchased data_type: bigint - description: - "Count of how many Check-in covers have been + description: "Count of how many Check-in covers have been purchased for this accommodation" - name: int_core__host_booking_fees - description: - Bookings that have been processed by the Superhog backend. + description: Bookings that have been processed by the Superhog backend. Each record matches one booking and has information on host - booking fees, when they were charged and the currency used by + booking fees, when they were charged and the currency used by the host. columns: @@ -2020,7 +1981,7 @@ models: - name: booking_state data_type: character varying - description: + description: "State in which the booking is, could be either of the following: - Approved - NotApproved @@ -2029,20 +1990,20 @@ models: - NoFlags - Flagged - IncompleteInformation" - tests: + tests: - accepted_values: - values: - - 'Approved' - - 'NotApproved' - - 'Cancelled' - - 'Rejected' - - 'NoFlags' - - 'Flagged' - - 'IncompleteInformation' + values: + - "Approved" + - "NotApproved" + - "Cancelled" + - "Rejected" + - "NoFlags" + - "Flagged" + - "IncompleteInformation" - name: is_duplicate_booking data_type: boolean - description: | + description: | A flag that identifies whether the booking is a duplicate. A booking is considered a duplicate if there's an older booking with the same user, accomodation and check-in date. If there are two or more bookings with the same user, @@ -2094,13 +2055,13 @@ models: - KnowYourGuest - ScreeningAPI - PropertyVerificationManager - - tests: + + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - id_user - role_name - + columns: - name: id_user data_type: string @@ -2108,13 +2069,13 @@ models: The identifier of the user. Can be duplicated if it has multiple roles. tests: - not_null - + - name: role_name data_type: string description: The name of the role a user has. tests: - accepted_values: - values: + values: - Host - Platform - EDeposit @@ -2125,25 +2086,25 @@ models: - PropertyVerificationManager - name: int_core__user_host - description: | - This table provides information of the users that act as Hosts. - A Host needs to be understood in the broad sense of the term. Here host means any - user that acts as a "B2B" client. - The categorisation as a Host is based on two possibilities: the role of the user or if - the user comes from Know Your Guest (KYG) within the claim table. Any user that has - any of the following roles will be considered as a Host in this table: - - Host - - Platform - - EDeposit - - KnowYourGuest - - ScreeningAPI - - PropertyVerificationManager - Additionally, any user that has any of these claim types will be considered as a Host: - - KygRegistrationSignUpType - - KygRegistrationIntegrationTypeName - - KygMvp - Lastly, in case a user satisfies multiple conditions, it will only appear once in this table. - + description: | + This table provides information of the users that act as Hosts. + A Host needs to be understood in the broad sense of the term. Here host means any + user that acts as a "B2B" client. + The categorisation as a Host is based on two possibilities: the role of the user or if + the user comes from Know Your Guest (KYG) within the claim table. Any user that has + any of the following roles will be considered as a Host in this table: + - Host + - Platform + - EDeposit + - KnowYourGuest + - ScreeningAPI + - PropertyVerificationManager + Additionally, any user that has any of these claim types will be considered as a Host: + - KygRegistrationSignUpType + - KygRegistrationIntegrationTypeName + - KygMvp + Lastly, in case a user satisfies multiple conditions, it will only appear once in this table. + columns: - name: id_user_host data_type: character varying @@ -2174,12 +2135,12 @@ models: data_type: string description: | ISO 3166-1 alpha-3 country code in which the Host is billed. - In some cases it's null. + In some cases it's null. - name: account_currency_iso4217 data_type: string description: | 3 character currency code linked to the account. - In some cases it's null. + In some cases it's null. - name: user_code data_type: integer description: | @@ -2232,7 +2193,7 @@ models: - name: joined_date_utc data_type: date description: | - Date of when the Host user joined Superhog. + Date of when the Host user joined Superhog. - name: created_date_utc data_type: date description: | @@ -2244,28 +2205,28 @@ models: in our systems. - name: is_user_migrated data_type: boolean - description: | + description: | Flag to determine if this user host has been migrated according to the logic implemented in user_migration table. - name: migration_phase data_type: string - description: | + description: | The name of the phase this user was first migrated. - name: lower_limit_migration_date_utc data_type: date - description: | + description: | The date that the deployment of the migration happened. It does not necessarily mean that this user was migrated in this date. This user could have not been migrated before this date. - name: int_core__user_migration - description: | - This table provides information of the host users that have been migrated. - At this stage, the main objective is to account for the user migration within - the scope of New Dashboard migration. - It uses the migration configuration settled in the macro: - - user_migration_configuration -> get_new_dash_migration_phases_config + description: | + This table provides information of the host users that have been migrated. + At this stage, the main objective is to account for the user migration within + the scope of New Dashboard migration. + It uses the migration configuration settled in the macro: + - user_migration_configuration -> get_new_dash_migration_phases_config columns: - name: id_user_host @@ -2276,13 +2237,13 @@ models: - unique - name: migration_phase data_type: string - description: | + description: | The name of the phase this user was first migrated. tests: - not_null - name: lower_limit_migration_date_utc data_type: date - description: | + description: | The date that the deployment of the migration happened. It does not necessarily mean that this user was migrated in this date. This user could have not been migrated before @@ -2291,7 +2252,7 @@ models: - not_null - name: int_core__address_validations - description: + description: "This tables contains records on address validation for Check-in Hero purchases by guests. The cover validation can pass or be rejected" @@ -2302,7 +2263,7 @@ models: tests: - unique - not_null - + - name: id_verification data_type: bigint description: "Id of the verification." @@ -2357,7 +2318,7 @@ models: both the active Product Bundles as well as inactive, past ones, for each user, with the dates in which it was active. If a Product Bundle is active, then the end date is null. - + In the initiatives of "new pricing" and "new dashboard" (2024), a User that has been migrated into this setup can have one or many Product Bundles active. This table won't display Product Bundles from users that have not been migrated. @@ -2378,13 +2339,13 @@ models: Thus, the relationship in this table only shows, from user point of view, what Product Bundles she/he can apply into a Listing. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - id_user_host - id_product_bundle - original_starts_at_utc - + columns: - name: id_user_product_bundle data_type: bigint @@ -2400,7 +2361,7 @@ models: The identifier of the User. Can be duplicated if it has many Product Bundles. tests: - not_null - + - name: id_product_bundle data_type: int description: | @@ -2413,8 +2374,8 @@ models: data_type: int description: | The identifier of the Protection Plan. There's a 1 to 1 relationship between - a Product Bundle and a Protection Plan. - + a Product Bundle and a Protection Plan. + - name: product_bundle_name data_type: string description: | @@ -2432,15 +2393,15 @@ models: - name: chosen_product_services data_type: int - description: | + description: | Identifier of the combination of Services that apply to a Product Bundle. In essence, the sum of Service Ids applied return the number displayed in this column. For example, a chosen_product_services = 257 means it has the services 1 + 256, which are the - Basic Screening and the Waiver Pro. - + Basic Screening and the Waiver Pro. + - name: original_starts_at_utc data_type: timestamp - description: | + description: | Timestamp of when this User has Product Bundle was active for the first time, according to the Backend. Keep in mind that this timestamp can be before the migration of the user, thus @@ -2450,7 +2411,7 @@ models: - name: original_ends_at_utc data_type: timestamp - description: | + description: | Timestamp of when this User has Product Bundle was active for the last time, according to the Backend. If null it means that it's currently active. Keep in mind that this timestamp can be before the migration of the user, thus @@ -2458,7 +2419,7 @@ models: - name: effective_start_date_utc data_type: date - description: | + description: | Effective date of when this User has Product Bundle was active for the first time. It takes into account the fact that a User needs to be migrated in order for the Product Bundle to be active. In case of doubt, use this date. @@ -2467,7 +2428,7 @@ models: - name: effective_end_date_utc data_type: date - description: | + description: | Effective date of when this User has Product Bundle was active for the last time. If null it means that it's currently active. It takes into account the fact that a User needs to be migrated in order for @@ -2475,32 +2436,32 @@ models: - name: has_no_end_date data_type: boolean - description: | + description: | Flag to determine if the end date is filled or not. - name: created_at_utc data_type: timestamp - description: | + description: | Timestamp of when this User has Product Bundle was created in the Backend. - name: created_date_utc data_type: date - description: | + description: | Date of when this User has Product Bundle was created in the Backend. - name: updated_at_utc data_type: timestamp - description: | + description: | Timestamp of when this User has Product Bundle was last updated in the Backend. - name: updated_date_utc data_type: date - description: | + description: | Date of when this User has Product Bundle was last updated in the Backend. - name: dwh_extracted_at data_type: timestamp - description: | + description: | Timestamp of when this row was ingested from the Backend to the DWH. - name: int_core__booking_to_product_bundle @@ -2567,27 +2528,27 @@ models: - name: created_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Booking to Product Bundle row was created in the Backend. - name: created_date_utc data_type: date - description: | + description: | Date of when this Booking to Product Bundle row was created in the Backend. - name: updated_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Booking to Product Bundle row was last updated in the Backend. - name: updated_date_utc data_type: date - description: | + description: | Date of when this Booking to Product Bundle row was last updated in the Backend. - name: dwh_extracted_at data_type: timestamp with timezone - description: | + description: | Timestamp of when this row was ingested from the Backend to the DWH. - name: int_core__accommodation_to_product_bundle @@ -2600,7 +2561,7 @@ models: Note: to improve data quality, there's an inner join with int_core__user_product_bundle to ensure that accommodations need to be linked to hosts that appear in the table. - + Important note: the lack of entries in this table does NOT mean that the users do not have Product Bundles in an Accommodation. A migrated user in New Dash have by default the Product Bundle "Basic Screening", which only contains @@ -2658,7 +2619,7 @@ models: - name: original_starts_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Product Bundle is assigned into an Accommodation was active for the first time, according to the Backend. Keep in mind that this timestamp can be before the migration of the user, thus @@ -2668,7 +2629,7 @@ models: - name: original_ends_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Product Bundle is assigned into an Accommodation was active for the last time, according to the Backend. If null it means that it's currently active. @@ -2677,7 +2638,7 @@ models: - name: effective_start_date_utc data_type: date - description: | + description: | Effective date of when this Product Bundle is assigned into an Accommodation was active for the first time. It takes into account the fact that a User needs to be migrated in order for @@ -2687,7 +2648,7 @@ models: - name: effective_end_date_utc data_type: date - description: | + description: | Effective date of when this Product Bundle is assigned into an Accommodation was active for the last time. If null it means that it's currently active. It takes into account the fact that a User needs to be migrated in order for @@ -2695,35 +2656,34 @@ models: - name: has_no_end_date data_type: boolean - description: | + description: | Flag to determine if the end date is filled or not. - name: created_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Accommodation to Product Bundle row was created in the Backend. - name: created_date_utc data_type: date - description: | + description: | Date of when this Accommodation to Product Bundle row was created in the Backend. - name: updated_at_utc data_type: timestamp - description: | + description: | Timestamp of when this Accommodation to Product Bundle row was last updated in the Backend. - name: updated_date_utc data_type: date - description: | + description: | Date of when this Accommodation to Product Bundle row was last updated in the Backend. - name: dwh_extracted_at data_type: timestamp with timezone - description: | + description: | Timestamp of when this row was ingested from the Backend to the DWH. - - name: int_core__new_dash_user_overview description: | This model allows for minimum tracking of how the new dash initative is @@ -2800,7 +2760,7 @@ models: Count of listings that the user owns. It contains only those that can accept bookings (hard activation - not to be confused with activity-based - segmentation). + segmentation). - name: total_listings_with_product_bundle_with_paid_service data_type: integer @@ -2844,7 +2804,7 @@ models: data_type: integer description: | Integer-based flag version of total_bookings_with_product_bundle. - + - name: has_bookings_with_product_bundle_with_paid_service data_type: integer description: | @@ -2859,13 +2819,13 @@ models: should apply for the invoicing of that month, indisctintly of the fact that there was other plans active before. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - id_user_host - id_price_plan - active_in_month_start_date_utc - + columns: - name: id_price_plan data_type: bigint @@ -2875,7 +2835,6 @@ models: tests: - not_null - columns: - name: id_user_host data_type: string description: | @@ -2884,7 +2843,6 @@ models: tests: - not_null - columns: - name: price_plan_charged_by_type data_type: string description: | @@ -2893,7 +2851,6 @@ models: tests: - not_null - columns: - name: price_plan_start_at_utc data_type: timestamp description: | @@ -2902,7 +2859,6 @@ models: tests: - not_null - columns: - name: price_plan_end_at_utc data_type: timestamp description: | @@ -2912,16 +2868,14 @@ models: tests: - not_null - columns: - name: price_plan_created_at_utc data_type: timestamp description: | Original timestamp of when a given price plan was created. tests: - - not_null + - not_null - columns: - name: active_in_month_start_date_utc data_type: date description: | @@ -2931,9 +2885,8 @@ models: If we're interested in retrieving the information from June, this date will be the 1st of June. tests: - - not_null + - not_null - columns: - name: active_in_month_end_date_utc data_type: date description: | @@ -2943,9 +2896,8 @@ models: If we're interested in retrieving the information from June, this date will be the 30th of June. tests: - - not_null + - not_null - columns: - name: price_plans_active_in_month data_type: integer description: | @@ -2956,23 +2908,23 @@ models: informative field of how many changes of price plans happened during that month. tests: - - not_null - + - not_null + - name: int_core__deal - description: | - This table provides information about the unique entity that identifies a - client, which is a Deal. - A Deal is a common way to match information between Core, Xero and Hubspot - data sources. It's different from the typical User Host in the sense that - a Deal can have multiple User accounts (usually referred to as Platform - accounts). This is because in the past, different Host configurations could - only be done if multiple users were created. - It can happen that a Deal has 1 or multiple hosts, as mentioned above. At - the same time, not all users that act as hosts have a deal associated. One - example is Know Your Guest (KYG) Lite accounts. However, there's also historical - cases that for whatever reason there's no Deal associated. - For this model, the billing country and the deal name are estimated based on - the information available in int_core__unified_user. + description: | + This table provides information about the unique entity that identifies a + client, which is a Deal. + A Deal is a common way to match information between Core, Xero and Hubspot + data sources. It's different from the typical User Host in the sense that + a Deal can have multiple User accounts (usually referred to as Platform + accounts). This is because in the past, different Host configurations could + only be done if multiple users were created. + It can happen that a Deal has 1 or multiple hosts, as mentioned above. At + the same time, not all users that act as hosts have a deal associated. One + example is Know Your Guest (KYG) Lite accounts. However, there's also historical + cases that for whatever reason there's no Deal associated. + For this model, the billing country and the deal name are estimated based on + the information available in int_core__unified_user. columns: - name: id_deal @@ -3000,7 +2952,7 @@ models: different User Hosts and these are not forced to be billed within the same country. However, the volume of these cases is very low, thus we proceed with this estimation. - In some cases it's null. + In some cases it's null. - name: main_billing_country_name_per_deal data_type: string description: | @@ -3018,10 +2970,10 @@ models: In some cases it's null. - name: users_with_this_id_deal data_type: integer - description: | + description: | Informative field of how many Users have this same Deal associated. - name: billing_countries_for_this_id_deal data_type: integer - description: | + description: | Informative field of how many different billing countries are - associated to this Deal based on the user account configuration. \ No newline at end of file + associated to this Deal based on the user account configuration. diff --git a/models/intermediate/cross/schema.yml b/models/intermediate/cross/schema.yml index e60d7b8..bec865c 100644 --- a/models/intermediate/cross/schema.yml +++ b/models/intermediate/cross/schema.yml @@ -140,18 +140,18 @@ models: and computes any necessary weighted metric across different sources. Each metric has a date, dimension and dimension value that defines the primary key of this model. - + Finally, it displays any metric on the current date, the previous year date and it computes the relative increment by using the macro: - calculate_safe_relative_increment - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date - dimension - dimension_value - + columns: - name: date data_type: date @@ -164,11 +164,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -197,7 +197,7 @@ models: - not_null - name: month - data_type: int + data_type: int description: Month number of the given date. tests: - not_null @@ -249,7 +249,7 @@ models: combination_of_columns: - date - id_deal - + columns: - name: year data_type: int @@ -258,7 +258,7 @@ models: - not_null - name: month - data_type: int + data_type: int description: Month number of the given date. tests: - not_null @@ -324,14 +324,14 @@ 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: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date - metric - dimension - dimension_value - + columns: - name: year data_type: int @@ -340,7 +340,7 @@ models: - not_null - name: month - data_type: int + data_type: int description: month number of the given date. tests: - not_null @@ -386,11 +386,11 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. @@ -420,35 +420,34 @@ models: data_type: text description: allows for grouping and formatting for displaying purposes. tests: - - accepted_values: - values: ['integer', 'percentage', 'currency_gbp'] + - accepted_values: + values: ["integer", "percentage", "currency_gbp"] - name: value - data_type: numeric - description: | + data_type: numeric + description: | numeric value (integer or decimal) that corresponds to the MTD computation of the metric at a given date. - name: previous_year_value - data_type: numeric - description: | + data_type: numeric + description: | numeric value (integer or decimal) that corresponds to the MTD computation of the metric on the previous year at a given date. - name: relative_increment - data_type: numeric - description: | + data_type: numeric + description: | numeric value that corresponds to the relative increment between value and previous year value, following the computation: value / previous_year_value - 1. - name: relative_increment_with_sign_format - data_type: numeric - description: | + data_type: numeric + description: | relative_increment value multiplied by -1 in case this metric's growth doesn't have a positive impact for Superhog, otherwise is equal to relative_increment. This value is specially created for formatting in PBI - - name: int_monthly_aggregated_metrics_history_by_deal description: | This model aggregates the monthly historic information regarding the different metrics computed @@ -463,9 +462,9 @@ models: the int_mtd_aggregated metrics because 1) the mtd version contains more computing dates than the by deal version, the latest being a subset of the first, and 2) the deal based model enforces that a booking/guest journey/listing/etc has a host with a deal assigned, which is - not necessarily the case. + not necessarily the case. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -480,7 +479,7 @@ models: - name: id_deal data_type: character varying - description: Id of the deal associated to the host. + description: Id of the deal associated to the host. tests: - not_null @@ -496,7 +495,7 @@ models: description: | ISO 3166-1 alpha-3 main country code in which the Deal is billed. In some cases it's null. - + - name: int_dates_mtd_by_dimension description: | This model provides Month-To-Date (MTD) necessary dates, dimension and dimension_values @@ -504,7 +503,7 @@ models: It provides the basic "empty" structure from which metrics will be built upon. This is, on top of the Date that characterises int_dates_mtd, including the dimensions and their respective values that should appear in any mtd metric model. - + Example: - For the "global" dimension, we will only have the "global" dimension value. - For the "by_number_of_listing" dimension, we will have different values @@ -513,7 +512,7 @@ models: ... and so on and forth for any available dimension. These combinations should appear for each date of the MTD models. - tests: + tests: - dbt_utils.unique_combination_of_columns: combination_of_columns: - date @@ -528,7 +527,7 @@ models: - not_null - name: month - data_type: int + data_type: int description: Month number of the given date. tests: - not_null @@ -565,7 +564,7 @@ models: data_type: date description: | Main date for the computation, metrics include monthly information - until this date. + until this date. tests: - not_null @@ -574,13 +573,13 @@ models: description: The dimension or granularity of the metrics. tests: - accepted_values: - values: + values: - global - by_number_of_listings - by_billing_country - + - name: dimension_value data_type: string description: The value or segment available for the selected dimension. tests: - - not_null \ No newline at end of file + - not_null diff --git a/models/intermediate/edeposit/schema.yaml b/models/intermediate/edeposit/schema.yml similarity index 88% rename from models/intermediate/edeposit/schema.yaml rename to models/intermediate/edeposit/schema.yml index 38d5fd6..e8d27f8 100644 --- a/models/intermediate/edeposit/schema.yaml +++ b/models/intermediate/edeposit/schema.yml @@ -2,28 +2,27 @@ version: 2 models: - name: int_edeposit__verifications - description: + description: "This table holds records on verifications for e-deposit bookings. It contains details on validations checked on the guests, guest information and some booking details like checkin-checkout date or the status of the verification. The id values found here are completely unrelated to the ones found in Core DWH. - + Note that id_verifications and booking_id should normally be 1 to 1. Though there are exception, the API will accept a duplicate booking and the users will be charged for it. A duplicate would return a unique id_verification." columns: - name: id_verification data_type: text - description: "unique Superhog generated id for this verification" + description: "unique Superhog generated id for this verification" tests: - unique - not_null - name: id_booking data_type: text - description: - "unique Superhog generated id for a booking. - note that this could be duplicated and both will be charged, + 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" - name: id_user_partner @@ -38,21 +37,19 @@ models: - name: version data_type: text - description: - "value to identify if it is Guesty (V1) or E-deposit (V2)" + description: "value to identify if it is Guesty (V1) or E-deposit (V2)" tests: - accepted_values: - values: + values: - V1 - V2 - name: verification_source data_type: text - description: - "source of the verification for the booking" + description: "source of the verification for the booking" tests: - accepted_values: - values: + values: - Guesty - Edeposit @@ -190,16 +187,15 @@ models: - name: athena_creation_at_utc data_type: timestamp without time zone - description: - "Athena timestamp referring to when the booking was created. - It's provided by Guesty, but is not mandatory. + description: + "Athena timestamp referring to when the booking was created. + It's provided by Guesty, but is not mandatory. In case of doubt use created_at_utc or created_date_utc fields" - name: athena_creation_date_utc data_type: date - description: - "Athena date referring to when the booking was created. - It's provided by Guesty, but is not mandatory. + description: "Athena date referring to when the booking was created. + It's provided by Guesty, but is not mandatory. In case of doubt use created_at_utc or created_date_utc fields" - name: created_at_utc @@ -211,7 +207,7 @@ models: description: "Date of creation of the verification in the system" - name: int_edeposit__verification_fees - description: + description: "This table shows all fee charges per verification for E-deposit. Cancellation fee is charged when the monthly rate of cancelled bookings over total booking of the partner surpasses the threshold (currently set at 0.05). @@ -220,8 +216,7 @@ models: columns: - name: id_verification data_type: text - description: - "Unique Superhog generated id for this verification. + 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: @@ -230,9 +225,8 @@ models: - name: id_booking data_type: text - description: - "unique Superhog generated id for a booking. - note that this could be duplicated and both will be charged, + 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: - not_null @@ -281,7 +275,7 @@ models: - name: cancelled_fee_in_txn_currency data_type: numeric - description: "fee charged in used currency for cancelled verifications" + description: "fee charged in used currency for cancelled verifications" tests: - not_null - dbt_expectations.expect_column_values_to_be_between: @@ -290,7 +284,7 @@ models: - name: cancelled_fee_in_gbp data_type: numeric - description: "fee charged in gbp for cancelled verifications" + description: "fee charged in gbp for cancelled verifications" tests: - not_null - dbt_expectations.expect_column_values_to_be_between: @@ -299,21 +293,20 @@ models: - name: checkout_date_utc data_type: date - description: "Date of checkout for the booking" + description: "Date of checkout for the booking" tests: - not_null - name: created_date_utc data_type: date - description: "Date of creation of the verification in the system" + description: "Date of creation of the verification in the system" tests: - not_null - + - name: int_edeposit__guesty_verifications - description: - "This table shows all verification for Guesty. + description: "This table shows all verification for Guesty. The charged fee is 2GBP per booked night if booking is approved - (considered 1 night when the checkin and checkout are on the same day), + (considered 1 night when the checkin and checkout are on the same day), to be charged on checkout." columns: - name: id_verification @@ -325,9 +318,8 @@ models: - name: id_booking data_type: text - description: - "unique Superhog generated id for a booking. - note that this could be duplicated and both will be charged, + 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: - not_null @@ -344,8 +336,7 @@ models: - name: ok_status_fee_in_gbp data_type: integer - description: - "total fee charged on checkout, this is only charged for approved verifications" + description: "total fee charged on checkout, this is only charged for approved verifications" tests: - not_null - dbt_expectations.expect_column_values_to_be_between: @@ -355,14 +346,12 @@ models: - name: created_date_utc data_type: date - description: - "Date of creation of the verification in the system" + description: "Date of creation of the verification in the system" tests: - not_null - name: checkout_date_utc data_type: date - description: - "Date of checkout for the booking" + description: "Date of checkout for the booking" tests: - - not_null \ No newline at end of file + - not_null diff --git a/models/intermediate/xero/schema.yaml b/models/intermediate/xero/schema.yml similarity index 100% rename from models/intermediate/xero/schema.yaml rename to models/intermediate/xero/schema.yml