# Pharmacies on duty

Pharmacies on duty shows in your shop window which pharmacies nearby are on duty right now, and it switches by itself when the duty changes. Nobody has to swap a paper notice in the evening.

> **Type:** app
> **For:** pharmacies
> **Prerequisite:** the Pro package, the app installed, and locations with an address in Germany
> **Where in the portal:** **Apps** › **Pharmacies on duty**, with the data areas **Locations** and **Duty rosters**. The widget is in the scene editor under **Business & industry**.

## What the app shows

A pharmacy duty doesn't follow the calendar day but a **duty window**, depending on the region from 9:00 one morning to 9:00 the next, for example. The app shows the pharmacies of the current window, the nearest first, with name, address, phone number, distance, end of duty, and a QR code that sends the directions to a phone. When the window ends, the display moves on to the next one by itself.

When your own pharmacy is on duty, the display shows only yours: a red card with "On duty" and until when. Someone standing at your window needs nothing more. The app recognizes your pharmacy by the street, house number, and postal code of the location.

| Template | Size | Shows |
|---|---|---|
| **Pharmacies on duty** | landscape | The classic red tiles on dark blue, as many as fit legibly |
| **Shop window portrait** | portrait | The same tiles, one below the other |
| **Nearest pharmacy** | tile | One tile with the nearest pharmacy |
| **Bar** | narrow strip | Tiles in a row, as many as the width allows |
| **Map** | landscape | The pharmacies as numbered pins on a map, with the list beside it |

The widget adapts to its frame. If space runs short, it drops the QR code, the town, and the phone number before it shows fewer pharmacies. Name, distance, and end of duty always stay.

## Set up the app

### Prepare your locations

The app takes the address from your locations. Every location with an address in Germany automatically becomes a pharmacy-duty location.

1. Enter the address of each pharmacy under **Settings › Organization › Locations**, see [Create locations and assign displays to them](/displays/create-locations).
2. Open the app, switch to **Locations**, and choose a location.
3. Set the **Radius (km)**, between 1 and 50, and click **Save changes**.
4. Click **Fetch now**. Under **Current pharmacies on duty**, you see who is on duty right now.
5. Place the widget in a scene, and make sure each display is assigned to its location.

> **Tip:** Start with a radius of about 10 km in a town and 25 km in the countryside. If **No duty in progress** appears, increase the radius.

### Correct a single day

If a detail is wrong, you set the day by hand.

1. Open **Duty rosters** and choose **Location**, **From**, and **To** at the top.
2. Click **Create override**, or **Edit** in a row.
3. Under **Set pharmacy duty for one day**, enter **Pharmacy**, **Address**, and the optional details.
4. Click **Save override**.

> **Caution:** An override replaces the whole day. The display shows only the pharmacy you entered, and later fetches no longer change that day.

### Import several days from a CSV file

1. Under **Duty rosters**, click **Import CSV** and then **Choose CSV file**. The file needs the columns `scheduleDate`, `pharmacyName`, `pharmacyAddr`, `pharmacyPhone`, and `distanceKm`.
2. Check the **Preview**. Faulty rows appear under **These rows are skipped**.
3. Click **Confirm import**. The rows replace existing days of the chosen location.

## Settings

Open the settings with the gear icon on the toolbar above the widget. They are on the tabs **Content**, **Appearance**, and **Data**. The toolbar also offers **Template** and **Colors**, plus **How many pharmacies** and **Background**.

| Setting | Tab | Meaning | Default |
|---|---|---|---|
| **Pharmacies on duty for** | **Data** | **Display location** shows the duty around each display's own location. A **fixed location** shows the same everywhere. | Display location |
| **How many pharmacies** | **Content** | **Automatic** shows as many as fit legibly, up to six. A number sets the maximum. | Automatic |
| **Phone number**, **Distance**, **QR code for directions** | **Content** | What each tile shows | On |
| **Pharmacy hotline note** | **Content** | The toll-free number 0800 00 22 833 | On |
| **Map** | **Content** | The pharmacies as pins on a map, with the list beside it | Off |
| **Own duty** | **Content** | During your own duty, show only your pharmacy. **Off** always shows the list. | Automatic |
| **Please ring the bell** | **Content** | Adds "Please ring the bell" during your own duty | Off |
| **Colors** and **Font** | **Appearance** | **Style of the app**, **Brand colors**, or **Custom** colors, plus the font. See [Configure widgets](/content/configure-widgets). | Style of the app |
| **Background** | **Appearance** | **Duty** (dark blue with red tiles), **Dark**, or **Light** | Duty |
| **Heading** | **Content** | Replaces "Pharmacies on duty" above the list | empty |

## Limits

- The sources only say who is on duty now and in the next window. There is no preview of the coming days.
- The app fetches every hour and shortly after the usual handover times. **Fetch now** fetches right away.
- Without a network, the display keeps the last data and still switches to the next window. If the data is older than its window, it shows **May be out of date**.
- The source attribution below the list can't be switched off.
- The information comes without guarantee. The binding source is the pharmacy emergency hotline, and the display doesn't replace your legally required notice. You agree to these terms when installing the app.

## If something goes wrong

| Symptom | Cause | Solution |
|---|---|---|
| The display shows only the background | The display has no location, the location has no address in Germany, or **Load pharmacies on duty** is off. | Assign the display to a location, add the address, or switch fetching on. The editor names the reason in the widget. |
| **No duty in progress** | No entry for this location right now. | Click **Fetch now**. If it stays empty, increase the **Radius (km)**. |
| Your pharmacy is on duty, but the list appears | The address at the location differs from the source, or two pharmacies share it. | Check street, house number, and postal code at the location. |
| The red card appears, but another pharmacy in the building is on duty | The source lists only the other pharmacy at the same address. | Set **Own duty** to **Off**. |
| Only one pharmacy appears | An override replaced the day. | Remove the override if several should appear. |
| **May be out of date** | The last fetch is older than its duty window. | Click **Fetch now**. If the note stays, contact us. |

## Related

- [Create locations and assign displays to them](/displays/create-locations)
- [Opening hours](/apps/opening-hours)
- [Look after installed apps](/apps/my-apps)
