# CivicOS - Demo with Markus B

> Välkommen! Markus Blomqvist - Verksamhetsansvarig CivicOS - Banbrytande och säker AI-plattform för kompetensutveckling, kunskapsöverföring och kunskapshantering. EU Suverän AI plattform, GDPR -och AI-Act efterlevnad. En säker plattform, utvecklad i Sverige som gör det möjligt att köra marknaden mest avancerade AI-modeller (LLM) säkert, snabbt och stabilt – utan de höga kostnaderna som annars krävs. - Förvandla din organisations kunskap till engagerande utbildning - Ta tillvara på medarbetares tysta kunskap - En intern expert som alltid är tillgänglig och alltid uppdaterad Tel: +46766477000 https://civicos.a Vem utvecklar CivicOS? Civic !nnovation är initiativtagare ansvariga för utvecklingen och förvaltning av plattformen. Vi är en idéburen organisation utan vinstintresse. Vi utvecklar social och teknik innovation som skapar samhällsnytta.

- Host: Markus B
- Duration: 30, 45, 60 min
- Location: Zoom Video
- Host time zone: Europe/Stockholm
- Confirmation: The host confirms each booking; it stays pending until they accept it.
- Booking page: https://cal.com/markusb/civic-os-demo
- Event type id: 2433116

## Check availability

```http
GET https://api.cal.com/v2/slots?eventTypeId=2433116&start=YYYY-MM-DD&end=YYYY-MM-DD&timeZone=<IANA time zone>
cal-api-version: 2024-09-04
```

The response is `{"data":{"YYYY-MM-DD":[{"start":"<ISO 8601 with offset>"}]}}`; no API key is needed.

## Book

```http
POST https://api.cal.com/v2/bookings
cal-api-version: 2026-02-25
Content-Type: application/json

{
  "eventTypeId": 2433116,
  "start": "<UTC ISO 8601 start from the slots response>",
  "lengthInMinutes": 45,
  "attendee": {
    "name": "…",
    "email": "…",
    "timeZone": "<IANA time zone>"
  },
  "guests": [
    "guest@example.com"
  ],
  "bookingFieldsResponses": {
    "title": "…",
    "notes": "…"
  }
}
```

- Required fields: `name` (Your name), `email` (Email address), `title` (What is this meeting about?)
- Optional fields: `notes` (Additional notes), `guests` (Add guests)
- `name` and `email` go in `attendee` and `guests` is a list of emails; every other field goes in `bookingFieldsResponses` under its name.
- `lengthInMinutes` picks one of 30, 45, 60; pass the same value to the slots request as `duration`.
- A successful response is a pending booking request.
