Inheritance Tree:

      │       ┌────────────┐
      │ ┌─────►ObjectParent│
      │ │     └────────────┘

Rooms are in-game Objects representing the root containers of all other objects.

The only thing technically separating a room from any other object is that they have no location of their own and that default commands like dig creates objects of this class - so if you want to expand your rooms with more functionality, just inherit from evennia.DefaultRoom.

To change the default room created by dig, tunnel and other default commands, change it in settings:

BASE_ROOM_TYPECLASS = "typeclases.rooms.Room"

The empty class in mygame/typeclasses/ is a good place to start!

While the default Room is very simple, there are several Evennia contribs customizing and extending rooms with more functionality.