diff --git a/models/event/event.go b/models/event/event.go
index <HASH>..<HASH> 100644
--- a/models/event/event.go
+++ b/models/event/event.go
@@ -46,6 +46,8 @@ const (
 	DisconnectedFromServer string = "discFromServer"
 	MatchEnded             string = "matchEnded"
 	Test                   string = "test"
+
+	ReservationOver string = "reservationOver"
 )
 
 var stop = make(chan struct{})
@@ -82,6 +84,8 @@ func StartListening() {
 					disconnectedFromServer(event.LobbyID)
 				case MatchEnded:
 					matchEnded(event.LobbyID, event.LogsID, event.ClassTimes)
+				case ReservationOver:
+					reservationEnded(event.LobbyID)
 				}
 			case <-stop:
 				return
@@ -94,6 +98,12 @@ func StopListening() {
 	stop <- struct{}{}
 }
 
+func reservationEnded(lobbyID uint) {
+	lobby, _ := models.GetLobbyByID(lobbyID)
+	lobby.Close(false, false)
+	models.SendNotification("Lobby Closed (serveme.tf reservation ended)", int(lobby.ID))
+}
+
 func playerDisc(steamID string, lobbyID uint) {
 	player, _ := models.GetPlayerBySteamID(steamID)
 	lobby, _ := models.GetLobbyByID(lobbyID)
stop lobby when the serveme reservation is over