Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/raczkodavid/Tikera/llms.txt

Use this file to discover all available pages before exploring further.

The Rooms API exposes cinema room data — including seating dimensions used to render the seat map during booking. Public endpoints allow any client to list or retrieve rooms; admin-only endpoints manage room records. Two rooms are seeded by default: Grand Hall (10 rows × 10 seats) and Small Theater (7 rows × 8 seats).

GET /api/rooms

Returns all rooms with their associated screenings.
Public — no authentication required.
curl http://localhost:8000/api/rooms
Response
{
  "status": "success",
  "message": "OK",
  "data": [
    {
      "id": 1,
      "name": "Grand Hall",
      "rows": 10,
      "seats_per_row": 10,
      "description": null,
      "screenings": [ "..." ]
    },
    {
      "id": 2,
      "name": "Small Theater",
      "rows": 7,
      "seats_per_row": 8,
      "description": null,
      "screenings": [ "..." ]
    }
  ]
}

GET /api/rooms/

Returns a single room with its screenings.
Public — no authentication required.
curl http://localhost:8000/api/rooms/1

POST /api/rooms

Creates a new room. Requires authentication (admin).
name
string
required
Room name. Maximum 255 characters.
rows
integer
required
Number of seat rows in the room. Minimum: 1.
seats_per_row
integer
required
Number of seats in each row. Minimum: 1.
description
string
Optional description of the room (nullable).
curl -X POST http://localhost:8000/api/rooms \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Premium Hall",
    "rows": 8,
    "seats_per_row": 12
  }'
Returns 201 with the created room object.

PUT /api/rooms/

Updates an existing room. Requires authentication (admin). All fields are optional.
name
string
Room name (max 255 chars).
rows
integer
Number of seat rows (min: 1).
seats_per_row
integer
Seats per row (min: 1).
description
string
Room description (nullable).
curl -X PUT http://localhost:8000/api/rooms/1 \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Grand Hall (Renovated)" }'
Returns 200 with the updated room object.

DELETE /api/rooms/

Deletes a room. Requires authentication (admin).
Deleting a room will affect any screenings assigned to it. Remove or reassign screenings before deleting a room.
curl -X DELETE http://localhost:8000/api/rooms/1 \
  -H "Authorization: Bearer {token}"
Returns 204 No Content on success.

Build docs developers (and LLMs) love