---
title: "List offerings (classes, appointments and rentals), paused ones included"
method: GET
path: "/offerings"
tags: ["offerings"]
---

# List offerings (classes, appointments and rentals), paused ones included

`GET /offerings`

## Request

- Base URL: `https://daybag.io/api/v1`
- URL: `https://daybag.io/api/v1/offerings`
- Auth: HTTP bearer

## Query parameters

- `kind` 'class' | 'appointment' | 'rental': class: sessions with seats, from its calendar · appointment: times from its calendar or weekly hours · rental: inventory over periods

## Response `200`

Success

- object
  - `data` object[], required
    - `id` string, required
    - `org_id` string, required
    - `kind` 'class' | 'appointment' | 'rental', required: class: sessions with seats, from its calendar · appointment: times from its calendar or weekly hours · rental: inventory over periods
    - `name` string, required
    - `description` string, required
    - `location` string, required: Where it meets, as guests read it: an address, a place or GPS coordinates. Or an https meeting link for an offering online, which guests join
    - `duration_minutes` integer, required: Length of a class session or appointment, or of one rental period (1440 = a day)
    - `capacity` integer, required: class: seats per session · appointment: parallel bookings per slot · rental: items in stock
    - `max_per_booking` integer, required: Most seats, people or items in one booking. An appointment is one-on-one at 1 (its default); more lets a guest book for a party
    - `price_cents` integer, required: class: per seat · appointment: per appointment, for its first person (see guest_price_cents) · rental: per item per period
    - `guest_price_cents` integer, nullable: appointment: what each additional guest in a party adds; null (the default) charges each the full price, 0 makes them free
    - `deposit_cents` integer, nullable: A deposit guests pay at booking where they pay online, in the currency's minor units (at most the total); the rest is due at the start. Null: the whole total
    - `deposit_percent` integer, nullable: A deposit as a percent of the total, 1 to 99, paid at booking where guests pay online; null: the whole total
    - `slot_interval_minutes` integer, nullable, required: Minutes between start times; null means back to back
    - `buffer_minutes` integer, required
    - `min_notice_minutes` integer, required
    - `max_advance_days` integer, required
    - `max_periods` integer, required: Rentals: the most periods one booking can span
    - `active` boolean, required: false pauses booking: guests and agents can't book it, and it stays in your dashboard
    - `metadata` unknown, required
    - `lat` number, nullable: The meeting point's latitude, for its map link and the weather call
    - `lon` number, nullable
    - `place_id` string, nullable: Google Maps' place ID for the location, which the guest's map link opens
    - `gauge_site` string, nullable: A USGS river gauge's site number
    - `schedule` 'hours' | 'calendar', nullable: An appointment's: weekly hours or calendar entries; null for other kinds
    - `waiver_required` boolean: Each person booked signs your waiver (waiver.get) on their phone before they come
    - `waitlist_enabled` boolean: A full time keeps a waitlist that guests join, emailed when a place opens (waitlist_list). Switched off, everyone waiting comes off and is emailed
    - `course` boolean: A class sold as a course: availability.get lists each calendar entry that ends as one slot, and bookings.create takes its series_id to book every time of it
    - `questions` object[]: What guests answer as they book, in this order: ask the guest, then pass the answers to bookings.create as answers, keyed by each question's id
      - `id` string, required: bookings.create takes the answer to this question under this id
      - `label` string, required: The question as guests read it
      - `type` string, required: text: a line in their words · yes_no: true or false · choice: one of its options
      - `options` string[]: A choice's options: its answer is one of them, as listed
      - `required` boolean, required: Guests must answer it to book online
    - `photo_url` string, nullable: Its photo, at the top of its card on the booking page: a JPEG's absolute URL, or null without one. Read-only: photos are uploaded in the dashboard (the offering's Photo)
    - `created_at` string, required: ISO 8601 timestamp (UTC)

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/daybag/apis/daybooked-io-api.md) · [All operations](https://skmtc.dev/daybag/apis/daybooked-io-api/llms.txt) · [OpenAPI document](https://skmtc.dev/daybag/apis/daybooked-io-api/revisions/1f576dead370?raw)
