Charge Configs

Table name: FUTURE__charge_configs

🛠️ Partner API Alignment Migration

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

1️⃣ Migrate to this table by April 2026

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

⚠️ Note table name change: Please note the table name change from charges__charges_config to standardise table naming

Contains charging configuration details for charging sessions. Associates charge events with their corresponding firmware settings, reservations, and scheduling parameters.

SQL: FUTURE__charge_configs

Schema

Column NameData TypeDescription
Primary ID
idINTEGERprimary key
Other IDs
charge_idINTEGERForeign key reference to the associated charging session
Timestamps
scheduled_start_atTIMESTAMP_NTZScheduled start time for the charging session
scheduled_stop_atTIMESTAMP_NTZScheduled end time for the charging session
Attributes
firmwareVARCHARVersion of firmware running on the charging equipment during this session
is_reservationBOOLEANIndicates whether this charging session was created through a reservation. True if reserved, false if ad-hoc.
reservation_minINTEGERMinimum duration in minutes required for the charging reservation
native_scheduleVARCHARRaw schedule configuration data from the charging equipment's native format

Changes from Last Version

  • Standardized table naming from charges_config to FUTURE__charge_configs for consistency across datasets.
  • No changes to schema or data types; existing fields remain unchanged.
  • Inclusion criteria relaxed see below

Data inclusion criteria

This table works with FUTURE__charges table, requiring that charge_id is among the partner's FUTURE__charges.id records.

Data flow

Data flow

Upstream tablesDownstream tables
FUTURE__chargesFUTURE__failed_charges_info

Alignment

-- 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)
              )