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

# Configuration & Parameters

> Pinpoint parameters, Hijri calendar, locations, and caching behavior

## Parameters & Configuration

### How do I add a parameter?

Check the JSON files in `configs/parameters/`. Parameters are defined there and picked up by Pinpoint on deploy.

Each parameter definition includes:

* The **underlying model(s)** and fields it maps to
* Any **post-processing** or aggregations
* How it is exposed in API responses

## Hijri Calendar

### How do I adjust Hijri dates?

Pinpoint loads a fallback Hijri calendar from Geoterra:

* Fallback calendar: `http://geoterra.devops.arabiaweather.com/hijri.json`
* Country-specific calendars: `./data/hijri/…` inside the Pinpoint source

To adjust the Geoterra Hijri file, update it in the Redis cluster. For example:

```bash theme={null}
cat hijri.json | redis-cli -p 6380 -x SET geoterra:hijri.json
```

For Pinpoint itself, update the files in the repo under `./data/hijri/` and deploy a new tag.

## Locations Management

### How do I refresh the locations list (after adding a new location)?

Pinpoint automatically refreshes locations periodically (interval depends on configuration).

To force a refresh immediately:

* Send `GET /refreshLocations` to **each container**, or
* Perform a forced service update / restart of all containers in the stack

## Caching

### What does Pinpoint cache?

Pinpoint caches **ModMS data only**.

The cache key is constructed based on the requested model, location, time, and parameters.

The cache item is stored as a **hash map** in Redis, where each field is a **binary-encoded array** of values.

<Note>
  The original cache key and encoding diagrams are available in the legacy documentation images.
</Note>
