openapi: 3.0.3
info:
  title: Cut or Die Barbershop MOVA Card Projection
  version: 1.0.0
  description: >
    Generated semantic projection from the public MOVA Card for Cut or Die
    Barbershop. This file describes the public business surface only and does
    not imply that a live HTTP runtime already exists.
externalDocs:
  description: Public booking page
  url: https://booksy.com/pl-pl/196062_cut-or-die-barbershop_barber-shop_21808_straszyn#ba_s=seo
paths:
  /business:
    get:
      operationId: getBusinessProfile
      summary: Get public business profile
      responses:
        '200':
          description: Public business profile returned
  /services:
    get:
      operationId: listPublicServices
      summary: List public services observed on the business card
      responses:
        '200':
          description: Public services returned
  /actions/open-booking-link:
    get:
      operationId: getPublicBookingLink
      summary: Get the public booking link for the business
      description: >
        Returns the public third-party booking URL because the observable public
        surface exposes booking through a deep link rather than a direct public API.
      parameters:
        - name: serviceId
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Deep-link booking target returned
components:
  schemas:
    BookingLinkResponse:
      type: object
      additionalProperties: false
      required:
        - mode
        - actionType
        - url
      properties:
        mode:
          type: string
          enum:
            - DEEP_LINK
        actionType:
          type: string
          enum:
            - open_purchase_link
        url:
          type: string
          format: uri
        serviceId:
          type: string
