data-dwh-dbt-project/models/intermediate/hubspot/schema.yml
Oriol Roqué Paniagua fae7572777 Merged PR 4782: Dashboard, Pricing and Services from Hubspot
# Description

Brings 3 new properties from HubSpot - Deals:
* Dashboard Type: Old Dash, New Dash or null
* Pricing Structure: this contains several possibilities, such as new pricing v1, v2, old pricing (legacy), api pricing, etc.
* Partnership Services: what services the client has according to Hubspot. Not the best in terms of quality but better than nothing specially in Old Dash. I also handled a small processing since services were differently separated.

This is propagated to intermediate in `int_hubspot__deal`. This is needed to automate the pricing differences for clients in old dash to be moved to new dash.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [X] The edited models are sufficiently documented. **Mostly on intermediate, did not bother to update staging besides the new fields.**
- [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.

Related work items: #28627
2025-03-24 11:20:03 +00:00

122 lines
4.1 KiB
YAML

version: 2
models:
- name: int_hubspot__deal
description: |
Our deals in Hubspot. A deal is a commercial relationship with a client
company. It's possible for a single company to have multiple deals, but
it's frequent for them to only have one.
Deals are one of the spines of Superhog's data. You will find references
to Deal Ids in both our in-house systems and Xero.
Note that deals that follow the Guardhog pipeline are excluded from this
table.
columns:
- name: id_deal
data_type: character varying
description: Unique ID for this deal.
data_tests:
- unique
- not_null
- name: deal_name
data_type: text
description: Name of the deal.
- name: contract_signed_date_utc
data_type: date
description: Date in which the contract was signed
- name: onboarding_date_utc
data_type: date
description: Date in which the contract was onboarded
- name: live_date_utc
data_type: date
description: Date in which the account went live
- name: cancellation_date_utc
data_type: date
description: Date in which an account that was being used was cancelled
- name: account_manager
data_type: text
description: |
The name of the account manager that is currently taking care of this
deal.
- name: deal_pipeline
data_type: text
description: |
The name of the hubspot pipeline for this deal.
- name: deal_hubspot_stage
data_type: text
description: |
The name of the hubspot stage this deal is currently in. The different
stages a deal can be in depend on the hubspot pipeline.
- name: cancellation_category
data_type: text
description: Categorization as to why they cancelled the account
- name: cancellation_details
data_type: text
description: Free text with additional comments on why they cancelled the account
- name: amount_of_properties
data_type: integer
description: |
Amount of properties the owner told us they manage. This is not necessarily the
amount of properties that will be finally booked in our business.
- name: last_contacted_date_utc
data_type: date
description: Date in which the account was last contacted
- name: amount_times_contacted
data_type: integer
description: Amount of times the account has been contacted
- name: dashboard_type
data_type: text
description: |
The type of dashboard that the customer has access to. This applies
for platform clients, and can be either Legacy or New.
It can be null.
- name: pricing_structure
data_type: text
description: |
The pricing structure that the customer has. It can be null.
- name: partnership_services
data_type: text
description: |
The partnership type, i.e., the services that the client has
according to hubspot. This field has been processed by applying a
standardized separation "|" and an upper case. Be aware that this
is not how data is presented in HubSpot.
Be aware that this might not capture the full history of services
that the client has had in the past, nor necessarily be always
up-to-date. For New Dash clients, please refer to backend data
for complete accuracy.
It can be null.
- name: created_at_utc
data_type: timestamp with time zone
description: Timestamp of when the record was created in Hubspot
- name: created_date_utc
data_type: date
description: Date of when the record was created in Hubspot
- name: updated_at_utc
data_type: timestamp with time zone
description: Timestamp of when the record was last updated in Hubspot
- name: updated_date_utc
data_type: date
description: Date of when the record was last updated in Hubspot