> ## Documentation Index
> Fetch the complete documentation index at: https://docs.series.hr/llms.txt
> Use this file to discover all available pages before exploring further.

# Reserve Room

> Reserve a hotel room for a user

Reserve a room for a user. This endpoint uses the same body and room selection behavior as assign-room, but it requires reservations to be enabled in hotel settings.

## Request

```bash theme={null}
curl -X POST https://api.series.hr/hotel/reserve-room \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "TargetUserId": "714760171",
    "RoomTypeId": "deluxe-suite",
    "RoomNumber": "204"
  }'
```

## Body

<ParamField body="TargetUserId" type="string" required>
  Roblox user ID or username to reserve the room for.
</ParamField>

<ParamField body="RoomTypeId" type="string" required>
  The room type ID to reserve from.
</ParamField>

<ParamField body="RoomNumber" type="string | null">
  Specific room number to reserve, or `null` for a random available room.
</ParamField>

## Response

<ResponseField status={200} name="200">
  ```json theme={null}
  {
    "success": true,
    "data": {
      "WorkspaceId": "a7d5339a-5531-4336-99c6-6f3249c9ac20",
      "RoomNumber": "204",
      "Action": "reserve",
      "Room": {
        "RoomNumber": "204",
        "TypeId": "deluxe-suite",
        "Floor": 2,
        "Status": "reserved"
      },
      "Rooms": []
    }
  }
  ```
</ResponseField>

## Status Codes

* `200`: Room reserved successfully
* `400`: Invalid input, reservations are disabled, no available rooms, or gamepass check failed
* `401`: API key is required or invalid
* `403`: Hotel module is disabled or workspace access is denied
