version: 2 models: - name: screen_and_protect__verification_requests description: | 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. columns: - name: id_verification data_type: text description: Unique identifier for the verification request. data_tests: - unique - not_null - name: id_booking data_type: text description: Unique identifier for the booking associated with the verification. data_tests: - not_null - name: id_user_partner data_type: text description: Identifier for the partner user initiating the verification. data_tests: - not_null - name: id_accommodation data_type: text description: Identifier for the accommodation related to the booking. - name: is_protected data_type: boolean description: | Indicates if the booking is protected or not. data_tests: - not_null - name: protection_type data_type: text description: Specific protection type for the request. data_tests: - not_null - accepted_values: values: - "SCREEN & PROTECT" - "BASIC PROTECTION" - "STANDALONE PROTECTION" - "DAMAGE WAIVER" - "PET PROTECTION" - name: protection_starting_amount_in_local_currency data_type: numeric description: Field used for protection type "STANDALONE PROTECTION" to indicate the starting level of protection. In local currency. data_tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 100000 strictly: true - name: protection_basic_amount_in_local_currency data_type: numeric description: Field used for protection type "SCREEN & PROTECT", "BASIC PROTECTION" or "DAMAGE WAIVER" to show the basic amount of protection. In local currency. data_tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 100000 strictly: true - name: protection_extended_amount_in_local_currency data_type: numeric description: Field used for protection type "SCREEN & PROTECT", or "STANDALONE PROTECTION" to show the basic amount of protection. In local currency. data_tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 50000000 strictly: true - name: pet_protection data_type: boolean description: Indicates if pet protection was included. - name: verification_status data_type: text description: Outcome of the verification process. data_tests: - not_null - accepted_values: values: - "APPROVED" - "FLAGGED" - "REJECTED" - name: verification_status_reason data_type: text description: Reason for the verification status. - name: email_flag data_type: text description: Indicates issues with the email address, if any. - name: phone_flag data_type: text description: Indicates issues with the phone number, if any. - name: watch_list data_type: text description: Indicates if the guest was flagged on a watchlist. data_tests: - accepted_values: values: - "MATCH" - "NO MATCH" - name: channel data_type: text description: Booking channel or source. - name: checkin_date_utc data_type: date description: Check-in date for the booking. - name: checkout_date_utc data_type: date description: Check-out date for the booking. - name: number_of_nights data_type: integer description: Number of nights for the booking. - name: is_cancelled data_type: boolean description: Indicates if the booking was canceled. data_tests: - not_null - name: cancelled_at_utc data_type: timestamp without time zone description: Timestamp when the booking was canceled. data_tests: - not_null: where: is_cancelled = true - name: user_email data_type: text description: Email address of the user associated with the booking. - name: guest_email data_type: text description: Email address of the guest. - name: guest_last_name data_type: text description: Last name of the guest. - name: guest_first_name data_type: text description: First name of the guest. - name: guest_telephone data_type: text description: Telephone number of the guest. - name: company_name data_type: text description: Name of the company associated with the booking. - name: property_manager_name data_type: text description: Name of the property manager. - name: property_manager_email data_type: text description: Email address of the property manager. - name: listing_name data_type: text description: Name of the listing. - name: listing_address data_type: text description: Address of the listing. - name: listing_town data_type: text description: Town where the listing is located. - name: listing_country data_type: text description: Country code where the listing is located. - name: listing_postcode data_type: text description: Postcode of the listing. - name: pets_allowed data_type: boolean description: Indicates if pets are allowed at the listing. - name: status_updated_at_utc data_type: timestamp without time zone description: Timestamp of the last status update for the verification. data_tests: - not_null - name: status_updated_date_utc data_type: date description: Date of the last status update for the verification. data_tests: - not_null - name: updated_at_utc data_type: timestamp without time zone description: Timestamp of the last update to the record. data_tests: - not_null - name: updated_date_utc data_type: date description: Date of the last update to the record. data_tests: - not_null - name: creation_at_utc data_type: timestamp without time zone description: | Timestamp of when the reservation was created. data_tests: - not_null - name: creation_date_utc data_type: date description: | Date of when the reservation was created. data_tests: - not_null - name: cosmos_created_date_utc data_type: date description: | Date of when the verification request was created in Cosmos DB. data_tests: - not_null - name: screen_and_protect__verification_fees description: | This table contains all records for verification requests from the Screen and Protect API and their fees. It tracks financial details such as booking fees, discounts and some booking-related metadata. Documentation: https://www.notion.so/knowyourguest-superhog/Invoice-Screen-Protect-1610446ff9c980f88de6d6293b4fab03?pvs=4 columns: - name: id_verification data_type: text description: "Unique identifier for the verification request." tests: - not_null - unique - name: id_booking data_type: text description: "Unique identifier for the booking associated with the verification." tests: - not_null - name: id_user_partner data_type: text description: "Identifier for the partner user initiating the verification." tests: - not_null - name: id_accommodation data_type: text description: "Identifier for the accommodation related to the booking." - name: is_protected data_type: boolean description: "Indicates if the booking is protected or not." - name: protection_type data_type: text description: "Specific protection type for the request." tests: - not_null - accepted_values: values: - "SCREEN & PROTECT" - "BASIC PROTECTION" - "STANDALONE PROTECTION" - "DAMAGE WAIVER" - "PET PROTECTION" - name: protection_starting_amount_in_local_currency data_type: numeric description: Field used for protection type "STANDALONE PROTECTION" to indicate the starting level of protection. In local currency. tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 100000 strictly: true - name: protection_basic_amount_in_local_currency data_type: numeric description: Field used for protection type "SCREEN & PROTECT", "BASIC PROTECTION" or "DAMAGE WAIVER" to show the basic amount of protection. In local currency. tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 100000 strictly: true - name: protection_extended_amount_in_local_currency data_type: numeric description: Field used for protection type "SCREEN & PROTECT", or "STANDALONE PROTECTION" to show the basic amount of protection. In local currency. tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 50000000 strictly: true - name: pet_protection data_type: boolean description: Indicates if pet protection was included. - name: verification_status data_type: text description: Outcome of the verification process. tests: - not_null - accepted_values: values: - "APPROVED" - "FLAGGED" - "REJECTED" - name: id_currency data_type: bigint description: "Id of the currency, works as a foreign key to the currency table" tests: - not_null - relationships: to: ref('stg_core__currency') field: id_currency - name: checkin_date_utc data_type: date description: "Check-in date for the booking." tests: - not_null - name: checkout_date_utc data_type: date description: "Check-out date for the booking." tests: - not_null - name: number_of_nights data_type: integer description: Number of nights for the reservation. tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 1 - name: is_cancelled data_type: boolean description: "Indicates if the booking was canceled." - name: cancelled_at_utc data_type: timestamp without time zone description: "Timestamp when the booking was canceled." - name: cancelled_date_utc data_type: date description: "Date when the booking was canceled." - name: total_fee_in_local_currency data_type: numeric description: "Total fee in local currency, inclusive of all charges." tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 10000000 strictly: true - not_null - name: discount_percentage data_type: numeric description: "Percentage of discount applied to the booking." tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 99 strictly: false - not_null - name: discount_amount_in_local_currency data_type: numeric description: "Amount of discount in local currency applied to the booking." tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 10000000 strictly: false - not_null - name: total_fee_after_discount_in_local_currency data_type: numeric description: "Total fee in local currency after applying the discount." tests: - dbt_expectations.expect_column_values_to_be_between: min_value: 0 max_value: 10000000 strictly: true - not_null - name: invoice_date_utc data_type: date description: "Date to consider for the invoice." tests: - not_null - name: creation_at_utc data_type: timestamp without time zone description: "Timestamp of when the reservation was created." tests: - not_null - name: creation_date_utc data_type: date description: "Date of when the reservation was created." tests: - not_null - name: cosmos_created_date_utc data_type: date description: "Date of when the verification request was created in Cosmos DB." tests: - not_null