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
Challenge: Enable Scheduled Managed Charger Access
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
          • 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
            • Motivation
            • Context
            • Domain Modelling
            • High-Level Use Cases / JTBD
            • Current State -> Desired State
            • Assumptions & Open Questions
            • Constraints & Out of Scope
            • Evaluation
            • Solution Ideas & Tradeoffs
            • Release Sequencing
          • 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
    • Motivation
    • Context
    • Domain Modelling
    • High-Level Use Cases / JTBD
    • Current State -> Desired State
    • Assumptions & Open Questions
    • Constraints & Out of Scope
    • Evaluation
    • Solution Ideas & Tradeoffs
    • Release Sequencing
    1. Home
    2. Work
    3. Active
    4. Enable scheduled managed charger access

    Challenge: Enable Scheduled Managed Charger Access¶

    Enable depot operators to automatically switch chargers between freevend and managed access so charging can be openly available at some times and restricted to authorised own-fleet or agreement vehicles at others.

    Motivation¶

    • Operators need control over when chargers are openly available and when access must be restricted.
    • During managed-access periods, chargers should allow only known own-fleet vehicles and known agreement vehicles.
    • Unknown or unauthorised vehicles should be denied access without the event being confused with charger failure.

    Context¶

    • Chargers may identify vehicles through MAC address, RFID, PIN, or another charger-provided identifier.
    • BetterFleet needs to hold or derive the set of authorised vehicle identifiers.
    • Freevend means the charger can allow charging without a BetterFleet access decision.
    • Managed access means every charging attempt is authorised against BetterFleet rules before charging starts.

    Domain Modelling¶

    • A charger has an access mode: freevend or managed access.
    • A managed-access rule defines when authorisation is required.
    • A vehicle identifier maps to one of these access classes:
    • own vehicle: part of the depot owner's fleet;
    • agreement vehicle: a vehicle from a fleet that has an agreement with the depot owner;
    • unknown or unauthorised vehicle: not part of any expected fleet.
    • An attempted charge during managed access produces an access decision:
    • allowed;
    • access denied.

    High-Level Use Cases / JTBD¶

    • As a depot operator, I want chargers to run in freevend during open-access periods so authorised setup is not required for every vehicle.
    • As a depot operator, I want chargers to switch to managed access during restricted periods so only own-fleet and agreement vehicles can charge.
    • As a depot operator, I want recurring schedules for access-mode changes so access control follows normal operating patterns automatically.
    • As an operations user, I want unauthorised attempts to appear as access denied in BetterFleet so I can distinguish policy enforcement from charger faults.
    • As a driver or end user, I need some clear indication at the vehicle or charger that charging was denied due to access rules.

    Current State -> Desired State¶

    Current State Desired Outcome Success Measure
    Chargers may be left in freevend when restricted access is needed. Operators can schedule when chargers use freevend or managed access. Chargers enter the expected access mode at the scheduled times.
    Vehicle access rules are not clearly modelled around own, agreement, and unknown vehicles. BetterFleet can allow own and agreement vehicles while denying unknown vehicles. Managed-access attempts produce correct allow or deny decisions.
    Access denial can be mistaken for charger failure. BetterFleet records unauthorised attempts as access denied. Users can see access-denied events separately from faults or incidents.
    Driver-facing denial behaviour is unclear. The product defines how denial is relayed at the charger or vehicle. End users get a clear denied-access signal where the protocol and charger support it.

    Assumptions & Open Questions¶

    • Key assumptions:
    • Chargers can be switched between freevend and managed access remotely.
    • During managed access, chargers can request authorisation before charging starts.
    • BetterFleet can identify own-fleet and agreement vehicles through known identifiers.
    • Unknown vehicles should be denied during managed-access periods.
    • Agreement-governed vehicles should be imported and managed through a process outside this challenge.
    • Open questions:
    • Which charger models and protocols support reliable freevend on/off control?
    • Should access-denied events be visible only in operations views, or also in customer-facing reports?

    Constraints & Out of Scope¶

    • Constraints:
    • Must support recurring schedules.
    • Must support charger-level control.
    • Must allow own vehicles and agreement vehicles during managed-access periods.
    • Must record denied attempts as access denied, not as incidents or charger faults.
    • Out of scope:
    • Billing or settlement for agreement vehicles.
    • Driver account management.
    • Broad fleet-sharing marketplace behaviour.
    • Treating access denial as an incident by default.

    Evaluation¶

    • User value:
    • Operators can control when chargers are open and when access is restricted.
    • Own-fleet and agreement vehicles can still charge during restricted periods.
    • Operations teams can tell when denial is expected access-control behaviour.
    • Business value:
    • Creates a clean access-control foundation for managed depot charging.
    • Reduces support confusion around unauthorised charging attempts.
    • Gives BetterFleet a clearer model for charger access policy.

    Solution Ideas & Tradeoffs¶

    • Extend existing charger authorisation with scheduled access modes.
    • Fastest route if charger freevend control and authorisation are already reliable.
    • Add a dedicated access policy model for charger schedules and vehicle classes.
    • Cleaner long-term model, but higher upfront design effort.
    • Start with charger-level scheduled managed access, then expand later if depot, zone, or connector-level policy is needed.
    • Keeps the first scope crisp while preserving future growth.

    Release Sequencing¶

    • First: define scheduled charger access modes and access-denied behaviour.
    • Second: support own and agreement vehicle allow-lists for managed access.
    • Third: define the supported driver or charger-facing denial signal per protocol and charger capability.
    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.