Charge Pricing Breakdown Specifications

Table name: FUTURE__charge_pricing_breakdown_specifications

🛠️ Partner API Alignment Migration

🧭 This table represents the post-migration state for charge_pricing_breakdow_specifications.

1️⃣ Migrate to this table by April 2026

2️⃣ Between April 2026 and July 2026, remove FUTURE__ prefix

Contains detailed pricing specifications for charge pricing breakdowns, filtered to include only specifications associated with partner-specific charges. This model provides granular pricing configuration data including currency information, precision settings, and actual price values used for billing calculations.

SQL: FUTURE__charge_pricing_breakdown_specifications

Schema

Column NameData TypeDescription
Primary ID
idINTEGERPrimary key
Other IDs
charge_pricing_breakdown_idINTEGERReferences the parent charge pricing breakdown record this specification belongs to
currency_idINTEGERID of the currency used in the pricing specification
charge_idINTEGERReferences the related charging session
Timestamps
created_atTIMESTAMP_NTZTimestamp when the specification record was first created
updated_atTIMESTAMP_NTZTimestamp when the specification record was last modified
Attributes
typeVARCHARCategorizes the type of pricing specification (e.g., base rate, time-based charge, energy charge)
precisionINTEGERNumber of decimal places to use when calculating or displaying the price values
priceNUMBERThe actual monetary value used in pricing calculations for this specification

Changes from Last Version

  • added charge_id column-
  • This table is downstream of FUTURE__charge_pricing_breakdowns which is downstream of models with relaxed inclusion criteria.

Data inclusion criteria

  • This table works with FUTURE__charge_pricing_breakdowns table, requiring that charge_pricing_breakdown_id is among in that table

Data flow

Upstream tablesDownstream tables
FUTURE__charge_pricing_breakdownsnone

Alignment

The charge_pricing_breakdown_specifications table

-- is downstream of FUTURE__charges which has relaxed inclusion criteria -- one needs to align FUTURE__charges and use that id list to filter this table -- easiest is to ìnner join with FUTURE__charges and align that table:

     inner join FUTURE__charges as c
      on t.charge_id = c.id
            where
              -- Match OLD model logic: filter by operator_role and ensure CP/team are in OLD tables
              (
                -- For owner/both roles: charge_point must exist in OLD charge_points table
                (c.operator_role in ('owner', 'both')
                 AND c.charge_point_legacy_alignment_flag = true)
                OR
                -- For payer role: paying_team must not be deleted
                (c.operator_role  in ('payer', 'both') AND c.paying_team_deleted_at is null)
              )