Commit graph

693 commits

Author SHA1 Message Date
Pablo Martin
936b4878cf point exposure to the table that PBI actually uses 2024-10-09 17:54:32 +02:00
Pablo Martin
a1a68d236b removed incorrect uniqueness test 2024-10-09 17:41:43 +02:00
uri
7302790d42 Add new API role CancellationApi in user_role accepted values 2024-10-09 10:17:34 +02:00
Pablo Martin
09fe9ded77 signal model deprecation more clearly, unlock a few tests 2024-10-08 17:44:31 +02:00
Pablo Martin
ea4274b37c missing docs 2024-10-08 17:25:16 +02:00
Pablo Martin
2d42d99543 docs for athena int 2024-10-08 14:54:11 +02:00
Pablo Martin
c81f6c955d move docs for int_edeposit__guesty_verifications 2024-10-08 14:45:50 +02:00
Pablo Martin
ba29afa3bd docs for athena staging 2024-10-08 14:41:17 +02:00
Pablo Martin
13819c9f99 update edeposit staging 2024-10-08 14:39:25 +02:00
Pablo Martin
d3de03890c more todos 2024-10-08 14:37:00 +02:00
Pablo Martin
d21d9b6a01 todos 2024-10-08 14:37:00 +02:00
Pablo Martin
3dbeaf0575 reporting model for athena 2024-10-08 14:37:00 +02:00
Pablo Martin
654255321f fix typo in version 2024-10-08 14:37:00 +02:00
Pablo Martin
d16647ac72 push upstream the filter 2024-10-08 14:37:00 +02:00
Pablo Martin
67dcc8b237 split staging layer 2024-10-08 14:37:00 +02:00
Pablo Martin
761cf409c6 push filter down one model 2024-10-08 14:37:00 +02:00
Pablo Martin
30c73b1ab9 duplicate athena verifications 2024-10-08 14:37:00 +02:00
Pablo Martin
67b8e1263d move guesty to athena folder 2024-10-08 14:37:00 +02:00
Oriol Roqué Paniagua
b70f426f8e Merged PR 3089: Remove custom pricing/protection
# Description

This PR aims to remove custom pricing/protection fields for New Pricing.
After discussing with Clay, custom pricing/protected amounts are not allowed in New Pricing. This user-specific changes might be applied in the form of discounts, but these are not defined/implemented yet.

There were some fields created in the New Pricing tables that were considering the custom possibility, and Gus confirm that these will come as Null. So I prefer to delete them now, have clean code, and if in X months dev team wants to remove these, we should be good.

# 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.
- [NA] I have checked for DRY opportunities with other models and docs.
- [NA] 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: #20809
2024-10-08 11:48:25 +00:00
Oriol Roqué Paniagua
ea8972a91b Merged PR 3090: Propagates Protection Plan to intermediate, for price and cover
# Description

Propagates Protection Plan to price and cover to intermediate. Ideally I wanted to have a single table that contained prices + covers, but it is not straight forward to assume:
*  if a modification of the amount covered by a protection plan will create a new protection plan id, or not
* if a modification of the price a protection costs will create a new protection plan id, or not
So I keep it split for the time being. Besides, use cases might be different, ex: I want to see all prices of services (product + protection plan, but no need for cover).

# 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.

Related work items: #20809
2024-10-08 11:44:52 +00:00
Oriol Roqué Paniagua
bad27ecbc3 Merged PR 3087: Adding int_core__product_service_to_price
# Description

Adds int_core__product_service_to_price.

This model is the equivalent of staging but just adding currency code, product service name and a few boolean fields to identify if the product service to price is currently active and if it's the default price or not.
Currently it's a view since it has 16 records, likely it can be transformed into a table in the future.

The idea will be to create a similar table for protection_plan.

# 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.
- [NA] I've picked the right materialization for the affected models. -> We will see in the future if needs to be adapted

# Other

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

Related work items: #20809
2024-10-08 11:39:34 +00:00
uri
911603f2e8 Documenting protection name fields in user_product_bundle 2024-10-07 17:21:52 +02:00
uri
9424a96707 Adding protection names 2024-10-07 17:18:41 +02:00
Pablo Martin
0c3be659b1 remove test 2024-10-07 14:28:05 +02:00
Oriol Roqué Paniagua
f292bc84ba Merged PR 3059: Keep latest booking to product bundle program
# Description

