Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Charge Planning and Operations
Initializing search
    bf-dev
    • Home
    • Process
    • Products
    • Reference
    • Decisions
    • Work
    • Operations
    bf-dev
    • Home
      • Process Handbook
      • BetterFleet Workflow Map
      • Product Development System
      • Product Engineering Workflow
        • Process Workflows
        • Work Intake and Weekly Planning
        • Product Engineering Workflow in Linear
        • Product Engineering Delivery
        • Agent Guidance
        • Workflow
        • Skills
        • Skill Sources
        • Process Guides
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
        • Process Templates
        • Release Plan: <title>
      • Process Publishing
      • Product overview
        • General Reference
          • Core Domain Training
          • System Topology
          • Two-Axis Ontology Model
          • Ontology Primer
          • Worked Example
          • Evidence, Ownership, and Lineage
          • Energy Management
          • Standards and Protocol Map
          • Charging, Roaming, and Commercial Model
          • Charge Planning and Operations
            • Generic Planning Model
            • VDV 463 In The Model
            • VDV Standards In Different Domains
            • Planning Horizons
            • Relation To Manage And Plan
            • Domain Events To Look For
          • Cross-Cutting Domains
          • Domain Coverage Matrix
        • BetterFleet Product Ontology
        • Core Operations Data Ontology
        • BetterFleet R&D Plan
        • Index
        • Architecture
        • Manage Product Capabilities
        • Manage Data and State
        • Manage Service Interaction Flows
        • Manage Reference
        • Manage Internal Application Diagrams
          • Manage Authorization And Permissions
          • bf-manage-core Auth and Authorization Model
          • Manage Authorization and Permissions
          • bf-manage-web Auth and Permission Model
          • Manage Service Catalog
          • bf-depot-sim
          • bf-digital-twin (Manage Role)
          • bf-fleet-health
          • bf-manage-connect
          • bf-manage-core
          • bf-manage-incidents
          • bf-manage-roaming
          • bf-manage-sitepwrmon
          • bf-manage-web
          • bf-schedule-creator (Manage Role)
          • bf-support-microsite
          • bf-telematics
        • Index
        • Architecture
        • Plan Reference
        • Plan Internal Application Diagrams
        • Plan Migration and Flags
        • Plan Simulation Request Lifecycle
          • Plan Service Catalog
          • bf-bnl-schedule-analysis-compute
          • bf-bnl-settings
          • bf-bnl-ui
          • bf-digital-twin (Plan Role)
          • bf-route-modelling
          • bf-schedule-creator (Plan Role)
      • Where to Ask Product Questions
      • Reference
        • Platform Reference
        • Platform Architecture
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repository Map
        • Monolithic Git Transition FAQ
        • Monolithic Git Sizing
        • CI and Release Integration
        • Shared Reference
        • Shared Infrastructure Architecture
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • System Reference
        • Cloud Data Dependencies
        • Ports and URLs
        • Service Matrix
          • API Docs
          • OCPI API Docs
          • OCPP API Docs
          • OSCP API Docs
          • VDV API Docs
          • Yard State API Docs
        • System Design
        • System Design: BBA Microgrid Controller Generic Packet Translation
        • System Design: Depot Simulation
        • System Design: IoT Sensor Packet
        • System Design: Microgrid Energy Orchestration
          • System Design: OCPP Profile 3 And ISO 15118 PKI
          • Architecture: BetterFleet OCPP Profile 3 and ISO 15118 PKI
          • Specification: BetterFleet OCPP Profile 3 and ISO 15118 Certificate Lifecycle Management
          • System Design: On-Prem Control
          • Challenge
          • Specification: BetterFleet On-Prem Continuity Control
          • System Design: OSCP
          • OSCP Protocol Documentation
          • Depot Sim Testing Requirements
          • System Design: OSCP Flexibility Provider Domain
      • Decisions
        • Architecture Decision Records
        • 0001 - Record architecture decisions
        • 0002 - Cognito for Authentication and Authorisation
        • 0003 - AWS Amplify for Authentication
        • 0004 - DynamoDB for default database
        • 0005 - Data Persistence
        • 0006 - Trunk-Based Development
        • 0007 - Generalised principle for automation
        • 0008 - Naming Repositories, Services, and URLs
        • 0009 - Use Timezone Aware DateTimes and UTC
        • 0010 - Use semantic release
        • 0011 - Centralized feature flag repository
        • 0012 - Use Named Exports in Storybook
        • 0013 - RESTful TITLE GraphQL
        • 0014 - Service Granularity
        • 0015 - Async/co-routine exception handling pattern
        • 0016 - Logging & log levels
        • 0017 - Instantiated Models
        • 0018 - Repository Pattern for Database Access
        • 0019 - Use of Design Tokens in TypeScript React Application
        • 0020 - API backwards compatibility and versioning
        • 0021 - Alembic Migration strategy
        • 0022 - Consistent react-hook-form usage
        • 0023 - Domain Event-Driven Architecture
        • 0024 - Domain Event Bus Tech Stack
        • 0025 - No enum types in DB table columns
        • 0026 - In-Memory Ormar Stores for Repository testing
        • 0027 - Storing Tab State in Query and Local Storage
        • 0028 - Adopt OpenTelemetry Semantic Conventions for Structured Logging
        • 0029 - Adopt RFC 9457 for HTTP Error Responses
        • 0030 - Use GitLab registry and Terraform state for ECS services
        • 0031 - Adopt DDD, Hexagonal Architecture, and CQRS for Python Domain Services
      • Work
        • Active Work
          • Work: Bba Microgrid Controller
          • Implementation Specification: BBA Microgrid Controller
          • BBA Microgrid Controller Deliverables (Stories)
          • Work: BFDev Monolithic Git
          • Challenge
          • Specification: BFDev Monolithic Git v2
          • BFDev Monolithic Git v2 Stories
          • Work: Complex Circuit Load Balancing
          • Implementation Specification: Complex Circuit Load Balancing
          • Complex Circuit Load Balancing Deliverables (Stories)
            • COR-10 and COR-11 Consolidation Review
          • Work: Dispatch Reliability and Reconciliation
          • Challenge
          • Specification: Dispatch Reliability and Reconciliation
          • Dispatch Reliability and Reconciliation (Unit User Stories)
            • Dispatch populated vehicle cards grey surface snapshot
            • Dispatch Visual Review
          • Work: Enable Scheduled Managed Charger Access
          • Challenge: Enable Scheduled Managed Charger Access
          • Specification Exploration Dossier: Enable Scheduled Managed Charger Access
          • Specification Review: Enable Scheduled Managed Charger Access
          • Specification: Enable Scheduled Managed Charger Access
          • Work: Guided Cut-Off and Release Orchestration
          • Specification: Guided Cut-Off and Release Orchestration
          • Guided Cut-Off and Release Orchestration (Unit User Stories)
          • Work: Production Deployment Validation
          • Challenge
          • Work: Scheduled Report Parity
          • Specification: Scheduled Report Parity
          • Work: Telematics
          • Telematics EventBridge Path
          • Telematics Ingress Architecture
          • Specification: Telematics Migration into bf-manage-core with 5-Minute Freshness and Health Visibility
          • Telematics Core Migration MVP (Implementation-Time BDD)
          • Work: Vector Derms
          • Implementation Specification: Vector DERMS
          • Vector DERMS Deliverables (Stories)
          • Work: Visiting Vehicle Charging Visibility
          • Specification: Visiting Vehicle Charging Visibility
          • Visiting Vehicle Charging Visibility (Unit User Stories)
          • Work: Workspace Owned Stripe Roaming
          • Specification: Workspace-Owned Stripe Credentials for Roaming Payments
        • Backlog Work
          • Work: Microgrid
          • Microgrid Backlog Stories
          • Work: Mobile Ops Companion
          • Challenge
          • Specification: Mobile Operations Companion v1
          • Mobile Operations Companion Deliverables (Stories)
          • Work: Oscp
          • OSCP Backlog Stories
        • Archived Work
          • Work: Code Canonical Orchestration
          • Challenge
          • Specification: Product Engineering Workflow
          • Product Engineering Workflow Deliverables (Unit User Stories)
          • Work: Release Notes Automation
          • Release Plan: Release Notes Automation
          • Release Notes Automation Backlog Stories
      • Operations
      • Onboarding Runbook
        • Operations Runbooks
        • Production Hotfix Release
        • Staging Hotfix Release
        • Manage Staging Release Validation
        • Terraform Plan Dry Runs
        • Operations Tooling
        • Code Indexing
        • Operations Evidence
        • Database Restoration Test Report
      • Daily Operations Runbook
      • Testing Guide
      • Troubleshooting
    • Generic Planning Model
    • VDV 463 In The Model
    • VDV Standards In Different Domains
    • Planning Horizons
    • Relation To Manage And Plan
    • Domain Events To Look For
    1. Home
    2. Products
    3. General
    4. Core Domain Training
    general reference

    Charge Planning and Operations¶

    Charge planning is the process of turning future work into charging decisions.

    The concept applies to buses, logistics, service fleets, depot vehicles, and any fleet where vehicles have known or estimated future work.

    In the two-axis model:

    • problem coordinate: Operations & Dispatch -> Dispatch & Scheduling, with secondary links to Smart Charging -> Load Management
    • physical coordinate: vehicle, battery, route, duty, block, depot, charger, site capacity, readiness deadline, and time

    Generic Planning Model¶

    flowchart LR
      Work["Work<br/>route, duty, block, delivery, shift"]
      Vehicle["Vehicle<br/>battery, current SoC, capability"]
      Policy["Policy<br/>reserve, priority, deadline"]
      Requirement["Energy requirement<br/>kWh, target SoC, deadline"]
      Site["Energy system<br/>chargers, grid, topology, limits"]
      Plan["Charging plan<br/>who charges, where, when, how fast"]
      Execute["Charging execution"]
      Ready["Ready for work"]
    
      Work --> Requirement
      Vehicle --> Requirement
      Policy --> Requirement
      Requirement --> Plan
      Site --> Plan
      Plan --> Execute
      Execute --> Ready

    The main questions are:

    • What work is coming?
    • Which vehicle is expected to perform it?
    • What energy will the vehicle need, including reserve?
    • When must the vehicle be ready?
    • Which chargers and site capacity are available?
    • What other vehicles compete for the same capacity?
    • What should happen when plans, vehicles, chargers, or site constraints change?

    VDV 463 In The Model¶

    VDV 463 gives a standards-based way for an upstream system and a charging/load management system to exchange planning context.

    sequenceDiagram
      participant USS as Upstream system<br/>DMS / FMS / ITCS / planning
      participant CMS as Charging/load management system
      participant Site as Depot energy system
      participant Vehicle as Vehicle
    
      USS->>CMS: ProvideChargingRequests<br/>vehicle, target SoC, departure, request id
      CMS->>CMS: build or update charging plan
      CMS->>Site: allocate charger power within site limits
      Site->>Vehicle: charge
      CMS->>USS: ProvideChargingInformation<br/>depot, charging stations, points, processes, faults

    The standard is bus-oriented, but the model is more general:

    • vehicleId can represent any managed vehicle asset
    • startTime, departure, or deadline can represent the next operational need
    • target SoC can represent readiness level
    • charging point status maps to charger or connector availability
    • charging process status maps to charging execution state

    VDV Standards In Different Domains¶

    Use the specific VDV standard name when classifying work. The family spans planned schedules, real-time operations, and charging management.

    VDV standard Main purpose Primary domain Core concept
    VDV 452 Planned route, stop, journey, and timetable exchange. Operations & Dispatch -> Depot & Integration work
    VDV 462 / NeTEx Planned public-transport network and timetable model. Operations & Dispatch -> Depot & Integration work
    VDV 455 Duty roster and related depot allocation context. Operations & Dispatch -> Depot & Integration work support context
    VDV 453 Real-time operational services such as connection protection and dynamic passenger information. Operations & Dispatch -> Fleet & Vehicle Management; Incidents & Notifications -> Detection vehicle activity
    VDV 454 Real-time timetable and service information. Operations & Dispatch -> Dispatch & Scheduling; Reporting & Insights -> Operational Dashboards work execution and vehicle activity
    VDV 463 Charging requests and charging information between upstream systems and charging/load management. Operations & Dispatch -> Dispatch & Scheduling; Smart Charging -> Load Management energy requirement and charging
    flowchart LR
      Planned["Planned schedule and roster standards<br/>VDV 452, VDV 455, VDV 462, NeTEx"]
      Realtime["Real-time operations standards<br/>VDV 453, VDV 454"]
      ChargingVDV["Charging management standard<br/>VDV 463"]
      Work["work"]
      Activity["vehicle activity"]
      Requirement["energy requirement"]
      Charging["charging"]
    
      Planned --> Work
      Realtime --> Activity
      Work --> Requirement
      Activity --> Requirement
      ChargingVDV --> Requirement
      ChargingVDV --> Charging

    Planning Horizons¶

    Horizon Problem coordinate Physical coordinate Example questions Product meaning
    Strategic Operations & Dispatch -> Depot & Integration depot, fleet, grid connection, charger estate, route network, time How many chargers, vehicles, grid capacity, and depots are needed? Plan simulations, depot design, fleet transition
    Tactical Operations & Dispatch -> Dispatch & Scheduling schedule, vehicle, battery, depot, charger, next-day time window Can tomorrow's work be done with the available fleet and energy? schedule analysis, dispatch confidence, charging plans
    Operational Smart Charging -> Load Management active vehicle, charger, connector, microgrid, current time What should charge now, and what can wait? smart charging, prioritisation, site load management
    Reactive Incidents & Notifications -> Incident & Resolution Management faulted asset, vehicle, site, missed charge, grid constraint, time What changes after a fault, delay, missed charge, or grid constraint? incidents, rebalancing, dispatch adjustment

    Relation To Manage And Plan¶

    Plan asks what could or should work before operations happen. Manage asks what is happening now and what must be controlled.

    flowchart TB
      Plan["Plan<br/>simulation, route energy, schedule parsing"]
      Manage["Manage<br/>live depot, chargers, vehicles, dispatch"]
      Creator["Schedule Creator<br/>GTFS / TXC / schedule transforms"]
      Twin["Digital Twin<br/>scenario and operational simulation"]
      Core["Core operations<br/>charging, vehicle, depot state"]
    
      Creator --> Plan
      Creator --> Manage
      Plan --> Twin
      Manage --> Core
      Twin -. future alignment .-> Core

    bf-schedule-creator is the shared parser and conversion boundary. It turns heterogeneous schedule formats into modelling-ready or operations-ready outputs. Because it is shared, schema changes can affect both Plan and Manage.

    Domain Events To Look For¶

    Charge planning becomes easier to reason about when phrased as events:

    • work schedule imported
    • vehicle assigned to work
    • energy requirement calculated
    • charging request created or updated
    • charging plan generated
    • charger or connector became unavailable
    • operating envelope changed
    • charging started
    • charging completed
    • readiness target met or missed
    • dispatch allocation changed

    These events cut across standards. VDV may carry a charging request. OCPP may carry session and meter evidence. OSCP may change the site envelope. The product ontology explains how these signals combine.

    Made with Material for MkDocs
    BFDev Docs Assistant
    New conversation?
    Ask one focused question at a time, this helps the assistant provide accurate answers about what's been implemented in BetterFleet.