# Number formats

Every ticket gets a unique ID based on the number format you define for its type. Formats let you create readable, branded ticket IDs like BUG-0042 or SUPPORT #001.

## The {number} placeholder

Write your format as a string and use `{number}` wherever you want the auto-incrementing ticket counter to appear. The counter is global and increments with every new ticket across all types.

Simplest format

`ticket-{number}`

This produces: `ticket-1`, `ticket-2`, `ticket-3`, and so on.

## Zero-padding

Use `{number:Nd}` to pad the number to a fixed width with leading zeros, where `N` is the total number of digits.

4-digit padding

`{number:04d}`

-   `{number:02d}` → 01, 02, 03 … 99, 100
-   `{number:04d}` → 0001, 0002, 0003 … 9999, 10000
-   `{number:06d}` → 000001, 000002 …

> [!TIP]
> Zero-padding keeps ticket IDs the same visual width in Discord thread lists and transcripts, which makes them much easier to scan.

## Examples

`ticket-{number}`

ticket-1, ticket-2, ticket-3

`BUG-{number}`

BUG-1, BUG-2, BUG-3

`NOY-SP{number:04d}`

NOY-SP0001, NOY-SP0002, NOY-SP0003

`SUPPORT #{number:03d}`

SUPPORT #001, SUPPORT #002, SUPPORT #003

`REQ{number:05d}`

REQ00001, REQ00002, REQ00003

## Rules & limits

-   Must contain exactly one `{number}` or `{number:Nd}` placeholder
-   Allowed characters outside the placeholder: letters, digits, hyphens, underscores, spaces, and `#`
-   Maximum 100 characters total
-   The ticket counter is **global** — it increments across all ticket types and all servers sharing the database. BUG-5 and SUP-6 mean the 5th and 6th tickets overall, not the 5th bug and 6th support ticket

> [!WARNING]
> Because the counter is global, ticket IDs from different types will have gaps. This is normal — the number is unique, not sequential per type.

> [!WARNING]
> Changing a ticket type's number format does not reset the counter or renumber existing tickets. New tickets will use the new format while old ones keep their original IDs.

## Choosing a format

-   **Short prefix + counter** — e.g., `BUG-{number}`. Compact and readable, good for high-volume types
-   **Branded prefix + padding** — e.g., `NOY-SP{number:04d}`. Looks professional in screenshots and reports
-   **Descriptive + counter** — e.g., `SUPPORT #{number:03d}`. Very human-readable in thread lists

Source: https://docs.noyralabs.com/docket/number-formats