This PR fixes today's issue on dbt test, since we had a duplicated booking in this table.

Technically, according to Daga, a booking can only be overridden with a new program ONLY if the first program was the default BasicScreening, and it's a new bundle containing a Paid Service. Once there's a product bundle applied to a booking that contains a paid service, it cannot be overridden.

Thus in essence, by just keeping the latest update date it will only take into account the potential switch to a paid service, that is what really matters, and cannot change afterwards.

# 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.

Related work items: #22346
2024-10-04 13:16:08 +00:00
Joaquin Ossa
b8caa18352 Merged PR 3000: Stg Hubspot form_submissions
# Description

Creation on stg_hubspot__form_submissions model

# 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.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.

# Other

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

Stg Hubspot form_submissions
2024-10-04 09:49:54 +00:00
Joaquin Ossa
9ad768f6bb Merged PR 2990: staging Hubspot contacts
# Description

Creation on stg_hubspot__contacts model

# 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.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.

# Other

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

staging Hubspot contacts
2024-10-04 09:48:37 +00:00
uri
4de5c08a26 Keep latest booking to product bundle state 2024-10-04 10:32:15 +02:00
Oriol Roqué Paniagua
3480d4d787 Merged PR 3047: Override migration date with join date if join date is after migration date
# Description

Quick fix to make lower_limit_migration_date_utc more robust for new dash reporting purposes. I noticed some cases in which users were actually created after the migration date. In these cases, I just keep joined date.

# 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.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] 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: #22331
2024-10-04 07:16:52 +00:00
Joaquin Ossa
751a95f9ae modified macro 2024-10-04 08:42:28 +02:00
Oriol Roqué Paniagua
28c554de63 Merged PR 3038: Adding Protection tables in the scope of New Pricing/Dashboard
# Description

This PR creates 3 new models in staging:
- `stg_core__protection_plan`: main information of a protection plan. Here I denormalise the info coming from Protection, meaning, Protection is not a standalone model.
- `stg_core__protection_plan_to_price`: How much does a protection service cost? It's very similar to the model product_service_to_price.
- `stg_core__protection_plan_cover`: How much does a protection service protects, i.e., covers? I took the liberty of modifying the original name since it was confusing to me. Let me know if you'd like to modify the name.

# 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.

Related work items: #20809
2024-10-03 11:05:05 +00:00
Joaquin Ossa
e9f16342e7 added tests 2024-10-03 12:19:27 +02:00
Oriol Roqué Paniagua
8e4e967c20 Merged PR 3028: Adding int_core__user_product_bundle_contains_services
# Description

This PR adds a new table named `user_product_bundle_contains_services` in intermediate core.

Mainly, this table serves as a bridge between `user_product_bundle` and `product_services`. A `product_bundle` within `user_product_bundle` can contain 1 or several services, and this was stated in the field `contains_product_services`. The value of this field corresponds to the sum of `product_service_binary_tier` from the services that apply within that bundle. Even though the information is quite concise using this format, it adds extra complexity for analytical purposes, so this new table just duplicates the `user_product_bundle` main attributes as many times as services are contained.

For example:
`id_user_product_bundle` = 383 contains one unique bundle named Basic Program. This bundle has the `chosen_product_services` = 257, which can only be decomposed in power of 2 as of the sum of 256 + 1. This bundle therefore contains 2 services, Basic Screening (`product_service_binary_tier` = 1) and Waiver Pro (`product_service_binary_tier` = 256). Thus, in the new table, we will have 2 records and remove all this logic to something more standard, as seen in this screenshot:

![image (2).png](https://guardhog.visualstudio.com/4148d95f-4b6d-4205-bcff-e9c8e0d2ca65/_apis/git/repositories/54ac356f-aad7-46d2-b62c-e8c5b3bb8ebf/pullRequests/3028/attachments/image%20%282%29.png)

# Checklist

- [X] The edited models and dependants run properly with production data.
- [X] The edited models are sufficiently documented.
- [ ] The edited models contain PK tests, and I've ran and passed them. *N/A - there's no PK in this table, but the combination of columns that should be unique is tested*
- [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: #20809
2024-10-02 14:54:03 +00:00
Joaquin Ossa
28b658a4fe fixed naming 2024-10-02 15:27:47 +02:00
Joaquin Ossa
0a880a138b created macro and fixed naming 2024-10-02 14:50:34 +02:00
Oriol Roqué Paniagua
f2e21496fe Merged PR 3006: Integrating to staging Product Service related tables
# Description
This PR integrates into staging the following Core tables, regarding New Pricing:
- ProductService
- ProductServiceToPrice
- AppliedProductService (IT HAS BEEN REMOVED)

Models are also documented in staging. Tables contain data already but not necessarily records for New Dash, since still we have not had any paid service applied into a booking / V2 has not been launched yet.

New Dash modelisation for V2 will follow once these tables exist in staging, in order to be able to report 1) revenue and 2) services selected.

