diff --git a/docs/controller-skills/cpdlc.md b/docs/controller-skills/cpdlc.md
new file mode 100644
index 000000000..a5af893fd
--- /dev/null
+++ b/docs/controller-skills/cpdlc.md
@@ -0,0 +1,160 @@
+---
+title: CPDLC
+---
+
+--8<-- "includes/abbreviations.md"
+
+In the real world, CPDLC operations are generally used by aircraft within airspaces in Class A airspace above `F245`.
+
+CPDLC Functionality may also be used by pilots to request a PDC.
+PDC's utilising vatACARS are initiated by the pilot however the standalone VATSYS functionality can be used in lieu of vatACARS without a pilot initated request.
+
+!!! Note
+ **CPDLC in it's enroute capacity should only be used by Enroute (C1) controllers or above.**
+
+ PDC's may be issued using the vatACARS Client by any controller.
+
+## Setup
+
+The vatACARS client can be downloaded by clicking [here](https://vatacars.com/).
+
+The vatACARS client requires controllers to have a [Hoppies ACARS](https://www.hoppie.nl/acars/system/register.html) account and logon code, plus a [vatACARS Token](https://vatacars.com/me).
+
+If the client is installed correctly there will be an *ACARS* drop-down box available.
+
+
+
+## Pre Departure Clearance
+
+To utilise vatACARS for issuing PDC's, the controller must be logged into a VATPAC TCU, ADC, SMC or ACD position.
+
+After logging onto the network the controller should open the *Setup* window, fill in the relevent details and click *Save & Connect*
+
+
+
+**Station Code:** Must be the identifier of the airport which is being controlled.
+**vatACARS Token:** Must be your unique vatACARS Token, found [Here](https://vatacars.com/me).
+**Logon Code:** Must be your [Hoppies ACARS](https://www.hoppie.nl/acars/system/register.html) Code.
+
+Controllers **MUST** note in their controller remarks section that PDC's are available in the format below.
+
+
+
+Once connected and with CPDLC enabled, pilots will connect to the vatACARS plugin via their aircraft's CPDLC system. The controller will normally recieve a *'Request PDC'* message through vatACARS.
+The controller should left click their callsign to issue the PDC. A self explanitory window will appear, fill in the relevent data and send this back to the aicraft.
+Once the aircraft has recieved their PDC, the pilot will usually respond with *'Roger'* or similar to show they have recieved the clearance.
+
+
+
+!!! Note
+ If providing a Top-Down service as an enroute position, the pilots will be required to connect to the your Enroute Station Code. Eg: YISA, etc
+
+## Enroute
+
+To utilise CPDLC the controller must be logged into a VATPAC Enroute or Oceanic Position.
+
+**CPDLC (Expect for PDC's) must not be used below `F245`.**
+
+After logging onto the network the controller should open the *Setup* window, fill in the relevent details and click *Save & Connect*
+
+
+
+**Station Code:** Must be the identifier of the airport which is being controlled.
+**vatACARS Token:** Must be your unique vatACARS Token, found [Here](https://vatacars.com/me).
+**Logon Code:** Must be your [Hoppies ACARS](https://www.hoppie.nl/acars/system/register.html) Code.
+
+Controllers **MUST** note in their controller remarks section that CPDLC is available in the format below.
+
+
+
+Some major Enroute positions do not use CPDLC as a primary means of communication, however controllers may use CPDLC in lieu of voice when applicable.
+
+### Station Codes
+
+| Position | Station Code | Primary Communication Method |
+| --- | ---- | ----- |
+| ARL | YARL | Voice |
+| HWE | YHWE | **CPDLC** |
+| INL | YINL | Voice |
+| ISA | YISA | **CPDLC** |
+| KEN | YKEN | Voice |
+| TRT | YTRT | **CPDLC** |
+| ASP | YASP | **CPDLC** |
+| BIK | YBIK | Voice |
+| ELW | YELW | Voice |
+| HUO | YHUO | Voice |
+| OLW | YOLW | **CPDLC** |
+| PIY | YPIY | Voice |
+| TBD | YTBD | Voice |
+| YWE | YYWE | Voice |
+| TSN | YTSN | **CPDLC** |
+| FLD | YFLD | **CPDLC** |
+| IND | YIND | **CPDLC** |
+| NFFF | NFFF | **CPDLC** |
+| NZZO | NZZO | **CPDLC** |
+| KZAK | KZAK | **CPDLC** |
+
+!!! Note
+ If a non-standard subsector is online, the Station Code will be required to change to match the controlled subsector.
+
+### Accepting an Aircraft
+
+Once connected and with CPDLC enabled, pilots will connect to the vatACARS plugin via their aircraft's CPDLC system. The controller will normally recieve a *'Logon Request'* message through vatACARS.
+The controller should left click their callsign to respond to this initial message and respond with a *'Accept Logon'* to show the pilot that they have successfully connected.
+
+
+
+This aircraft will now be automatically added to your Dispatch window to allow a controller ulilise their CPDLC.
+
+### Message Editor
+
+When either a pilot sends a request or ATC requires to send a message to the pilot, left clicking the callsign in the dispatch window will open the message editor.
+This is used to select from a group of pre-coded messages to send back to the pilot.
+
+
+
+If the response to the pilot is not shown in this initial dispatch window, the controller should click the *Edit* button, this will bring the controller to a broarder range of messages to send to the pilot.
+
+
+
+Left clicking the number next to the text box will change the line of text forward up to 5 different lines, Right clicking the number will go to the previous line.
+
+### Handing over Aircraft
+
+#### ENR/OCN
+
+When transferring between Enroute or Oceanic sectors, ATC will right click on the aircraft which will bring up a handover window. The controller should select the next ATC unit the aircraft is going, this will transfer the aircraft through CPDLC to the next ATC unit.
+
+
+
+#### ENR/TCU
+
+Standard Voice frequency transfers must be used for aircraft below `F245` and between ENR to TCU Positions.
+
+### Terminating CPDLC
+
+If CPDLC is no longer available or required, ATC will right click on the aircraft which will bring up a logoff window. By clicking *'LOGOFF'* the aircraft will be sent a Logoff message.
+
+
\ No newline at end of file
diff --git a/docs/controller-skills/img/CPDLCENR.png b/docs/controller-skills/img/CPDLCENR.png
new file mode 100644
index 000000000..e2fb8e6a9
Binary files /dev/null and b/docs/controller-skills/img/CPDLCENR.png differ
diff --git a/docs/controller-skills/img/CPDLCOCE.png b/docs/controller-skills/img/CPDLCOCE.png
new file mode 100644
index 000000000..f0986f657
Binary files /dev/null and b/docs/controller-skills/img/CPDLCOCE.png differ
diff --git a/docs/controller-skills/img/vatacarsbar.png b/docs/controller-skills/img/vatacarsbar.png
new file mode 100644
index 000000000..df28e8bdd
Binary files /dev/null and b/docs/controller-skills/img/vatacarsbar.png differ
diff --git a/docs/controller-skills/img/vatacarscontinfo.png b/docs/controller-skills/img/vatacarscontinfo.png
new file mode 100644
index 000000000..e6a66fa99
Binary files /dev/null and b/docs/controller-skills/img/vatacarscontinfo.png differ
diff --git a/docs/controller-skills/img/vatacarscontinfo2.png b/docs/controller-skills/img/vatacarscontinfo2.png
new file mode 100644
index 000000000..6c8119e5d
Binary files /dev/null and b/docs/controller-skills/img/vatacarscontinfo2.png differ
diff --git a/docs/controller-skills/img/vatacarsdispatch.png b/docs/controller-skills/img/vatacarsdispatch.png
new file mode 100644
index 000000000..32fa91d9e
Binary files /dev/null and b/docs/controller-skills/img/vatacarsdispatch.png differ
diff --git a/docs/controller-skills/img/vatacarseditor1.png b/docs/controller-skills/img/vatacarseditor1.png
new file mode 100644
index 000000000..c50075170
Binary files /dev/null and b/docs/controller-skills/img/vatacarseditor1.png differ
diff --git a/docs/controller-skills/img/vatacarseditor2.png b/docs/controller-skills/img/vatacarseditor2.png
new file mode 100644
index 000000000..3aba3c7fd
Binary files /dev/null and b/docs/controller-skills/img/vatacarseditor2.png differ
diff --git a/docs/controller-skills/img/vatacarshandoff.png b/docs/controller-skills/img/vatacarshandoff.png
new file mode 100644
index 000000000..ae9aebf60
Binary files /dev/null and b/docs/controller-skills/img/vatacarshandoff.png differ
diff --git a/docs/controller-skills/img/vatacarslogon.png b/docs/controller-skills/img/vatacarslogon.png
new file mode 100644
index 000000000..a39c795a6
Binary files /dev/null and b/docs/controller-skills/img/vatacarslogon.png differ
diff --git a/docs/controller-skills/img/vatacarspdc.png b/docs/controller-skills/img/vatacarspdc.png
new file mode 100644
index 000000000..f380e8f92
Binary files /dev/null and b/docs/controller-skills/img/vatacarspdc.png differ
diff --git a/docs/enroute/Brisbane Centre/ARL.md b/docs/enroute/Brisbane Centre/ARL.md
index 9464e626b..9ff2724c0 100644
--- a/docs/enroute/Brisbane Centre/ARL.md
+++ b/docs/enroute/Brisbane Centre/ARL.md
@@ -15,6 +15,18 @@
| Ocean† | Brisbane Centre | 128.600 | BN-OCN_CTR |
† *Non-standard positions* may only be used in accordance with [VATPAC Air Traffic Services Policy](https://vatpac.org/publications/policies)
+
+### CPDLC
+
+The Primary Communication Method for ARL is Voice.
+
+[CPDLC](../../controller-skills/cpdlc.md) may be used in lieu when applicable.
+
+The CPDLC Station Code is `YARL`.
+
+!!! tip
+ Even though ARL's Primary Communication Method is Voice, CPDLC may be used for Overfliers.
+
## Airspace