Merged PR 3706: model to reporting

# Description

Verifications model to reporting
I created a new folder `cross` for this model in reporting

# Checklist

- [x] The edited models and dependants run properly with production data.
- [x] The edited models are sufficiently documented.
- [x] The edited models contain PK tests, and I've ran and passed them.
- [x] I have checked for DRY opportunities with other models and docs.
- [x] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.

model to reporting

Related work items: #24825
This commit is contained in:
Joaquin Ossa 2024-11-29 11:48:38 +00:00
commit 126e702c6e
2 changed files with 251 additions and 0 deletions

View file

@ -0,0 +1,46 @@
with
int_edeposit_and_athena_verifications as (
select * from {{ ref("int_edeposit_and_athena_verifications") }}
)
select
eav.id_verification as id_verification,
eav.id_booking as id_booking,
eav.id_user_partner as id_user_partner,
eav.id_accommodation as id_accommodation,
eav.version as version,
eav.verification_source as verification_source,
eav.verification_status as verification_status,
eav.nightly_fee_local as nightly_fee_local,
eav.number_nights as number_nights,
eav.email_flag as email_flag,
eav.phone_flag as phone_flag,
eav.watch_list as watch_list,
eav.channel as channel,
eav.checkin_at_utc as checkin_at_utc,
eav.checkin_date_utc as checkin_date_utc,
eav.checkout_at_utc as checkout_at_utc,
eav.checkout_date_utc as checkout_date_utc,
eav.is_cancelled as is_cancelled,
eav.cancelled_at_utc as cancelled_at_utc,
eav.cancelled_date_utc as cancelled_date_utc,
eav.user_email as user_email,
eav.guest_email as guest_email,
eav.guest_last_name as guest_last_name,
eav.guest_first_name as guest_first_name,
eav.guest_telephone as guest_telephone,
eav.company_name as company_name,
eav.property_manager_name as property_manager_name,
eav.property_manager_email as property_manager_email,
eav.listing_name as listing_name,
eav.listing_town as listing_town,
eav.listing_country as listing_country,
eav.listing_postcode as listing_postcode,
eav.pets_allowed as pets_allowed,
eav.status_updated_at_utc as status_updated_at_utc,
eav.status_updated_date_utc as status_updated_date_utc,
eav.updated_at_utc as updated_at_utc,
eav.athena_creation_at_utc as athena_creation_at_utc,
eav.athena_creation_date_utc as athena_creation_date_utc,
eav.created_at_utc as created_at_utc,
eav.created_date_utc as created_date_utc
from int_edeposit_and_athena_verifications eav

View file

@ -0,0 +1,205 @@
models:
- name: edeposit_and_athena_verifications
description:
"This table holds records on verifications for Guesty and Edeposit 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"
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,
it's up to the user to no generate duplicate verifications"
- name: id_user_partner
data_type: text
description: "unique Superhog generated id for partner"
tests:
- not_null
- name: id_accommodation
data_type: text
description: "unique Superhog generated id for a listing"
- name: version
data_type: text
description: "value to identify if it is Guesty (V1) or E-deposit (V2)"
tests:
- accepted_values:
values:
- V1
- V2
- name: verification_source
data_type: text
description: "source of the verification for the booking"
tests:
- accepted_values:
values:
- Guesty
- Edeposit
- name: verification_status
data_type: text
description: "status of the verification"
- name: nightly_fee_local
data_type: double precision
description: "fee charged per night"
- name: number_nights
data_type: integer
description: "number of nights for the booking"
- name: email_flag
data_type: text
description: "screening result for email"
- name: phone_flag
data_type: text
description: "screening result for phone"
- name: watch_list
data_type: text
description: "screening result of the guest"
- name: channel
data_type: text
description: ""
- name: checkin_at_utc
data_type: timestamp without time zone
description: "Timestamp of checkin for the booking"
- name: checkin_date_utc
data_type: date
description: "Date of checkin for the booking"
- name: checkout_at_utc
data_type: timestamp without time zone
description: "Timestamp of checkout for the booking"
- name: checkout_date_utc
data_type: date
description: "Date of checkout for the booking"
- name: is_cancelled
data_type: boolean
description: ""
- name: cancelled_at_utc
data_type: timestamp without time zone
description: "Timestamp of cancellation of the booking"
- name: cancelled_date_utc
data_type: date
description: "Date of cancellation for the booking"
- name: user_email
data_type: text
description: ""
- name: guest_email
data_type: text
description: ""
- name: guest_last_name
data_type: text
description: ""
- name: guest_first_name
data_type: text
description: ""
- name: guest_telephone
data_type: text
description: ""
- name: company_name
data_type: text
description: ""
- name: property_manager_name
data_type: text
description: ""
- name: property_manager_email
data_type: text
description: ""
- name: listing_name
data_type: text
description: ""
- name: listing_town
data_type: text
description: ""
- name: listing_country
data_type: text
description: ""
- name: listing_postcode
data_type: text
description: ""
- name: pets_allowed
data_type: boolean
description: ""
- name: level_of_protection_amount
data_type: integer
description: ""
- name: level_of_protection_currency
data_type: text
description: ""
- name: status_updated_at_utc
data_type: timestamp without time zone
description: "Timestamp when status was last updated"
- name: status_updated_date_utc
data_type: date
description: "Date of last status update of the verification"
- name: updated_at_utc
data_type: timestamp without time zone
description: "Timestamp of last updated of the verification"
- name: updated_date_utc
data_type: date
description: "Date of last update of the verification"
- 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.
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.
In case of doubt use created_at_utc or created_date_utc fields"
- name: created_at_utc
data_type: timestamp without time zone
description: "Timestamp of creation of the verification in the system"
- name: created_date_utc
data_type: date
description: "Date of creation of the verification in the system"