---
title: "Appointments"
description: "Rezerwowalne zasoby. Każda aplikacja jest modułem na jednym modelu danych."
canonical: "https://obop-platform.sliplane.app/pl/apps/appointments/"
lang: "pl"
---

# Appointments

## Do czego służy

Describe bookable people, rooms and equipment and record appointments with a date, start and end. Overlaps are not prevented automatically.

## Co pakiet robi, a czego nie robi

Bookable resources (people, rooms, equipment) and appointments with a date, start and end time and a status flow. Overlaps are not prevented automatically.

## Modele

### `appointments_resource`

Something or someone that can be booked

Grupa odczytu: `appointments.user`. Grupa zapisu: `appointments.manager`.

| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
| `name` | text | `none` | nie | `appointments.user` | jawnie | Name of the resource, for example Meeting room 2 |
| `kind` | select (person, room, equipment) | `none` | nie | `appointments.user` | jawnie | What kind of resource it is: person, room, equipment |
| `capacity` | number | `none` | nie | `appointments.user` | jawnie | How many people it can serve at once |
| `active` | bool | `none` | nie | `appointments.user` | jawnie | Whether the resource can be booked |

### `appointments_appointment`

A booking of a resource at a time

Grupa odczytu: `appointments.user`. Grupa zapisu: `appointments.user`.

| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
| `resource_id` | ref → appointments_resource | `none` | nie | `appointments.user` | jawnie | The resource booked |
| `title` | text | `none` | nie | `appointments.user` | jawnie | What the appointment is for |
| `day` | date | `none` | nie | `appointments.user` | jawnie | Date of the appointment (YYYY-MM-DD) |
| `start_minute` | number | `none` | nie | `appointments.user` | jawnie | Start time as minutes since midnight, for example 540 for 09:00 |
| `end_minute` | number | `none` | nie | `appointments.user` | jawnie | End time as minutes since midnight, for example 600 for 10:00 |
| `attendee_name` | text | `internal` | tak | `appointments.user` | zamaskowane | Name of the person attending |
| `attendee_email` | text | `internal` | tak | `appointments.user` | zamaskowane | Email address of the attendee |
| `attendee_phone` | text | `internal` | tak | `appointments.user` | zamaskowane | Phone number of the attendee |
| `notes` | longtext | `none` | nie | `appointments.user` | jawnie | Anything the host should know beforehand |
| `state` | select (scheduled, confirmed, done, cancelled, no_show) | `none` | nie | `appointments.user` | jawnie | Booking status: scheduled, confirmed, done, cancelled, no_show |

## Przepływy pracy

### `appointments_appointment`

| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
| `appointments_appointment.confirm` | state: scheduled → confirmed | `appointments.user` | nie |
| `appointments_appointment.complete` | state: confirmed → done | `appointments.user` | nie |
| `appointments_appointment.cancel` | state: scheduled → cancelled | `appointments.user` | nie |
| `appointments_appointment.mark_no_show` | state: confirmed → no_show | `appointments.user` | nie |

## Grupy uprawnień

Grupy używane przez tę aplikację:

- `appointments.manager`
- `appointments.user`

## Kroki zatwierdzania

Żaden krok w tej aplikacji nie wymaga zatwierdzenia, poza usuwaniem rekordów.

## Co agenci mogą, a czego nie mogą

Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.

Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: `appointments_resource.delete`, `appointments_appointment.delete`.

Dane osobowe są maskowane jako tokeny zastępcze: `appointments_appointment.attendee_name`, `appointments_appointment.attendee_email`, `appointments_appointment.attendee_phone`.

## Zależności

Brak.

## Instalacja

Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:

```bash
obop modules install-from appointments
```

Wymaga bazy danych i uprawnień administratora.

## Zbuduj własną

[Przewodnik po modułach pokazuje, jak pisze się takie aplikacje](/pl/docs/reference/module-manifest/)
