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

# Waiter Call

> Trigger a waiter call or a payment request for a table

## Purpose

Allows integrators to notify restaurant staff at a specific table — either to request a waiter or to initiate a payment with a chosen payment method.

## HTTP Request

```http theme={null}
POST https://integrations.clopos.com/open-api/v2/waiter-call
```

<Warning>
  This endpoint requires authentication. Include your JWT in the `x-token` header. See [Authentication](/authentication) for how to obtain a token and [Errors](/errors) for error responses.
</Warning>

## Module Requirement

<Warning>
  This endpoint requires the `restaurant_emenu` module to be enabled for your brand. Requests made without this module active will return the standard "module not available" error.
</Warning>

## Request Body

<ParamField body="table_id" type="integer" required>
  The ID of the table for which the call is being triggered. Must correspond to an existing table in the venue.
</ParamField>

<ParamField body="type" type="string" required>
  The type of call to trigger. Accepted values:

  * `WAITER` — notify staff that a waiter is needed at the table
  * `PAY` — request payment for the table
</ParamField>

<ParamField body="payment_method" type="integer">
  The payment method ID to use when `type` is `PAY`. Must be the default **CASH** or **CARD** payment method configured for the venue.

  <Note>
    `payment_method` is required when `type` is `PAY` and must not be sent for `type` `WAITER`.
  </Note>
</ParamField>

## Request Example

<CodeGroup>
  ```bash curl (WAITER) theme={null}
  curl --location 'https://integrations.clopos.com/open-api/v2/waiter-call' \
    -H 'x-token: oauth_example_token' \
    -H 'Content-Type: application/json' \
    -d '{
          "table_id": 5,
          "type": "WAITER"
        }'
  ```

  ```bash curl (PAY) theme={null}
  curl --location 'https://integrations.clopos.com/open-api/v2/waiter-call' \
    -H 'x-token: oauth_example_token' \
    -H 'Content-Type: application/json' \
    -d '{
          "table_id": 5,
          "type": "PAY",
          "payment_method": 1
        }'
  ```

  ```javascript javascript theme={null}
  // WAITER call
  const response = await fetch('https://integrations.clopos.com/open-api/v2/waiter-call', {
    method: 'POST',
    headers: {
      'x-token': 'oauth_example_token',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      table_id: 5,
      type: 'WAITER'
    })
  });

  // PAY call
  const payResponse = await fetch('https://integrations.clopos.com/open-api/v2/waiter-call', {
    method: 'POST',
    headers: {
      'x-token': 'oauth_example_token',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      table_id: 5,
      type: 'PAY',
      payment_method: 1
    })
  });

  const data = await response.json();
  ```

  ```python python theme={null}
  import requests

  url = "https://integrations.clopos.com/open-api/v2/waiter-call"
  headers = {
      "x-token": "oauth_example_token",
      "Content-Type": "application/json"
  }

  # WAITER call
  payload = {
      "table_id": 5,
      "type": "WAITER"
  }

  # PAY call
  # payload = {
  #     "table_id": 5,
  #     "type": "PAY",
  #     "payment_method": 1
  # }

  response = requests.post(url, headers=headers, json=payload)
  result = response.json()
  ```
</CodeGroup>

## Response

### 200 OK — Call triggered successfully

```json theme={null}
{
  "success": true
}
```

### 400 Bad Request — Validation or creation failure

Returned when the request body is invalid (e.g. unknown `table_id`, unsupported `type`, missing `payment_method` for a `PAY` call, or invalid payment method ID).

```json theme={null}
{
  "success": false
}
```
