# Tab opened

Webhook event: `tab.opened`

Fired when a new tab is created (e.g. POST /api/v1/tabs/resolve, or table seating).

Delivered payload:

```ts
{
  id: string // uuid
  event: "tab.opened"
  resource: "tab"
  resourceId: string
  timestamp: string // date-time
  apiVersion: "v1"
  data: {
    customFields?: Array<{
        fieldId: string
        key: string
        label: string
        group: string
        type: string
        value: unknown
        displayValue: string
        version: integer
        status: string
      }>
    metadata?: Record<string, unknown> | null
    tabId: string // uuid
    locationId: integer
    tabType: string
    paymentFlow: "open_tab" | "instant"
    qrCodeId?: string | null
    tableId?: string | null
    createdBy: integer
    costCenterId?: integer | null
    createdAt: string // date-time
  }
}
```
