openapi: 3.0.3
info:
  title: 'Eventee Public API'
  description: "Manage your event's program, speakers, partners, attendees and registrations from your own systems."
  version: 1.0.0
servers:
  -
    url: 'https://eventee.com'
tags:
  -
    name: 'Event content'
    description: 'Read the whole program of your event in one call: halls, days, sessions, workshops, breaks, speakers and labels. Also lets you wipe content created while testing an integration.'
  -
    name: Halls
    description: 'Halls are the places (rooms, stages, or virtual spaces) where sessions take place. A session is placed in a hall through its `hall_id`.'
  -
    name: Sessions
    description: 'Sessions are the items of your program. A session is either a **lecture** (`type` 0) or a **workshop** (`type` 1). Workshops have a limited `capacity` that attendees can book. Speakers, labels and a hall are attached to a session by their IDs.'
  -
    name: Breaks
    description: 'Breaks are slots in the agenda without a session, such as coffee breaks, lunch or registration. They only have a name, a description and a time range.'
  -
    name: Speakers
    description: "Speakers presenting at your event. Once created, attach a speaker to sessions through the session's `speakers` field."
  -
    name: Labels
    description: "Labels are colored tags used to categorize sessions (for example by track or topic). Attach labels to a session through the session's `tracks` field."
  -
    name: Partners
    description: 'Partners are the companies presented at your event. A partner with a `logo_url` is listed as a **sponsor**, a partner with a `photo_url` is listed as an **exhibitor** (with an optional booth number). A partner can be both. Each partner has a detail page composed of sections (text, links, images, files, social links).'
  -
    name: Attendees
    description: 'People taking part in your event. Invite attendees by email (optionally with their profile details, group and tickets), list them, check them in at the venue, or remove them from the event.'
  -
    name: Registrations
    description: "Registrations are sign-ups collected through your event's registration. Use these endpoints to pre-register people from another system, list them, or remove a registration."
  -
    name: Groups
    description: "Attendee groups let you tailor the agenda and app features to different audiences (for example VIP guests or staff). Use a group's `id` as `group_id` when inviting attendees or registrations."
  -
    name: Reviews
    description: 'Session ratings left by attendees in the app: 1 to 5 stars with an optional comment.'
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: "Every event has its own API token. Generate it in the Eventee admin in the settings of the event\n(API access is part of selected plans). Generating a new token invalidates the previous one.\n\nSend the token in the `Authorization` header of every request:\n\n```\nAuthorization: Bearer {YOUR_API_TOKEN}\n```\n\nThe token identifies the event, so you never pass an event ID - all endpoints operate on the event\nthe token belongs to. Anyone with the token can read and modify that event, so keep it secret.\n\nRequests without a token are rejected with `400 {\"error\": \"token_missing\"}`, requests with an unknown\nor revoked token with `401 {\"error\": \"token_invalid\"}`."
security:
  -
    default: []
