Project

Project registration is tied to a single obligated party and records project-level information such as funding source and amounts. Projects are limited to a single physical address but may cover many individual charging port deployments. Station registration (based on address) is recorded in parallel with project onboarding. While a project is limited to a single station, a station may receive funding from multiple projects over time. If a second project is applied to a station that is already in the system, then it should be linked to the existing station rather than generating a new station entry.

RAW files:


# $schema: "https://json-schema.org/draft/2020-12/schema"
$id: "./project.schema.json"
$comment: "Copyright (c) 2024, David Herron, under the BSD 3-Clause License"
title: "Project"
description: |
    Project registration is tied to a single obligated party and records project-level information such as funding source and amounts. Projects are limited to a single physical address but may cover many individual charging port deployments. Station registration (based on address) is recorded in parallel with project onboarding. While a project is limited to a single station, a station may receive funding from multiple projects over time. If a second project is applied to a station that is already in the system, then it should be linked to the existing station rather than generating a new station entry.
type: "object"
required:
    - project_id
    - station_id
    - org_name
    - org_address
    - org_city
    - org_state
    - org_zip
    - poc_email
    - poc_first_name
    - poc_last_name
    - project_award_date
    - primary_funding_source
    - primary_funding
    - utility_makeready
    - utility_funding_other
    - other_makeready
    - other_funding_other
    - cost_share
    - equipment_cost
    - install_cost
    - property_cost
    - der_equipment_cost
    - der_install_cost
    - distribution_costs
    - service_costs
    - dac_type
    - in_dac
    - dac_proximate
    - total_power
properties:
    project_id: 
        description: "Unique identification code specific to individual funding application or contract. Project ID is supplied by [Department] upon approval of funding."
        type: "string"
        # default=yes part 680=yes

    station_id: 
        description: "Unique identity specific to the physical location of the station (site) funded by the project. Station ID must be same as the permanent station identifier provided to third parties pursuant to CFR 23 § 680.116(c)(1)."
        type: "string"
        # default=yes part 680=yes

    org_name:
        description: "Organization name of the obligated party."
        type: string
        # default=yes	part 680=no

    org_address:
        description: Street address of obligated party.
        type: string
        # default=yes	part 680=no

    org_city:
        description: City of obligated party.
        type: string
        # default=yes	part 680=no

    org_state:
        description: Valid state code of obligated party.
        type: string
        # default=yes	part 680=no

    org_zip:
        description: |
            Valid ZIP Code of entity responsible for operation 
            and maintenance of the of the funded charging station.
        type: string
        $ref: './common.json#/definitions/zipCode'
        # default=yes	part 680=no

    poc_email:
        description: Obligated party point of contact valid email address
        type: string
        format: email
        # default=yes	part 680=no

    poc_first_name:
        description: Obligated party point of contact first name
        type: string
        # default=yes	part 680=no

    poc_last_name:
        description: Obligated party point of contact last name
        type: string
        # default=yes	part 680=no

    project_award_date:
        description: Date when project funding was awarded
        type: string
        format: date-time
        # default=yes	part 680=no

    primary_funding_source:
        description: Primary public funding source for the project/application
        type: string
        # default=yes	part 680=no

    primary_funding:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Total funding (in USD) station received from the primary funding source dedicated
            to station deployment. (should not include any funding for station operation costs)
        type: number
        minimum: 0

    utility_makeready:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Total funding (in USD) the project received from electric utilities
            dedicated to infrastructure make-ready
        type: number
        minimum: 0

    utility_funding_other:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Total funding (in USD) the project received from utility for equipment
            or other non-make-ready costs (should not include any funding for operational costs)
        type: number
        minimum: 0

    other_makeready:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Total funding (in USD) other public funding received dedicated to infrastructure make-ready
        type: number
        minimum: 0

    other_funding_other:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Amount of other public funding project received for equipment
            or other non-make-ready costs (should not include any funding for operational costs)
        type: number
        minimum: 0

    cost_share:
        # cost; /*	float(2) */ // default=yes	part 680=no
        description: |
            Funding amount project has received from other (private,
            non-utility) sources when combined with primary_funding
            and utility_funding and other_public_funding equals
            the total cost of the charging installation
        type: number
        minimum: 0

    equipment_cost:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: Cost (in USD) to acquire funded charging equipment.
        type: number
        minimum: 0

    install_cost:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) for all labor and materials costs (including electrical equipment)
            necessary to necessary to install charging equipment.
        type: number
        minimum: 0

    property_cost:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) to acquire real property on which to install funded chargers.
        type: number
        minimum: 0

    der_equipment_cost:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) to acquire distributed energy resource equipment.
        type: number
        minimum: 0

    der_install_cost:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) for all labor and materials costs (including electrical equipment)
            necessary to install distributed energy resources equipment.
        type: number
        minimum: 0

    distribution_costs:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) of contributions in aid of construction for line extensions
            and upgrades necessary to install chargers.
        type: number
        minimum: 0

    service_costs:
        # cost; /*	float(2) */ // default=no	part 680=yes
        description: |
            Cost (in USD) of contributions in aid of construction for service upgrade
            costs for customer transformers, poles, meters, and other utility service
            equipment necessary to install chargers.
        type: number
        minimum: 0

    dac_type:
        # default=no	part 680=no
        description: |
            Method, model or program definition of disadvantaged community.
            For example CEJST 1.0.
        type: string

    in_dac:
        # default=no	part 680=no
        description: Project is located inside of disadvantaged community as specified by dac_type.
        type: boolean

    dac_proximate:
        # default=no	part 680=no
        description: |
            Project is located within a program specified distance from disadvantaged community
            as as specified by dac_type.
        type: boolean

    total_power:
        # float	default=no	part 680=no
        description: |
            The total charger power capacity (in kW) deployed by the project 
            - if charging equipment share power supplies, only the maximum
            simulataneous power output should be reported.
        type: number
        minimum: 0