# 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.
- [ ] I've picked the right materialization for the affected models. **N/A, few records so not a big deal. Might need to change in the future.**

# Other

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

Related work items: #20809
2024-10-02 09:13:10 +00:00
Pablo Martín
7d9d9faf71 Merged PR 3024: Activate country test for taxes
# Description

Activates a commented out test for verification payments v2. The test was deactivated because of some master data issues in the backend, but they were fixed after  #22148.

# Checklist

- [NA] The edited models and dependants run properly with production data.
- [NA ] The edited models are sufficiently documented.
- [X] The edited models contain PK tests, and I've ran and passed them.
- [NA] I have checked for DRY opportunities with other models and docs.
- [NA] 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: #20043
2024-10-02 09:09:18 +00:00
Joaquin Ossa
aab6155b67 more features into reporting 2024-10-02 10:57:30 +02:00
Joaquin Ossa
bf01360fba Merged PR 3020: new features dates
# Description

Added 2 new columns with a concatenation of month number and full name o short name

# Checklist

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

# Other

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

new features dates
2024-10-02 08:18:52 +00:00
Joaquin Ossa
c5cc2e2167 new features dates 2024-10-02 10:11:48 +02:00
Joaquin Ossa
f37d419a1a fixed cancellation fee charge 2024-10-02 09:30:33 +02:00
Joaquin Ossa
ae865b8848 Merged PR 2994: Staging Hubspot deals
# Description

Creation on stg_hubspot__deals model

# 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.
- [ ] I have checked for DRY opportunities with other models and docs.
- [ ] I've picked the right materialization for the affected models.

# Other

- [ ] Check if a full-refresh is required after this PR is merged.
2024-09-27 15:30:53 +00:00
Joaquin Ossa
ee6b613887 Stg Hubspot form_submissions 2024-09-27 17:30:25 +02:00
Pablo Martin
6124c19f98 activate one test, prepare another but keep it commented 2024-09-27 16:11:34 +02:00
Joaquin Ossa
306035d46d Hubspot deals 2024-09-27 12:24:27 +02:00
Joaquin Ossa
20425495f9 staging Hubspot contacts 2024-09-27 10:44:48 +02:00
Joaquin Ossa
37d9f5250a Added new role 2024-09-27 09:55:37 +02:00
Pablo Martin
0cd8f71889 remove variable that doesn't make sense anymore 2024-09-25 16:12:55 +02:00
Pablo Martin
bea2e0d926 fix broken case logic 2024-09-25 16:12:36 +02:00
Oriol Roqué Paniagua
070d067709 Merged PR 2918: Integrates screening API verifications into DWH staging
# Description

This PR integrates screening API verifications into staging.

There's 2 commits:
* The earliest one, it just copy-pastes the strategy followed by edeposit and adapts it to fit screening API case, which is simpler. Note here that the schema entries contain a low number of tests. This is because we only have 7 records in production - and these seem fake anyway :) - so it's complex to extrapolate. Those I could extrapolate (NoFlags/Flagged) I'm taking from the data transformation within the PBI report.
* The last commit, it's just a DRY. It handles the deduplication logic for cosmos db in a macro, and I applied it on both the screening API and the edeposit verifications. Works well from my POV.

Since you guys are far more knowledgeable on APIs scope, I'll let you take a close look in case I missed something.

# Checklist

- [X] The edited models and dependants run properly with production data.
- [ ] The edited models are sufficiently documented. **I guess it can be improved, waiting for your comments here**
- [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.
- [ ] I've picked the right materialization for the affected models. **Used default coming from stg_edeposit__verifications**

# Other

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

Related work items: #20127
2024-09-25 10:52:50 +00:00