diff --git a/app/schemas/subscriptions/bus.coffee b/app/schemas/subscriptions/bus.coffee
index abf03fbcc..91569ae7f 100644
--- a/app/schemas/subscriptions/bus.coffee
+++ b/app/schemas/subscriptions/bus.coffee
@@ -27,13 +27,45 @@ module.exports =
         $ref: "bus"
 
   "bus:new-message":
-    {} # TODO schema
+    title: "Message sent"
+    $schema: "http://json-schema.org/draft-04/schema#"
+    description: "A new message was sent"
+    type: "object"
+    properties:
+      message:
+        type: "string"
+      bus:
+        $ref: "bus"
 
   "bus:player-joined":
-    {} # TODO schema
+    title: "Player joined"
+    $schema: "http://json-schema.org/draft-04/schema#"
+    description: "A new player has joined"
+    type: "object"
+    properties:
+      player:
+        type: "object"
+      bus:
+        $ref: "bus"
 
   "bus:player-left":
-    {} # TODO schema
+    title: "Player left"
+    $schema: "http://json-schema.org/draft-04/schema#"
+    description: "A player has left"
+    type: "object"
+    properties:
+      player:
+        type: "object"
+      bus:
+        $ref: "bus"
 
   "bus:player-states-changed":
-    {} # TODO schema
+    title: "Player state changes"
+    $schema: "http://json-schema.org/draft-04/schema#"
+    description: "State of the players has changed"
+    type: "object"
+    properties:
+      player:
+        type: "array"
+      bus:
+        $ref: "bus"