# Description The model `stg_core__superhog_user` contained the fields `created_date_utc` and `updated_date_utc`, which were actually timestamps, not dates. This created issues a while ago in KPIs that were fixed by forcing a date conversion at `int_kpis` level, but the source issue remained unfixed. This PR just creates the proper fields in staging, meaning: * `created_at_utc` and `created_date_utc` * `updated_at_utc` and `updated_date_utc` And propagates the changes through all dependencies. On KPIs, it also removes the hardcoded date conversion since it's no longer needed. It also adds the different schema entries on which these fields were already defined. Note I didn't update the staging entry since there's no entry for the rest of the fields. I recommend checking this PR in the commits order. What I've tested: * Unified User and User Host have plenty of dependencies that I've checked one by one, at each dependency layer by using dbt docs. * Run `core__unified_user` and the full execution of +`mtd_aggregated_metrics` What clearly will fail: * There's the famous `Users_dashboard` PBI report that shouldn't exist that has a dependency with `core__unified_user`. This report will fail. But it does not exist. I'd like to drop it once and forever # Checklist - [X] The edited models and dependants run properly with production data. **See above** - [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 - [X] Check if a full-refresh is required after this PR is merged. **The staging model is incremental!** Related work items: #23703
1257 lines
40 KiB
YAML
1257 lines
40 KiB
YAML
version: 2
|
|
|
|
models:
|
|
- name: core__verification_payments
|
|
latest_version: 2
|
|
description: |
|
|
Payments that have happened as part of the Guest Journey.
|
|
|
|
Each record matches one payment in a guest journey. For example, if a guest pays a fee and a deposit for a booking, this table will hold two records.
|
|
|
|
Lookups to dimensions have been denormalized.
|
|
|
|
The data is mostly coming from Superhog, with money conversion happening through hardcoded rates.
|
|
columns:
|
|
- name: id_verification_to_payment
|
|
data_type: bigint
|
|
description: Superhog id for the record that relates this Payment to a Verification.
|
|
|
|
- name: id_payment
|
|
data_type: bigint
|
|
description: Superhog id for this Payment.
|
|
tests:
|
|
- unique
|
|
- not_null
|
|
|
|
- name: is_refundable
|
|
data_type: boolean
|
|
description: Whether they payment is refundable or not.
|
|
|
|
- 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:
|
|
- not_null
|
|
|
|
- name: payment_due_date_utc
|
|
data_type: date
|
|
description: The date on which this payment had to be paid.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: payment_paid_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The point in time at which this payment was paid.
|
|
|
|
- name: payment_paid_date_utc
|
|
data_type: date
|
|
description: The date on which this payment was paid.
|
|
|
|
- name: payment_reference
|
|
data_type: character varying
|
|
description: |
|
|
The payment reference code in the payment processor.
|
|
|
|
For Acquired, this is typically and 10-12 digits number.
|
|
|
|
For Stripe, this is a payment intent code. This is formatted as `pi_3OieViJK46Ulzq6A16IWxeW5`, with the part after `pi_` being 24 digits long.
|
|
|
|
You can use the Stripe code to match this payment with our Stripe records.
|
|
|
|
- name: refund_due_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The point in time at which this payment had to be refunded.
|
|
|
|
- name: refund_due_date_utc
|
|
data_type: date
|
|
description: The date on which this payment had to be refunded.
|
|
|
|
- name: payment_refunded_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The point in time at which this payment was refunded.
|
|
|
|
- name: payment_refunded_date_utc
|
|
data_type: date
|
|
description: The date on which this payment was refunded.
|
|
|
|
- name: refund_payment_reference
|
|
data_type: character varying
|
|
description: |
|
|
The payment reference for the refund in the payment processor.
|
|
|
|
For Acquired, this is typically and 10-12 digits number.
|
|
|
|
For Stripe, this is a refund code. This is formatted as `pyr_3OieViJK46Ulzq6A16IWxeW5` or `re_3OfWeTJK46Ulzq6A02gVvZuk`.
|
|
|
|
You can use the Stripe code to match this refund with our Stripe records.
|
|
|
|
- name: id_guest_user
|
|
data_type: character varying
|
|
description: The UUID of the guest user in the Superhog backend.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: id_verification
|
|
data_type: bigint
|
|
description: The ID of the verification that generated this payment.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: verification_payment_type
|
|
data_type: character varying
|
|
description: "The payment type. Can be one of: Waiver, Fee, Deposit, Reschedule, Cancellation."
|
|
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- 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:
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- 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:
|
|
- not_null
|
|
|
|
- name: notes
|
|
data_type: character varying
|
|
description: Free text description on the payment. Typically, contains explanations for integration issues with the payment processor.
|
|
|
|
versions:
|
|
- v: 2
|
|
columns:
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- 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:
|
|
- dbt_expectations.expect_column_values_to_be_between:
|
|
min_value: 0
|
|
strictly: false
|
|
|
|
- include: all
|
|
exclude: [amount_in_txn_currency, amount_in_gbp]
|
|
|
|
- name: core__bookings
|
|
description: |
|
|
|
|
Bookings that have been processed by the Superhog backend.
|
|
|
|
Each record matches one booking.
|
|
|
|
All data is coming from the Superhog backend. Some dimensions have been denormalized.
|
|
Some pre-aggregations to the booking level have also been performed and added here.
|
|
|
|
columns:
|
|
- name: id_booking
|
|
data_type: bigint
|
|
description: The unique, Superhog generated id for this booking.
|
|
tests:
|
|
- unique
|
|
- not_null
|
|
|
|
- name: id_user_guest
|
|
data_type: character varying
|
|
description: The UUID of the Superhog user playing the guest role in the booking.
|
|
|
|
- name: id_user_host
|
|
data_type: character varying
|
|
description: The UUID of the Superhog user playing the host role in the booking.
|
|
|
|
- name: id_accommodation
|
|
data_type: bigint
|
|
description: The ID of the booked listing.
|
|
|
|
- name: is_duplicate_booking
|
|
data_type: boolean
|
|
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,
|
|
accomodation and check-in date, the oldest one will have False as a value in this field,
|
|
and the other ones will have True as a value in this Failed."
|
|
|
|
Put simply, if you don't want to receive duplicates, filter this field to True.
|
|
|
|
- name: booking_fee_local
|
|
data_type: numeric
|
|
description: |
|
|
The fee that Superhog should charge the host for this booking, measured in local
|
|
currency.
|
|
|
|
This fee is calculated by finding what was the active price plan for the host user
|
|
when the booking fee had to be charged.
|
|
|
|
- name: booking_fee_charge_at_utc
|
|
data_type: timestamp without time zone
|
|
description: |
|
|
The point in time in which the booking should be invoiced.
|
|
|
|
This could be the check-in date of the booking or the date in which the guest verification
|
|
started, depending on the billing settings of the host.
|
|
|
|
- name: booking_fee_charge_date_utc
|
|
data_type: date
|
|
description: |
|
|
The date in which the booking should be invoiced.
|
|
|
|
This could be the check-in date of the booking or the date in which the guest verification
|
|
started, depending on the billing settings of the host.
|
|
|
|
- name: core__vr_check_in_cover
|
|
description: |
|
|
This is a check-in cover specific fact table designed to support basic
|
|
reporting on the Check-In Hero product.
|
|
|
|
Granularity is roughly on the Guest Journey (Verification Request) level.
|
|
It contains data from many entities, including Verification Request,
|
|
booking, payments, etc.
|
|
|
|
columns:
|
|
- name: id_verification_request
|
|
data_type: bigint
|
|
description: |
|
|
Unique, incremental, internal ID for the related verification
|
|
request.
|
|
tests:
|
|
- not_null
|
|
- unique
|
|
|
|
- name: uuid_verification_request
|
|
data_type: text
|
|
description: uuid for the related verification request.
|
|
|
|
- name: id_user_guest
|
|
data_type: character varying
|
|
description: Unique, incremental, internal ID for the guest user.
|
|
|
|
- name: id_user_host
|
|
data_type: character varying
|
|
description: Unique, incremental, internal ID for the host user.
|
|
|
|
- name: id_booking
|
|
data_type: bigint
|
|
description: Unique, incremental, internal ID for the related booking.
|
|
|
|
- name: id_accommodation
|
|
data_type: bigint
|
|
description: Unique, incremental, internal ID for the related listing.
|
|
|
|
- name: is_verification_request_complete
|
|
data_type: boolean
|
|
description: |
|
|
True if the verification request is considered is considered
|
|
complete, AKA the guest has finished the full guest journey.
|
|
|
|
- name: is_past_check_in
|
|
data_type: boolean
|
|
description: |
|
|
True if the check-in date is in the past, false otherwise. This value
|
|
only gets informed for users who have bought check-in cover.
|
|
|
|
- name: is_awaiting_check_in
|
|
data_type: boolean
|
|
description: |
|
|
True if the check-in date is in the future, false otherwise. This
|
|
value only gets informed for users who have bought check-in cover.
|
|
|
|
- name: cover_was_purchased
|
|
data_type: boolean
|
|
description: |
|
|
True if the guest purchased the check-in cover.
|
|
|
|
This is identified by the fact that there is a payment of type
|
|
check-in cover associated with this guest journey.
|
|
|
|
- name: cover_was_rejected
|
|
data_type: boolean
|
|
description: |
|
|
True if the guest didn't choose to purchase the check-in cover.
|
|
|
|
This is identified by the facts:
|
|
- There is no payment of type check-in cover associated with this
|
|
guest journey.
|
|
- The guest journey is completed, meaning the guest can't make the
|
|
choice of purchasing the check-in cover anymore.
|
|
|
|
- name: guest_email
|
|
data_type: character varying
|
|
description: The email of the guest.
|
|
|
|
- name: last_name
|
|
data_type: character varying
|
|
description: The last name of the guest.
|
|
|
|
- name: first_name
|
|
data_type: character varying
|
|
description: The first name of the guest.
|
|
|
|
- name: guest_phone_number
|
|
data_type: character varying
|
|
description: The phone number of the guest.
|
|
|
|
- name: telephone_code
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: guest_phone_number_2
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: check_in_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The date time when the guest will check-in, in UTC.
|
|
|
|
- name: check_in_date_utc
|
|
data_type: date
|
|
description: The date when the guest will check-in, in UTC.
|
|
|
|
- name: check_out_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The date time when the guest will check-out, in UTC.
|
|
|
|
- name: check_out_date_utc
|
|
data_type: date
|
|
description: The date time when the guest will check-out, in UTC.
|
|
|
|
- name: verification_start_at_utc
|
|
data_type: timestamp without time zone
|
|
description: |
|
|
The date and time at which the guest started the guest journey.
|
|
|
|
- name: verification_start_date_utc
|
|
data_type: date
|
|
description: The date on which the guest started the guest journey.
|
|
|
|
- name: verification_end_at_utc
|
|
data_type: timestamp without time zone
|
|
description: |
|
|
The date and time at which the guest finished the guest journey.
|
|
|
|
- name: verification_end_date_utc
|
|
data_type: date
|
|
description: |
|
|
The date at which the guest finished the guest journey.
|
|
|
|
- name: total_amount_in_txn_currency
|
|
data_type: numeric
|
|
description: |
|
|
The amount paid by the guest for the check-in cover, in the currency
|
|
in which the payment actually took place. Tax inclusive.
|
|
|
|
- name: amount_without_taxes_in_txn_currency
|
|
data_type: numeric
|
|
description: |
|
|
The equivalent amount paid by the guest for the check-in cover, in the currency
|
|
in which the payment actually took place, without taxes.
|
|
|
|
- name: currency
|
|
data_type: character varying
|
|
description: The currency used by the guest for the payment.
|
|
|
|
- name: total_amount_in_gbp
|
|
data_type: numeric
|
|
description: The amount paid by the guest, converted into GBP. Tax inclusive.
|
|
|
|
- name: amount_without_taxes_in_gbp
|
|
data_type: numeric
|
|
description: The equivalent amount paid by the guest, converted into GBP and without taxes.
|
|
|
|
- name: payment_status
|
|
data_type: character varying
|
|
description: The status of the payment.
|
|
|
|
- name: payment_paid_date_utc
|
|
data_type: date
|
|
description: The date in which the guest made the payment.
|
|
|
|
- name: checkin_cover_cover_amount_local_curr
|
|
data_type: numeric
|
|
description: |
|
|
The total amount for which the guest check-in is covered, according
|
|
to the Superhog backend, in the same currency as the guest payment.
|
|
|
|
Bear in mind that the implementation of Check-In Hero pricing in the
|
|
backend holds some tremendous technical debt, which pretty much
|
|
prevents changes in the pricing and has no concept of historical
|
|
pricing.
|
|
|
|
The current implementation of this model is very naive and assumes
|
|
that prices have not changed. If prices have been changed somehow in
|
|
the backend, but someone hasn't taken care of performing the right
|
|
updates in upstream dependencies of this model, then it's most
|
|
probably broken and unreliable.
|
|
|
|
For more details, contact pablo.martin or Lawrence.
|
|
|
|
- name: checkin_cover_cover_amount_in_gbp
|
|
data_type: numeric
|
|
description: |
|
|
The total amount for which the guest check-in is covered, according
|
|
to the Superhog backend, converted to GBP.
|
|
|
|
Bear in mind that the implementation of Check-In Hero pricing in the
|
|
backend holds some tremendous technical debt, which pretty much
|
|
prevents changes in the pricing and has no concept of historical
|
|
pricing.
|
|
|
|
The current implementation of this model is very naive and assumes
|
|
that prices have not changed. If prices have been changed somehow in
|
|
the backend, but someone hasn't taken care of performing the right
|
|
updates in upstream dependencies of this model, then it's most
|
|
probably broken and unreliable.
|
|
|
|
For more details, contact pablo.martin or Lawrence.
|
|
|
|
- name: core__verification_requests
|
|
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
|
|
was started or finished.
|
|
columns:
|
|
- name: id_verification_request
|
|
data_type: bigint
|
|
description:
|
|
Unique, incremental, internal ID for the related verification
|
|
request.
|
|
|
|
- name: uuid_verification_request
|
|
data_type: text
|
|
description: uuid for the related verification request.
|
|
|
|
- name: id_verification_set
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: id_superhog_verified_set
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: id_payment_validation_set
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: id_user_guest
|
|
data_type: character varying
|
|
description: Unique, incremental, internal ID for the guest user.
|
|
|
|
- name: id_user_host
|
|
data_type: character varying
|
|
description: Unique, incremental, internal ID for the host user.
|
|
|
|
- name: is_verification_request_complete
|
|
data_type: boolean
|
|
description: True if the verification request is considered
|
|
complete, AKA the guest has finished the full guest journey.
|
|
|
|
- name: verification_url
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: callback_url
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: redirect_url
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: logo
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: guest_email
|
|
data_type: character varying
|
|
description: The email of the guest.
|
|
|
|
- name: last_name
|
|
data_type: character varying
|
|
description: The last name of the guest.
|
|
|
|
- name: first_name
|
|
data_type: character varying
|
|
description: The first name of the guest.
|
|
|
|
- name: guest_phone_number
|
|
data_type: character varying
|
|
description: The phone number of the guest.
|
|
|
|
- name: telephone_code
|
|
data_type: character varying
|
|
description: The telephone code of the guest.
|
|
|
|
- name: guest_phone_number_2
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: verification_start_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The date and time at which the guest started the guest journey.
|
|
|
|
- name: verification_start_date_utc
|
|
data_type: date
|
|
description: The date on which the guest started the guest journey.
|
|
|
|
- name: verification_end_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The date and time at which the guest finished the guest journey.
|
|
|
|
- name: verification_end_date_utc
|
|
data_type: date
|
|
description: The 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.
|
|
|
|
- name: link_used_date_utc
|
|
data_type: date
|
|
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.
|
|
|
|
- name: expire_date_utc
|
|
data_type: date
|
|
description: The date on which the link for the verification expires.
|
|
|
|
- name: is_deleted
|
|
data_type: boolean
|
|
description: |
|
|
True if the link for verification expired before finishing the
|
|
verification.
|
|
|
|
- name: redirect_name
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: id_one_step_link
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: success_message
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: summary
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: rejection_reason
|
|
data_type: character varying
|
|
description: Reason as to why the guest was rejected.
|
|
|
|
- name: has_switched_to_mobile
|
|
data_type: boolean
|
|
description: |
|
|
True if the guest changed has switched to mobile
|
|
during the verification process.
|
|
|
|
- name: is_verifier_rejected
|
|
data_type: boolean
|
|
description: ""
|
|
|
|
- name: config
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: metadata
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: created_at_utc
|
|
data_type: timestamp without time zone
|
|
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.
|
|
|
|
- name: updated_at_utc
|
|
data_type: timestamp without time zone
|
|
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.
|
|
|
|
- name: dwh_extracted_at_utc
|
|
data_type: timestamp with time zone
|
|
description: ""
|
|
|
|
- name: core__unified_user
|
|
description:
|
|
This is a table to join data from all users of Superhog (hosts, PMs, guests, etc).
|
|
|
|
It contains details of every user like name, last name, email address, etc.
|
|
columns:
|
|
- name: id_user
|
|
data_type: character varying
|
|
description: Unique, incremental, internal ID for the user.
|
|
tests:
|
|
- unique
|
|
- not_null
|
|
|
|
- name: id_account_type
|
|
data_type: bigint
|
|
description: Internal ID for type of user.
|
|
|
|
- name: id_billing_country
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: account_currency_iso4217
|
|
data_type: character varying
|
|
description: Currency used by host/pm/platform users.
|
|
|
|
- name: user_code
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: first_name
|
|
data_type: character varying
|
|
description: First name of user.
|
|
|
|
- name: last_name
|
|
data_type: character varying
|
|
description: Last name of user.
|
|
|
|
- name: email
|
|
data_type: character varying
|
|
description: The email of the user.
|
|
|
|
- name: title
|
|
data_type: character varying
|
|
description: Title of the user (Mr, Ms, etc).
|
|
|
|
- name: id_deal
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: is_deleted
|
|
data_type: boolean
|
|
description: ¦ True if the user has been deleted.
|
|
|
|
- name: joined_at_utc
|
|
data_type: timestamp without time zone
|
|
description: The date time when the user created it's account in Superhog.
|
|
|
|
- name: joined_date_utc
|
|
data_type: date
|
|
description: The date when the user created it's account in Superhog.
|
|
|
|
- name: user_name
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: code_prefix
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: billing_town
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: company_name
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: is_email_confirmed
|
|
data_type: boolean
|
|
description: ¦ True if the email has been confirmed.
|
|
|
|
- name: is_lockout_enabled
|
|
data_type: boolean
|
|
description: ""
|
|
|
|
- name: billing_postcode
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: is_twofactor_enabled
|
|
data_type: boolean
|
|
description: ""
|
|
|
|
- name: access_failed_count
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: lockout_end_date_utc
|
|
data_type: timestamp without time zone
|
|
description: ""
|
|
|
|
- name: avatar
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: id_airbnb
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: airbnb_url
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: created_at_utc
|
|
data_type: timestamp
|
|
description: The timestamp when the user was created.
|
|
|
|
- name: created_date_utc
|
|
data_type: date
|
|
description: The date when the user was created.
|
|
|
|
- name: updated_at_utc
|
|
data_type: timestamp
|
|
description: The timestamp when the user was updated.
|
|
|
|
- name: updated_date_utc
|
|
data_type: date
|
|
description: The date when the user was updated.
|
|
|
|
- name: verified_at_utc
|
|
data_type: timestamp without time zone
|
|
description: ""
|
|
|
|
- name: verified_date_utc
|
|
data_type: date
|
|
description: ""
|
|
|
|
- name: flag_as_problem
|
|
data_type: boolean
|
|
description: ""
|
|
|
|
- name: number_of_properties
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: id_superhog_verified_set
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: platform_comms_recipient
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: other_sharing_platform_url
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: id_user_verification_status
|
|
data_type: bigint
|
|
description: ""
|
|
|
|
- name: core__check_in_cover_users
|
|
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.
|
|
|
|
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
|
|
data_type: character varying
|
|
description: Unique id value for the user
|
|
tests:
|
|
- not_null
|
|
- unique
|
|
|
|
- name: id_deal
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: last_name
|
|
data_type: character varying
|
|
description: Last name of the user
|
|
|
|
- name: user_name
|
|
data_type: character varying
|
|
description: User name of the user
|
|
|
|
- name: first_name
|
|
data_type: character varying
|
|
description: First name of the user
|
|
|
|
- name: host_email
|
|
data_type: character varying
|
|
description: Email of the user
|
|
|
|
- name: phone_number
|
|
data_type: character varying
|
|
description: Phone number of the user
|
|
|
|
- name: joined_at_utc
|
|
data_type: timestamp without time zone
|
|
description: Date and time the user joined
|
|
|
|
- name: joined_date_utc
|
|
data_type: date
|
|
description: Date the user joined
|
|
|
|
- name: check_in_cover_added_date_utc
|
|
data_type: date
|
|
description: Date the user first included check-in cover
|
|
|
|
- name: billing_town
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: company_name
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: core__guest_satisfaction_responses
|
|
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.
|
|
It also includes information on the services provided by Superhog that they payed for.
|
|
columns:
|
|
- name: id_verification_request
|
|
data_type: bigint
|
|
description: Unique id value for the verification request
|
|
tests:
|
|
- not_null
|
|
- unique
|
|
|
|
- name: id_user_guest
|
|
data_type: character varying
|
|
description: Unique id value for the guest
|
|
|
|
- name: guest_email
|
|
data_type: character varying
|
|
description: Guest email
|
|
|
|
- name: verification_request_booking_source
|
|
data_type: text
|
|
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"
|
|
|
|
- name: experience_rating
|
|
data_type: bigint
|
|
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
|
|
|
|
- name: is_contactable
|
|
data_type: boolean
|
|
description: |
|
|
True if the guest allows to be contacted for more feedback
|
|
|
|
- name: created_at_utc
|
|
data_type: timestamp without time zone
|
|
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
|
|
|
|
- name: selected_payment_option
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: date_of_birth
|
|
data_type: numeric
|
|
description: ""
|
|
|
|
- name: age_of_guest
|
|
data_type: numeric
|
|
description: ""
|
|
|
|
- name: has_check_in_cover_payment
|
|
data_type: boolean
|
|
description: |
|
|
True if guest payed for check-in cover
|
|
|
|
- name: has_waiver_payment
|
|
data_type: boolean
|
|
description: |
|
|
True if guest payed the waiver
|
|
|
|
- name: has_deposit_payment
|
|
data_type: boolean
|
|
description: |
|
|
True if guest payed the deposit
|
|
|
|
- name: has_fee_payment
|
|
data_type: boolean
|
|
description: |
|
|
True if guest payed the fee
|
|
|
|
- name: core__check_in_cover_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
|
|
data like users that had check-in cover but are currently inactive.
|
|
columns:
|
|
- name: id_user_host
|
|
data_type: character varying
|
|
description: Unique id value for the user
|
|
tests:
|
|
- not_null
|
|
|
|
- name: id_deal
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: last_name
|
|
data_type: character varying
|
|
description: Last name of the user
|
|
|
|
- name: user_name
|
|
data_type: character varying
|
|
description: User name of the user
|
|
|
|
- name: first_name
|
|
data_type: character varying
|
|
description: First name of the user
|
|
|
|
- name: host_email
|
|
data_type: character varying
|
|
description: Email of the user
|
|
|
|
- name: phone_number
|
|
data_type: character varying
|
|
description: Phone number of the user
|
|
|
|
- name: joined_at_utc
|
|
data_type: timestamp without time zone
|
|
description: Date and time the user joined
|
|
|
|
- name: joined_date_utc
|
|
data_type: date
|
|
description: Date the user joined
|
|
|
|
- name: check_in_cover_added_date_utc
|
|
data_type: date
|
|
description: Date the user first included check-in cover
|
|
|
|
- name: billing_town
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: company_name
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: id_accommodation
|
|
data_type: bigint
|
|
description: "Id of the accommodation or listing. It's the unique key for this model."
|
|
tests:
|
|
- not_null
|
|
- unique
|
|
|
|
- name: is_active
|
|
data_type: boolean
|
|
description: "Boolean to indicate if the accommodation is active or not"
|
|
|
|
- name: friendly_name
|
|
data_type: character varying
|
|
description: "Name of the accommodation"
|
|
|
|
- name: country_name
|
|
data_type: character varying
|
|
description: "Name of the country where the accommodation is located."
|
|
|
|
- name: town
|
|
data_type: character varying
|
|
description: "Town in which the accommodation is located"
|
|
|
|
- name: postcode
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: address_line_1
|
|
data_type: character varying
|
|
description: ""
|
|
|
|
- name: check_in_cover_purchased
|
|
data_type: bigint
|
|
description: "Count of how many Check-in covers have been
|
|
purchased for this accommodation"
|
|
|
|
- name: core__host_booking_fees
|
|
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
|
|
the host.
|
|
|
|
columns:
|
|
- name: id_booking
|
|
data_type: bigint
|
|
description: "The unique, Superhog generated id for this booking."
|
|
tests:
|
|
- unique
|
|
- not_null
|
|
|
|
- name: id_user_guest
|
|
data_type: character varying
|
|
description: The UUID of the Superhog user playing the guest role in the booking.
|
|
|
|
- name: id_user_host
|
|
data_type: character varying
|
|
description: The UUID of the Superhog user playing the host role in the booking.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: id_accommodation
|
|
data_type: bigint
|
|
description: The ID of the booked listing.
|
|
|
|
- name: booking_state
|
|
data_type: character varying
|
|
description:
|
|
"State in which the booking is, could be either of the following:
|
|
- Approved
|
|
- NotApproved
|
|
- Cancelled
|
|
- Rejected
|
|
- NoFlags
|
|
- Flagged
|
|
- IncompleteInformation"
|
|
tests:
|
|
- accepted_values:
|
|
values:
|
|
- "Approved"
|
|
- "NotApproved"
|
|
- "Cancelled"
|
|
- "Rejected"
|
|
- "NoFlags"
|
|
- "Flagged"
|
|
- "IncompleteInformation"
|
|
|
|
- name: is_duplicate_booking
|
|
data_type: boolean
|
|
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,
|
|
accomodation and check-in date, the oldest one will have False as a value in this field,
|
|
and the other ones will have True as a value in this Failed."
|
|
Put simply, if you don't want to receive duplicates, filter this field to False.
|
|
|
|
- name: booking_fee_local
|
|
data_type: numeric
|
|
description: "The fee to apply to the booking, in host currency."
|
|
|
|
- name: account_currency_iso4217
|
|
data_type: character varying
|
|
description: "Currency used by host/pm/platform users."
|
|
|
|
- name: booking_fee_in_gbp
|
|
data_type: numeric
|
|
description: "The fee to apply to the booking, in GBP"
|
|
|
|
- name: booking_fee_charge_at_utc
|
|
data_type: timestamp without time zone
|
|
description: |
|
|
The point in time in which the booking should be invoiced.
|
|
|
|
This could be the check-in date of the booking or the date in which the guest verification
|
|
started, depending on the billing settings of the host.
|
|
|
|
- name: booking_fee_charge_date_utc
|
|
data_type: date
|
|
description: |
|
|
The date in which the booking should be invoiced.
|
|
|
|
This could be the check-in date of the booking or the date in which the guest verification
|
|
started, depending on the billing settings of the host.
|
|
|
|
- name: core__new_dash_user_overview
|
|
description: |
|
|
This model allows for minimum tracking of how the new dash initative is
|
|
performing in the different migrations.
|
|
|
|
It's a user-centric model in which, for each user, we retrieve some
|
|
basic performance indicators in the form of listings and bookings.
|
|
|
|
columns:
|
|
- name: id_user_host
|
|
data_type: string
|
|
description: |
|
|
The unique identifier of this table. It corresponds to the host users
|
|
that have been migrated to the New Dashboard.
|
|
tests:
|
|
- not_null
|
|
- unique
|
|
|
|
- name: id_deal
|
|
data_type: character varying
|
|
description: The ID for the Deal.
|
|
|
|
- name: user_migration_phase
|
|
data_type: string
|
|
description: |
|
|
The migration phase in which this user was migrated, for informative
|
|
purposes.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: has_user_moved_from_old_dash
|
|
data_type: boolean
|
|
description: |
|
|
Flag to determine if this user host is in New Dash and has
|
|
been moved from the old dash.
|
|
|
|
- name: user_estimated_migration_date_utc
|
|
data_type: date
|
|
description: |
|
|
The estimated date in which this user was migrated.
|
|
tests:
|
|
- not_null
|
|
|
|
- name: company_name
|
|
data_type: string
|
|
description: |
|
|
Information about the host user.
|
|
|
|
- name: first_name
|
|
data_type: string
|
|
description: |
|
|
Information about the host user.
|
|
|
|
- name: last_name
|
|
data_type: string
|
|
description: |
|
|
Information about the host user.
|
|
|
|
- name: email
|
|
data_type: string
|
|
description: |
|
|
Information about the host user.
|
|
|
|
- name: account_currency
|
|
data_type: string
|
|
description: |
|
|
Currency associated to the host user.
|
|
|
|
- name: total_user_product_bundles
|
|
data_type: integer
|
|
description: |
|
|
Count of product bundles that this user has or has had.
|
|
It contains both active and historic cases.
|
|
|
|
- name: total_active_user_product_bundles
|
|
data_type: integer
|
|
description: |
|
|
Count of product bundles that this user currently has.
|
|
It contains only currently active cases.
|
|
|
|
- name: total_listings
|
|
data_type: integer
|
|
description: |
|
|
Count of listings that the user owns or has owned.
|
|
|
|
- name: total_active_listings
|
|
data_type: integer
|
|
description: |
|
|
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).
|
|
|
|
- name: total_listings_with_product_bundle_with_paid_service
|
|
data_type: integer
|
|
description: |
|
|
Count of listings that have, or have had, a paid service
|
|
product bundle activated.
|
|
|
|
- name: total_listings_with_active_product_bundle_with_paid_service
|
|
data_type: integer
|
|
description: |
|
|
Count of listings that currently have an active paid service
|
|
product bundle.
|
|
|
|
- name: has_active_listings
|
|
data_type: integer
|
|
description: |
|
|
Integer-based flag version of total_active_listings.
|
|
|
|
- name: has_listings_with_paid_service_applied
|
|
data_type: integer
|
|
description: |
|
|
Integer-based flag version of total_listings_with_product_bundle_with_paid_service.
|
|
|
|
- name: has_listings_with_active_paid_service_applied
|
|
data_type: integer
|
|
description: |
|
|
Integer-based flag version of total_listings_with_active_product_bundle_with_paid_service.
|
|
|
|
- name: total_bookings_with_product_bundle
|
|
data_type: integer
|
|
description: |
|
|
Count of bookings that have a product bundle associated.
|
|
|
|
- name: total_bookings_with_product_bundle_with_paid_service
|
|
data_type: integer
|
|
description: |
|
|
Count of bookings that have a product bundle associated that contain
|
|
a paid service.
|
|
|
|
- name: has_bookings_with_product_bundle
|
|
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: |
|
|
Integer-based flag version of total_bookings_with_product_bundle_with_paid_service.
|