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

# Age and Date of Birth

> How Omneo stores age and DOB data, and how to use it for personalisation.

Omneo stores date of birth as three separate fields: `birth_day`, `birth_month`, and `birth_year`. Customers do not need to provide all three, many implementations capture only day and month (for birthday rewards) and make year optional.

## Fields

| Field         | Type    | Notes                   |
| ------------- | ------- | ----------------------- |
| `birth_day`   | integer | Day of the month (1-31) |
| `birth_month` | integer | Month (1-12)            |
| `birth_year`  | integer | 4-digit year (optional) |

## Computed fields

Omneo computes several useful fields from the date of birth:

| Field             | Description                                      |
| ----------------- | ------------------------------------------------ |
| `birth_date`      | Full ISO date (only if all three fields are set) |
| `birth_days`      | Days until next birthday                         |
| `birth_days_past` | Days since last birthday                         |
| `next_birthday`   | Date of the next birthday                        |

These computed fields are available in reaction filters and target templates.

## Birthday rewards

The most common use of date of birth in Omneo is the birthday reward, automatically issued to a member in the week or month before their birthday via a scheduled reaction (Automation).

To configure: create an Automation that runs daily, filters for profiles whose `birth_days` is within your window (e.g., `birth_days <= 7`), and issues a reward.

## Age verification

If your business requires age verification (e.g., alcohol retail), you can use `birth_year` to calculate age and configure reactions that gate benefits or experiences to customers above a certain age.

## Year-optional capture

Many brands make `birth_year` optional at join to reduce friction. Day and month alone are sufficient for birthday personalisation. Only collect year if you have a specific business use for age data (reporting, age verification, personalisation by life stage).
