+## UI protocol
+
+Protocol to control the simulator via a Websocket
+
+### Protocol
+
+PDU stands for Protocol Data Unit
+
+Request:
+[`uuid`, `ProcedureName`, `PDU`]
+
+`uuid`: String uniquely representing this request
+`ProcedureName`: The procedure to run on the simulator
+`PDU`: The parameters for said procedure
+
+Response:
+[`uuid`, `PDU`]
+
+`uuid`: String uniquely linking the response to the request
+`PDU`: Response data to requested procedure
+
+### Version 0.0.1
+
+Set the HTTP header _Sec-Websocket-Protocol_ to `ui0.0.1`
+
+#### Procedures
+
+##### Start Simulator
+
+Request:
+`ProcedureName`: 'startSimulator'
+`PDU`: {}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Stop Simulator
+
+Request:
+`ProcedureName`: 'stopSimulator'
+`PDU`: {}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### List Charging Stations
+
+Request:
+`ProcedureName`: 'listChargingStations'
+`PDU`: {}
+
+Response:
+`PDU`: {
+`status`,
+`index`: ChargingStationData,
+...
+`index`: ChargingStationData
+}
+
+##### Start Transaction
+
+Request:
+`ProcedureName`: 'startTransaction'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+`connectorId`: the id of the connector
+`idTag`: the RFID tag
+}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Stop Transaction
+
+Request:
+`ProcedureName`: 'stopTransaction'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+`transactionId`: the id of the transaction
+}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Start Charging Station
+
+Request:
+`ProcedureName`: 'startChargingStation'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Stop Charging Station
+
+Request:
+`ProcedureName`: 'stopChargingStation'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Open Connection
+
+Request:
+`ProcedureName`: 'openConnection'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+}
+
+Response:
+`PDU`: {
+`status`
+}
+
+##### Close Connection
+
+Request:
+`ProcedureName`: 'closeConnection'
+`PDU`: {
+`hashId`: the unique identifier of a charging station
+}
+
+Response:
+`PDU`: {
+`status`
+}
+