paths:
  /public/api/v1/content:
    get:
      summary: 'Get event content'
      operationId: getEventContent
      description: 'Returns the complete program of the event: `halls`, `days`, `lectures` (sessions of type 0), `workshops` (sessions of type 1), `pauses` (breaks), `speakers` and `tracks` (labels). Use it to read back IDs or to mirror the agenda in another system.'
      parameters:
        -
          in: query
          name: date
          description: 'Only return the program of this day (`Y-m-d`). Days without content return empty lists.'
          example: '2024-06-01'
          required: false
          schema:
            type: string
            description: 'Only return the program of this day (`Y-m-d`). Days without content return empty lists.'
            example: '2024-06-01'
        -
          in: query
          name: with_overlapping
          description: 'Also include event days that have no content yet in `days`.'
          example: false
          required: false
          schema:
            type: boolean
            description: 'Also include event days that have no content yet in `days`.'
            example: false
      responses:
        200:
          description: 'The program of the event'
          content:
            application/json:
              schema:
                type: object
                example:
                  halls:
                    -
                      id: 1
                      name: 'Main Stage'
                      order: 0
                      event_id: 42
                      created_at: '2024-05-20 10:00:00'
                      updated_at: '2024-05-20 10:00:00'
                      stream: null
                  days:
                    -
                      id: 1
                      date: '2024-06-01 00:00:00'
                      event_id: 42
                      content_url: ''
                  lectures:
                    -
                      id: 1
                      name: 'Opening Keynote'
                      description: 'Welcome and overview of the day.'
                      start: '2024-06-01 09:00:00'
                      end: '2024-06-01 10:00:00'
                      event_day_id: 1
                      created_at: '2024-05-20 10:05:00'
                      updated_at: '2024-05-20 10:05:00'
                      discussion: true
                      panel_discussion: false
                      code: a1b2c3
                      moderating: false
                      polling: true
                      checkin: false
                      type: 0
                      mentoring: false
                      hall_id: 1
                      speakers:
                        - 1
                      files: []
                      available: 0
                      booked: false
                      capacity: 0
                      booking_info: []
                      stream:
                        code: k3j9d2xq
                        url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                        available: false
                        is_live: false
                        streamable_type: Eventee\Models\Lecture
                        streamable_id: 1
                        created_at: '2024-05-20 10:05:00'
                        updated_at: '2024-05-20 10:05:00'
                        availability: null
                        type: youtube
                      virtual_meeting: null
                      tracks:
                        - 1
                      event_id: 42
                      qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                      overlapping: false
                      visible_in_groups: []
                      mandatory_for_groups: []
                      mandatory: false
                  workshops:
                    -
                      id: 2
                      name: 'Hands-on: Building Integrations'
                      description: 'Bring your laptop.'
                      start: '2024-06-01 11:00:00'
                      end: '2024-06-01 12:30:00'
                      event_day_id: 1
                      created_at: '2024-05-20 10:06:00'
                      updated_at: '2024-05-20 10:06:00'
                      discussion: false
                      panel_discussion: false
                      code: d4e5f6
                      moderating: false
                      polling: false
                      checkin: true
                      type: 1
                      mentoring: false
                      hall_id: 1
                      speakers:
                        - 1
                      files: []
                      available: 30
                      booked: false
                      capacity: 30
                      booking_info:
                        -
                          id: 1
                          capacity: 30
                          speaker_id: null
                          lecture_id: 2
                          available: 30
                          booked: false
                          booked_attendees: []
                      stream: null
                      virtual_meeting: null
                      tracks: []
                      event_id: 42
                      qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/d4e5f6'
                      overlapping: false
                      visible_in_groups: []
                      mandatory_for_groups: []
                      mandatory: false
                  pauses:
                    -
                      id: 1
                      name: 'Coffee Break'
                      description: ''
                      start: '2024-06-01 10:00:00'
                      end: '2024-06-01 10:30:00'
                      event_day_id: 1
                      created_at: '2024-05-20 10:10:00'
                      updated_at: '2024-05-20 10:10:00'
                      event_id: 42
                  speakers:
                    -
                      id: 1
                      name: 'Jane Doe'
                      email: jane.doe@example.com
                      phone: ''
                      bio_html: 'Jane leads the platform team at Acme Corp.'
                      web: 'https://janedoe.example.com'
                      facebook: ''
                      twitter: ''
                      linkedIn: 'https://www.linkedin.com/in/janedoe'
                      instagram: ''
                      position: CTO
                      company: 'Acme Corp'
                      country: US
                      language: en
                      event_id: 42
                      order: 0
                      photo: 'https://files.eventee.co/images/jane-doe.jpg'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                      bio: 'Jane leads the platform team at Acme Corp.'
                  tracks:
                    -
                      id: 1
                      name: Technology
                      color: '#3B82F6'
                      order: 0
                      created_at: '2024-05-20 10:15:00'
                      updated_at: '2024-05-20 10:15:00'
                properties:
                  halls:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Main Stage'
                        order: 0
                        event_id: 42
                        created_at: '2024-05-20 10:00:00'
                        updated_at: '2024-05-20 10:00:00'
                        stream: null
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Main Stage'
                        order:
                          type: integer
                          example: 0
                        event_id:
                          type: integer
                          example: 42
                        created_at:
                          type: string
                          example: '2024-05-20 10:00:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:00:00'
                        stream:
                          type: string
                          example: null
                          nullable: true
                  days:
                    type: array
                    example:
                      -
                        id: 1
                        date: '2024-06-01 00:00:00'
                        event_id: 42
                        content_url: ''
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        date:
                          type: string
                          example: '2024-06-01 00:00:00'
                        event_id:
                          type: integer
                          example: 42
                        content_url:
                          type: string
                          example: ''
                  lectures:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Opening Keynote'
                        description: 'Welcome and overview of the day.'
                        start: '2024-06-01 09:00:00'
                        end: '2024-06-01 10:00:00'
                        event_day_id: 1
                        created_at: '2024-05-20 10:05:00'
                        updated_at: '2024-05-20 10:05:00'
                        discussion: true
                        panel_discussion: false
                        code: a1b2c3
                        moderating: false
                        polling: true
                        checkin: false
                        type: 0
                        mentoring: false
                        hall_id: 1
                        speakers:
                          - 1
                        files: []
                        available: 0
                        booked: false
                        capacity: 0
                        booking_info: []
                        stream:
                          code: k3j9d2xq
                          url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                          available: false
                          is_live: false
                          streamable_type: Eventee\Models\Lecture
                          streamable_id: 1
                          created_at: '2024-05-20 10:05:00'
                          updated_at: '2024-05-20 10:05:00'
                          availability: null
                          type: youtube
                        virtual_meeting: null
                        tracks:
                          - 1
                        event_id: 42
                        qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                        overlapping: false
                        visible_in_groups: []
                        mandatory_for_groups: []
                        mandatory: false
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Opening Keynote'
                        description:
                          type: string
                          example: 'Welcome and overview of the day.'
                        start:
                          type: string
                          example: '2024-06-01 09:00:00'
                        end:
                          type: string
                          example: '2024-06-01 10:00:00'
                        event_day_id:
                          type: integer
                          example: 1
                        created_at:
                          type: string
                          example: '2024-05-20 10:05:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:05:00'
                        discussion:
                          type: boolean
                          example: true
                        panel_discussion:
                          type: boolean
                          example: false
                        code:
                          type: string
                          example: a1b2c3
                        moderating:
                          type: boolean
                          example: false
                        polling:
                          type: boolean
                          example: true
                        checkin:
                          type: boolean
                          example: false
                        type:
                          type: integer
                          example: 0
                        mentoring:
                          type: boolean
                          example: false
                        hall_id:
                          type: integer
                          example: 1
                        speakers:
                          type: array
                          example:
                            - 1
                          items:
                            type: integer
                        files:
                          type: array
                          example: []
                        available:
                          type: integer
                          example: 0
                        booked:
                          type: boolean
                          example: false
                        capacity:
                          type: integer
                          example: 0
                        booking_info:
                          type: array
                          example: []
                        stream:
                          type: object
                          properties:
                            code:
                              type: string
                              example: k3j9d2xq
                            url:
                              type: string
                              example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                            available:
                              type: boolean
                              example: false
                            is_live:
                              type: boolean
                              example: false
                            streamable_type:
                              type: string
                              example: Eventee\Models\Lecture
                            streamable_id:
                              type: integer
                              example: 1
                            created_at:
                              type: string
                              example: '2024-05-20 10:05:00'
                            updated_at:
                              type: string
                              example: '2024-05-20 10:05:00'
                            availability:
                              type: string
                              example: null
                              nullable: true
                            type:
                              type: string
                              example: youtube
                        virtual_meeting:
                          type: string
                          example: null
                          nullable: true
                        tracks:
                          type: array
                          example:
                            - 1
                          items:
                            type: integer
                        event_id:
                          type: integer
                          example: 42
                        qr_code_url:
                          type: string
                          example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                        overlapping:
                          type: boolean
                          example: false
                        visible_in_groups:
                          type: array
                          example: []
                        mandatory_for_groups:
                          type: array
                          example: []
                        mandatory:
                          type: boolean
                          example: false
                  workshops:
                    type: array
                    example:
                      -
                        id: 2
                        name: 'Hands-on: Building Integrations'
                        description: 'Bring your laptop.'
                        start: '2024-06-01 11:00:00'
                        end: '2024-06-01 12:30:00'
                        event_day_id: 1
                        created_at: '2024-05-20 10:06:00'
                        updated_at: '2024-05-20 10:06:00'
                        discussion: false
                        panel_discussion: false
                        code: d4e5f6
                        moderating: false
                        polling: false
                        checkin: true
                        type: 1
                        mentoring: false
                        hall_id: 1
                        speakers:
                          - 1
                        files: []
                        available: 30
                        booked: false
                        capacity: 30
                        booking_info:
                          -
                            id: 1
                            capacity: 30
                            speaker_id: null
                            lecture_id: 2
                            available: 30
                            booked: false
                            booked_attendees: []
                        stream: null
                        virtual_meeting: null
                        tracks: []
                        event_id: 42
                        qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/d4e5f6'
                        overlapping: false
                        visible_in_groups: []
                        mandatory_for_groups: []
                        mandatory: false
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 2
                        name:
                          type: string
                          example: 'Hands-on: Building Integrations'
                        description:
                          type: string
                          example: 'Bring your laptop.'
                        start:
                          type: string
                          example: '2024-06-01 11:00:00'
                        end:
                          type: string
                          example: '2024-06-01 12:30:00'
                        event_day_id:
                          type: integer
                          example: 1
                        created_at:
                          type: string
                          example: '2024-05-20 10:06:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:06:00'
                        discussion:
                          type: boolean
                          example: false
                        panel_discussion:
                          type: boolean
                          example: false
                        code:
                          type: string
                          example: d4e5f6
                        moderating:
                          type: boolean
                          example: false
                        polling:
                          type: boolean
                          example: false
                        checkin:
                          type: boolean
                          example: true
                        type:
                          type: integer
                          example: 1
                        mentoring:
                          type: boolean
                          example: false
                        hall_id:
                          type: integer
                          example: 1
                        speakers:
                          type: array
                          example:
                            - 1
                          items:
                            type: integer
                        files:
                          type: array
                          example: []
                        available:
                          type: integer
                          example: 30
                        booked:
                          type: boolean
                          example: false
                        capacity:
                          type: integer
                          example: 30
                        booking_info:
                          type: array
                          example:
                            -
                              id: 1
                              capacity: 30
                              speaker_id: null
                              lecture_id: 2
                              available: 30
                              booked: false
                              booked_attendees: []
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 1
                              capacity:
                                type: integer
                                example: 30
                              speaker_id:
                                type: string
                                example: null
                                nullable: true
                              lecture_id:
                                type: integer
                                example: 2
                              available:
                                type: integer
                                example: 30
                              booked:
                                type: boolean
                                example: false
                              booked_attendees:
                                type: array
                                example: []
                        stream:
                          type: string
                          example: null
                          nullable: true
                        virtual_meeting:
                          type: string
                          example: null
                          nullable: true
                        tracks:
                          type: array
                          example: []
                        event_id:
                          type: integer
                          example: 42
                        qr_code_url:
                          type: string
                          example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/d4e5f6'
                        overlapping:
                          type: boolean
                          example: false
                        visible_in_groups:
                          type: array
                          example: []
                        mandatory_for_groups:
                          type: array
                          example: []
                        mandatory:
                          type: boolean
                          example: false
                  pauses:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Coffee Break'
                        description: ''
                        start: '2024-06-01 10:00:00'
                        end: '2024-06-01 10:30:00'
                        event_day_id: 1
                        created_at: '2024-05-20 10:10:00'
                        updated_at: '2024-05-20 10:10:00'
                        event_id: 42
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Coffee Break'
                        description:
                          type: string
                          example: ''
                        start:
                          type: string
                          example: '2024-06-01 10:00:00'
                        end:
                          type: string
                          example: '2024-06-01 10:30:00'
                        event_day_id:
                          type: integer
                          example: 1
                        created_at:
                          type: string
                          example: '2024-05-20 10:10:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:10:00'
                        event_id:
                          type: integer
                          example: 42
                  speakers:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Jane Doe'
                        email: jane.doe@example.com
                        phone: ''
                        bio_html: 'Jane leads the platform team at Acme Corp.'
                        web: 'https://janedoe.example.com'
                        facebook: ''
                        twitter: ''
                        linkedIn: 'https://www.linkedin.com/in/janedoe'
                        instagram: ''
                        position: CTO
                        company: 'Acme Corp'
                        country: US
                        language: en
                        event_id: 42
                        order: 0
                        photo: 'https://files.eventee.co/images/jane-doe.jpg'
                        thumbnail: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                        bio: 'Jane leads the platform team at Acme Corp.'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Jane Doe'
                        email:
                          type: string
                          example: jane.doe@example.com
                        phone:
                          type: string
                          example: ''
                        bio_html:
                          type: string
                          example: 'Jane leads the platform team at Acme Corp.'
                        web:
                          type: string
                          example: 'https://janedoe.example.com'
                        facebook:
                          type: string
                          example: ''
                        twitter:
                          type: string
                          example: ''
                        linkedIn:
                          type: string
                          example: 'https://www.linkedin.com/in/janedoe'
                        instagram:
                          type: string
                          example: ''
                        position:
                          type: string
                          example: CTO
                        company:
                          type: string
                          example: 'Acme Corp'
                        country:
                          type: string
                          example: US
                        language:
                          type: string
                          example: en
                        event_id:
                          type: integer
                          example: 42
                        order:
                          type: integer
                          example: 0
                        photo:
                          type: string
                          example: 'https://files.eventee.co/images/jane-doe.jpg'
                        thumbnail:
                          type: string
                          example: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                        bio:
                          type: string
                          example: 'Jane leads the platform team at Acme Corp.'
                  tracks:
                    type: array
                    example:
                      -
                        id: 1
                        name: Technology
                        color: '#3B82F6'
                        order: 0
                        created_at: '2024-05-20 10:15:00'
                        updated_at: '2024-05-20 10:15:00'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Technology
                        color:
                          type: string
                          example: '#3B82F6'
                        order:
                          type: integer
                          example: 0
                        created_at:
                          type: string
                          example: '2024-05-20 10:15:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:15:00'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The date field must match the format Y-m-d.'
                  errors:
                    date:
                      - 'The date field must match the format Y-m-d.'
                properties:
                  message:
                    type: string
                    example: 'The date field must match the format Y-m-d.'
                  errors:
                    type: object
                    properties:
                      date:
                        type: array
                        example:
                          - 'The date field must match the format Y-m-d.'
                        items:
                          type: string
      tags:
        - 'Event content'
  /public/api/v1/test/content:
    delete:
      summary: 'Delete all program content'
      operationId: deleteAllProgramContent
      description: '**Irreversible.** Deletes **all** sessions, breaks, halls, speakers and labels of the event at once. Intended for cleaning up after testing an integration before the real import. Partners, attendees, registrations and groups are not affected.'
      parameters: []
      responses:
        204:
          description: 'Content deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
      tags:
        - 'Event content'
  /public/api/v1/hall:
    post:
      summary: 'Create hall'
      operationId: createHall
      description: 'Creates a hall in the event. Use the returned `id` as `hall_id` when creating sessions.'
      parameters: []
      responses:
        201:
          description: 'Hall created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Main Stage'
                  order: 0
                  event_id: 42
                  created_at: '2024-05-20 10:00:00'
                  updated_at: '2024-05-20 10:00:00'
                  stream: null
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Main Stage'
                  order:
                    type: integer
                    example: 0
                  event_id:
                    type: integer
                    example: 42
                  created_at:
                    type: string
                    example: '2024-05-20 10:00:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:00:00'
                  stream:
                    type: string
                    example: null
                    nullable: true
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field is required.'
                  errors:
                    name:
                      - 'The name field is required.'
                properties:
                  message:
                    type: string
                    example: 'The name field is required.'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
      tags:
        - Halls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the hall.'
                  example: 'Main Stage'
                order:
                  type: integer
                  description: 'Position of the hall in the agenda (0 = first). Defaults to the end of the list.'
                  example: 0
                stream:
                  type: string
                  description: 'Code of an existing live stream to show in this hall (the `stream.code` returned when a session is created with a `stream` URL).'
                  example: null
              required:
                - name
  '/public/api/v1/hall/{hall_id}':
    patch:
      summary: 'Update hall'
      operationId: updateHall
      description: 'Updates a hall. `name` is required; `order` is kept when omitted. The live stream is **removed** when `stream` is omitted.'
      parameters: []
      responses:
        200:
          description: 'Hall updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Main Stage'
                  order: 0
                  event_id: 42
                  created_at: '2024-05-20 10:00:00'
                  updated_at: '2024-05-20 10:00:00'
                  stream: null
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Main Stage'
                  order:
                    type: integer
                    example: 0
                  event_id:
                    type: integer
                    example: 42
                  created_at:
                    type: string
                    example: '2024-05-20 10:00:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:00:00'
                  stream:
                    type: string
                    example: null
                    nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Hall] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Hall] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field is required.'
                  errors:
                    name:
                      - 'The name field is required.'
                properties:
                  message:
                    type: string
                    example: 'The name field is required.'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
      tags:
        - Halls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the hall.'
                  example: 'Main Stage'
                order:
                  type: integer
                  description: 'Position of the hall in the agenda (0 = first). Unchanged when omitted.'
                  example: 0
                stream:
                  type: string
                  description: 'Code of an existing live stream to show in this hall. Omit to remove the current stream.'
                  example: null
              required:
                - name
    delete:
      summary: 'Delete hall'
      operationId: deleteHall
      description: 'Deletes a hall. Sessions placed in the hall are kept, but no longer have a hall.'
      parameters: []
      responses:
        204:
          description: 'Hall deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Hall] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Hall] 999'
      tags:
        - Halls
    parameters:
      -
        in: path
        name: hall_id
        description: 'ID of the hall.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/lecture:
    post:
      summary: 'Create session'
      operationId: createSession
      description: 'Creates a lecture or a workshop. The session is placed on the event day matching `start`; the day is created when it does not exist yet. Speakers, labels and the hall must already exist - create them first and pass their IDs.'
      parameters: []
      responses:
        201:
          description: 'Session created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Opening Keynote'
                  description: 'Welcome and overview of the day.'
                  start: '2024-06-01 09:00:00'
                  end: '2024-06-01 10:00:00'
                  event_day_id: 1
                  created_at: '2024-05-20 10:05:00'
                  updated_at: '2024-05-20 10:05:00'
                  discussion: true
                  panel_discussion: false
                  code: a1b2c3
                  moderating: false
                  polling: true
                  checkin: false
                  type: 0
                  mentoring: false
                  hall_id: 1
                  speakers:
                    - 1
                  files: []
                  available: 0
                  booked: false
                  capacity: 0
                  booking_info: []
                  stream:
                    code: k3j9d2xq
                    url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                    available: false
                    is_live: false
                    streamable_type: Eventee\Models\Lecture
                    streamable_id: 1
                    created_at: '2024-05-20 10:05:00'
                    updated_at: '2024-05-20 10:05:00'
                    availability: null
                    type: youtube
                  virtual_meeting: null
                  tracks:
                    - 1
                  event_id: 42
                  qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                  overlapping: false
                  visible_in_groups: []
                  mandatory_for_groups: []
                  mandatory: false
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Opening Keynote'
                  description:
                    type: string
                    example: 'Welcome and overview of the day.'
                  start:
                    type: string
                    example: '2024-06-01 09:00:00'
                  end:
                    type: string
                    example: '2024-06-01 10:00:00'
                  event_day_id:
                    type: integer
                    example: 1
                  created_at:
                    type: string
                    example: '2024-05-20 10:05:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:05:00'
                  discussion:
                    type: boolean
                    example: true
                  panel_discussion:
                    type: boolean
                    example: false
                  code:
                    type: string
                    example: a1b2c3
                  moderating:
                    type: boolean
                    example: false
                  polling:
                    type: boolean
                    example: true
                  checkin:
                    type: boolean
                    example: false
                  type:
                    type: integer
                    example: 0
                  mentoring:
                    type: boolean
                    example: false
                  hall_id:
                    type: integer
                    example: 1
                  speakers:
                    type: array
                    example:
                      - 1
                    items:
                      type: integer
                  files:
                    type: array
                    example: []
                  available:
                    type: integer
                    example: 0
                  booked:
                    type: boolean
                    example: false
                  capacity:
                    type: integer
                    example: 0
                  booking_info:
                    type: array
                    example: []
                  stream:
                    type: object
                    properties:
                      code:
                        type: string
                        example: k3j9d2xq
                      url:
                        type: string
                        example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                      available:
                        type: boolean
                        example: false
                      is_live:
                        type: boolean
                        example: false
                      streamable_type:
                        type: string
                        example: Eventee\Models\Lecture
                      streamable_id:
                        type: integer
                        example: 1
                      created_at:
                        type: string
                        example: '2024-05-20 10:05:00'
                      updated_at:
                        type: string
                        example: '2024-05-20 10:05:00'
                      availability:
                        type: string
                        example: null
                        nullable: true
                      type:
                        type: string
                        example: youtube
                  virtual_meeting:
                    type: string
                    example: null
                    nullable: true
                  tracks:
                    type: array
                    example:
                      - 1
                    items:
                      type: integer
                  event_id:
                    type: integer
                    example: 42
                  qr_code_url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                  overlapping:
                    type: boolean
                    example: false
                  visible_in_groups:
                    type: array
                    example: []
                  mandatory_for_groups:
                    type: array
                    example: []
                  mandatory:
                    type: boolean
                    example: false
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The start field must be a date before end.'
                  errors:
                    start:
                      - 'The start field must be a date before end.'
                properties:
                  message:
                    type: string
                    example: 'The start field must be a date before end.'
                  errors:
                    type: object
                    properties:
                      start:
                        type: array
                        example:
                          - 'The start field must be a date before end.'
                        items:
                          type: string
      tags:
        - Sessions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Title of the session.'
                  example: 'Opening Keynote'
                description:
                  type: string
                  description: 'Description shown in the session detail. Plain text or simple HTML; URLs are turned into links automatically.'
                  example: 'Welcome and overview of the day.'
                start:
                  type: string
                  description: 'Start of the session (`Y-m-d H:i:s`, event time zone). Must be before `end`. The event day is created automatically if it does not exist yet.'
                  example: '2024-06-01 09:00:00'
                end:
                  type: string
                  description: 'End of the session (`Y-m-d H:i:s`, event time zone). Must be after `start`.'
                  example: '2024-06-01 10:00:00'
                type:
                  type: integer
                  description: 'Kind of session: `0` = lecture, `1` = workshop (bookable, with limited capacity). Send as a number. Defaults to `0`.'
                  example: 0
                  enum:
                    - 0
                    - 1
                hall_id:
                  type: integer
                  description: 'ID of the hall the session takes place in (see Halls). IDs of halls of other events are ignored.'
                  example: 1
                speakers:
                  type: array
                  description: 'IDs of the speakers of this session (see Speakers), in display order.'
                  example:
                    - 1
                  items:
                    type: integer
                tracks:
                  type: array
                  description: 'IDs of the labels to attach (see Labels).'
                  example:
                    - 1
                  items:
                    type: integer
                discussion:
                  type: boolean
                  description: 'Allow attendees to ask questions in the session (Q&A). Defaults to `false`.'
                  example: true
                moderating:
                  type: boolean
                  description: 'Questions have to be approved by a moderator before they are shown. Defaults to `false`.'
                  example: false
                polling:
                  type: boolean
                  description: 'Allow live polls in the session. Defaults to `false`.'
                  example: true
                checkin:
                  type: boolean
                  description: 'Enable check-in of attendees at the session. Only applies to workshops (`type` 1). Defaults to `false`.'
                  example: false
                capacity:
                  type: integer
                  description: 'Maximum number of attendees that can book the workshop. Only applies to workshops (`type` 1). Defaults to `0`.'
                  example: 30
                stream:
                  type: string
                  description: 'URL of the live stream (YouTube, Vimeo, Twitch, Zoom, ...). A live stream object is created and returned as `stream`; its `code` can be reused for a hall.'
                  example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                virtual_meeting:
                  type: string
                  description: 'URL of the virtual meeting attendees can join (for example a Zoom or Google Meet link).'
                  example: null
              required:
                - name
                - start
                - end
  '/public/api/v1/lecture/{lecture_id}':
    patch:
      summary: 'Update session'
      operationId: updateSession
      description: 'Replaces a session. This is a full update: `name`, `start` and `end` are required and **omitted `speakers`, `tracks`, `capacity` and `type` are reset** (see the individual fields). The hall and live stream are kept when omitted.'
      parameters: []
      responses:
        200:
          description: 'Session updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Opening Keynote'
                  description: 'Welcome and overview of the day.'
                  start: '2024-06-01 09:00:00'
                  end: '2024-06-01 10:00:00'
                  event_day_id: 1
                  created_at: '2024-05-20 10:05:00'
                  updated_at: '2024-05-20 10:05:00'
                  discussion: true
                  panel_discussion: false
                  code: a1b2c3
                  moderating: false
                  polling: true
                  checkin: false
                  type: 0
                  mentoring: false
                  hall_id: 1
                  speakers:
                    - 1
                  files: []
                  available: 0
                  booked: false
                  capacity: 0
                  booking_info: []
                  stream:
                    code: k3j9d2xq
                    url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                    available: false
                    is_live: false
                    streamable_type: Eventee\Models\Lecture
                    streamable_id: 1
                    created_at: '2024-05-20 10:05:00'
                    updated_at: '2024-05-20 10:05:00'
                    availability: null
                    type: youtube
                  virtual_meeting: null
                  tracks:
                    - 1
                  event_id: 42
                  qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                  overlapping: false
                  visible_in_groups: []
                  mandatory_for_groups: []
                  mandatory: false
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Opening Keynote'
                  description:
                    type: string
                    example: 'Welcome and overview of the day.'
                  start:
                    type: string
                    example: '2024-06-01 09:00:00'
                  end:
                    type: string
                    example: '2024-06-01 10:00:00'
                  event_day_id:
                    type: integer
                    example: 1
                  created_at:
                    type: string
                    example: '2024-05-20 10:05:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:05:00'
                  discussion:
                    type: boolean
                    example: true
                  panel_discussion:
                    type: boolean
                    example: false
                  code:
                    type: string
                    example: a1b2c3
                  moderating:
                    type: boolean
                    example: false
                  polling:
                    type: boolean
                    example: true
                  checkin:
                    type: boolean
                    example: false
                  type:
                    type: integer
                    example: 0
                  mentoring:
                    type: boolean
                    example: false
                  hall_id:
                    type: integer
                    example: 1
                  speakers:
                    type: array
                    example:
                      - 1
                    items:
                      type: integer
                  files:
                    type: array
                    example: []
                  available:
                    type: integer
                    example: 0
                  booked:
                    type: boolean
                    example: false
                  capacity:
                    type: integer
                    example: 0
                  booking_info:
                    type: array
                    example: []
                  stream:
                    type: object
                    properties:
                      code:
                        type: string
                        example: k3j9d2xq
                      url:
                        type: string
                        example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                      available:
                        type: boolean
                        example: false
                      is_live:
                        type: boolean
                        example: false
                      streamable_type:
                        type: string
                        example: Eventee\Models\Lecture
                      streamable_id:
                        type: integer
                        example: 1
                      created_at:
                        type: string
                        example: '2024-05-20 10:05:00'
                      updated_at:
                        type: string
                        example: '2024-05-20 10:05:00'
                      availability:
                        type: string
                        example: null
                        nullable: true
                      type:
                        type: string
                        example: youtube
                  virtual_meeting:
                    type: string
                    example: null
                    nullable: true
                  tracks:
                    type: array
                    example:
                      - 1
                    items:
                      type: integer
                  event_id:
                    type: integer
                    example: 42
                  qr_code_url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                  overlapping:
                    type: boolean
                    example: false
                  visible_in_groups:
                    type: array
                    example: []
                  mandatory_for_groups:
                    type: array
                    example: []
                  mandatory:
                    type: boolean
                    example: false
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  -
                    description: 'No resource with this ID exists'
                    type: object
                    example:
                      message: 'No query results for model [Eventee\Models\Lecture] 999'
                    properties:
                      message:
                        type: string
                        example: 'No query results for model [Eventee\Models\Lecture] 999'
                  -
                    description: '`start` is outside the days of the event'
                    type: object
                    example:
                      error: no_date_for_datetime
                    properties:
                      error:
                        type: string
                        example: no_date_for_datetime
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The start field must be a date before end.'
                  errors:
                    start:
                      - 'The start field must be a date before end.'
                properties:
                  message:
                    type: string
                    example: 'The start field must be a date before end.'
                  errors:
                    type: object
                    properties:
                      start:
                        type: array
                        example:
                          - 'The start field must be a date before end.'
                        items:
                          type: string
      tags:
        - Sessions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Title of the session.'
                  example: 'Opening Keynote'
                description:
                  type: string
                  description: 'Description shown in the session detail. Plain text or simple HTML; URLs are turned into links automatically.'
                  example: 'Welcome and overview of the day.'
                start:
                  type: string
                  description: 'Start of the session (`Y-m-d H:i:s`, event time zone). Must be before `end`. Must fall on an existing day of the event.'
                  example: '2024-06-01 09:00:00'
                end:
                  type: string
                  description: 'End of the session (`Y-m-d H:i:s`, event time zone). Must be after `start`.'
                  example: '2024-06-01 10:00:00'
                type:
                  type: integer
                  description: 'Kind of session: `0` = lecture, `1` = workshop (bookable, with limited capacity). Send as a number. **If omitted, the session becomes a lecture.**'
                  example: 0
                  enum:
                    - 0
                    - 1
                hall_id:
                  type: integer
                  description: 'ID of the hall the session takes place in (see Halls). If omitted, the current hall is kept.'
                  example: 1
                speakers:
                  type: array
                  description: 'IDs of the speakers of this session (see Speakers), in display order. **Omitted = all speakers removed.**'
                  example:
                    - 1
                  items:
                    type: integer
                tracks:
                  type: array
                  description: 'IDs of the labels to attach (see Labels). **Omitted = all labels removed.**'
                  example:
                    - 1
                  items:
                    type: integer
                discussion:
                  type: boolean
                  description: 'Allow attendees to ask questions in the session (Q&A). Defaults to `false`.'
                  example: true
                moderating:
                  type: boolean
                  description: 'Questions have to be approved by a moderator before they are shown. Defaults to `false`.'
                  example: false
                polling:
                  type: boolean
                  description: 'Allow live polls in the session. Defaults to `false`.'
                  example: true
                capacity:
                  type: integer
                  description: 'Maximum number of attendees that can book the workshop. Only applies to workshops (`type` 1). Defaults to `0`.'
                  example: 30
                stream:
                  type: string
                  description: 'URL of the live stream (YouTube, Vimeo, Twitch, Zoom, ...). A live stream object is created and returned as `stream`; its `code` can be reused for a hall. If omitted, the current stream is kept.'
                  example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                virtual_meeting:
                  type: string
                  description: 'URL of the virtual meeting attendees can join (for example a Zoom or Google Meet link).'
                  example: null
              required:
                - name
                - start
                - end
    delete:
      summary: 'Delete session'
      operationId: deleteSession
      description: 'Deletes a session (lecture or workshop) including its questions, polls, bookings and ratings.'
      parameters: []
      responses:
        204:
          description: 'Session deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Lecture] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Lecture] 999'
      tags:
        - Sessions
    parameters:
      -
        in: path
        name: lecture_id
        description: 'ID of the session.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/pause:
    post:
      summary: 'Create break'
      operationId: createBreak
      description: 'Creates a break on the event day matching `start`; the day is created when it does not exist yet.'
      parameters: []
      responses:
        201:
          description: 'Break created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Coffee Break'
                  description: ''
                  start: '2024-06-01 10:00:00'
                  end: '2024-06-01 10:30:00'
                  event_day_id: 1
                  created_at: '2024-05-20 10:10:00'
                  updated_at: '2024-05-20 10:10:00'
                  event_id: 42
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Coffee Break'
                  description:
                    type: string
                    example: ''
                  start:
                    type: string
                    example: '2024-06-01 10:00:00'
                  end:
                    type: string
                    example: '2024-06-01 10:30:00'
                  event_day_id:
                    type: integer
                    example: 1
                  created_at:
                    type: string
                    example: '2024-05-20 10:10:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:10:00'
                  event_id:
                    type: integer
                    example: 42
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The start field must be a date before end.'
                  errors:
                    start:
                      - 'The start field must be a date before end.'
                properties:
                  message:
                    type: string
                    example: 'The start field must be a date before end.'
                  errors:
                    type: object
                    properties:
                      start:
                        type: array
                        example:
                          - 'The start field must be a date before end.'
                        items:
                          type: string
      tags:
        - Breaks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the break. Max 128 characters.'
                  example: 'Coffee Break'
                description:
                  type: string
                  description: 'Optional description.'
                  example: null
                start:
                  type: string
                  description: 'Start of the break (`Y-m-d H:i:s`, event time zone). Must be before `end`.'
                  example: '2024-06-01 10:00:00'
                end:
                  type: string
                  description: 'End of the break (`Y-m-d H:i:s`, event time zone). Must be after `start`.'
                  example: '2024-06-01 10:30:00'
              required:
                - name
                - start
                - end
  '/public/api/v1/pause/{pause_id}':
    patch:
      summary: 'Update break'
      operationId: updateBreak
      description: 'Updates a break. `name`, `start` and `end` are required; `description` is kept when omitted.'
      parameters: []
      responses:
        200:
          description: 'Break updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Coffee Break'
                  description: ''
                  start: '2024-06-01 10:00:00'
                  end: '2024-06-01 10:30:00'
                  event_day_id: 1
                  created_at: '2024-05-20 10:10:00'
                  updated_at: '2024-05-20 10:10:00'
                  event_id: 42
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Coffee Break'
                  description:
                    type: string
                    example: ''
                  start:
                    type: string
                    example: '2024-06-01 10:00:00'
                  end:
                    type: string
                    example: '2024-06-01 10:30:00'
                  event_day_id:
                    type: integer
                    example: 1
                  created_at:
                    type: string
                    example: '2024-05-20 10:10:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:10:00'
                  event_id:
                    type: integer
                    example: 42
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Pause] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Pause] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The start field must be a date before end.'
                  errors:
                    start:
                      - 'The start field must be a date before end.'
                properties:
                  message:
                    type: string
                    example: 'The start field must be a date before end.'
                  errors:
                    type: object
                    properties:
                      start:
                        type: array
                        example:
                          - 'The start field must be a date before end.'
                        items:
                          type: string
      tags:
        - Breaks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the break. Max 128 characters.'
                  example: 'Coffee Break'
                description:
                  type: string
                  description: 'Optional description. Unchanged when omitted.'
                  example: null
                start:
                  type: string
                  description: 'Start of the break (`Y-m-d H:i:s`, event time zone). Must be before `end`.'
                  example: '2024-06-01 10:00:00'
                end:
                  type: string
                  description: 'End of the break (`Y-m-d H:i:s`, event time zone). Must be after `start`.'
                  example: '2024-06-01 10:30:00'
              required:
                - name
                - start
                - end
    delete:
      summary: 'Delete break'
      operationId: deleteBreak
      description: 'Deletes a break from the agenda.'
      parameters: []
      responses:
        204:
          description: 'Break deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Pause] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Pause] 999'
      tags:
        - Breaks
    parameters:
      -
        in: path
        name: pause_id
        description: 'ID of the break.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/speaker:
    post:
      summary: 'Create speaker'
      operationId: createSpeaker
      description: 'Creates a speaker profile in the event. Use the returned `id` in the `speakers` field of sessions.'
      parameters: []
      responses:
        201:
          description: 'Speaker created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Jane Doe'
                  email: jane.doe@example.com
                  phone: ''
                  bio_html: 'Jane leads the platform team at Acme Corp.'
                  web: 'https://janedoe.example.com'
                  facebook: ''
                  twitter: ''
                  linkedIn: 'https://www.linkedin.com/in/janedoe'
                  instagram: ''
                  position: CTO
                  company: 'Acme Corp'
                  country: US
                  language: en
                  event_id: 42
                  order: 0
                  photo: 'https://files.eventee.co/images/jane-doe.jpg'
                  thumbnail: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                  bio: 'Jane leads the platform team at Acme Corp.'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Jane Doe'
                  email:
                    type: string
                    example: jane.doe@example.com
                  phone:
                    type: string
                    example: ''
                  bio_html:
                    type: string
                    example: 'Jane leads the platform team at Acme Corp.'
                  web:
                    type: string
                    example: 'https://janedoe.example.com'
                  facebook:
                    type: string
                    example: ''
                  twitter:
                    type: string
                    example: ''
                  linkedIn:
                    type: string
                    example: 'https://www.linkedin.com/in/janedoe'
                  instagram:
                    type: string
                    example: ''
                  position:
                    type: string
                    example: CTO
                  company:
                    type: string
                    example: 'Acme Corp'
                  country:
                    type: string
                    example: US
                  language:
                    type: string
                    example: en
                  event_id:
                    type: integer
                    example: 42
                  order:
                    type: integer
                    example: 0
                  photo:
                    type: string
                    example: 'https://files.eventee.co/images/jane-doe.jpg'
                  thumbnail:
                    type: string
                    example: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                  bio:
                    type: string
                    example: 'Jane leads the platform team at Acme Corp.'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field is required.'
                  errors:
                    name:
                      - 'The name field is required.'
                properties:
                  message:
                    type: string
                    example: 'The name field is required.'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
      tags:
        - Speakers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Full name of the speaker. Max 256 characters.'
                  example: 'Jane Doe'
                email:
                  type: string
                  description: 'Email address. Max 255 characters.'
                  example: jane.doe@example.com
                photo:
                  type: string
                  description: 'URL of the profile photo. The image is downloaded and stored; the response contains `photo` and `thumbnail` URLs.'
                  example: 'https://acme.example.com/team/jane-doe.jpg'
                bio:
                  type: string
                  description: 'Biography. Plain text or simple HTML; URLs are turned into links automatically. Returned as `bio_html` (HTML) and `bio` (plain text).'
                  example: 'Jane leads the platform team at Acme Corp.'
                position:
                  type: string
                  description: 'Job title. Max 128 characters.'
                  example: CTO
                company:
                  type: string
                  description: 'Company or organization. Max 128 characters.'
                  example: 'Acme Corp'
                phone:
                  type: string
                  description: 'Phone number. Max 32 characters.'
                  example: null
                web:
                  type: string
                  description: 'Website URL. Max 512 characters.'
                  example: 'https://janedoe.example.com'
                linkedIn:
                  type: string
                  description: 'LinkedIn profile URL. Max 512 characters.'
                  example: 'https://www.linkedin.com/in/janedoe'
                twitter:
                  type: string
                  description: 'X (Twitter) profile URL. Max 512 characters.'
                  example: null
                facebook:
                  type: string
                  description: 'Facebook profile URL. Max 512 characters.'
                  example: null
                instagram:
                  type: string
                  description: 'Instagram profile URL. Max 512 characters.'
                  example: null
                country:
                  type: string
                  description: 'Country as a two-letter ISO 3166-1 code.'
                  example: US
                language:
                  type: string
                  description: 'Language the speaker presents in, as a language code. Max 24 characters.'
                  example: en
              required:
                - name
  '/public/api/v1/speaker/{speakerTmp_id}':
    patch:
      summary: 'Update speaker'
      operationId: updateSpeaker
      description: 'Partially updates a speaker: only the fields you send are changed, all others are kept.'
      parameters: []
      responses:
        200:
          description: 'Speaker updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: 'Jane Doe'
                  email: jane.doe@example.com
                  phone: ''
                  bio_html: 'Jane leads the platform team at Acme Corp.'
                  web: 'https://janedoe.example.com'
                  facebook: ''
                  twitter: ''
                  linkedIn: 'https://www.linkedin.com/in/janedoe'
                  instagram: ''
                  position: CTO
                  company: 'Acme Corp'
                  country: US
                  language: en
                  event_id: 42
                  order: 0
                  photo: 'https://files.eventee.co/images/jane-doe.jpg'
                  thumbnail: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                  bio: 'Jane leads the platform team at Acme Corp.'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: 'Jane Doe'
                  email:
                    type: string
                    example: jane.doe@example.com
                  phone:
                    type: string
                    example: ''
                  bio_html:
                    type: string
                    example: 'Jane leads the platform team at Acme Corp.'
                  web:
                    type: string
                    example: 'https://janedoe.example.com'
                  facebook:
                    type: string
                    example: ''
                  twitter:
                    type: string
                    example: ''
                  linkedIn:
                    type: string
                    example: 'https://www.linkedin.com/in/janedoe'
                  instagram:
                    type: string
                    example: ''
                  position:
                    type: string
                    example: CTO
                  company:
                    type: string
                    example: 'Acme Corp'
                  country:
                    type: string
                    example: US
                  language:
                    type: string
                    example: en
                  event_id:
                    type: integer
                    example: 42
                  order:
                    type: integer
                    example: 0
                  photo:
                    type: string
                    example: 'https://files.eventee.co/images/jane-doe.jpg'
                  thumbnail:
                    type: string
                    example: 'https://files.eventee.co/images/thumbnail/jane-doe.jpg'
                  bio:
                    type: string
                    example: 'Jane leads the platform team at Acme Corp.'
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\SpeakerTmp] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\SpeakerTmp] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The name field must not be greater than 256 characters.'
                  errors:
                    name:
                      - 'The name field must not be greater than 256 characters.'
                properties:
                  message:
                    type: string
                    example: 'The name field must not be greater than 256 characters.'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field must not be greater than 256 characters.'
                        items:
                          type: string
      tags:
        - Speakers
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Full name of the speaker. Max 256 characters.'
                  example: 'Jane Doe'
                email:
                  type: string
                  description: 'Email address. Max 255 characters.'
                  example: jane.doe@example.com
                photo:
                  type: string
                  description: 'URL of the profile photo. The image is downloaded and stored; the response contains `photo` and `thumbnail` URLs.'
                  example: 'https://acme.example.com/team/jane-doe.jpg'
                bio:
                  type: string
                  description: 'Biography. Plain text or simple HTML; URLs are turned into links automatically. Returned as `bio_html` (HTML) and `bio` (plain text).'
                  example: 'Jane leads the platform team at Acme Corp.'
                position:
                  type: string
                  description: 'Job title. Max 128 characters.'
                  example: CTO
                company:
                  type: string
                  description: 'Company or organization. Max 128 characters.'
                  example: 'Acme Corp'
                phone:
                  type: string
                  description: 'Phone number. Max 32 characters.'
                  example: null
                web:
                  type: string
                  description: 'Website URL. Max 512 characters.'
                  example: 'https://janedoe.example.com'
                linkedIn:
                  type: string
                  description: 'LinkedIn profile URL. Max 512 characters.'
                  example: 'https://www.linkedin.com/in/janedoe'
                twitter:
                  type: string
                  description: 'X (Twitter) profile URL. Max 512 characters.'
                  example: null
                facebook:
                  type: string
                  description: 'Facebook profile URL. Max 512 characters.'
                  example: null
                instagram:
                  type: string
                  description: 'Instagram profile URL. Max 512 characters.'
                  example: null
                country:
                  type: string
                  description: 'Country as a two-letter ISO 3166-1 code.'
                  example: US
                language:
                  type: string
                  description: 'Language the speaker presents in, as a language code. Max 24 characters.'
                  example: en
    delete:
      summary: 'Delete speaker'
      operationId: deleteSpeaker
      description: 'Deletes a speaker and removes them from all sessions.'
      parameters: []
      responses:
        204:
          description: 'Speaker deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\SpeakerTmp] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\SpeakerTmp] 999'
      tags:
        - Speakers
    parameters:
      -
        in: path
        name: speakerTmp_id
        description: 'ID of the speaker.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/label:
    post:
      summary: 'Create label'
      operationId: createLabel
      description: 'Creates a label. Use the returned `id` in the `tracks` field of sessions.'
      parameters: []
      responses:
        201:
          description: 'Label created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: Technology
                  color: '#3B82F6'
                  order: 0
                  created_at: '2024-05-20 10:15:00'
                  updated_at: '2024-05-20 10:15:00'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: Technology
                  color:
                    type: string
                    example: '#3B82F6'
                  order:
                    type: integer
                    example: 0
                  created_at:
                    type: string
                    example: '2024-05-20 10:15:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:15:00'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The color field is required.'
                  errors:
                    color:
                      - 'The color field is required.'
                properties:
                  message:
                    type: string
                    example: 'The color field is required.'
                  errors:
                    type: object
                    properties:
                      color:
                        type: array
                        example:
                          - 'The color field is required.'
                        items:
                          type: string
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the label. Max 191 characters.'
                  example: Technology
                color:
                  type: string
                  description: 'Color of the label as a hex code.'
                  example: '#3B82F6'
                order:
                  type: integer
                  description: 'Position of the label in lists (0 = first). Defaults to the end of the list.'
                  example: 0
              required:
                - name
                - color
  '/public/api/v1/label/{track_id}':
    patch:
      summary: 'Update label'
      operationId: updateLabel
      description: 'Updates a label. `name` and `color` are required; `order` is kept when omitted.'
      parameters: []
      responses:
        200:
          description: 'Label updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  name: Technology
                  color: '#3B82F6'
                  order: 0
                  created_at: '2024-05-20 10:15:00'
                  updated_at: '2024-05-20 10:15:00'
                properties:
                  id:
                    type: integer
                    example: 1
                  name:
                    type: string
                    example: Technology
                  color:
                    type: string
                    example: '#3B82F6'
                  order:
                    type: integer
                    example: 0
                  created_at:
                    type: string
                    example: '2024-05-20 10:15:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:15:00'
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Track] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Track] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The color field is required.'
                  errors:
                    color:
                      - 'The color field is required.'
                properties:
                  message:
                    type: string
                    example: 'The color field is required.'
                  errors:
                    type: object
                    properties:
                      color:
                        type: array
                        example:
                          - 'The color field is required.'
                        items:
                          type: string
      tags:
        - Labels
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'Name of the label. Max 191 characters.'
                  example: Technology
                color:
                  type: string
                  description: 'Color of the label as a hex code.'
                  example: '#3B82F6'
                order:
                  type: integer
                  description: 'Position of the label in lists (0 = first). Unchanged when omitted.'
                  example: 0
              required:
                - name
                - color
    delete:
      summary: 'Delete label'
      operationId: deleteLabel
      description: 'Deletes a label and removes it from all sessions.'
      parameters: []
      responses:
        204:
          description: 'Label deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Track] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Track] 999'
      tags:
        - Labels
    parameters:
      -
        in: path
        name: track_id
        description: 'ID of the label.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/partner:
    post:
      summary: 'Create partner'
      operationId: createPartner
      description: 'Creates a partner. Provide `logo_url` to list it as a sponsor, `photo_url` (with `booth_number`) to list it as an exhibitor, or both. At least one of the two images is required. Sections of the detail page are managed separately with Update partner sections.'
      parameters: []
      responses:
        201:
          description: 'Partner created'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  company: 'Acme Corp'
                  description: 'Cloud infrastructure for event organizers.'
                  web: 'https://acme.example.com'
                  email: hello@acme.example.com
                  phone: '+1 555 0100'
                  address: '1 Market Street, San Francisco, CA'
                  code: p7q8r9
                  created_at: '2024-05-20 10:20:00'
                  updated_at: '2024-05-20 10:20:00'
                  sections: []
                  exhibitor: true
                  sponsor: true
                  exhibitor_info:
                    booth_number: A12
                    order: 0
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  sponsor_info:
                    order: 0
                    sponsor_category_id: null
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  logo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  photo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
                properties:
                  id:
                    type: integer
                    example: 1
                  company:
                    type: string
                    example: 'Acme Corp'
                  description:
                    type: string
                    example: 'Cloud infrastructure for event organizers.'
                  web:
                    type: string
                    example: 'https://acme.example.com'
                  email:
                    type: string
                    example: hello@acme.example.com
                  phone:
                    type: string
                    example: '+1 555 0100'
                  address:
                    type: string
                    example: '1 Market Street, San Francisco, CA'
                  code:
                    type: string
                    example: p7q8r9
                  created_at:
                    type: string
                    example: '2024-05-20 10:20:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:20:00'
                  sections:
                    type: array
                    example: []
                  exhibitor:
                    type: boolean
                    example: true
                  sponsor:
                    type: boolean
                    example: true
                  exhibitor_info:
                    type: object
                    properties:
                      booth_number:
                        type: string
                        example: A12
                      order:
                        type: integer
                        example: 0
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  sponsor_info:
                    type: object
                    properties:
                      order:
                        type: integer
                        example: 0
                      sponsor_category_id:
                        type: string
                        example: null
                        nullable: true
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  logo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  photo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  qr_code_url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
        403:
          description: "Partners are not available in the event's plan"
          content:
            application/json:
              schema:
                type: object
                example:
                  error: cannot_create_partner
                properties:
                  error:
                    type: string
                    example: cannot_create_partner
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The company field is required.'
                  errors:
                    company:
                      - 'The company field is required.'
                properties:
                  message:
                    type: string
                    example: 'The company field is required.'
                  errors:
                    type: object
                    properties:
                      company:
                        type: array
                        example:
                          - 'The company field is required.'
                        items:
                          type: string
      tags:
        - Partners
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: string
                  description: 'Name of the partner (company). Max 256 characters.'
                  example: 'Acme Corp'
                description:
                  type: string
                  description: 'Short description shown in the partner list and detail. URLs are turned into links automatically.'
                  example: 'Cloud infrastructure for event organizers.'
                logo_url:
                  type: string
                  description: 'URL of the logo image. The image is downloaded and stored. When set, the partner is listed as a **sponsor**. Required unless `photo_url` is given.'
                  example: 'https://acme.example.com/logo.png'
                photo_url:
                  type: string
                  description: 'URL of the photo/banner image. The image is downloaded and stored. When set, the partner is listed as an **exhibitor**. Required unless `logo_url` is given.'
                  example: 'https://acme.example.com/booth.jpg'
                booth_number:
                  type: string
                  description: 'Booth number of the exhibitor (shown with the `photo_url`). Max 191 characters.'
                  example: A12
                web:
                  type: string
                  description: 'Website URL. Max 512 characters.'
                  example: 'https://acme.example.com'
                email:
                  type: string
                  description: 'Contact email address. Max 256 characters.'
                  example: hello@acme.example.com
                phone:
                  type: string
                  description: 'Contact phone number. Max 32 characters.'
                  example: '+1 555 0100'
                address:
                  type: string
                  description: 'Postal address. Max 256 characters.'
                  example: '1 Market Street, San Francisco, CA'
              required:
                - company
  '/public/api/v1/partner/{partner_id}':
    patch:
      summary: 'Update partner'
      operationId: updatePartner
      description: "Replaces a partner's details. This is a full update: text fields that are omitted are cleared, and omitting `logo_url` removes the sponsor listing, omitting `photo_url` removes the exhibitor listing. Sections are not touched."
      parameters: []
      responses:
        200:
          description: 'Partner updated'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  company: 'Acme Corp'
                  description: 'Cloud infrastructure for event organizers.'
                  web: 'https://acme.example.com'
                  email: hello@acme.example.com
                  phone: '+1 555 0100'
                  address: '1 Market Street, San Francisco, CA'
                  code: p7q8r9
                  created_at: '2024-05-20 10:20:00'
                  updated_at: '2024-05-20 10:20:00'
                  sections: []
                  exhibitor: true
                  sponsor: true
                  exhibitor_info:
                    booth_number: A12
                    order: 0
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  sponsor_info:
                    order: 0
                    sponsor_category_id: null
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  logo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  photo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
                properties:
                  id:
                    type: integer
                    example: 1
                  company:
                    type: string
                    example: 'Acme Corp'
                  description:
                    type: string
                    example: 'Cloud infrastructure for event organizers.'
                  web:
                    type: string
                    example: 'https://acme.example.com'
                  email:
                    type: string
                    example: hello@acme.example.com
                  phone:
                    type: string
                    example: '+1 555 0100'
                  address:
                    type: string
                    example: '1 Market Street, San Francisco, CA'
                  code:
                    type: string
                    example: p7q8r9
                  created_at:
                    type: string
                    example: '2024-05-20 10:20:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:20:00'
                  sections:
                    type: array
                    example: []
                  exhibitor:
                    type: boolean
                    example: true
                  sponsor:
                    type: boolean
                    example: true
                  exhibitor_info:
                    type: object
                    properties:
                      booth_number:
                        type: string
                        example: A12
                      order:
                        type: integer
                        example: 0
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  sponsor_info:
                    type: object
                    properties:
                      order:
                        type: integer
                        example: 0
                      sponsor_category_id:
                        type: string
                        example: null
                        nullable: true
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  logo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  photo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  qr_code_url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Partner] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Partner] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The company field is required.'
                  errors:
                    company:
                      - 'The company field is required.'
                properties:
                  message:
                    type: string
                    example: 'The company field is required.'
                  errors:
                    type: object
                    properties:
                      company:
                        type: array
                        example:
                          - 'The company field is required.'
                        items:
                          type: string
      tags:
        - Partners
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                company:
                  type: string
                  description: 'Name of the partner (company). Max 256 characters.'
                  example: 'Acme Corp'
                description:
                  type: string
                  description: 'Short description shown in the partner list and detail. URLs are turned into links automatically.'
                  example: 'Cloud infrastructure for event organizers.'
                logo_url:
                  type: string
                  description: 'URL of the logo image. The image is downloaded and stored. When set, the partner is listed as a **sponsor**. Required unless `photo_url` is given.'
                  example: 'https://acme.example.com/logo.png'
                photo_url:
                  type: string
                  description: 'URL of the photo/banner image. The image is downloaded and stored. When set, the partner is listed as an **exhibitor**. Required unless `logo_url` is given.'
                  example: 'https://acme.example.com/booth.jpg'
                booth_number:
                  type: string
                  description: 'Booth number of the exhibitor (shown with the `photo_url`). Max 191 characters.'
                  example: A12
                web:
                  type: string
                  description: 'Website URL. Max 512 characters.'
                  example: 'https://acme.example.com'
                email:
                  type: string
                  description: 'Contact email address. Max 256 characters.'
                  example: hello@acme.example.com
                phone:
                  type: string
                  description: 'Contact phone number. Max 32 characters.'
                  example: '+1 555 0100'
                address:
                  type: string
                  description: 'Postal address. Max 256 characters.'
                  example: '1 Market Street, San Francisco, CA'
              required:
                - company
    delete:
      summary: 'Delete partner'
      operationId: deletePartner
      description: 'Deletes a partner including its sections.'
      parameters: []
      responses:
        204:
          description: 'Partner deleted'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Partner] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Partner] 999'
      tags:
        - Partners
    parameters:
      -
        in: path
        name: partner_id
        description: 'ID of the partner.'
        example: 1
        required: true
        schema:
          type: integer
  '/public/api/v1/partner/{partner_id}/sections':
    patch:
      summary: 'Update partner sections'
      operationId: updatePartnerSections
      description: "Replaces the sections of the partner's detail page. The order of the array is the display order. Existing sections are kept only when their `id` is included - sections not listed are deleted, entries without `id` are created. Send an empty `sections` array to remove all sections. Each section has a `type` and only the fields relevant to that type are used."
      parameters: []
      responses:
        200:
          description: "Partner with its sections. Each section's `data` is a JSON-encoded string with the fields of its type."
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 1
                  company: 'Acme Corp'
                  description: 'Cloud infrastructure for event organizers.'
                  web: 'https://acme.example.com'
                  email: hello@acme.example.com
                  phone: '+1 555 0100'
                  address: '1 Market Street, San Francisco, CA'
                  code: p7q8r9
                  created_at: '2024-05-20 10:20:00'
                  updated_at: '2024-05-20 10:30:00'
                  sections:
                    -
                      id: 10
                      type: 0
                      data: '{"title":"About Acme","align":"left"}'
                      order: 0
                    -
                      id: 11
                      type: 1
                      data: '{"html":"<p>We build cloud infrastructure for event organizers.</p>","align":"left"}'
                      order: 1
                    -
                      id: 12
                      type: 2
                      data: '{"urls":[{"text":"Product page","url":"https://acme.example.com/product"}]}'
                      order: 2
                    -
                      id: 13
                      type: 5
                      data: '{"facebook":"","twitter":"https://x.com/acme","linkedIn":"https://www.linkedin.com/company/acme","youtube":"","instagram":"","general":""}'
                      order: 3
                  exhibitor: true
                  sponsor: true
                  exhibitor_info:
                    booth_number: A12
                    order: 0
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  sponsor_info:
                    order: 0
                    sponsor_category_id: null
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                  logo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  photo:
                    id: 501
                    width: 1200
                    height: 800
                    type: photo
                    url: 'https://files.eventee.co/images/acme-logo.png'
                    thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                    giphy_id: null
                  qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
                properties:
                  id:
                    type: integer
                    example: 1
                  company:
                    type: string
                    example: 'Acme Corp'
                  description:
                    type: string
                    example: 'Cloud infrastructure for event organizers.'
                  web:
                    type: string
                    example: 'https://acme.example.com'
                  email:
                    type: string
                    example: hello@acme.example.com
                  phone:
                    type: string
                    example: '+1 555 0100'
                  address:
                    type: string
                    example: '1 Market Street, San Francisco, CA'
                  code:
                    type: string
                    example: p7q8r9
                  created_at:
                    type: string
                    example: '2024-05-20 10:20:00'
                  updated_at:
                    type: string
                    example: '2024-05-20 10:30:00'
                  sections:
                    type: array
                    example:
                      -
                        id: 10
                        type: 0
                        data: '{"title":"About Acme","align":"left"}'
                        order: 0
                      -
                        id: 11
                        type: 1
                        data: '{"html":"<p>We build cloud infrastructure for event organizers.</p>","align":"left"}'
                        order: 1
                      -
                        id: 12
                        type: 2
                        data: '{"urls":[{"text":"Product page","url":"https://acme.example.com/product"}]}'
                        order: 2
                      -
                        id: 13
                        type: 5
                        data: '{"facebook":"","twitter":"https://x.com/acme","linkedIn":"https://www.linkedin.com/company/acme","youtube":"","instagram":"","general":""}'
                        order: 3
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 10
                        type:
                          type: integer
                          example: 0
                        data:
                          type: string
                          example: '{"title":"About Acme","align":"left"}'
                        order:
                          type: integer
                          example: 0
                  exhibitor:
                    type: boolean
                    example: true
                  sponsor:
                    type: boolean
                    example: true
                  exhibitor_info:
                    type: object
                    properties:
                      booth_number:
                        type: string
                        example: A12
                      order:
                        type: integer
                        example: 0
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  sponsor_info:
                    type: object
                    properties:
                      order:
                        type: integer
                        example: 0
                      sponsor_category_id:
                        type: string
                        example: null
                        nullable: true
                      photo:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 501
                          width:
                            type: integer
                            example: 1200
                          height:
                            type: integer
                            example: 800
                          type:
                            type: string
                            example: photo
                          url:
                            type: string
                            example: 'https://files.eventee.co/images/acme-logo.png'
                          thumbnail:
                            type: string
                            example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                          giphy_id:
                            type: string
                            example: null
                            nullable: true
                  logo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  photo:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 501
                      width:
                        type: integer
                        example: 1200
                      height:
                        type: integer
                        example: 800
                      type:
                        type: string
                        example: photo
                      url:
                        type: string
                        example: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail:
                        type: string
                        example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id:
                        type: string
                        example: null
                        nullable: true
                  qr_code_url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
        403:
          description: 'The resource does not belong to the event of your token'
          content:
            application/json:
              schema:
                type: object
                example:
                  not_authorized: 'You are not authorized to do this step.'
                properties:
                  not_authorized:
                    type: string
                    example: 'You are not authorized to do this step.'
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\Partner] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\Partner] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The sections.0.type field is required.'
                  errors:
                    sections.0.type:
                      - 'The sections.0.type field is required.'
                properties:
                  message:
                    type: string
                    example: 'The sections.0.type field is required.'
                  errors:
                    type: object
                    properties:
                      sections.0.type:
                        type: array
                        example:
                          - 'The sections.0.type field is required.'
                        items:
                          type: string
      tags:
        - Partners
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                sections:
                  type: array
                  description: 'The complete list of sections, in display order.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      id:
                        type: integer
                        description: 'ID of an existing section to keep/update. Omit for a new section.'
                        example: 10
                      type:
                        type: integer
                        description: 'Type of the section: `0` = heading, `1` = HTML text, `2` = list of links, `3` = images, `4` = files, `5` = social links.'
                        example: 0
                        enum:
                          - 0
                          - 1
                          - 2
                          - 3
                          - 4
                          - 5
                      title:
                        type: string
                        description: 'Heading text. Type `0` only.'
                        example: 'About Acme'
                      align:
                        type: string
                        description: 'Text alignment for types `0` and `1`: `left`, `center` or `right`. Defaults to `left`.'
                        example: left
                        enum:
                          - left
                          - center
                          - right
                      html:
                        type: string
                        description: 'HTML content. Type `1` only.'
                        example: null
                      urls:
                        type: array
                        description: 'Links. Type `2` only.'
                        example:
                          - []
                        items:
                          type: object
                          properties:
                            text:
                              type: string
                              description: 'Link text.'
                              example: 'Product page'
                            url:
                              type: string
                              description: 'Link URL.'
                              example: 'https://acme.example.com/product'
                      images:
                        type: array
                        description: 'URLs of images to show. Type `3` only. The images are downloaded and stored.'
                        example: null
                        items:
                          type: string
                      files:
                        type: array
                        description: 'URLs of files to offer for download (for example PDFs). Type `4` only. The files are downloaded and stored.'
                        example: null
                        items:
                          type: string
                      facebook:
                        type: string
                        description: 'Facebook page URL. Type `5` only.'
                        example: null
                      twitter:
                        type: string
                        description: 'X (Twitter) profile URL. Type `5` only.'
                        example: null
                      linkedIn:
                        type: string
                        description: 'LinkedIn page URL. Type `5` only.'
                        example: null
                      youtube:
                        type: string
                        description: 'YouTube channel URL. Type `5` only.'
                        example: null
                      instagram:
                        type: string
                        description: 'Instagram profile URL. Type `5` only.'
                        example: null
                      general:
                        type: string
                        description: 'Any other website URL. Type `5` only.'
                        example: null
                    required:
                      - type
              required:
                - sections
    parameters:
      -
        in: path
        name: partner_id
        description: 'ID of the partner.'
        example: 1
        required: true
        schema:
          type: integer
  /public/api/v1/partners:
    get:
      summary: 'List partners'
      operationId: listPartners
      description: 'Returns all partners of the event with their sponsor/exhibitor details and sections.'
      parameters: []
      responses:
        200:
          description: 'Partners of the event'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 1
                    company:
                      type: string
                      example: 'Acme Corp'
                    description:
                      type: string
                      example: 'Cloud infrastructure for event organizers.'
                    web:
                      type: string
                      example: 'https://acme.example.com'
                    email:
                      type: string
                      example: hello@acme.example.com
                    phone:
                      type: string
                      example: '+1 555 0100'
                    address:
                      type: string
                      example: '1 Market Street, San Francisco, CA'
                    code:
                      type: string
                      example: p7q8r9
                    created_at:
                      type: string
                      example: '2024-05-20 10:20:00'
                    updated_at:
                      type: string
                      example: '2024-05-20 10:30:00'
                    sections:
                      type: array
                      example:
                        -
                          id: 10
                          type: 0
                          data: '{"title":"About Acme","align":"left"}'
                          order: 0
                        -
                          id: 11
                          type: 1
                          data: '{"html":"<p>We build cloud infrastructure for event organizers.</p>","align":"left"}'
                          order: 1
                        -
                          id: 12
                          type: 2
                          data: '{"urls":[{"text":"Product page","url":"https://acme.example.com/product"}]}'
                          order: 2
                        -
                          id: 13
                          type: 5
                          data: '{"facebook":"","twitter":"https://x.com/acme","linkedIn":"https://www.linkedin.com/company/acme","youtube":"","instagram":"","general":""}'
                          order: 3
                      items:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 10
                          type:
                            type: integer
                            example: 0
                          data:
                            type: string
                            example: '{"title":"About Acme","align":"left"}'
                          order:
                            type: integer
                            example: 0
                    exhibitor:
                      type: boolean
                      example: true
                    sponsor:
                      type: boolean
                      example: true
                    exhibitor_info:
                      type: object
                      properties:
                        booth_number:
                          type: string
                          example: A12
                        order:
                          type: integer
                          example: 0
                        photo:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 501
                            width:
                              type: integer
                              example: 1200
                            height:
                              type: integer
                              example: 800
                            type:
                              type: string
                              example: photo
                            url:
                              type: string
                              example: 'https://files.eventee.co/images/acme-logo.png'
                            thumbnail:
                              type: string
                              example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                            giphy_id:
                              type: string
                              example: null
                              nullable: true
                    sponsor_info:
                      type: object
                      properties:
                        order:
                          type: integer
                          example: 0
                        sponsor_category_id:
                          type: string
                          example: null
                          nullable: true
                        photo:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 501
                            width:
                              type: integer
                              example: 1200
                            height:
                              type: integer
                              example: 800
                            type:
                              type: string
                              example: photo
                            url:
                              type: string
                              example: 'https://files.eventee.co/images/acme-logo.png'
                            thumbnail:
                              type: string
                              example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                            giphy_id:
                              type: string
                              example: null
                              nullable: true
                    logo:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 501
                        width:
                          type: integer
                          example: 1200
                        height:
                          type: integer
                          example: 800
                        type:
                          type: string
                          example: photo
                        url:
                          type: string
                          example: 'https://files.eventee.co/images/acme-logo.png'
                        thumbnail:
                          type: string
                          example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                        giphy_id:
                          type: string
                          example: null
                          nullable: true
                    photo:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 501
                        width:
                          type: integer
                          example: 1200
                        height:
                          type: integer
                          example: 800
                        type:
                          type: string
                          example: photo
                        url:
                          type: string
                          example: 'https://files.eventee.co/images/acme-logo.png'
                        thumbnail:
                          type: string
                          example: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                        giphy_id:
                          type: string
                          example: null
                          nullable: true
                    qr_code_url:
                      type: string
                      example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
                example:
                  -
                    id: 1
                    company: 'Acme Corp'
                    description: 'Cloud infrastructure for event organizers.'
                    web: 'https://acme.example.com'
                    email: hello@acme.example.com
                    phone: '+1 555 0100'
                    address: '1 Market Street, San Francisco, CA'
                    code: p7q8r9
                    created_at: '2024-05-20 10:20:00'
                    updated_at: '2024-05-20 10:30:00'
                    sections:
                      -
                        id: 10
                        type: 0
                        data: '{"title":"About Acme","align":"left"}'
                        order: 0
                      -
                        id: 11
                        type: 1
                        data: '{"html":"<p>We build cloud infrastructure for event organizers.</p>","align":"left"}'
                        order: 1
                      -
                        id: 12
                        type: 2
                        data: '{"urls":[{"text":"Product page","url":"https://acme.example.com/product"}]}'
                        order: 2
                      -
                        id: 13
                        type: 5
                        data: '{"facebook":"","twitter":"https://x.com/acme","linkedIn":"https://www.linkedin.com/company/acme","youtube":"","instagram":"","general":""}'
                        order: 3
                    exhibitor: true
                    sponsor: true
                    exhibitor_info:
                      booth_number: A12
                      order: 0
                      photo:
                        id: 501
                        width: 1200
                        height: 800
                        type: photo
                        url: 'https://files.eventee.co/images/acme-logo.png'
                        thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                        giphy_id: null
                    sponsor_info:
                      order: 0
                      sponsor_category_id: null
                      photo:
                        id: 501
                        width: 1200
                        height: 800
                        type: photo
                        url: 'https://files.eventee.co/images/acme-logo.png'
                        thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                        giphy_id: null
                    logo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                    photo:
                      id: 501
                      width: 1200
                      height: 800
                      type: photo
                      url: 'https://files.eventee.co/images/acme-logo.png'
                      thumbnail: 'https://files.eventee.co/images/thumbnail/acme-logo.png'
                      giphy_id: null
                    qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/partner/p7q8r9'
      tags:
        - Partners
  /public/api/v1/attendee/invite:
    put:
      summary: 'Invite attendees'
      operationId: inviteAttendees
      description: 'Adds people to the event as attendees. People who already have an Eventee account are added directly, others get a profile that is linked once they sign up with the same email. Set `send_email` to send them an invitation email. The first 25 entries are processed immediately, the rest in the background. Entries that fail validation and people who are admins or moderators of the event are skipped silently.'
      parameters: []
      responses:
        200:
          description: "Invitations accepted. `url` is the event's join link and `qr_code` the URL of its QR code image."
          content:
            application/json:
              schema:
                type: object
                example:
                  url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23'
                  qr_code: 'https://files.eventee.co/images/qr/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23.png'
                properties:
                  url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23'
                  qr_code:
                    type: string
                    example: 'https://files.eventee.co/images/qr/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23.png'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The users.0.email field must be a valid email address.'
                  errors:
                    users.0.email:
                      - 'The users.0.email field must be a valid email address.'
                properties:
                  message:
                    type: string
                    example: 'The users.0.email field must be a valid email address.'
                  errors:
                    type: object
                    properties:
                      users.0.email:
                        type: array
                        example:
                          - 'The users.0.email field must be a valid email address.'
                        items:
                          type: string
      tags:
        - Attendees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                users:
                  type: array
                  description: 'The people to invite (at least one).'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      email:
                        type: string
                        description: 'Email address of the person. Max 191 characters.'
                        example: john.smith@example.com
                      first_name:
                        type: string
                        description: 'First name. Max 191 characters.'
                        example: John
                      last_name:
                        type: string
                        description: 'Last name. Max 191 characters.'
                        example: Smith
                      company:
                        type: string
                        description: 'Company. Max 128 characters.'
                        example: Globex
                      position:
                        type: string
                        description: 'Job title. Max 512 characters.'
                        example: 'Product Manager'
                      photo:
                        type: string
                        description: 'URL of the profile photo.'
                        example: null
                      phone:
                        type: string
                        description: 'Phone number. Max 32 characters.'
                        example: null
                      bio:
                        type: string
                        description: 'Short biography.'
                        example: null
                      web:
                        type: string
                        description: 'Website URL. Max 512 characters.'
                        example: null
                      facebook_link:
                        type: string
                        description: 'Facebook profile URL. Max 512 characters.'
                        example: null
                      twitter_link:
                        type: string
                        description: 'X (Twitter) profile URL. Max 512 characters.'
                        example: null
                      linked_in_link:
                        type: string
                        description: 'LinkedIn profile URL. Max 512 characters.'
                        example: null
                      group_id:
                        type: integer
                        description: 'ID of the attendee group to put the person into (see Groups). Groups of other events are ignored.'
                        example: 1
                      send_email:
                        type: boolean
                        description: 'Send an invitation email to the person. Defaults to `false`.'
                        example: true
                      tickets:
                        type: array
                        description: "Tickets of the person, shown in the app and usable for check-in. Replaces the person's existing tickets for this event."
                        example:
                          - []
                        items:
                          type: object
                          properties:
                            number:
                              type: string
                              description: 'Ticket number / code. Max 512 characters.'
                              example: TCK-0001
                            title:
                              type: string
                              description: 'Ticket name. Max 256 characters.'
                              example: Standard
                            type:
                              type: string
                              description: 'How the ticket number is displayed: `plain` text, `barcode` or `qr` code.'
                              example: qr
                              enum:
                                - plain
                                - barcode
                                - qr
                          required:
                            - number
                    required:
                      - email
              required:
                - users
  '/public/api/v1/attendee/{attendee_id}/checkin':
    patch:
      summary: 'Check in attendee'
      operationId: checkInAttendee
      description: 'Marks an attendee as checked in at the event (sets `checked_at` to now) or reverts the check-in. Use the `id` from List participants.'
      parameters: []
      responses:
        200:
          description: 'Attendee with the updated `checked_at`'
          content:
            application/json:
              schema:
                type: object
                example:
                  id: 7
                  email: john.smith@example.com
                  first_name: John
                  last_name: Smith
                  photo: null
                  thumbnail: null
                  company: Globex
                  position: 'Product Manager'
                  imported: false
                  anonymous: false
                  invited: true
                  email_valid: true
                  has_tickets: true
                  tickets_count: 1
                  group_id: 1
                  checked_at: '2024-06-01 08:45:12'
                  registered_at: '2024-05-21 08:00:00'
                  account_deleted: false
                properties:
                  id:
                    type: integer
                    example: 7
                  email:
                    type: string
                    example: john.smith@example.com
                  first_name:
                    type: string
                    example: John
                  last_name:
                    type: string
                    example: Smith
                  photo:
                    type: string
                    example: null
                    nullable: true
                  thumbnail:
                    type: string
                    example: null
                    nullable: true
                  company:
                    type: string
                    example: Globex
                  position:
                    type: string
                    example: 'Product Manager'
                  imported:
                    type: boolean
                    example: false
                  anonymous:
                    type: boolean
                    example: false
                  invited:
                    type: boolean
                    example: true
                  email_valid:
                    type: boolean
                    example: true
                  has_tickets:
                    type: boolean
                    example: true
                  tickets_count:
                    type: integer
                    example: 1
                  group_id:
                    type: integer
                    example: 1
                  checked_at:
                    type: string
                    example: '2024-06-01 08:45:12'
                  registered_at:
                    type: string
                    example: '2024-05-21 08:00:00'
                  account_deleted:
                    type: boolean
                    example: false
        400:
          description: 'The user is not a participant of the event'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: unable_to_checkin
                properties:
                  message:
                    type: string
                    example: unable_to_checkin
        404:
          description: 'No resource with this ID exists'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'No query results for model [Eventee\Models\User] 999'
                properties:
                  message:
                    type: string
                    example: 'No query results for model [Eventee\Models\User] 999'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The checkin field is required.'
                  errors:
                    checkin:
                      - 'The checkin field is required.'
                properties:
                  message:
                    type: string
                    example: 'The checkin field is required.'
                  errors:
                    type: object
                    properties:
                      checkin:
                        type: array
                        example:
                          - 'The checkin field is required.'
                        items:
                          type: string
      tags:
        - Attendees
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                checkin:
                  type: boolean
                  description: '`true` to check the attendee in, `false` to undo the check-in.'
                  example: true
              required:
                - checkin
    parameters:
      -
        in: path
        name: attendee_id
        description: 'ID of the attendee (the `id` from List participants).'
        example: 7
        required: true
        schema:
          type: integer
  /public/api/v1/participants:
    get:
      summary: 'List participants'
      operationId: listParticipants
      description: "Returns all participants of the event with their role, group, tickets and check-in time. `role` is `a` = admin, `m` = moderator, `l` = speaker, `e` = attendee. `url` is the participant's personal link (used for their QR code), `checked_at` is `null` until the participant is checked in. `email` is not always a valid address: anonymous participants and deleted accounts carry a placeholder that contains no `@` and cannot be contacted."
      parameters: []
      responses:
        200:
          description: 'Participants of the event'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 7
                    email:
                      type: string
                      example: john.smith@example.com
                    name:
                      type: string
                      example: 'John Smith'
                    first_name:
                      type: string
                      example: John
                    last_name:
                      type: string
                      example: Smith
                    company:
                      type: string
                      example: Globex
                    position:
                      type: string
                      example: 'Product Manager'
                    role:
                      type: string
                      example: e
                    group_id:
                      type: integer
                      example: 1
                    url:
                      type: string
                      example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/user/9c1f6a2e-5b3d-4c8e-a7f0-1e2d3c4b5a69'
                    tickets:
                      type: array
                      example:
                        -
                          number: TCK-0001
                          title: Standard
                          type: qr
                      items:
                        type: object
                        properties:
                          number:
                            type: string
                            example: TCK-0001
                          title:
                            type: string
                            example: Standard
                          type:
                            type: string
                            example: qr
                    checked_at:
                      type: string
                      example: '2024-06-01 08:45:12'
                    registered_at:
                      type: string
                      example: '2024-05-21 08:00:00'
                    account_deleted:
                      type: boolean
                      example: false
                example:
                  -
                    id: 7
                    email: john.smith@example.com
                    name: 'John Smith'
                    first_name: John
                    last_name: Smith
                    company: Globex
                    position: 'Product Manager'
                    role: e
                    group_id: 1
                    url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/user/9c1f6a2e-5b3d-4c8e-a7f0-1e2d3c4b5a69'
                    tickets:
                      -
                        number: TCK-0001
                        title: Standard
                        type: qr
                    checked_at: '2024-06-01 08:45:12'
                    registered_at: '2024-05-21 08:00:00'
                    account_deleted: false
      tags:
        - Attendees
  /public/api/v1/attendee:
    delete:
      summary: 'Remove attendee'
      operationId: removeAttendee
      description: 'Removes the person with the given email from the event: their participation, invitation and tickets for this event are deleted. Their Eventee account is not affected. Succeeds even when no attendee with that email exists.'
      parameters:
        -
          in: query
          name: email
          description: 'URL-encoded email address of the attendee.'
          example: john.smith%40example.com
          required: true
          schema:
            type: string
            description: 'URL-encoded email address of the attendee.'
            example: john.smith%40example.com
      responses:
        204:
          description: 'Attendee removed'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The email field is required.'
                  errors:
                    email:
                      - 'The email field is required.'
                properties:
                  message:
                    type: string
                    example: 'The email field is required.'
                  errors:
                    type: object
                    properties:
                      email:
                        type: array
                        example:
                          - 'The email field is required.'
                        items:
                          type: string
      tags:
        - Attendees
  /public/api/v1/registration/invite:
    put:
      summary: 'Create registrations'
      operationId: createRegistrations
      description: 'Pre-registers people for the event. An existing registration with the same email is updated instead of duplicated. Set `send_email` to notify the person by email. The first 25 entries are processed immediately, the rest in the background. Entries that fail validation are skipped silently.'
      parameters: []
      responses:
        200:
          description: "Registrations accepted. `url` is the event's join link and `qr_code` the URL of its QR code image."
          content:
            application/json:
              schema:
                type: object
                example:
                  url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23'
                  qr_code: 'https://files.eventee.co/images/qr/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23.png'
                properties:
                  url:
                    type: string
                    example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23'
                  qr_code:
                    type: string
                    example: 'https://files.eventee.co/images/qr/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23.png'
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The registrations.0.email field must be a valid email address.'
                  errors:
                    registrations.0.email:
                      - 'The registrations.0.email field must be a valid email address.'
                properties:
                  message:
                    type: string
                    example: 'The registrations.0.email field must be a valid email address.'
                  errors:
                    type: object
                    properties:
                      registrations.0.email:
                        type: array
                        example:
                          - 'The registrations.0.email field must be a valid email address.'
                        items:
                          type: string
      tags:
        - Registrations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                registrations:
                  type: array
                  description: 'The people to register (at least one).'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      email:
                        type: string
                        description: 'Email address of the person. Max 191 characters.'
                        example: john.smith@example.com
                      first_name:
                        type: string
                        description: 'First name. Max 191 characters.'
                        example: John
                      last_name:
                        type: string
                        description: 'Last name. Max 191 characters.'
                        example: Smith
                      company:
                        type: string
                        description: 'Company. Max 128 characters.'
                        example: Globex
                      position:
                        type: string
                        description: 'Job title. Max 512 characters.'
                        example: 'Product Manager'
                      photo:
                        type: string
                        description: 'URL of the profile photo.'
                        example: null
                      phone:
                        type: string
                        description: 'Phone number. Max 32 characters.'
                        example: null
                      bio:
                        type: string
                        description: 'Short biography.'
                        example: null
                      web:
                        type: string
                        description: 'Website URL. Max 512 characters.'
                        example: null
                      facebook_link:
                        type: string
                        description: 'Facebook profile URL. Max 512 characters.'
                        example: null
                      twitter_link:
                        type: string
                        description: 'X (Twitter) profile URL. Max 512 characters.'
                        example: null
                      linked_in_link:
                        type: string
                        description: 'LinkedIn profile URL. Max 512 characters.'
                        example: null
                      group_id:
                        type: integer
                        description: 'ID of the attendee group to put the person into (see Groups). Groups of other events are ignored.'
                        example: 1
                      send_email:
                        type: boolean
                        description: 'Send the registration email to the person. Defaults to `false`.'
                        example: true
                    required:
                      - email
              required:
                - registrations
  /public/api/v1/registrations:
    get:
      summary: 'List registrations'
      operationId: listRegistrations
      description: 'Returns all registrations of the event. `status` is `0` = pending, `1` = confirmed (attending), `2` = declined.'
      parameters: []
      responses:
        200:
          description: 'Registrations of the event'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 1
                    email:
                      type: string
                      example: john.smith@example.com
                    email_valid:
                      type: boolean
                      example: true
                    status:
                      type: integer
                      example: 0
                    first_name:
                      type: string
                      example: John
                    last_name:
                      type: string
                      example: Smith
                    photo:
                      type: string
                      example: null
                      nullable: true
                    phone:
                      type: string
                      example: ''
                    bio:
                      type: string
                      example: ''
                    web:
                      type: string
                      example: ''
                    facebook_link:
                      type: string
                      example: ''
                    twitter_link:
                      type: string
                      example: ''
                    linkedIn_link:
                      type: string
                      example: ''
                    position:
                      type: string
                      example: 'Product Manager'
                    company:
                      type: string
                      example: Globex
                    answer_histories:
                      type: array
                      example: []
                    group_id:
                      type: integer
                      example: 1
                    created_at:
                      type: string
                      example: '2024-05-21 08:00:00'
                    updated_at:
                      type: string
                      example: '2024-05-21 08:00:00'
                    form_id:
                      type: string
                      example: null
                      nullable: true
                    form_answers:
                      type: array
                      example: []
                    account_deleted:
                      type: boolean
                      example: false
                example:
                  -
                    id: 1
                    email: john.smith@example.com
                    email_valid: true
                    status: 0
                    first_name: John
                    last_name: Smith
                    photo: null
                    phone: ''
                    bio: ''
                    web: ''
                    facebook_link: ''
                    twitter_link: ''
                    linkedIn_link: ''
                    position: 'Product Manager'
                    company: Globex
                    answer_histories: []
                    group_id: 1
                    created_at: '2024-05-21 08:00:00'
                    updated_at: '2024-05-21 08:00:00'
                    form_id: null
                    form_answers: []
                    account_deleted: false
      tags:
        - Registrations
  /public/api/v1/registration:
    delete:
      summary: 'Remove registration'
      operationId: removeRegistration
      description: 'Deletes the registration with the given email address. Succeeds even when no such registration exists.'
      parameters:
        -
          in: query
          name: email
          description: 'URL-encoded email address of the registration.'
          example: john.smith%40example.com
          required: true
          schema:
            type: string
            description: 'URL-encoded email address of the registration.'
            example: john.smith%40example.com
      responses:
        204:
          description: 'Registration removed'
          content:
            application/json:
              schema:
                type: object
                nullable: true
        422:
          description: 'Validation failed'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The email field is required.'
                  errors:
                    email:
                      - 'The email field is required.'
                properties:
                  message:
                    type: string
                    example: 'The email field is required.'
                  errors:
                    type: object
                    properties:
                      email:
                        type: array
                        example:
                          - 'The email field is required.'
                        items:
                          type: string
      tags:
        - Registrations
  /public/api/v1/groups:
    get:
      summary: 'List groups'
      operationId: listGroups
      description: 'Returns the attendee groups of the event. The boolean fields tell which app features are enabled for the group, `ticket_names` lists the ticket names that put attendees into the group automatically, `is_default` marks the group new attendees join by default.'
      parameters: []
      responses:
        200:
          description: 'Groups of the event'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 1
                    name:
                      type: string
                      example: VIP
                    public_name:
                      type: string
                      example: 'VIP guests'
                    color:
                      type: string
                      example: '#FF5733'
                    emoji:
                      type: string
                      example: ⭐
                    agenda:
                      type: boolean
                      example: true
                    questions:
                      type: boolean
                      example: true
                    polling:
                      type: boolean
                      example: true
                    newsfeed:
                      type: boolean
                      example: true
                    networking:
                      type: boolean
                      example: true
                    session_ratings:
                      type: boolean
                      example: true
                    social_wall:
                      type: boolean
                      example: true
                    gamification:
                      type: boolean
                      example: true
                    ticket_names:
                      type: array
                      example:
                        - 'VIP Ticket'
                      items:
                        type: string
                    is_default:
                      type: boolean
                      example: false
                    notification_suffix:
                      type: string
                      example: ''
                    event_id:
                      type: integer
                      example: 42
                    created_at:
                      type: string
                      example: '2024-05-20 10:25:00'
                    updated_at:
                      type: string
                      example: '2024-05-20 10:25:00'
                    deleted_at:
                      type: string
                      example: null
                      nullable: true
                example:
                  -
                    id: 1
                    name: VIP
                    public_name: 'VIP guests'
                    color: '#FF5733'
                    emoji: ⭐
                    agenda: true
                    questions: true
                    polling: true
                    newsfeed: true
                    networking: true
                    session_ratings: true
                    social_wall: true
                    gamification: true
                    ticket_names:
                      - 'VIP Ticket'
                    is_default: false
                    notification_suffix: ''
                    event_id: 42
                    created_at: '2024-05-20 10:25:00'
                    updated_at: '2024-05-20 10:25:00'
                    deleted_at: null
      tags:
        - Groups
  /public/api/v1/reviews:
    get:
      summary: 'List reviews'
      operationId: listReviews
      description: "Returns all session ratings of the event. Each review includes the rated session as `lecture` and the reviewer's name and photo."
      parameters: []
      responses:
        200:
          description: 'Reviews of the event'
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                      example: 1
                    stars:
                      type: integer
                      example: 5
                    comment:
                      type: string
                      example: 'Excellent session, very practical.'
                    device:
                      type: string
                      example: 'iPhone 15'
                    OS:
                      type: string
                      example: 'iOS 17.5'
                    lecture_id:
                      type: integer
                      example: 1
                    user_id:
                      type: integer
                      example: 7
                    created_at:
                      type: string
                      example: '2024-06-01 10:05:00'
                    updated_at:
                      type: string
                      example: '2024-06-01 10:05:00'
                    username:
                      type: string
                      example: 'John Smith'
                    userphoto:
                      type: string
                      example: 'https://files.eventee.co/images/thumbnail/john-smith.jpg'
                    account_deleted:
                      type: boolean
                      example: false
                    lecture:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Opening Keynote'
                        description:
                          type: string
                          example: 'Welcome and overview of the day.'
                        start:
                          type: string
                          example: '2024-06-01 09:00:00'
                        end:
                          type: string
                          example: '2024-06-01 10:00:00'
                        event_day_id:
                          type: integer
                          example: 1
                        created_at:
                          type: string
                          example: '2024-05-20 10:05:00'
                        updated_at:
                          type: string
                          example: '2024-05-20 10:05:00'
                        discussion:
                          type: boolean
                          example: true
                        panel_discussion:
                          type: boolean
                          example: false
                        code:
                          type: string
                          example: a1b2c3
                        moderating:
                          type: boolean
                          example: false
                        polling:
                          type: boolean
                          example: true
                        checkin:
                          type: boolean
                          example: false
                        type:
                          type: integer
                          example: 0
                        mentoring:
                          type: boolean
                          example: false
                        hall_id:
                          type: integer
                          example: 1
                        speakers:
                          type: array
                          example:
                            - 1
                          items:
                            type: integer
                        files:
                          type: array
                          example: []
                        available:
                          type: integer
                          example: 0
                        booked:
                          type: boolean
                          example: false
                        capacity:
                          type: integer
                          example: 0
                        booking_info:
                          type: array
                          example: []
                        stream:
                          type: object
                          properties:
                            code:
                              type: string
                              example: k3j9d2xq
                            url:
                              type: string
                              example: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                            available:
                              type: boolean
                              example: false
                            is_live:
                              type: boolean
                              example: false
                            streamable_type:
                              type: string
                              example: Eventee\Models\Lecture
                            streamable_id:
                              type: integer
                              example: 1
                            created_at:
                              type: string
                              example: '2024-05-20 10:05:00'
                            updated_at:
                              type: string
                              example: '2024-05-20 10:05:00'
                            availability:
                              type: string
                              example: null
                              nullable: true
                            type:
                              type: string
                              example: youtube
                        virtual_meeting:
                          type: string
                          example: null
                          nullable: true
                        tracks:
                          type: array
                          example:
                            - 1
                          items:
                            type: integer
                        event_id:
                          type: integer
                          example: 42
                        qr_code_url:
                          type: string
                          example: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                        overlapping:
                          type: boolean
                          example: false
                        visible_in_groups:
                          type: array
                          example: []
                        mandatory_for_groups:
                          type: array
                          example: []
                        mandatory:
                          type: boolean
                          example: false
                example:
                  -
                    id: 1
                    stars: 5
                    comment: 'Excellent session, very practical.'
                    device: 'iPhone 15'
                    OS: 'iOS 17.5'
                    lecture_id: 1
                    user_id: 7
                    created_at: '2024-06-01 10:05:00'
                    updated_at: '2024-06-01 10:05:00'
                    username: 'John Smith'
                    userphoto: 'https://files.eventee.co/images/thumbnail/john-smith.jpg'
                    account_deleted: false
                    lecture:
                      id: 1
                      name: 'Opening Keynote'
                      description: 'Welcome and overview of the day.'
                      start: '2024-06-01 09:00:00'
                      end: '2024-06-01 10:00:00'
                      event_day_id: 1
                      created_at: '2024-05-20 10:05:00'
                      updated_at: '2024-05-20 10:05:00'
                      discussion: true
                      panel_discussion: false
                      code: a1b2c3
                      moderating: false
                      polling: true
                      checkin: false
                      type: 0
                      mentoring: false
                      hall_id: 1
                      speakers:
                        - 1
                      files: []
                      available: 0
                      booked: false
                      capacity: 0
                      booking_info: []
                      stream:
                        code: k3j9d2xq
                        url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
                        available: false
                        is_live: false
                        streamable_type: Eventee\Models\Lecture
                        streamable_id: 1
                        created_at: '2024-05-20 10:05:00'
                        updated_at: '2024-05-20 10:05:00'
                        availability: null
                        type: youtube
                      virtual_meeting: null
                      tracks:
                        - 1
                      event_id: 42
                      qr_code_url: 'https://app.eventee.co/event/3f2b1c9e-8d47-4e6a-9b0c-2d5e7f8a1b23/lecture/a1b2c3'
                      overlapping: false
                      visible_in_groups: []
                      mandatory_for_groups: []
                      mandatory: false
      tags:
        - Reviews
