# Extended Waiting Time

Extended waiting times during busy periods

## GET /api/v1/extended-waiting-time

Get extended waiting time for a location

Query parameters:
- `locationId` (number, optional) — Location ID (optional if X-Location-Id header is provided)

Response 200 — Extended waiting time retrieved successfully

```ts
{
  status: "success"
  data: {
    extendedWaitingTime: {
      id: number
      locationId: number
      endsAt: string // date-time
      delayInMinutes?: number | null
    } | null
  }
  meta: {
    requestId: string
    timestamp: string // date-time
    executionTimeMs: number
  }
}
```

## POST /api/v1/extended-waiting-time

Create or update extended waiting time for a location

Request body:

```ts
{
  locationId: number
  endsAt: string // date-time
  delayInMinutes?: number | null
}
```

Response 201 — Extended waiting time created/updated successfully

```ts
{
  status: "success"
  data: {
    extendedWaitingTime: {
      id: number
      locationId: number
      endsAt: string // date-time
      delayInMinutes?: number | null
    }
  }
  meta: {
    requestId: string
    timestamp: string // date-time
    executionTimeMs: number
  }
}
```

## DELETE /api/v1/extended-waiting-time

Delete extended waiting time by location ID

Query parameters:
- `locationId` (number, required) — Location ID

Response 200 — Extended waiting time deleted successfully

```ts
{
  status: "success"
  data: {
    deleted: true
    id: number
  }
  meta: {
    requestId: string
    timestamp: string // date-time
    executionTimeMs: number
  }
}
```

## DELETE /api/v1/extended-waiting-time/{id}

Delete extended waiting time by ID

Path parameters:
- `id` (number, required) — Extended waiting time ID

Response 200 — Extended waiting time deleted successfully

```ts
{
  status: "success"
  data: {
    deleted: true
    id: number
  }
  meta: {
    requestId: string
    timestamp: string // date-time
    executionTimeMs: number
  }
}
```
