{
  "openapi": "3.0.4",
  "info": {
    "title": "Zaptec API",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.zaptec.com"
    }
  ],
  "paths": {
    "/api/chargehistory": {
      "get": {
        "tags": [
          "ChargeHistory"
        ],
        "summary": "Completed sessions",
        "description": "Retrieves all completed charge sessions accessible by the current user,  \nmatching the provided filters.  \nDefault page size: 50. Max: 100.",
        "operationId": "api_chargehistory_get",
        "parameters": [
          {
            "name": "InstallationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "UserId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "ChargerId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "From",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "To",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "0 = group by charger (default), 1 = group by calendar day, 2 = group by user.\n\n0 = Charger\n\n1 = Day\n\n2 = User",
            "schema": {
              "$ref": "#/components/schemas/AggregateGroup"
            }
          },
          {
            "name": "DetailLevel",
            "in": "query",
            "description": "Bitflag: 0 = session summary (default), 1 = include detailed session energy data.\n\n0 = Summary\n\n1 = EnergyDetails",
            "schema": {
              "$ref": "#/components/schemas/DetailLevelFlags"
            }
          },
          {
            "name": "SortProperty",
            "in": "query",
            "description": "Name of the property used to sort the result.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDescending",
            "in": "query",
            "description": "Set to true to sort items in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageIndex",
            "in": "query",
            "description": "The page index to return, first page is 0.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IncludeDisabled",
            "in": "query",
            "description": "If true, and your user has access, include disabled objects.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Exclude",
            "in": "query",
            "description": "Get or set a list of item Id's that will be excluded from the result.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "PageInfoOnly",
            "in": "query",
            "description": "Returns only information about pages and no data info.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/SessionListModelPagedData"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionListModelPagedData"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionListModelPagedData"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargehistory/installationreport": {
      "get": {
        "tags": [
          "ChargeHistory"
        ],
        "summary": "Usage report (deprecated)",
        "description": "**Deprecated**: Use the POST version instead.  \nRetrieves a usage report based on the provided filters (requires installation owner permissions).  \nGET requests are limited to a 2048-character URL length and may fail if exceeded.",
        "operationId": "api_chargehistory_installationreport_get",
        "parameters": [
          {
            "name": "FromDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "EndDate",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "InstallationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "UserIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "ChargerIds",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "GroupBy",
            "in": "query",
            "description": "\n\n0 = User\n\n1 = Charger\n\n2 = ChargeCardName",
            "schema": {
              "$ref": "#/components/schemas/GroupByOptions"
            }
          },
          {
            "name": "ReportFormat",
            "in": "query",
            "description": "\n\n0 = Summary\n\n1 = Detailed",
            "schema": {
              "$ref": "#/components/schemas/ReportFormatOptions"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      },
      "post": {
        "tags": [
          "ChargeHistory"
        ],
        "summary": "Usage report",
        "description": "Retrieves a usage report based on the provided filters (requires installation owner permissions).",
        "operationId": "api_chargehistory_installationreport_post",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationChargeHistoryModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationChargeHistoryModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationChargeHistoryModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationChargeHistoryModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CustomTotalChargerReportModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomTotalChargerReportModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomTotalChargerReportModel"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargers": {
      "get": {
        "tags": [
          "Charger"
        ],
        "summary": "Chargers",
        "description": "Retrieves all chargers accessible by the current user, matching the provided filters.  \nBy default, returns the first 50 items. Use `pageIndex` for pagination or adjust `pageSize` (max: 100).",
        "operationId": "api_chargers_get",
        "parameters": [
          {
            "name": "Roles",
            "in": "query",
            "description": "Return only charge points where current user has any of the provided user roles. Note\nthat this is a bit-flag and multiple roles can be provided.\n\n0 = None\n\n1 = User\n\n2 = Owner\n\n4 = Maintainer\n\n8 = Administrator\n\n15 = Any\n\n16 = Onboarding\n\n32 = DeviceAdministrator\n\n64 = PartnerAdministrator\n\n128 = Technical\n\n256 = InternalData",
            "schema": {
              "$ref": "#/components/schemas/UserRoles"
            }
          },
          {
            "name": "DeviceType",
            "in": "query",
            "description": "Return only charge points of the provided type.\n\n0 = Unknown\n\n1 = Smart\n\n2 = Portable\n\n3 = HomeApm\n\n4 = Apollo\n\n5 = OtherApm\n\n6 = GenericApm\n\n7 = HanApm\n\n8 = TicApm",
            "schema": {
              "$ref": "#/components/schemas/DeviceType"
            }
          },
          {
            "name": "InstallationType",
            "in": "query",
            "description": "Return only chargers installed in installations of this time.\n\n0 = Pro\n\n1 = Smart",
            "schema": {
              "$ref": "#/components/schemas/InstallationTypeCode"
            }
          },
          {
            "name": "InstallationId",
            "in": "query",
            "description": "Return only chargers in the specified installation.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "NameFilter",
            "in": "query",
            "description": "A filter used to filter items. The filter may be applied to multiple\nproperties depending on the object type.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReturnIdNameOnly",
            "in": "query",
            "description": "If true objects are only returned with their basic properties like\nId and name.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "SortProperty",
            "in": "query",
            "description": "Name of the property used to sort the result.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDescending",
            "in": "query",
            "description": "Set to true to sort items in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageIndex",
            "in": "query",
            "description": "The page index to return, first page is 0.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IncludeDisabled",
            "in": "query",
            "description": "If true, and your user has access, include disabled objects.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Exclude",
            "in": "query",
            "description": "Get or set a list of item Id's that will be excluded from the result.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "PageInfoOnly",
            "in": "query",
            "description": "Returns only information about pages and no data info.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModelPagedData"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModelPagedData"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModelPagedData"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargers/{id}": {
      "get": {
        "tags": [
          "Charger"
        ],
        "summary": "Charger details",
        "description": "Retrieves the specified charger (requires owner or service permissions).",
        "operationId": "api_chargers_{id}_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Charger ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargerListModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargers/{id}/update": {
      "post": {
        "tags": [
          "Charger"
        ],
        "summary": "Update charger",
        "description": "Updates charger properties (requires owner or service permissions).  \n\n\n<b>Charge Current Settings:</b>\n\nThe `maxChargeCurrent` and `minChargeCurrent` properties should generally not be used. These are intended for special cases where an external party must override the Zaptec load balancer, which may cause unexpected behavior.\n\n\nIt is recommended to control the charging system using the installation’s `AvailableCurrent` setting instead.\n\n<b>Offline Current/Phase Override:</b>\n\nUse only when charging stations must not automatically optimize offline current or phases.\n\n\n- Set `OfflineChargeCurrent` to `-1` to enable automatic allocation.\n\n- Any value between `0` and `32` overrides the automatic setting. `null` is ignored.\n\n- Set `OfflineChargePhase` to `0 (Phases.None)` to enable automatic allocation.\n\n- Any other valid value will override the automatic setting.\n\n\nEnsure that the total of all overridden values in an installation does not exceed the fuse limit.\n\n<b>Meter Value Interval:</b>\n\nControls how often periodic energy data is reported.\n\n\nThe recommended default is `30 minutes`. Setting this to `0` disables periodic reporting, affecting both session data and signed meter values.",
        "operationId": "api_chargers_{id}_update_post",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Charger ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Charger properties to update",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChargerExternalUpdateModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargerExternalUpdateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargerExternalUpdateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChargerExternalUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargers/{id}/state": {
      "get": {
        "tags": [
          "Charger"
        ],
        "summary": "Charger state",
        "description": "Retrieves the current state properties (observations) for the specified charger  \n(requires owner or service permissions).\n\n\nState IDs may vary by charger model.  \nCurrent-generation ZapCharger Smart supports <b>Observations</b> from  \n<a href=\"/api/constants\" target=\"_blank\">api/constants</a>\n",
        "operationId": "api_chargers_{id}_state_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Charger ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargerStateModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargerStateModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChargerStateModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargers/{id}/sendCommand/{commandId}": {
      "post": {
        "tags": [
          "Charger"
        ],
        "summary": "Send charger command",
        "description": "<b>Permissions:</b> Requires owner or service-level access.\n\n<b>Supported Command IDs:</b>\n\n            - <b>102</b> – Restart the charger\n\n            - <b>200</b> – Upgrade charger firmware\n\n            - <b>506</b> – Stop or pause charging\n\n            - <b>507</b> – Resume charging\n\n            - <b>10001</b> – Deauthorize and stop charging\n\n<b>Command 10001 – Deauthorize and Stop:</b>\n\n            The caller must ensure that no new charging sessions are authorized until the command is completed.\n\n<b>Command 506 – Pause/Stop Charging:</b>\n\n                - Requires firmware version > 3.2 on PRO chargers\n\n                - Typical usage: For chargers in active charging mode (state <b>ChargeOperationMode, 710</b> = 3). Other edge cases are supported,\n            but this is the most common scenario.\n\n                - The command will be rejected if the charger is already paused (state <b>ChargeOperationMode, 710</b> = 5 and <b>FinalStopActive, 718</b> = 1)\n                or disconnected (state <b>ChargeOperationMode, 710</b> = 1)\n<b>Commands 507 – Resume Charging:</b>\n\n                - Requires firmware version > 3.2 on PRO chargers\n\n                - Typical usage: For chargers in paused state (state <b>ChargeOperationMode, 710</b> = 5 and <b>FinalStopActive, 718</b> = 1).\n            Other edge cases are supported, but this is the most common scenario.\n\n            - The command will be rejected if the charger is not in paused mode (state <b>ChargeOperationMode, 710</b> = 5 and <b>FinalStopActive, 718</b> = 1)\n\n                neither Scheduler is active (state <b>NextScheduleEvent, 763</b> is set)\n",
        "operationId": "api_chargers_{id}_sendcommand_{commandid}_post",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Unique identifier of the charger.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "commandId",
            "in": "path",
            "description": "The ID of the command to execute.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/chargerFirmware/installation/{installationId}": {
      "get": {
        "tags": [
          "ChargerFirmware"
        ],
        "summary": "Firmware details",
        "description": "Retrieves firmware details for all chargers in the specified installation  \n(requires owner or service permissions).",
        "operationId": "api_chargerfirmware_installation_{installationid}_get",
        "parameters": [
          {
            "name": "installationId",
            "in": "path",
            "description": "Installation ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstallationChargerFirmwareModel"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstallationChargerFirmwareModel"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstallationChargerFirmwareModel"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/constants": {
      "get": {
        "tags": [
          "Constants"
        ],
        "summary": "Static Constants",
        "description": "Retrieves a set of predefined constants that rarely change but may be updated occasionally.  \nThese constants include schemas, enumerations, supported languages, country data,  \ncharger operation modes, network types, user roles, error codes, settings, and more.\n\n\nThis data provides system-wide reference values, reducing the need for frequent queries.",
        "operationId": "api_constants_get",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConstantsModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstantsModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConstantsModel"
                }
              }
            }
          }
        }
      }
    },
    "/api/installation": {
      "get": {
        "tags": [
          "Installation"
        ],
        "summary": "Installations",
        "description": "Retrieves all installations accessible by the current user, matching the provided filters.\n\n\nBy default, returns the first 50 items. Use <b>pageIndex</b> for pagination or adjust <b>pageSize</b> (max: 100).",
        "operationId": "api_installation_get",
        "parameters": [
          {
            "name": "Roles",
            "in": "query",
            "description": "Return only installations where current user has any of the provided user roles. Note\nthat this is a bit-flag and multiple roles can be provided.\n\n0 = None\n\n1 = User\n\n2 = Owner\n\n4 = Maintainer\n\n8 = Administrator\n\n15 = Any\n\n16 = Onboarding\n\n32 = DeviceAdministrator\n\n64 = PartnerAdministrator\n\n128 = Technical\n\n256 = InternalData",
            "schema": {
              "$ref": "#/components/schemas/UserRoles"
            }
          },
          {
            "name": "InstallationType",
            "in": "query",
            "description": "Return only installations of the provided type.\n\n0 = Pro\n\n1 = Smart",
            "schema": {
              "$ref": "#/components/schemas/InstallationTypeCode"
            }
          },
          {
            "name": "ExcludeIfVisibleForUserGroupLookupKey",
            "in": "query",
            "description": "Excludes installations that is visible for the user group identified by lookup key.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "NameFilter",
            "in": "query",
            "description": "A filter used to filter items. The filter may be applied to multiple\nproperties depending on the object type.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ReturnIdNameOnly",
            "in": "query",
            "description": "If true objects are only returned with their basic properties like\nId and name.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "SortProperty",
            "in": "query",
            "description": "Name of the property used to sort the result.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "SortDescending",
            "in": "query",
            "description": "Set to true to sort items in descending order.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "PageSize",
            "in": "query",
            "description": "Number of items to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "PageIndex",
            "in": "query",
            "description": "The page index to return, first page is 0.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "IncludeDisabled",
            "in": "query",
            "description": "If true, and your user has access, include disabled objects.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "Exclude",
            "in": "query",
            "description": "Get or set a list of item Id's that will be excluded from the result.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "PageInfoOnly",
            "in": "query",
            "description": "Returns only information about pages and no data info.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModelPagedData"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModelPagedData"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModelPagedData"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/installation/{id}": {
      "get": {
        "tags": [
          "Installation"
        ],
        "summary": "Installation details",
        "description": "Retrieves details for the specified installation.  \nThe level of detail available depends on the current user's permissions.",
        "operationId": "api_installation_{id}_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Installation ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "DetailLevel",
            "in": "query",
            "description": "0 = no extra details (default), 1 = include list of users that are present in the installation's charge history, 2 = include user group information associated with the installation.\n\n0 = Default\n\n1 = UserDetails\n\n2 = UserGroups",
            "schema": {
              "$ref": "#/components/schemas/InstallationDetailLevelFlags"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/installation/{id}/messagingConnectionDetails": {
      "get": {
        "tags": [
          "Installation"
        ],
        "summary": "Messaging connection (deprecated)",
        "description": "Retrieves connection details for subscribing to live AMQP 1.0 charger events  \nfor the specified installation (requires owner or service permissions).\n\n<b>WARNING:</b> This feature is <b>deprecated</b>.  \nUse a single <b>User Group</b> subscription to receive updates for all installations instead.",
        "operationId": "api_installation_{id}_messagingconnectiondetails_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Installation ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "deprecated": true,
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/installation/{id}/update": {
      "post": {
        "tags": [
          "Installation"
        ],
        "summary": "Update installation",
        "description": "Updates installation properties (requires owner or service permissions).\n\n<b>Available Current:</b> Provide <b>either</b><i>AvailableCurrent</i>  \nor (<i>AvailableCurrentPhase1, AvailableCurrentPhase2, AvailableCurrentPhase3</i>).\n\n\nUpdating available current will instantly trigger phase and load balancing for the installation.  \nVehicles will adjust their charging settings within <b>5 seconds</b>.  \n\n\n<b>Usage Recommendations:</b>\n\n- Do not update this setting more than once every <b>15 minutes</b> to prevent charging interruptions.\n\n- Available current is limited to the installation’s configured maximum current (circuit breaker current).\n\n- If set to <b>null</b> (not provided), the installation will revert to its maximum current setting.\n",
        "operationId": "api_installation_{id}_update_post",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Installation ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Installation properties to update",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationExternalUpdateModel"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationExternalUpdateModel"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationExternalUpdateModel"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/InstallationExternalUpdateModel"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/installation/{id}/hierarchy": {
      "get": {
        "tags": [
          "Installation"
        ],
        "summary": "Installation hierarchy",
        "description": "Retrieves an installation along with its circuit and charger hierarchy  \n(requires owner or service permissions).\n\n<b>Note:</b> Only basic properties of the returned model will be populated.",
        "operationId": "api_installation_{id}_hierarchy_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Installation ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationTreeModel"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationTreeModel"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstallationTreeModel"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/session/{id}": {
      "get": {
        "tags": [
          "Session"
        ],
        "summary": "Session details",
        "description": "Retrieves details for the specified charging session.",
        "operationId": "api_session_{id}_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Session ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SessionEndData"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/session/{id}/priority": {
      "post": {
        "tags": [
          "Session"
        ],
        "summary": "Set session priority",
        "description": "Assigns priority to a charging session (requires owner or service permissions).\n\n\nPrioritized sessions are allocated before unprioritized ones and will receive\nat least the prioritized current.\n\n<b>Important considerations:</b>\n\n- Multiple sessions can be prioritized; the caller must ensure enough available current.\n\n- If there is insufficient current, prioritized sessions are allocated on a first-come, first-served basis.\n\n- After allocating prioritized sessions, any remaining current is distributed among unprioritized sessions.\n",
        "operationId": "api_session_{id}_priority_post",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Session ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Priority level for the session",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChargePriority"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargePriority"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChargePriority"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChargePriority"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    },
    "/api/userGroups/{id}/messagingConnectionDetails": {
      "get": {
        "tags": [
          "UserGroup"
        ],
        "summary": "Messaging connection",
        "description": "Retrieves connection details for subscribing to live AMQP 1.0 charger events  \nfor installations within the specified user group (requires owner or service permissions).\n\n\nFor more details on working with AMQP and Service Bus, refer to the  \n<a href=\"https://learn.microsoft.com/en-us/azure/service-bus-messaging/\" target=\"_blank\">\nMicrosoft Azure Service Bus documentation</a>.",
        "operationId": "api_usergroups_{id}_messagingconnectiondetails_get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User Group ID",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionDescriptor"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "security": [
          {
            "ory_auth": [ ]
          },
          {
            "legacy_auth": [ ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "AggregateGroup": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "0 = group by charger (default), 1 = group by calendar day, 2 = group by user.\n\n0 = Charger\n\n1 = Day\n\n2 = User",
        "format": "int32",
        "x-enumNames": [
          "Charger",
          "Day",
          "User"
        ]
      },
      "ChargePriority": {
        "type": "object",
        "properties": {
          "prioritizedPhases": {
            "$ref": "#/components/schemas/MaxPhase"
          },
          "prioritizedCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargerExternalUpdateModel": {
        "type": "object",
        "properties": {
          "maxChargeCurrent": {
            "type": "number",
            "description": "Adjustable between 0 and 32A. If charge current is below the charger minimum charge\ncurrent (usually 6A), no charge current will be allocated.",
            "format": "double",
            "nullable": true
          },
          "maxChargePhases": {
            "$ref": "#/components/schemas/MaxPhase"
          },
          "minChargeCurrent": {
            "type": "number",
            "description": "The minimum allocated charge current. If there is not enough current available to\nprovide the chargers minimum current it will not be able to charge. Usually set to\nmatch the vehicle minimum current for charging (defaults to 6A).",
            "format": "double",
            "nullable": true
          },
          "offlineChargeCurrent": {
            "type": "number",
            "description": "Adjustable between 0 and 32A. If offline charge current is below the charger minimum charge\ncurrent (usually 6A), no charge current will be allocated when offline.\nOffline current override should only be done in special cases where charging \nstations should not automatically optimize offline current. In most cases \nthis setting should be set to -1 to allow ZapCloud to optimise offline current.\nIf -1, offline current will be automatically allocated.",
            "format": "double",
            "nullable": true
          },
          "offlineChargePhase": {
            "$ref": "#/components/schemas/Phases"
          },
          "meterValueInterval": {
            "type": "integer",
            "description": "The interval in seconds for a charger to report meter values.\nDefaults to 900 seconds for Pro and 3600 seconds for Go",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargerListModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Get the unique identifier of the charge point.",
            "format": "uuid"
          },
          "mid": {
            "type": "string",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `DeviceId` instead.",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "deviceId": {
            "type": "string",
            "description": "Get the deviceId (serialNo) of the charging stations used with the charge point.",
            "nullable": true
          },
          "serialNo": {
            "type": "string",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `Name` instead.",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "name": {
            "type": "string",
            "description": "Get the name of the charge point.",
            "nullable": true
          },
          "createdOnDate": {
            "type": "string",
            "description": "Get the date and time the installation was created.",
            "format": "date-time",
            "nullable": true
          },
          "circuitId": {
            "type": "string",
            "description": "Get the unique identifier the charge point is installed in.",
            "format": "uuid",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "description": "Get a value indicating whether the charge point is active.",
            "nullable": true
          },
          "currentUserRoles": {
            "$ref": "#/components/schemas/UserRoles"
          },
          "pin": {
            "type": "string",
            "description": "Get the charger PIN code. This will only be provided if your user is system owner\nfor the charge point.",
            "nullable": true
          },
          "templateId": {
            "type": "string",
            "description": "Get the unique identifier of the chargers firmware template.",
            "format": "uuid",
            "nullable": true
          },
          "propertyOcppUrl": {
            "type": "string",
            "nullable": true
          },
          "propertyOcppPassword": {
            "type": "string",
            "nullable": true
          },
          "propertyPinOfflinePhase": {
            "type": "boolean",
            "nullable": true
          },
          "propertyAuthenticationDisabled": {
            "type": "boolean",
            "nullable": true
          },
          "hasSessions": {
            "type": "boolean",
            "nullable": true
          },
          "propertyOfflinePhaseOverride": {
            "$ref": "#/components/schemas/Phases"
          },
          "propertyOfflineCurrentOverride": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyOcppVerboseLogUntil": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "propertyOcppDefaultIdTag": {
            "type": "string",
            "nullable": true
          },
          "propertyOcppWebSocketPingInterval": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyPrioritizedCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyPrioritizedPhases": {
            "$ref": "#/components/schemas/MaxPhase"
          },
          "propertyMaxSinglePhaseChargeCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyOcppAvailability": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyOcppOfflineListVersion": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "signedMeterValueKwh": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "signedMeterValue": {
            "type": "string",
            "nullable": true
          },
          "signedSessionEichrecht": {
            "type": "string",
            "nullable": true
          },
          "deviceType": {
            "$ref": "#/components/schemas/DeviceType"
          },
          "installationName": {
            "type": "string",
            "nullable": true
          },
          "installationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "authenticationType": {
            "$ref": "#/components/schemas/InstallationAuthenticationType"
          },
          "isAuthorizationRequired": {
            "type": "boolean",
            "nullable": true
          },
          "operatingMode": {
            "$ref": "#/components/schemas/ChargerOperatingMode"
          },
          "isOnline": {
            "type": "boolean"
          },
          "warnings": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargerListModelPagedData": {
        "type": "object",
        "properties": {
          "pages": {
            "type": "integer",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChargerListModel"
            },
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChargerOperatingMode": {
        "enum": [
          0,
          1,
          2,
          3,
          5
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Disconnected\n\n2 = Connected_Requesting\n\n3 = Connected_Charging\n\n5 = Connected_Finished",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Disconnected",
          "Connected_Requesting",
          "Connected_Charging",
          "Connected_Finished"
        ]
      },
      "ChargerStateModel": {
        "type": "object",
        "properties": {
          "chargerId": {
            "type": "string",
            "format": "uuid"
          },
          "stateId": {
            "type": "integer",
            "format": "int32"
          },
          "stateName": {
            "type": "string",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "valueAsString": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CommandId": {
        "enum": [
          0,
          1,
          2,
          102,
          103,
          104,
          105,
          106,
          107,
          108,
          109,
          200,
          201,
          260,
          261,
          262,
          300,
          320,
          321,
          322,
          323,
          324,
          501,
          502,
          503,
          504,
          505,
          506,
          507,
          601,
          602,
          603,
          700,
          708,
          750,
          751,
          752,
          800,
          801,
          802,
          803,
          804,
          805,
          901,
          902,
          950,
          951,
          10000,
          10001,
          10999
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = InChargePingReply\n\n2 = OfflineModeOverride\n\n102 = RestartCharger\n\n103 = RestartMcu\n\n104 = UpdateSettings\n\n105 = RestartNtp\n\n106 = ExitAppWithCode\n\n107 = RestartApplication\n\n108 = ReprovisionIotHub\n\n109 = ReprovisionDps\n\n200 = UpgradeFirmware\n\n201 = UpgradeFirmwareForced\n\n260 = ResetComErrors\n\n261 = ResetNotifications\n\n262 = ResetComWarnings\n\n300 = LocalSettings\n\n320 = SetPlcNpw\n\n321 = SetPlcCCoMode\n\n322 = SetPlcNmk\n\n323 = SetRemotePlcNmk\n\n324 = SetRemotePlcNpw\n\n501 = StartCharging\n\n502 = StopCharging\n\n503 = ReportChargingState\n\n504 = SetSessionId\n\n505 = SetUserUuid\n\n506 = StopChargingFinal\n\n507 = ResumeCharging\n\n601 = ShowGranted\n\n602 = ShowDenied\n\n603 = IndicateAppConnect\n\n700 = RequestSignedMIDEventLog\n\n708 = UnlockConnector\n\n750 = ConfirmChargeCardAdded\n\n751 = SetAuthenticationList\n\n752 = OcppTunnelMessage\n\n800 = Debug\n\n801 = GetPlcTopology\n\n802 = ResetPlc\n\n803 = RemoteCommand\n\n804 = RunGridTest\n\n805 = ClearObservationCache\n\n901 = RunPostProductionTest\n\n902 = GetFirmwareVersion\n\n950 = DumpPilotCounter\n\n951 = RunPilotTest\n\n10000 = CombinedMin\n\n10001 = DeauthorizeAndStop\n\n10999 = CombinedMax",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "InChargePingReply",
          "OfflineModeOverride",
          "RestartCharger",
          "RestartMcu",
          "UpdateSettings",
          "RestartNtp",
          "ExitAppWithCode",
          "RestartApplication",
          "ReprovisionIotHub",
          "ReprovisionDps",
          "UpgradeFirmware",
          "UpgradeFirmwareForced",
          "ResetComErrors",
          "ResetNotifications",
          "ResetComWarnings",
          "LocalSettings",
          "SetPlcNpw",
          "SetPlcCCoMode",
          "SetPlcNmk",
          "SetRemotePlcNmk",
          "SetRemotePlcNpw",
          "StartCharging",
          "StopCharging",
          "ReportChargingState",
          "SetSessionId",
          "SetUserUuid",
          "StopChargingFinal",
          "ResumeCharging",
          "ShowGranted",
          "ShowDenied",
          "IndicateAppConnect",
          "RequestSignedMIDEventLog",
          "UnlockConnector",
          "ConfirmChargeCardAdded",
          "SetAuthenticationList",
          "OcppTunnelMessage",
          "Debug",
          "GetPlcTopology",
          "ResetPlc",
          "RemoteCommand",
          "RunGridTest",
          "ClearObservationCache",
          "RunPostProductionTest",
          "GetFirmwareVersion",
          "DumpPilotCounter",
          "RunPilotTest",
          "CombinedMin",
          "DeauthorizeAndStop",
          "CombinedMax"
        ]
      },
      "CommitMetadata": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = Online\n\n2 = Offline\n\n4 = ReliableClock\n\n8 = StoppedByRFID\n\n16 = Signed\n\n32 = Void\n\n64 = Aborted\n\n128 = OcppNative",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Online",
          "Offline",
          "ReliableClock",
          "StoppedByRFID",
          "Signed",
          "Void",
          "Aborted",
          "OcppNative"
        ]
      },
      "ConnectionDescriptor": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ConnectionType"
          },
          "host": {
            "type": "string",
            "nullable": true
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "useSSL": {
            "type": "boolean"
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "topic": {
            "type": "string",
            "nullable": true
          },
          "subscription": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ConnectionType": {
        "enum": [
          0
        ],
        "type": "integer",
        "description": "\n\n0 = Amqp10",
        "format": "int32",
        "x-enumNames": [
          "Amqp10"
        ]
      },
      "ConstantsModel": {
        "type": "object",
        "properties": {
          "languages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LanguageModel"
            },
            "description": "Key value list of languages supported in portal",
            "nullable": true
          },
          "countries": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/CountryModel"
            },
            "description": "List of supported countries with country information",
            "nullable": true
          },
          "installationCategories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallationCategoryModel"
            },
            "description": "Key value list of installation categories",
            "nullable": true
          },
          "installationTypes": {
            "type": "object",
            "properties": {
              "Pro": {
                "$ref": "#/components/schemas/InstallationTypeConstantModel"
              },
              "Smart": {
                "$ref": "#/components/schemas/InstallationTypeConstantModel"
              }
            },
            "additionalProperties": false,
            "description": "List of installation types with information",
            "nullable": true
          },
          "userRoles": {
            "type": "object",
            "properties": {
              "None": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "User": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Owner": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Maintainer": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Administrator": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Any": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Onboarding": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "DeviceAdministrator": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "PartnerAdministrator": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "Technical": {
                "$ref": "#/components/schemas/UserRoles"
              },
              "InternalData": {
                "$ref": "#/components/schemas/UserRoles"
              }
            },
            "additionalProperties": false,
            "description": "List of user roles with role ID",
            "nullable": true
          },
          "networkTypes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/NetworkType"
              },
              "IT_1_Phase": {
                "$ref": "#/components/schemas/NetworkType"
              },
              "IT_3_Phase": {
                "$ref": "#/components/schemas/NetworkType"
              },
              "TN_1_Phase": {
                "$ref": "#/components/schemas/NetworkType"
              },
              "TN_3_Phase": {
                "$ref": "#/components/schemas/NetworkType"
              }
            },
            "additionalProperties": false,
            "description": "Electrical network types (Phase and system type)",
            "nullable": true
          },
          "chargerOperationModes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/ChargerOperatingMode"
              },
              "Disconnected": {
                "$ref": "#/components/schemas/ChargerOperatingMode"
              },
              "Connected_Requesting": {
                "$ref": "#/components/schemas/ChargerOperatingMode"
              },
              "Connected_Charging": {
                "$ref": "#/components/schemas/ChargerOperatingMode"
              },
              "Connected_Finished": {
                "$ref": "#/components/schemas/ChargerOperatingMode"
              }
            },
            "additionalProperties": false,
            "description": "List of charger operating modes",
            "nullable": true
          },
          "phases": {
            "type": "object",
            "properties": {
              "None": {
                "$ref": "#/components/schemas/Phases"
              },
              "Phase_1": {
                "$ref": "#/components/schemas/Phases"
              },
              "Phase_2": {
                "$ref": "#/components/schemas/Phases"
              },
              "Phase_3": {
                "$ref": "#/components/schemas/Phases"
              },
              "All": {
                "$ref": "#/components/schemas/Phases"
              }
            },
            "additionalProperties": false,
            "description": "Electrical phases",
            "nullable": true
          },
          "wildcardGuid": {
            "type": "string",
            "format": "uuid"
          },
          "regionalInfo": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/RegionalInfoModel"
            },
            "description": "List of region info",
            "nullable": true
          },
          "messageCodes": {
            "type": "object",
            "properties": {
              "Success": {
                "$ref": "#/components/schemas/MessageCode"
              },
              "Error": {
                "$ref": "#/components/schemas/MessageCode"
              },
              "Information": {
                "$ref": "#/components/schemas/MessageCode"
              },
              "Warning": {
                "$ref": "#/components/schemas/MessageCode"
              },
              "KnownErrors": {
                "$ref": "#/components/schemas/MessageCode"
              },
              "UnknownObject": {
                "$ref": "#/components/schemas/MessageCode"
              }
            },
            "additionalProperties": false,
            "description": "List of codes indicating eg. info, error, ..",
            "nullable": true
          },
          "errorCodes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "MissingRequiredData": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownSetting": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "OperationFailedForUnknownReasons": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "NotApplicableForUser": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownUser": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "RfidTokenInUse": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "SignUpTooManyRequests": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "EmailInUse": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "CellPhoneInUse": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownObject": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "InvalidPassword": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "IncorrectPassword": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UserActivationLinkExpired": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "LinkRequestExpired": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "ChargerDeviceIdExists": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownDeviceId": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownCommand": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "ErrorCommunicatingWithDevice": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "StringIsNotAWellFormedVersion": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "FirmwareVersionExists": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "FirmwareFileExists": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "CreateConflict": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "DeviceFirmwareNotConfigured": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "FeatureNotEnabled": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "NotSupported": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "DeviceCommandRejected": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "InvalidFormat": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "MailSendFailed": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "ConcurrencyError": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "ConfigurationError": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "Forbidden": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "InstallationTypeViolation": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "PaymentFailed": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "PaymentAuthorizationRequired": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "OperationFailedActiveSubscriptions": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "OperationFailedDueToChargerState": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "InstallationConstraintViolation": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownInstallationId": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnknownEnergySensorId": {
                "$ref": "#/components/schemas/ErrorCode"
              },
              "UnauthorizedToPerformOcppNativeChanges": {
                "$ref": "#/components/schemas/ErrorCode"
              }
            },
            "additionalProperties": false,
            "description": "List of codes used in Zaptec.ZapCloud.Infrastructure.AspNetCore.Models.Error response object",
            "nullable": true
          },
          "settings": {
            "type": "object",
            "properties": {
              "AuthenticationRequired": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PaymentActive": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PaymentCurrency": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PaymentSessionUnitPrice": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PaymentEnergyUnitPrice": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PaymentTimeUnitPrice": {
                "$ref": "#/components/schemas/SettingId"
              },
              "CommunicationMode": {
                "$ref": "#/components/schemas/SettingId"
              },
              "PermanentCableLock": {
                "$ref": "#/components/schemas/SettingId"
              },
              "HmiBrightness": {
                "$ref": "#/components/schemas/SettingId"
              },
              "LockCableWhenConnected": {
                "$ref": "#/components/schemas/SettingId"
              },
              "SoftStartDisabled": {
                "$ref": "#/components/schemas/SettingId"
              },
              "MIDBlinkEnabled": {
                "$ref": "#/components/schemas/SettingId"
              },
              "CurrentInMaximum": {
                "$ref": "#/components/schemas/SettingId"
              },
              "CurrentInMinimum": {
                "$ref": "#/components/schemas/SettingId"
              },
              "MaxPhases": {
                "$ref": "#/components/schemas/SettingId"
              },
              "DefaultOfflinePhase": {
                "$ref": "#/components/schemas/SettingId"
              },
              "DefaultOfflineCurrent": {
                "$ref": "#/components/schemas/SettingId"
              },
              "SignedMeterValueInterval": {
                "$ref": "#/components/schemas/SettingId"
              },
              "IsEnabled": {
                "$ref": "#/components/schemas/SettingId"
              },
              "Standalone": {
                "$ref": "#/components/schemas/SettingId"
              },
              "NetworkType": {
                "$ref": "#/components/schemas/SettingId"
              },
              "AuthorizationTimeout": {
                "$ref": "#/components/schemas/SettingId"
              },
              "TariffText": {
                "$ref": "#/components/schemas/SettingId"
              },
              "EnabledNfcTechnologies": {
                "$ref": "#/components/schemas/SettingId"
              },
              "LteRoamingDisabled": {
                "$ref": "#/components/schemas/SettingId"
              },
              "InstallationId": {
                "$ref": "#/components/schemas/SettingId"
              },
              "RoutingId": {
                "$ref": "#/components/schemas/SettingId"
              },
              "ChargePointName": {
                "$ref": "#/components/schemas/SettingId"
              },
              "DiagnosticsMode": {
                "$ref": "#/components/schemas/SettingId"
              },
              "DisableBLEChargePointName": {
                "$ref": "#/components/schemas/SettingId"
              },
              "InternalDiagnosticsLog": {
                "$ref": "#/components/schemas/SettingId"
              },
              "UnconditionalNfcDetectionIndication": {
                "$ref": "#/components/schemas/SettingId"
              },
              "EnableLteDetailedSignalStrength": {
                "$ref": "#/components/schemas/SettingId"
              },
              "EnableLocalNetworkMaintenance": {
                "$ref": "#/components/schemas/SettingId"
              },
              "SessionController": {
                "$ref": "#/components/schemas/SettingId"
              },
              "OcppNativeUrl": {
                "$ref": "#/components/schemas/SettingId"
              },
              "OcppNativeCbId": {
                "$ref": "#/components/schemas/SettingId"
              },
              "OcppNativeZaptecLoadBalancingEnabled": {
                "$ref": "#/components/schemas/SettingId"
              },
              "OcppNativeOnePhaseChargingPhase": {
                "$ref": "#/components/schemas/SettingId"
              }
            },
            "additionalProperties": false,
            "description": "Smart device Settings",
            "nullable": true,
            "deprecated": true
          },
          "commands": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/CommandId"
              },
              "InChargePingReply": {
                "$ref": "#/components/schemas/CommandId"
              },
              "OfflineModeOverride": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RestartCharger": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RestartMcu": {
                "$ref": "#/components/schemas/CommandId"
              },
              "UpdateSettings": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RestartNtp": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ExitAppWithCode": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RestartApplication": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ReprovisionIotHub": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ReprovisionDps": {
                "$ref": "#/components/schemas/CommandId"
              },
              "UpgradeFirmware": {
                "$ref": "#/components/schemas/CommandId"
              },
              "UpgradeFirmwareForced": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ResetComErrors": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ResetNotifications": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ResetComWarnings": {
                "$ref": "#/components/schemas/CommandId"
              },
              "LocalSettings": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetPlcNpw": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetPlcCCoMode": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetPlcNmk": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetRemotePlcNmk": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetRemotePlcNpw": {
                "$ref": "#/components/schemas/CommandId"
              },
              "StartCharging": {
                "$ref": "#/components/schemas/CommandId"
              },
              "StopCharging": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ReportChargingState": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetSessionId": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetUserUuid": {
                "$ref": "#/components/schemas/CommandId"
              },
              "StopChargingFinal": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ResumeCharging": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ShowGranted": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ShowDenied": {
                "$ref": "#/components/schemas/CommandId"
              },
              "IndicateAppConnect": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RequestSignedMIDEventLog": {
                "$ref": "#/components/schemas/CommandId"
              },
              "UnlockConnector": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ConfirmChargeCardAdded": {
                "$ref": "#/components/schemas/CommandId"
              },
              "SetAuthenticationList": {
                "$ref": "#/components/schemas/CommandId"
              },
              "OcppTunnelMessage": {
                "$ref": "#/components/schemas/CommandId"
              },
              "Debug": {
                "$ref": "#/components/schemas/CommandId"
              },
              "GetPlcTopology": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ResetPlc": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RemoteCommand": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RunGridTest": {
                "$ref": "#/components/schemas/CommandId"
              },
              "ClearObservationCache": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RunPostProductionTest": {
                "$ref": "#/components/schemas/CommandId"
              },
              "GetFirmwareVersion": {
                "$ref": "#/components/schemas/CommandId"
              },
              "DumpPilotCounter": {
                "$ref": "#/components/schemas/CommandId"
              },
              "RunPilotTest": {
                "$ref": "#/components/schemas/CommandId"
              },
              "CombinedMin": {
                "$ref": "#/components/schemas/CommandId"
              },
              "DeauthorizeAndStop": {
                "$ref": "#/components/schemas/CommandId"
              },
              "CombinedMax": {
                "$ref": "#/components/schemas/CommandId"
              }
            },
            "additionalProperties": false,
            "description": "Smart device Commands",
            "nullable": true,
            "deprecated": true
          },
          "observations": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OfflineMode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Capabilities": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductName": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ArenaId": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "AuthenticationRequired": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PaymentActive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PaymentCurrency": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PaymentSessionUnitPrice": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PaymentEnergyUnitPrice": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PaymentTimeUnitPrice": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CommunicationMode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PermanentCableLock": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductCode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "HmiBrightness": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LockCableWhenConnected": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SoftStartDisabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "FirmwareApiHost": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "DpsAssignedIotHub": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "DpsScopeId": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IoTHubOverride": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDBlinkEnabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductionTesterEnabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductionTestStationOverride": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TemperatureInternal5": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TemperatureInternal6": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TemperatureInternalLimit": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TemperaturePowerBoard": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TemperatureInternalMaxLimit": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Humidity": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TamperCover": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "VoltagePhase1": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "VoltagePhase2": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "VoltagePhase3": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CurrentPhase1": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CurrentPhase2": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CurrentPhase3": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerMaxCurrent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerMinCurrent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ActivePhases": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TotalChargePower": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RcdCurrent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Internal12vCurrent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PowerFactor": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SetPhases": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MaxPhases": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerOfflinePhase": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerOfflineCurrent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RcdCalibration": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RcdCalibrationNoise": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ManualRcdTest": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TotalChargePowerSession": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SignedMeterValue": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SignedMeterValueInterval": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionEnergyCountExportActive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionEnergyCountExportReactive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionEnergyCountImportActive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionEnergyCountImportReactive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SoftStartTime": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargeDuration": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargeMode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargePilotLevelInstant": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargePilotLevelAverage": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PilotVsProximityTime": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargeCurrentSet": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerOperationMode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IsEnabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IsStandAlone": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerCurrentUserUuidDeprecated": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CableType": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "NetworkType": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "DetectedCar": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "GridTestResult": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "FinalStopActive": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "AuthorizationTimeout": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TariffText": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionIdentifier": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ChargerCurrentUserUuid": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CompletedSession": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PlugAndChargeAuthorizeRequest": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RejectedUserUuid": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "NewChargeCard": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "AuthenticationListVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "EnabledNfcTechnologies": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteRoamingDisabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Location": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TimeZone": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "TimeSchedule": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "NextScheduleEvent": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MaxStartDelay": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "InstallationId": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RoutingId": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Notifications": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Warnings": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "DiagnosticsMode": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "InternalDiagnosticsLog": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "DiagnosticsString": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CommunicationSignalStrength": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CloudConnectionStatus": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "McuResetSource": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "McuRxErrors": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "McuToVariscitePacketErrors": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "VarisciteToMcuPacketErrors": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDFaultFlags": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RelayWeldedFlags": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "UptimeVariscite": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "UptimeMCU": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CertificateVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SecurityLog": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CarSessionLog": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "CommunicationModeConfigurationInconsistency": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "RawPilotMonitor": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IT3PhaseDiagnosticsLog": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PilotTestResults": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "UnconditionalNfcDetectionIndication": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "EnableLteDetailedSignalStrength": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "EnableLocalNetworkMaintenance": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SessionController": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppNativeUrl": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppNativeCbId": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppNativeConnected": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppTunnelCall": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppNativeZaptecLoadBalancingEnabled": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "OcppNativeOnePhaseChargingPhase": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "EmcTestCounter": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductionTestResults": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PostProductionTestResults": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SmartMainboardSoftwareApplicationVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SmartMainboardSoftwareBootloaderVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SmartComputerSoftwareApplicationVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SmartComputerSoftwareBootloaderVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "SmartComputerHardwareVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDLegallyRelevantSoftwareIdentifier": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PlcPibVersionGrid": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "PlcPibVersionEV": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "AppliedImageUpdates": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "FailedImageUpdates": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MacMain": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MacPlcModuleGrid": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MacWiFi": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MacPlcModuleEv": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteImsi": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteMsisdn": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteIccid": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteImei": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteVersion": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "LteDetailedSignalStrength": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "ProductionTestStationNumber": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDCalibration": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDPublicKey": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "MIDCalibrationID": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "AuthorizationCache": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IsOcppConnected": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "IsOnline": {
                "$ref": "#/components/schemas/ObservationId"
              },
              "Pulse": {
                "$ref": "#/components/schemas/ObservationId"
              }
            },
            "additionalProperties": false,
            "description": "Smart device Observations",
            "nullable": true,
            "deprecated": true
          },
          "schema": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "Smart": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "Portable": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "HomeApm": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "Apollo": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "OtherApm": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "GenericApm": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "HanApm": {
                "$ref": "#/components/schemas/SchemaModel"
              },
              "TicApm": {
                "$ref": "#/components/schemas/SchemaModel"
              }
            },
            "additionalProperties": false,
            "description": "Dict with device specific commandId, warnings and so on",
            "nullable": true
          },
          "objectTypes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "Installation": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "Circuit": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "Charger": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "User": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "UserGroup": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "InactiveUser": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "InvitedUser": {
                "$ref": "#/components/schemas/ObjectType"
              },
              "Country": {
                "$ref": "#/components/schemas/ObjectType"
              }
            },
            "additionalProperties": false,
            "description": "ZapCloud object types",
            "nullable": true
          },
          "version": {
            "type": "string",
            "description": "Portal frontend version",
            "nullable": true
          },
          "smartWarnings": {
            "type": "object",
            "properties": {
              "WARNING_OK": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_HUMIDITY": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_TEMPERATURE": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_TEMPERATURE_ERROR": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_EMETER_NO_RESPONSE": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_MAX_SESSION_RESTART": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_CHARGE_OVERCURRENT": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_PILOT_STATE": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RELAY_WELDED": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_PILOT_LOW_LEVEL": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_COM_TIMEOUT": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_REBOOT": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_DISABLED": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_AC": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_DC": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_PEAK": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_TEST_AC": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_TEST_DC": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_FAILURE": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD_TEST_TIMEOUT": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_RCD": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_VERSION": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_UNEXPECTED_RELAY": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_CHARGING_RESET": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_PILOT_NO_PROXIMITY": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_EMETER_ALARM": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_EMETER_LINK": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_NO_VOLTAGE_L1": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_NO_VOLTAGE_L2_L3": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_WATCHDOG": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_EMETER_CAL": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_MID": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_VARISCITE": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_MCU_BOOTLOADER": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_FPGA_INIT_FAILED": {
                "type": "integer",
                "format": "int64"
              },
              "WARNING_VARISCITE_ILLEGAL_PHASE": {
                "type": "integer",
                "format": "int64"
              }
            },
            "additionalProperties": false,
            "nullable": true,
            "deprecated": true
          },
          "varisciteWarnings": {
            "type": "object",
            "properties": {
              "WARNING_MCU_BOOTLOADER": {
                "$ref": "#/components/schemas/VarisciteWarnings"
              },
              "WARNING_FPGA_INIT_FAILED": {
                "$ref": "#/components/schemas/VarisciteWarnings"
              },
              "WARNING_VARISCITE_ILLEGAL_PHASE": {
                "$ref": "#/components/schemas/VarisciteWarnings"
              }
            },
            "additionalProperties": false,
            "nullable": true,
            "deprecated": true
          },
          "phaseIdMap": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PhaseIdMapConstantModel"
            },
            "description": "Map of all electrical phase IDs",
            "nullable": true
          },
          "deviceLogTypes": {
            "type": "object",
            "properties": {
              "OcppIn": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OcppOut": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OcppError": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OcppConnected": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OcppConnectionFailed": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OcppClientClose": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "IotCommandExecuted": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "IotCommandFailed": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "IotCloudSettingUpdated": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "SessionCommit": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "OfflineSessionCommit": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "AuthorizationRequest": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "AuthorizationSuccess": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "AuthorizationError": {
                "$ref": "#/components/schemas/DeviceLogType"
              },
              "AuthorizationFailed": {
                "$ref": "#/components/schemas/DeviceLogType"
              }
            },
            "additionalProperties": false,
            "description": "Types of log messages from devices",
            "nullable": true
          },
          "features": {
            "type": "object",
            "properties": {
              "None": {
                "$ref": "#/components/schemas/Features"
              },
              "Api_MessageSubscription": {
                "$ref": "#/components/schemas/Features"
              },
              "Authentication_Internal": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Apm": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_EcoMode": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Schedule": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Apm_PowerLimit": {
                "$ref": "#/components/schemas/Features"
              },
              "Connectivity_4G": {
                "$ref": "#/components/schemas/Features"
              },
              "Authentication_Ocpp": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Apm_Tariff_PowerLimit": {
                "$ref": "#/components/schemas/Features"
              },
              "Authentication_OcppNative": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Apm_Tic": {
                "$ref": "#/components/schemas/Features"
              },
              "PowerManagement_Apm_SurplusMode": {
                "$ref": "#/components/schemas/Features"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "installationTypeConstraints": {
            "type": "object",
            "properties": {
              "Valid": {
                "$ref": "#/components/schemas/ConstraintErrors"
              },
              "MaxCircuits": {
                "$ref": "#/components/schemas/ConstraintErrors"
              },
              "MaxCircuitCurrent": {
                "$ref": "#/components/schemas/ConstraintErrors"
              },
              "MaxChargers": {
                "$ref": "#/components/schemas/ConstraintErrors"
              },
              "UnsupportedFeature": {
                "$ref": "#/components/schemas/ConstraintErrors"
              },
              "IncompatibleCharger": {
                "$ref": "#/components/schemas/ConstraintErrors"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "sessionCommitMetadata": {
            "type": "object",
            "properties": {
              "None": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "Online": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "Offline": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "ReliableClock": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "StoppedByRFID": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "Signed": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "Void": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "Aborted": {
                "$ref": "#/components/schemas/CommitMetadata"
              },
              "OcppNative": {
                "$ref": "#/components/schemas/CommitMetadata"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "installationUpdateStatusCodes": {
            "type": "object",
            "properties": {
              "Ok": {
                "$ref": "#/components/schemas/InstallationUpdateStatusCodes"
              },
              "EcoScheduleUpdated": {
                "$ref": "#/components/schemas/InstallationUpdateStatusCodes"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "entityTypes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/EntityType"
              },
              "Installation": {
                "$ref": "#/components/schemas/EntityType"
              },
              "Charger": {
                "$ref": "#/components/schemas/EntityType"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "deviceTypes": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "Smart": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "Portable": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "HomeApm": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "Apollo": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "OtherApm": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "GenericApm": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "HanApm": {
                "$ref": "#/components/schemas/DeviceType"
              },
              "TicApm": {
                "$ref": "#/components/schemas/DeviceType"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "installationAuthenticationType": {
            "type": "object",
            "properties": {
              "Native": {
                "$ref": "#/components/schemas/InstallationAuthenticationType"
              },
              "WebHooks": {
                "$ref": "#/components/schemas/InstallationAuthenticationType"
              },
              "Ocpp": {
                "$ref": "#/components/schemas/InstallationAuthenticationType"
              },
              "OcppNative": {
                "$ref": "#/components/schemas/InstallationAuthenticationType"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "energyPrices": {
            "$ref": "#/components/schemas/EnergyPriceConstantModel"
          },
          "userActionTypes": {
            "type": "object",
            "properties": {
              "None": {
                "$ref": "#/components/schemas/UserActionType"
              },
              "AddSense": {
                "$ref": "#/components/schemas/UserActionType"
              },
              "InviteNewUser": {
                "$ref": "#/components/schemas/UserActionType"
              }
            },
            "additionalProperties": false,
            "description": "List of valid types of User Actions",
            "nullable": true
          },
          "ocppCloudUrlVersions": {
            "type": "object",
            "properties": {
              "Legacy": {
                "$ref": "#/components/schemas/OcppCloudUrlVersion"
              },
              "Ocpp16Compliant": {
                "$ref": "#/components/schemas/OcppCloudUrlVersion"
              }
            },
            "additionalProperties": false,
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Model containing all constants"
      },
      "ConstraintErrors": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16
        ],
        "type": "integer",
        "description": "\n\n0 = Valid\n\n1 = MaxCircuits\n\n2 = MaxCircuitCurrent\n\n4 = MaxChargers\n\n8 = UnsupportedFeature\n\n16 = IncompatibleCharger",
        "format": "int32",
        "x-enumNames": [
          "Valid",
          "MaxCircuits",
          "MaxCircuitCurrent",
          "MaxChargers",
          "UnsupportedFeature",
          "IncompatibleCharger"
        ]
      },
      "CountryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "timeZoneName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CustomTotalChargerReportModel": {
        "type": "object",
        "properties": {
          "installationName": {
            "type": "string",
            "nullable": true
          },
          "installationAddress": {
            "type": "string",
            "nullable": true
          },
          "installationZipCode": {
            "type": "string",
            "nullable": true
          },
          "installationCity": {
            "type": "string",
            "nullable": true
          },
          "installationTimeZone": {
            "type": "string",
            "nullable": true
          },
          "groupedBy": {
            "type": "string",
            "nullable": true
          },
          "fromdate": {
            "type": "string",
            "format": "date-time"
          },
          "enddate": {
            "type": "string",
            "format": "date-time"
          },
          "totalUserChargerReportModel": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TotalUserChargerReportModel"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "DeliveryArea": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = NO1\n\n2 = NO2\n\n3 = NO3\n\n4 = NO4\n\n5 = NO5\n\n6 = SE1\n\n7 = SE2\n\n8 = SE3\n\n9 = SE4\n\n10 = DK1\n\n11 = DK2\n\n12 = FI\n\n13 = NL\n\n14 = BE",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "NO1",
          "NO2",
          "NO3",
          "NO4",
          "NO5",
          "SE1",
          "SE2",
          "SE3",
          "SE4",
          "DK1",
          "DK2",
          "FI",
          "NL",
          "BE"
        ]
      },
      "DetailLevelFlags": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "Determines the detail level to return.\n\n0 = Summary\n\n1 = EnergyDetails",
        "format": "int32",
        "x-enumNames": [
          "Summary",
          "EnergyDetails"
        ],
        "x-enumFlags": true
      },
      "DeviceLogType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14
        ],
        "type": "integer",
        "description": "\n\n0 = OcppIn\n\n1 = OcppOut\n\n2 = OcppError\n\n3 = OcppConnected\n\n4 = OcppConnectionFailed\n\n5 = OcppClientClose\n\n6 = IotCommandExecuted\n\n7 = IotCommandFailed\n\n8 = IotCloudSettingUpdated\n\n9 = SessionCommit\n\n10 = OfflineSessionCommit\n\n11 = AuthorizationRequest\n\n12 = AuthorizationSuccess\n\n13 = AuthorizationError\n\n14 = AuthorizationFailed",
        "format": "int32",
        "x-enumNames": [
          "OcppIn",
          "OcppOut",
          "OcppError",
          "OcppConnected",
          "OcppConnectionFailed",
          "OcppClientClose",
          "IotCommandExecuted",
          "IotCommandFailed",
          "IotCloudSettingUpdated",
          "SessionCommit",
          "OfflineSessionCommit",
          "AuthorizationRequest",
          "AuthorizationSuccess",
          "AuthorizationError",
          "AuthorizationFailed"
        ]
      },
      "DeviceType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Smart\n\n2 = Portable\n\n3 = HomeApm\n\n4 = Apollo\n\n5 = OtherApm\n\n6 = GenericApm\n\n7 = HanApm\n\n8 = TicApm",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Smart",
          "Portable",
          "HomeApm",
          "Apollo",
          "OtherApm",
          "GenericApm",
          "HanApm",
          "TicApm"
        ]
      },
      "EnergyPriceConstantModel": {
        "type": "object",
        "properties": {
          "deliveryArea": {
            "type": "object",
            "properties": {
              "Unknown": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NO1": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NO2": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NO3": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NO4": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NO5": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "SE1": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "SE2": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "SE3": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "SE4": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "DK1": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "DK2": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "FI": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "NL": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "BE": {
                "$ref": "#/components/schemas/DeliveryArea"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "priceUnit": {
            "type": "object",
            "properties": {
              "Unsupported": {
                "$ref": "#/components/schemas/PriceUnit"
              },
              "EuroPerMWh": {
                "$ref": "#/components/schemas/PriceUnit"
              }
            },
            "additionalProperties": false,
            "nullable": true
          },
          "countryDeliveryAreas": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/DeliveryArea"
              },
              "nullable": true
            },
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Energy price area info"
      },
      "EntityType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Installation\n\n2 = Charger",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Installation",
          "Charger"
        ]
      },
      "ErrorCode": {
        "enum": [
          500,
          503,
          504,
          505,
          506,
          507,
          508,
          509,
          510,
          511,
          512,
          513,
          514,
          515,
          516,
          517,
          518,
          519,
          520,
          521,
          522,
          523,
          524,
          525,
          526,
          527,
          528,
          529,
          530,
          531,
          532,
          533,
          534,
          535,
          536,
          537,
          538,
          539,
          540,
          541,
          542
        ],
        "type": "integer",
        "description": "\n\n500 = Unknown\n\n503 = MissingRequiredData\n\n504 = UnknownSetting\n\n505 = OperationFailedForUnknownReasons\n\n506 = NotApplicableForUser\n\n507 = UnknownUser\n\n508 = RfidTokenInUse\n\n509 = SignUpTooManyRequests\n\n510 = EmailInUse\n\n511 = CellPhoneInUse\n\n512 = UnknownObject\n\n513 = InvalidPassword\n\n514 = IncorrectPassword\n\n515 = UserActivationLinkExpired\n\n516 = LinkRequestExpired\n\n517 = ChargerDeviceIdExists\n\n518 = UnknownDeviceId\n\n519 = UnknownCommand\n\n520 = ErrorCommunicatingWithDevice\n\n521 = StringIsNotAWellFormedVersion\n\n522 = FirmwareVersionExists\n\n523 = FirmwareFileExists\n\n524 = CreateConflict\n\n525 = DeviceFirmwareNotConfigured\n\n526 = FeatureNotEnabled\n\n527 = NotSupported\n\n528 = DeviceCommandRejected\n\n529 = InvalidFormat\n\n530 = MailSendFailed\n\n531 = ConcurrencyError\n\n532 = ConfigurationError\n\n533 = Forbidden\n\n534 = InstallationTypeViolation\n\n535 = PaymentFailed\n\n536 = PaymentAuthorizationRequired\n\n537 = OperationFailedActiveSubscriptions\n\n538 = OperationFailedDueToChargerState\n\n539 = InstallationConstraintViolation\n\n540 = UnknownInstallationId\n\n541 = UnknownEnergySensorId\n\n542 = UnauthorizedToPerformOcppNativeChanges",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "MissingRequiredData",
          "UnknownSetting",
          "OperationFailedForUnknownReasons",
          "NotApplicableForUser",
          "UnknownUser",
          "RfidTokenInUse",
          "SignUpTooManyRequests",
          "EmailInUse",
          "CellPhoneInUse",
          "UnknownObject",
          "InvalidPassword",
          "IncorrectPassword",
          "UserActivationLinkExpired",
          "LinkRequestExpired",
          "ChargerDeviceIdExists",
          "UnknownDeviceId",
          "UnknownCommand",
          "ErrorCommunicatingWithDevice",
          "StringIsNotAWellFormedVersion",
          "FirmwareVersionExists",
          "FirmwareFileExists",
          "CreateConflict",
          "DeviceFirmwareNotConfigured",
          "FeatureNotEnabled",
          "NotSupported",
          "DeviceCommandRejected",
          "InvalidFormat",
          "MailSendFailed",
          "ConcurrencyError",
          "ConfigurationError",
          "Forbidden",
          "InstallationTypeViolation",
          "PaymentFailed",
          "PaymentAuthorizationRequired",
          "OperationFailedActiveSubscriptions",
          "OperationFailedDueToChargerState",
          "InstallationConstraintViolation",
          "UnknownInstallationId",
          "UnknownEnergySensorId",
          "UnauthorizedToPerformOcppNativeChanges"
        ]
      },
      "Features": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          16,
          32,
          64,
          128,
          256,
          512,
          65536,
          131072
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = Api_MessageSubscription\n\n2 = Authentication_Internal\n\n4 = PowerManagement_Apm\n\n8 = PowerManagement_EcoMode\n\n16 = PowerManagement_Schedule\n\n32 = PowerManagement_Apm_PowerLimit\n\n64 = Connectivity_4G\n\n128 = Authentication_Ocpp\n\n256 = PowerManagement_Apm_Tariff_PowerLimit\n\n512 = Authentication_OcppNative\n\n65536 = PowerManagement_Apm_Tic\n\n131072 = PowerManagement_Apm_SurplusMode",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Api_MessageSubscription",
          "Authentication_Internal",
          "PowerManagement_Apm",
          "PowerManagement_EcoMode",
          "PowerManagement_Schedule",
          "PowerManagement_Apm_PowerLimit",
          "Connectivity_4G",
          "Authentication_Ocpp",
          "PowerManagement_Apm_Tariff_PowerLimit",
          "Authentication_OcppNative",
          "PowerManagement_Apm_Tic",
          "PowerManagement_Apm_SurplusMode"
        ],
        "x-enumFlags": true
      },
      "GroupByOptions": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "\n\n0 = User\n\n1 = Charger\n\n2 = ChargeCardName",
        "format": "int32",
        "x-enumNames": [
          "User",
          "Charger",
          "ChargeCardName"
        ]
      },
      "InstallationAuthenticationType": {
        "enum": [
          0,
          1,
          2,
          3
        ],
        "type": "integer",
        "description": "\n\n0 = Native\n\n1 = WebHooks\n\n2 = Ocpp\n\n3 = OcppNative",
        "format": "int32",
        "x-enumNames": [
          "Native",
          "WebHooks",
          "Ocpp",
          "OcppNative"
        ]
      },
      "InstallationAvailableCurrentMode": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "AvailableCurrentMode has been replaces by EnabledFeatures, but is still used in API\n\n0 = Manual\n\n1 = Schedule\n\n2 = Auto",
        "format": "int32",
        "x-enumNames": [
          "Manual",
          "Schedule",
          "Auto"
        ]
      },
      "InstallationCategoryModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "category": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallationChargeHistoryModel": {
        "type": "object",
        "properties": {
          "fromDate": {
            "type": "string",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "format": "date-time"
          },
          "installationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "userIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "chargerIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "nullable": true
          },
          "groupBy": {
            "$ref": "#/components/schemas/GroupByOptions"
          },
          "reportFormat": {
            "$ref": "#/components/schemas/ReportFormatOptions"
          }
        },
        "additionalProperties": false
      },
      "InstallationChargerFirmwareModel": {
        "type": "object",
        "properties": {
          "chargerId": {
            "type": "string",
            "format": "uuid"
          },
          "deviceId": {
            "type": "string",
            "nullable": true
          },
          "isOnline": {
            "type": "boolean",
            "nullable": true
          },
          "currentVersion": {
            "type": "string",
            "nullable": true
          },
          "availableVersion": {
            "type": "string",
            "nullable": true
          },
          "deviceType": {
            "$ref": "#/components/schemas/DeviceType"
          },
          "isUpToDate": {
            "type": "boolean",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false
      },
      "InstallationDetailLevelFlags": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "Determines the detail level to return for an installation.\n\n0 = Default\n\n1 = UserDetails\n\n2 = UserGroups",
        "format": "int32",
        "x-enumNames": [
          "Default",
          "UserDetails",
          "UserGroups"
        ],
        "x-enumFlags": true
      },
      "InstallationExternalUpdateModel": {
        "type": "object",
        "properties": {
          "availableCurrent": {
            "type": "number",
            "description": "Available current to set on all phases.",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase1": {
            "type": "number",
            "description": "Available current to set on phase 1. When setting current on individual phases, any\nphase without specified current will be set to default.",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase2": {
            "type": "number",
            "description": "Available current to set on phase 2. When setting current on individual phases, any\nphase without specified current will be set to default.",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase3": {
            "type": "number",
            "description": "Available current to set on phase 3. When setting current on individual phases, any\nphase without specified current will be set to default.",
            "format": "double",
            "nullable": true
          },
          "maxCurrent": {
            "type": "number",
            "description": "The maximum allowed current for the installation. This setting requires caller to\nhave service permission (electrician) for the installation.",
            "format": "double",
            "nullable": true
          },
          "minPowerOfflineMode": {
            "type": "boolean",
            "description": "When set to true, offline power will be limited to the chargers miniumum \ncharge current.",
            "nullable": true
          },
          "threeToOnePhaseSwitchCurrent": {
            "type": "number",
            "description": "Set 3to1 switch current for installation",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallationModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "address": {
            "type": "string",
            "nullable": true
          },
          "zipCode": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "countryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "contactEmail": {
            "type": "string",
            "nullable": true
          },
          "installationType": {
            "$ref": "#/components/schemas/InstallationTypeCode"
          },
          "maxCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availableCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase1": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase2": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availableCurrentPhase3": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "availableCurrentMode": {
            "$ref": "#/components/schemas/InstallationAvailableCurrentMode"
          },
          "availableCurrentScheduleWeekendActive": {
            "type": "boolean",
            "nullable": true
          },
          "threeToOnePhaseSwitchCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "defaultThreeToOneSwitchCurrent": {
            "type": "number",
            "format": "double"
          },
          "installationCategoryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "installationCategory": {
            "type": "string",
            "nullable": true
          },
          "useLoadBalancing": {
            "type": "boolean",
            "nullable": true
          },
          "isRequiredAuthentication": {
            "type": "boolean",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean",
            "nullable": true
          },
          "networkType": {
            "$ref": "#/components/schemas/NetworkType"
          },
          "availableInternetAccessPLC": {
            "type": "boolean",
            "nullable": true
          },
          "availableInternetAccessWiFi": {
            "type": "boolean",
            "nullable": true
          },
          "createdOnDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "currentUserRoles": {
            "$ref": "#/components/schemas/UserRoles"
          },
          "authenticationType": {
            "$ref": "#/components/schemas/InstallationAuthenticationType"
          },
          "webhooksAuthPayload": {
            "type": "string",
            "nullable": true
          },
          "webhooksAuthUrl": {
            "type": "string",
            "nullable": true
          },
          "webhooksSessionStartUrl": {
            "type": "string",
            "nullable": true
          },
          "webhooksSessionEndUrl": {
            "type": "string",
            "nullable": true
          },
          "messagingEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "routingId": {
            "type": "string",
            "nullable": true
          },
          "ocppCloudUrl": {
            "type": "string",
            "nullable": true
          },
          "ocppCloudUrlVersion": {
            "$ref": "#/components/schemas/OcppCloudUrlVersion"
          },
          "ocppInitialChargePointPassword": {
            "type": "string",
            "nullable": true
          },
          "ocppCentralSystemUrl": {
            "maxLength": 2038,
            "type": "string",
            "nullable": true
          },
          "timeZoneName": {
            "type": "string",
            "description": "Time zone display name",
            "nullable": true
          },
          "timeZoneIanaName": {
            "type": "string",
            "description": "IANA time zone identifier",
            "nullable": true
          },
          "updateStatusCode": {
            "$ref": "#/components/schemas/InstallationUpdateStatusCodes"
          },
          "notifications": {
            "$ref": "#/components/schemas/InstallationNotifications"
          },
          "isSubscriptionsAvailableForCurrentUser": {
            "type": "boolean",
            "nullable": true
          },
          "installationUsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallationUserModel"
            },
            "nullable": true
          },
          "hasUserGroupWithAllowOcppNative": {
            "type": "boolean",
            "description": "Indicates whether the installation has a user group connected with permissions\nfor enabling OCPP 1.6J",
            "nullable": true
          },
          "availableFeatures": {
            "$ref": "#/components/schemas/Features"
          },
          "enabledFeatures": {
            "$ref": "#/components/schemas/Features"
          },
          "activeChargerCount": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "feature_PowerManagement_EcoMode_DepartureTime": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "feature_PowerManagement_EcoMode_MinEnergy": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "feature_PowerManagement_EcoMode_DeliveryArea": {
            "$ref": "#/components/schemas/DeliveryArea"
          },
          "feature_PowerManagement_Apm_PowerBudgetKw": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "feature_PowerManagement_Apm_PowerRolloverPercentage": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "feature_PowerManagement_Apm_EvaluationMinutes": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyTariffKwhLimit": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyIsMinimumPowerOfflineMode": {
            "type": "boolean",
            "nullable": true
          },
          "propertyOfflineModeAllowAnonymous": {
            "type": "boolean",
            "nullable": true
          },
          "propertyEnergySensorUniqueId": {
            "type": "string",
            "nullable": true
          },
          "energySensor": {
            "$ref": "#/components/schemas/SensorModel"
          },
          "propertyMainFuseCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyEnergySensorTransmitInterval": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyEnergySensorTransmitThreshold": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyEnergySensorAverage": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyMinimumAvailableCurrentPhase1": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyMinimumAvailableCurrentPhase2": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyMinimumAvailableCurrentPhase3": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyLockToMinimumAvailableCurrent": {
            "type": "boolean",
            "nullable": true
          },
          "propertyOcppDefaultIdTag": {
            "type": "string",
            "nullable": true
          },
          "propertyEnergySensorRippleEnabled": {
            "type": "boolean",
            "nullable": true
          },
          "propertyEnergySensorRippleNumBits": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyEnergySensorRipplePercentBits00": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyEnergySensorRipplePercentBits01": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyEnergySensorRipplePercentBits10": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "propertyHomeApmOrdered": {
            "type": "boolean",
            "nullable": true
          },
          "propertyEnergySensorScalingFactor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertyEnergySensorIsOffline": {
            "type": "boolean",
            "nullable": true
          },
          "powerLimitKw": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "powerFactor": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "tic": {
            "$ref": "#/components/schemas/TicConfigurationModel"
          },
          "chargePowerLimitKw": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "surplusMode": {
            "$ref": "#/components/schemas/SurplusConfigurationModel"
          },
          "propertyFirmwareAutomaticUpdates": {
            "type": "boolean",
            "nullable": true,
            "deprecated": true
          },
          "propertyMaxSinglePhaseChargeCurrent": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "propertySessionMaxStopCount": {
            "type": "integer",
            "description": "The maximum number of times a session can be stopped before the charging station will stick to single\nphase charging. Note that start commands that require phase shifting will require a stop and will add to\nthe counter.",
            "format": "int32",
            "nullable": true
          },
          "supportGroup": {
            "$ref": "#/components/schemas/UserGroupModel"
          }
        },
        "additionalProperties": false
      },
      "InstallationModelPagedData": {
        "type": "object",
        "properties": {
          "pages": {
            "type": "integer",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallationModel"
            },
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallationNotifications": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = ServicePaymentPastDue\n\n2 = ServicePaymentUnpaid",
        "format": "int32",
        "x-enumNames": [
          "None",
          "ServicePaymentPastDue",
          "ServicePaymentUnpaid"
        ],
        "x-enumFlags": true
      },
      "InstallationTreeChargerModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Get the unique identifier of the charge point.",
            "format": "uuid"
          },
          "deviceId": {
            "type": "string",
            "description": "Get the deviceId (serialNo) of the charging stations used with the charge point.",
            "nullable": true
          },
          "mid": {
            "type": "string",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `DeviceId` instead.",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "name": {
            "type": "string",
            "description": "Get the name of the charge point.",
            "nullable": true
          },
          "serialNo": {
            "type": "string",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `Name` instead.",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "active": {
            "type": "boolean",
            "description": "Get a value indicating whether the charge point is active.",
            "nullable": true
          },
          "deviceType": {
            "$ref": "#/components/schemas/DeviceType"
          }
        },
        "additionalProperties": false
      },
      "InstallationTreeCircuitModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Get the unique identifier of the circuit.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Get the circuit name.",
            "nullable": true
          },
          "maxCurrent": {
            "type": "number",
            "description": "Get the circuit max current (fuse rating).",
            "format": "double"
          },
          "isActive": {
            "type": "boolean",
            "description": "Get a value indicating whether the circuit is active."
          },
          "active": {
            "type": "boolean",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `IsActive` instead.",
            "readOnly": true,
            "deprecated": true
          },
          "installationId": {
            "type": "string",
            "description": "Get the unique identifier of the circuits parent installation.",
            "format": "uuid"
          },
          "installationName": {
            "type": "string",
            "description": "Get the name of the circuits parent installation.",
            "nullable": true
          },
          "chargers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallationTreeChargerModel"
            },
            "description": "Get a list of charger installed in the circuit.",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "InstallationTreeModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Get the unique identifier of the installation.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Get the installation name.",
            "nullable": true
          },
          "installationName": {
            "type": "string",
            "description": "<strong>This property is obsolete and is scheduled for removal,</strong>\n            please use `InstallationName` instead.",
            "nullable": true,
            "readOnly": true,
            "deprecated": true
          },
          "networkType": {
            "type": "integer",
            "description": "Get the installation electrical grid type Id. Please refer to the Zaptec integration\ndocument for information for explanation of grid type Id.",
            "format": "int32",
            "nullable": true
          },
          "circuits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InstallationTreeCircuitModel"
            },
            "description": "Get a list of circuits managed by the installation.",
            "nullable": true
          },
          "countryId": {
            "type": "string",
            "description": "Get the unique identified of the country. Ignored for the public contract",
            "format": "uuid"
          }
        },
        "additionalProperties": false
      },
      "InstallationTypeCode": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = Pro\n\n1 = Smart",
        "format": "int32",
        "x-enumNames": [
          "Pro",
          "Smart"
        ]
      },
      "InstallationTypeConstantModel": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/InstallationTypeCode"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "maxCircuits": {
            "type": "integer",
            "description": "The maximum number of circuits a installation type can have",
            "format": "int32",
            "nullable": true
          },
          "maxCircuitCurrent": {
            "type": "number",
            "description": "The maximum curren a installation type can have",
            "format": "double",
            "nullable": true
          },
          "maxChargers": {
            "type": "integer",
            "description": "The maximum number of chargers a installation type can have",
            "format": "int32",
            "nullable": true
          },
          "defaultFeatures": {
            "$ref": "#/components/schemas/Features"
          },
          "defaultRoute": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Information about installation type"
      },
      "InstallationUpdateStatusCodes": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = Ok\n\n1 = EcoScheduleUpdated",
        "format": "int32",
        "x-enumNames": [
          "Ok",
          "EcoScheduleUpdated"
        ],
        "x-enumFlags": true
      },
      "InstallationUserModel": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "description": "The unique identifier for the authorized user, or null if unauthorized or\nauthorized by 3rd party.",
            "format": "uuid",
            "nullable": true
          },
          "userFullName": {
            "type": "string",
            "description": "The full name of the authorized user, or null if unauthorized or authorized by \n3rd party.",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "description": "The email of the authorized user, or null if unauthorized or authorized by\n3rd party.",
            "nullable": true
          },
          "userTokens": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The RFID tokens used to authorize sessions.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "DTO for users that have charged on an installation."
      },
      "LanguageModel": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "MaxPhase": {
        "enum": [
          1,
          3
        ],
        "type": "integer",
        "description": "\n\n1 = One\n\n3 = Three",
        "format": "int32",
        "x-enumNames": [
          "One",
          "Three"
        ]
      },
      "MessageCode": {
        "enum": [
          0,
          1,
          2,
          3,
          500,
          501
        ],
        "type": "integer",
        "description": "\n\n0 = Success\n\n1 = Error\n\n2 = Information\n\n3 = Warning\n\n500 = KnownErrors\n\n501 = UnknownObject",
        "format": "int32",
        "x-enumNames": [
          "Success",
          "Error",
          "Information",
          "Warning",
          "KnownErrors",
          "UnknownObject"
        ]
      },
      "NetworkType": {
        "enum": [
          0,
          1,
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = IT_1_Phase\n\n2 = IT_3_Phase\n\n3 = TN_1_Phase\n\n4 = TN_3_Phase",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "IT_1_Phase",
          "IT_3_Phase",
          "TN_1_Phase",
          "TN_3_Phase"
        ]
      },
      "ObjectType": {
        "enum": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Installation\n\n2 = Circuit\n\n3 = Charger\n\n4 = User\n\n5 = UserGroup\n\n6 = InactiveUser\n\n7 = InvitedUser\n\n8 = Country",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Installation",
          "Circuit",
          "Charger",
          "User",
          "UserGroup",
          "InactiveUser",
          "InvitedUser",
          "Country"
        ]
      },
      "ObservationId": {
        "enum": [
          0,
          1,
          100,
          110,
          111,
          120,
          130,
          131,
          132,
          133,
          134,
          150,
          151,
          152,
          153,
          154,
          155,
          156,
          157,
          158,
          159,
          170,
          180,
          181,
          201,
          202,
          203,
          205,
          241,
          270,
          280,
          501,
          502,
          503,
          507,
          508,
          509,
          510,
          511,
          512,
          513,
          515,
          517,
          518,
          519,
          520,
          522,
          523,
          540,
          541,
          542,
          553,
          554,
          555,
          560,
          561,
          562,
          563,
          570,
          701,
          702,
          703,
          704,
          706,
          708,
          710,
          711,
          712,
          713,
          714,
          715,
          716,
          717,
          718,
          719,
          720,
          721,
          722,
          723,
          724,
          725,
          750,
          751,
          752,
          753,
          760,
          761,
          762,
          763,
          764,
          800,
          801,
          803,
          804,
          805,
          807,
          808,
          809,
          810,
          811,
          812,
          813,
          814,
          816,
          817,
          820,
          821,
          823,
          830,
          850,
          851,
          852,
          853,
          854,
          855,
          856,
          857,
          860,
          861,
          862,
          866,
          867,
          868,
          869,
          899,
          900,
          901,
          908,
          909,
          911,
          912,
          913,
          914,
          920,
          921,
          930,
          931,
          950,
          951,
          952,
          953,
          960,
          961,
          962,
          963,
          964,
          965,
          970,
          980,
          981,
          982,
          -100,
          -3,
          -2,
          -1
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = OfflineMode\n\n100 = Capabilities\n\n110 = ProductName\n\n111 = ArenaId\n\n120 = AuthenticationRequired\n\n130 = PaymentActive\n\n131 = PaymentCurrency\n\n132 = PaymentSessionUnitPrice\n\n133 = PaymentEnergyUnitPrice\n\n134 = PaymentTimeUnitPrice\n\n150 = CommunicationMode\n\n151 = PermanentCableLock\n\n152 = ProductCode\n\n153 = HmiBrightness\n\n154 = LockCableWhenConnected\n\n155 = SoftStartDisabled\n\n156 = FirmwareApiHost\n\n157 = DpsAssignedIotHub\n\n158 = DpsScopeId\n\n159 = IoTHubOverride\n\n170 = MIDBlinkEnabled\n\n180 = ProductionTesterEnabled\n\n181 = ProductionTestStationOverride\n\n201 = TemperatureInternal5\n\n202 = TemperatureInternal6\n\n203 = TemperatureInternalLimit\n\n205 = TemperaturePowerBoard\n\n241 = TemperatureInternalMaxLimit\n\n270 = Humidity\n\n280 = TamperCover\n\n501 = VoltagePhase1\n\n502 = VoltagePhase2\n\n503 = VoltagePhase3\n\n507 = CurrentPhase1\n\n508 = CurrentPhase2\n\n509 = CurrentPhase3\n\n510 = ChargerMaxCurrent\n\n511 = ChargerMinCurrent\n\n512 = ActivePhases\n\n513 = TotalChargePower\n\n515 = RcdCurrent\n\n517 = Internal12vCurrent\n\n518 = PowerFactor\n\n519 = SetPhases\n\n520 = MaxPhases\n\n522 = ChargerOfflinePhase\n\n523 = ChargerOfflineCurrent\n\n540 = RcdCalibration\n\n541 = RcdCalibrationNoise\n\n542 = ManualRcdTest\n\n553 = TotalChargePowerSession\n\n554 = SignedMeterValue\n\n555 = SignedMeterValueInterval\n\n560 = SessionEnergyCountExportActive\n\n561 = SessionEnergyCountExportReactive\n\n562 = SessionEnergyCountImportActive\n\n563 = SessionEnergyCountImportReactive\n\n570 = SoftStartTime\n\n701 = ChargeDuration\n\n702 = ChargeMode\n\n703 = ChargePilotLevelInstant\n\n704 = ChargePilotLevelAverage\n\n706 = PilotVsProximityTime\n\n708 = ChargeCurrentSet\n\n710 = ChargerOperationMode\n\n711 = IsEnabled\n\n712 = IsStandAlone\n\n713 = ChargerCurrentUserUuidDeprecated\n\n714 = CableType\n\n715 = NetworkType\n\n716 = DetectedCar\n\n717 = GridTestResult\n\n718 = FinalStopActive\n\n719 = AuthorizationTimeout\n\n720 = TariffText\n\n721 = SessionIdentifier\n\n722 = ChargerCurrentUserUuid\n\n723 = CompletedSession\n\n724 = PlugAndChargeAuthorizeRequest\n\n725 = RejectedUserUuid\n\n750 = NewChargeCard\n\n751 = AuthenticationListVersion\n\n752 = EnabledNfcTechnologies\n\n753 = LteRoamingDisabled\n\n760 = Location\n\n761 = TimeZone\n\n762 = TimeSchedule\n\n763 = NextScheduleEvent\n\n764 = MaxStartDelay\n\n800 = InstallationId\n\n801 = RoutingId\n\n803 = Notifications\n\n804 = Warnings\n\n805 = DiagnosticsMode\n\n807 = InternalDiagnosticsLog\n\n808 = DiagnosticsString\n\n809 = CommunicationSignalStrength\n\n810 = CloudConnectionStatus\n\n811 = McuResetSource\n\n812 = McuRxErrors\n\n813 = McuToVariscitePacketErrors\n\n814 = VarisciteToMcuPacketErrors\n\n816 = MIDFaultFlags\n\n817 = RelayWeldedFlags\n\n820 = UptimeVariscite\n\n821 = UptimeMCU\n\n823 = CertificateVersion\n\n830 = SecurityLog\n\n850 = CarSessionLog\n\n851 = CommunicationModeConfigurationInconsistency\n\n852 = RawPilotMonitor\n\n853 = IT3PhaseDiagnosticsLog\n\n854 = PilotTestResults\n\n855 = UnconditionalNfcDetectionIndication\n\n856 = EnableLteDetailedSignalStrength\n\n857 = EnableLocalNetworkMaintenance\n\n860 = SessionController\n\n861 = OcppNativeUrl\n\n862 = OcppNativeCbId\n\n866 = OcppNativeConnected\n\n867 = OcppTunnelCall\n\n868 = OcppNativeZaptecLoadBalancingEnabled\n\n869 = OcppNativeOnePhaseChargingPhase\n\n899 = EmcTestCounter\n\n900 = ProductionTestResults\n\n901 = PostProductionTestResults\n\n908 = SmartMainboardSoftwareApplicationVersion\n\n909 = SmartMainboardSoftwareBootloaderVersion\n\n911 = SmartComputerSoftwareApplicationVersion\n\n912 = SmartComputerSoftwareBootloaderVersion\n\n913 = SmartComputerHardwareVersion\n\n914 = MIDLegallyRelevantSoftwareIdentifier\n\n920 = PlcPibVersionGrid\n\n921 = PlcPibVersionEV\n\n930 = AppliedImageUpdates\n\n931 = FailedImageUpdates\n\n950 = MacMain\n\n951 = MacPlcModuleGrid\n\n952 = MacWiFi\n\n953 = MacPlcModuleEv\n\n960 = LteImsi\n\n961 = LteMsisdn\n\n962 = LteIccid\n\n963 = LteImei\n\n964 = LteVersion\n\n965 = LteDetailedSignalStrength\n\n970 = ProductionTestStationNumber\n\n980 = MIDCalibration\n\n981 = MIDPublicKey\n\n982 = MIDCalibrationID\n\n-100 = AuthorizationCache\n\n-3 = IsOcppConnected\n\n-2 = IsOnline\n\n-1 = Pulse",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "OfflineMode",
          "Capabilities",
          "ProductName",
          "ArenaId",
          "AuthenticationRequired",
          "PaymentActive",
          "PaymentCurrency",
          "PaymentSessionUnitPrice",
          "PaymentEnergyUnitPrice",
          "PaymentTimeUnitPrice",
          "CommunicationMode",
          "PermanentCableLock",
          "ProductCode",
          "HmiBrightness",
          "LockCableWhenConnected",
          "SoftStartDisabled",
          "FirmwareApiHost",
          "DpsAssignedIotHub",
          "DpsScopeId",
          "IoTHubOverride",
          "MIDBlinkEnabled",
          "ProductionTesterEnabled",
          "ProductionTestStationOverride",
          "TemperatureInternal5",
          "TemperatureInternal6",
          "TemperatureInternalLimit",
          "TemperaturePowerBoard",
          "TemperatureInternalMaxLimit",
          "Humidity",
          "TamperCover",
          "VoltagePhase1",
          "VoltagePhase2",
          "VoltagePhase3",
          "CurrentPhase1",
          "CurrentPhase2",
          "CurrentPhase3",
          "ChargerMaxCurrent",
          "ChargerMinCurrent",
          "ActivePhases",
          "TotalChargePower",
          "RcdCurrent",
          "Internal12vCurrent",
          "PowerFactor",
          "SetPhases",
          "MaxPhases",
          "ChargerOfflinePhase",
          "ChargerOfflineCurrent",
          "RcdCalibration",
          "RcdCalibrationNoise",
          "ManualRcdTest",
          "TotalChargePowerSession",
          "SignedMeterValue",
          "SignedMeterValueInterval",
          "SessionEnergyCountExportActive",
          "SessionEnergyCountExportReactive",
          "SessionEnergyCountImportActive",
          "SessionEnergyCountImportReactive",
          "SoftStartTime",
          "ChargeDuration",
          "ChargeMode",
          "ChargePilotLevelInstant",
          "ChargePilotLevelAverage",
          "PilotVsProximityTime",
          "ChargeCurrentSet",
          "ChargerOperationMode",
          "IsEnabled",
          "IsStandAlone",
          "ChargerCurrentUserUuidDeprecated",
          "CableType",
          "NetworkType",
          "DetectedCar",
          "GridTestResult",
          "FinalStopActive",
          "AuthorizationTimeout",
          "TariffText",
          "SessionIdentifier",
          "ChargerCurrentUserUuid",
          "CompletedSession",
          "PlugAndChargeAuthorizeRequest",
          "RejectedUserUuid",
          "NewChargeCard",
          "AuthenticationListVersion",
          "EnabledNfcTechnologies",
          "LteRoamingDisabled",
          "Location",
          "TimeZone",
          "TimeSchedule",
          "NextScheduleEvent",
          "MaxStartDelay",
          "InstallationId",
          "RoutingId",
          "Notifications",
          "Warnings",
          "DiagnosticsMode",
          "InternalDiagnosticsLog",
          "DiagnosticsString",
          "CommunicationSignalStrength",
          "CloudConnectionStatus",
          "McuResetSource",
          "McuRxErrors",
          "McuToVariscitePacketErrors",
          "VarisciteToMcuPacketErrors",
          "MIDFaultFlags",
          "RelayWeldedFlags",
          "UptimeVariscite",
          "UptimeMCU",
          "CertificateVersion",
          "SecurityLog",
          "CarSessionLog",
          "CommunicationModeConfigurationInconsistency",
          "RawPilotMonitor",
          "IT3PhaseDiagnosticsLog",
          "PilotTestResults",
          "UnconditionalNfcDetectionIndication",
          "EnableLteDetailedSignalStrength",
          "EnableLocalNetworkMaintenance",
          "SessionController",
          "OcppNativeUrl",
          "OcppNativeCbId",
          "OcppNativeConnected",
          "OcppTunnelCall",
          "OcppNativeZaptecLoadBalancingEnabled",
          "OcppNativeOnePhaseChargingPhase",
          "EmcTestCounter",
          "ProductionTestResults",
          "PostProductionTestResults",
          "SmartMainboardSoftwareApplicationVersion",
          "SmartMainboardSoftwareBootloaderVersion",
          "SmartComputerSoftwareApplicationVersion",
          "SmartComputerSoftwareBootloaderVersion",
          "SmartComputerHardwareVersion",
          "MIDLegallyRelevantSoftwareIdentifier",
          "PlcPibVersionGrid",
          "PlcPibVersionEV",
          "AppliedImageUpdates",
          "FailedImageUpdates",
          "MacMain",
          "MacPlcModuleGrid",
          "MacWiFi",
          "MacPlcModuleEv",
          "LteImsi",
          "LteMsisdn",
          "LteIccid",
          "LteImei",
          "LteVersion",
          "LteDetailedSignalStrength",
          "ProductionTestStationNumber",
          "MIDCalibration",
          "MIDPublicKey",
          "MIDCalibrationID",
          "AuthorizationCache",
          "IsOcppConnected",
          "IsOnline",
          "Pulse"
        ]
      },
      "OcppCloudUrlVersion": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = Legacy\n\n1 = Ocpp16Compliant",
        "format": "int32",
        "x-enumNames": [
          "Legacy",
          "Ocpp16Compliant"
        ]
      },
      "PhaseIdMapConstantModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "phases": {
            "$ref": "#/components/schemas/Phases"
          },
          "networkFamily": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Electrical phase info"
      },
      "Phases": {
        "enum": [
          0,
          1,
          2,
          4,
          7
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = Phase_1\n\n2 = Phase_2\n\n4 = Phase_3\n\n7 = All",
        "format": "int32",
        "x-enumNames": [
          "None",
          "Phase_1",
          "Phase_2",
          "Phase_3",
          "All"
        ],
        "x-enumFlags": true
      },
      "PriceUnit": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = Unsupported\n\n1 = EuroPerMWh",
        "format": "int32",
        "x-enumNames": [
          "Unsupported",
          "EuroPerMWh"
        ]
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "RegionalInfoModel": {
        "type": "object",
        "properties": {
          "regionName": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "nativeName": {
            "type": "string",
            "nullable": true
          },
          "currencySymbol": {
            "type": "string",
            "nullable": true
          },
          "currencyName": {
            "type": "string",
            "nullable": true
          },
          "currencyNativeName": {
            "type": "string",
            "nullable": true
          },
          "isoCurrencySymbol": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ReportFormatOptions": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = Summary\n\n1 = Detailed",
        "format": "int32",
        "x-enumNames": [
          "Summary",
          "Detailed"
        ]
      },
      "SchemaModel": {
        "type": "object",
        "properties": {
          "deviceType": {
            "type": "integer",
            "format": "int32"
          },
          "observationIds": {
            "nullable": true
          },
          "commandIds": {
            "nullable": true
          },
          "settingIds": {
            "nullable": true
          },
          "warnings": {
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Device schema"
      },
      "SensorModel": {
        "required": [
          "provider",
          "serialNo",
          "uniqueId"
        ],
        "type": "object",
        "properties": {
          "uniqueId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/SensorType"
          },
          "provider": {
            "type": "string",
            "nullable": true
          },
          "vendor": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "serialNo": {
            "type": "string",
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SensorType": {
        "enum": [
          0,
          1,
          3
        ],
        "type": "integer",
        "description": "\n\n0 = Unknown\n\n1 = Energy\n\n3 = EnergyWithRipple",
        "format": "int32",
        "x-enumNames": [
          "Unknown",
          "Energy",
          "EnergyWithRipple"
        ],
        "x-enumFlags": true
      },
      "SessionEndData": {
        "type": "object",
        "properties": {
          "energy": {
            "type": "number",
            "format": "double"
          },
          "sessionEnd": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "format": "uuid"
          },
          "sessionStart": {
            "type": "string",
            "format": "date-time"
          },
          "signedSession": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "ISessionEndRequest with optional SessionEnd to allow for both complete and incomplete\nsessions."
      },
      "SessionEnergyDetailsModel": {
        "type": "object",
        "properties": {
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "energy": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "SessionListModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique session identifier.",
            "format": "uuid"
          },
          "deviceId": {
            "type": "string",
            "description": "The serial number of the charging station.",
            "nullable": true
          },
          "startDateTime": {
            "type": "string",
            "description": "Session start time.\n\nTime of session authorization. Usually corresponds within a few seconds to the \nconnection time, but can in some cases be delayed if users does not authorize \nimmediately.",
            "format": "date-time"
          },
          "endDateTime": {
            "type": "string",
            "description": "For chargers with firmware >= 3.2, this property indicates when the session was\nclosed by the cloud solution. For sessions recorded when the charging station was \nonline, this is usually identical to the time of disconnect. For offline sessions,\nthis is not the case as the session may be received by our backend a long time after\nthe actual charge took place. For charging stations with firmware >= 3.2 you\nshould use the Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.CommitEndDateTime to get the actual end time of the \nsession.\n\nFor charging stations with firmware < 3.2, this property indicates the time when \nthe session was closed. Please note that Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.StartDateTime, \nZaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.EndDateTime and Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.Energy may be inaccurate in some scenarios \nwhen using these firmware versions. For accurate session handling it is recommended \nto use firmware >= 3.2 and Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.CommitEndDateTime.",
            "format": "date-time",
            "nullable": true
          },
          "energy": {
            "type": "number",
            "description": "Energy delivered during the session in kWh.",
            "format": "double"
          },
          "commitMetadata": {
            "$ref": "#/components/schemas/CommitMetadata"
          },
          "commitEndDateTime": {
            "type": "string",
            "description": "This is only supported for charging stations with firmware >= 3.2 and indicates\nthe actual end time of the session. In most cases equal to the time of disconnect.",
            "format": "date-time",
            "nullable": true
          },
          "userFullName": {
            "type": "string",
            "description": "The full name of the authorized user, or null if unauthorized or authorized by \n3rd party.",
            "nullable": true
          },
          "chargerId": {
            "type": "string",
            "description": "The charge point unique identifier.",
            "format": "uuid",
            "nullable": true
          },
          "deviceName": {
            "type": "string",
            "description": "The charge point name.",
            "nullable": true
          },
          "userEmail": {
            "type": "string",
            "description": "The email of the authorized user, or null if unauthorized or authorized by\n3rd party.",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "Get the unique identifier for the authorized user, or null if unauthorized or\nauthorized by 3rd party.",
            "format": "uuid",
            "nullable": true
          },
          "tokenName": {
            "type": "string",
            "description": "The RFID token used to authorize the session.",
            "nullable": true
          },
          "externalId": {
            "type": "string",
            "description": "The external identifier for the session if authorized by 3rd party (e.g. transactionId\nfrom OCPP), or null if not authorized by 3rd party.",
            "nullable": true
          },
          "externallyEnded": {
            "type": "boolean",
            "description": "Indicates when the session was finalized with 3rd party."
          },
          "energyDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionEnergyDetailsModel"
            },
            "nullable": true
          },
          "chargerFirmwareVersion": {
            "type": "string",
            "description": "The firmware version of the charger at the time of execution, or null for legacy \nsessions executed before firmware version was tracked.",
            "nullable": true
          },
          "signedSession": {
            "type": "string",
            "description": "An OCMF signed session for supported charging stations.",
            "nullable": true
          },
          "signedSessionEichrecht": {
            "type": "string",
            "description": "An OCMF signed session in compliance with the German Eichrecht regulations.",
            "nullable": true
          },
          "replacedBySessionId": {
            "type": "string",
            "description": "In some cases a session has to be corrected after it's been created. Since session\nstart is notified to 3rd parties when session is created, we need to replace sessions\nto correct this. This property indicates what session is replacing the current one.\nReplaced sessions will also be marked as Zaptec.ZapCloud.Domain.Entities.CommitMetadata.Void\nin Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.CommitMetadata, and will have no duration or energy.",
            "format": "uuid",
            "nullable": true
          },
          "userUserName": {
            "type": "string",
            "description": "Property is deprecated and an alias for Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.UserEmail.\nPlease use Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.UserEmail instead.",
            "nullable": true,
            "deprecated": true
          }
        },
        "additionalProperties": false
      },
      "SessionListModelPagedData": {
        "type": "object",
        "properties": {
          "pages": {
            "type": "integer",
            "format": "int32"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SessionListModel"
            },
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SettingId": {
        "enum": [
          120,
          130,
          131,
          132,
          133,
          134,
          150,
          151,
          153,
          154,
          155,
          170,
          510,
          511,
          520,
          522,
          523,
          555,
          711,
          712,
          715,
          719,
          720,
          752,
          753,
          800,
          801,
          802,
          805,
          806,
          807,
          855,
          856,
          857,
          860,
          861,
          862,
          868,
          869
        ],
        "type": "integer",
        "description": "\n\n120 = AuthenticationRequired\n\n130 = PaymentActive\n\n131 = PaymentCurrency\n\n132 = PaymentSessionUnitPrice\n\n133 = PaymentEnergyUnitPrice\n\n134 = PaymentTimeUnitPrice\n\n150 = CommunicationMode\n\n151 = PermanentCableLock\n\n153 = HmiBrightness\n\n154 = LockCableWhenConnected\n\n155 = SoftStartDisabled\n\n170 = MIDBlinkEnabled\n\n510 = CurrentInMaximum\n\n511 = CurrentInMinimum\n\n520 = MaxPhases\n\n522 = DefaultOfflinePhase\n\n523 = DefaultOfflineCurrent\n\n555 = SignedMeterValueInterval\n\n711 = IsEnabled\n\n712 = Standalone\n\n715 = NetworkType\n\n719 = AuthorizationTimeout\n\n720 = TariffText\n\n752 = EnabledNfcTechnologies\n\n753 = LteRoamingDisabled\n\n800 = InstallationId\n\n801 = RoutingId\n\n802 = ChargePointName\n\n805 = DiagnosticsMode\n\n806 = DisableBLEChargePointName\n\n807 = InternalDiagnosticsLog\n\n855 = UnconditionalNfcDetectionIndication\n\n856 = EnableLteDetailedSignalStrength\n\n857 = EnableLocalNetworkMaintenance\n\n860 = SessionController\n\n861 = OcppNativeUrl\n\n862 = OcppNativeCbId\n\n868 = OcppNativeZaptecLoadBalancingEnabled\n\n869 = OcppNativeOnePhaseChargingPhase",
        "format": "int32",
        "x-enumNames": [
          "AuthenticationRequired",
          "PaymentActive",
          "PaymentCurrency",
          "PaymentSessionUnitPrice",
          "PaymentEnergyUnitPrice",
          "PaymentTimeUnitPrice",
          "CommunicationMode",
          "PermanentCableLock",
          "HmiBrightness",
          "LockCableWhenConnected",
          "SoftStartDisabled",
          "MIDBlinkEnabled",
          "CurrentInMaximum",
          "CurrentInMinimum",
          "MaxPhases",
          "DefaultOfflinePhase",
          "DefaultOfflineCurrent",
          "SignedMeterValueInterval",
          "IsEnabled",
          "Standalone",
          "NetworkType",
          "AuthorizationTimeout",
          "TariffText",
          "EnabledNfcTechnologies",
          "LteRoamingDisabled",
          "InstallationId",
          "RoutingId",
          "ChargePointName",
          "DiagnosticsMode",
          "DisableBLEChargePointName",
          "InternalDiagnosticsLog",
          "UnconditionalNfcDetectionIndication",
          "EnableLteDetailedSignalStrength",
          "EnableLocalNetworkMaintenance",
          "SessionController",
          "OcppNativeUrl",
          "OcppNativeCbId",
          "OcppNativeZaptecLoadBalancingEnabled",
          "OcppNativeOnePhaseChargingPhase"
        ]
      },
      "SurplusConfigurationModel": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "If surplus mode is currently activated for installation.\nCalculated fields that checks:\n- Installation active\n- Feature PowerManagement_Apm enabled\n- Feature PowerManagement_Apm_SurplusMode available\n- SurplusMode available = true\n- SurplusMode enabled = true"
          },
          "available": {
            "type": "boolean",
            "nullable": true
          },
          "enabled": {
            "type": "boolean",
            "nullable": true
          },
          "strategy": {
            "$ref": "#/components/schemas/SurplusStrategy"
          },
          "partialPowerKw": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SurplusStrategy": {
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "\n\n0 = PartialPower\n\n1 = Full",
        "format": "int32",
        "x-enumNames": [
          "PartialPower",
          "Full"
        ]
      },
      "TicConfigurationModel": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "TotalUserChargerReportModel": {
        "type": "object",
        "properties": {
          "groupAsString": {
            "type": "string",
            "nullable": true
          },
          "userDetails": {
            "$ref": "#/components/schemas/TotalUserChargerReportUserModel"
          },
          "totalChargeSessionCount": {
            "type": "number",
            "format": "double"
          },
          "totalChargeSessionEnergy": {
            "type": "number",
            "format": "double"
          },
          "totalChargeSessionDuration": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "TotalUserChargerReportUserModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserActionType": {
        "enum": [
          0,
          1,
          2
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = AddSense\n\n2 = InviteNewUser",
        "format": "int32",
        "x-enumNames": [
          "None",
          "AddSense",
          "InviteNewUser"
        ]
      },
      "UserGroupModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "createdOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "updatedOn": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lookupKey": {
            "type": "string",
            "nullable": true
          },
          "currentUserRoles": {
            "$ref": "#/components/schemas/UserRoles"
          },
          "protected": {
            "type": "boolean"
          },
          "serviceLevelSupport": {
            "type": "boolean",
            "nullable": true
          },
          "serviceLevelAllowOcppNative": {
            "type": "boolean",
            "nullable": true
          },
          "serviceLevelTechnicalRead": {
            "type": "boolean",
            "nullable": true
          },
          "serviceLevelAllowOcppMigrationToolAccess": {
            "type": "boolean",
            "nullable": true
          },
          "logoId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "logoContentType": {
            "type": "string",
            "nullable": true
          },
          "logoBase64": {
            "type": "string",
            "nullable": true
          },
          "supportUrl": {
            "type": "string",
            "nullable": true
          },
          "supportEmail": {
            "type": "string",
            "nullable": true
          },
          "supportPhone": {
            "type": "string",
            "nullable": true
          },
          "supportDetails": {
            "type": "string",
            "nullable": true
          },
          "propertyMessagingAllowed": {
            "type": "boolean",
            "nullable": true
          },
          "propertyMessagingEnabled": {
            "type": "boolean",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserRoles": {
        "enum": [
          0,
          1,
          2,
          4,
          8,
          15,
          16,
          32,
          64,
          128,
          256
        ],
        "type": "integer",
        "description": "\n\n0 = None\n\n1 = User\n\n2 = Owner\n\n4 = Maintainer\n\n8 = Administrator\n\n15 = Any\n\n16 = Onboarding\n\n32 = DeviceAdministrator\n\n64 = PartnerAdministrator\n\n128 = Technical\n\n256 = InternalData",
        "format": "int32",
        "x-enumNames": [
          "None",
          "User",
          "Owner",
          "Maintainer",
          "Administrator",
          "Any",
          "Onboarding",
          "DeviceAdministrator",
          "PartnerAdministrator",
          "Technical",
          "InternalData"
        ],
        "x-enumFlags": true
      },
      "ValidationProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "VarisciteWarnings": {
        "enum": [
          1,
          2,
          4
        ],
        "type": "integer",
        "description": "\n\n1 = WARNING_MCU_BOOTLOADER\n\n2 = WARNING_FPGA_INIT_FAILED\n\n4 = WARNING_VARISCITE_ILLEGAL_PHASE",
        "format": "int32",
        "x-enumNames": [
          "WARNING_MCU_BOOTLOADER",
          "WARNING_FPGA_INIT_FAILED",
          "WARNING_VARISCITE_ILLEGAL_PHASE"
        ],
        "x-enumFlags": true
      }
    },
    "securitySchemes": {
      "ory_auth": {
        "type": "oauth2",
        "flows": {
          "password": {
            "tokenUrl": "https://api.zaptec.com/oauth/token",
            "scopes": { }
          }
        }
      },
      "legacy_auth": {
        "type": "oauth2",
        "flows": {
          "password": {
            "tokenUrl": "https://api.zaptec.com/oauth/token2",
            "scopes": { }
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "ChargeHistory"
    },
    {
      "name": "Charger"
    },
    {
      "name": "ChargerFirmware"
    },
    {
      "name": "Constants"
    },
    {
      "name": "Installation"
    },
    {
      "name": "Session"
    },
    {
      "name": "UserGroup"
    }
  ]
}