Lokki Shop API

The Shop API from Lokki — 19 operation(s) for shop.

Operations 19

GET /v2/shop/{slug} #
GET /v2/shop/{slug}/items/verticales #
GET /v2/shop/{slug}/items/product-models #
GET /v2/shop/{slug}/items/{itemId} #
GET /v2/shop/{slug}/items/{itemId}/availability #
GET /v2/shop/{slug}/items #
GET /v2/shop/checkout/{cartId}/config Get checkout configuration for a cart #
POST /v2/shop/checkout/{cartId}/payment/stripe Initialize Stripe payment for a cart #
POST /v2/shop/checkout/{cartId}/payment/ancv Initialize ANCV payment for a cart #
POST /v2/shop/checkout/{cartId}/payment/ancv/confirm Confirm ANCV payment after manual authentication #
POST /v2/shop/checkout/{cartId}/payment/on-site Confirm order with pay-on-site payment or free orders #
GET /v2/shop/checkout/{cartId}/order Poll order creation status for a cart #
GET /v2/shop/checkout/{cartId}/customer/models List customer models available for a cart's company #
GET /v2/shop/checkout/{cartId}/promo-code/{code} Verify a promo code against a checkout cart #
GET /v2/shop/checkout/{cartId}/insurance #
GET /v2/shop/{slug}/items/{itemId}/suggestions #
GET /v2/shop/{slug}/suggestions #
GET /v2/shop/{slug}/contracts #
GET /v2/shop/{slug}/theme #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lokki-shop-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lokki-shop-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lokki Shop API
  description: The main API powering the Lokki Dashboard and Online Store
  version: '2.0'
  contact: {}
servers: []
security:
- x-access-token: []
tags:
- name: Shop
paths:
  /v2/shop/{slug}:
    get:
      operationId: getOneBookingStore
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: rentalPoint
        required: false
        in: query
        description: Slug of the rental point to get details for. If not provided, main store location is used.
        example: my-rental-point
        schema:
          type: string
      - name: preview
        required: false
        in: query
        description: If true, include unpublished stores (for preview mode)
        example: false
        schema:
          default: false
          type: boolean
      - name: context
        required: false
        in: query
        description: Context in which the store is being queried. RENTAL_PLACE (default) requires marketplace eligibility (rentalPlace access + active Stripe Express). ONLINE_STORE relaxes those requirements to allow BEL V1 companies that are not listed on the marketplace to still serve their store page.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreDto'
      tags:
      - Shop
  /v2/shop/{slug}/items/verticales:
    get:
      operationId: getShopItemsVerticales
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShopItemsVerticalesResponseDto'
      tags:
      - Shop
  /v2/shop/{slug}/items/product-models:
    get:
      operationId: getShopItemsProductModels
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetShopItemsProductModelsResponseDto'
      tags:
      - Shop
  /v2/shop/{slug}/items/{itemId}:
    get:
      operationId: getOneShopItem
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: itemId
        required: true
        in: path
        description: The ID of the item
        example: item-12345
        schema:
          type: string
      - name: ids
        required: false
        in: query
        description: Item IDs to retrieve
        example:
        - '1'
        - '2'
        - '3'
        schema:
          type: array
          items:
            type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: preview
        required: false
        in: query
        description: If true, include unpublished stores (for preview mode)
        example: false
        schema:
          default: false
          type: boolean
      - name: from
        required: false
        in: query
        description: Start date for filtering items (optional)
        example: '2025-09-26T10:00:00.000Z'
        schema:
          format: date-time
          type: string
      - name: to
        required: false
        in: query
        description: End date for filtering items (optional)
        example: '2025-10-31T14:30:00.000Z'
        schema:
          format: date-time
          type: string
      - name: verticale
        required: false
        in: query
        description: The large category of the item (e.g., BIKE, CAR, BOAT, etc.)
        example: BIKE
        schema:
          enum:
          - BIKE
          - ELECTRIC_BIKE
          - MOPED
          - MOTORCYCLE
          - CAR
          - SCOOTER
          - SKI
          - CLIMBING
          - SNOWSHOES
          - SURF
          - PADDLE
          - CANOE_KAYAK
          - BOAT
          - EVENT
          - MOTOCULTURE
          - TOOLING
          type: string
      - name: verticaleCategoryIds
        required: false
        in: query
        description: The precise category of the item (e.g., Mountain Bike, Road Bike, etc.)
        schema:
          type: array
          items:
            type: string
      - name: sortBy
        required: false
        in: query
        description: Sort by
        example: price_asc
        schema:
          enum:
          - relevance
          - price_asc
          - price_desc
          type: string
      - name: limit
        required: false
        in: query
        description: Limit of items to retrieve
        example: 10
        schema:
          type: number
      - name: skip
        required: false
        in: query
        description: Skip of items to retrieve
        example: 0
        schema:
          default: 0
          type: number
      - name: search
        required: false
        in: query
        description: Search term to filter items
        example: electric bike
        schema:
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StoreItemDto'
      tags:
      - Shop
  /v2/shop/{slug}/items/{itemId}/availability:
    get:
      operationId: getOneShopItemAvailability
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: itemId
        required: true
        in: path
        description: The ID of the item
        example: item-12345
        schema:
          type: string
      - name: from
        required: false
        in: query
        description: Start date for filtering items (optional)
        example: '2025-09-26T10:00:00.000Z'
        schema:
          format: date-time
          type: string
      - name: to
        required: false
        in: query
        description: End date for filtering items (optional)
        example: '2025-10-31T14:30:00.000Z'
        schema:
          format: date-time
          type: string
      - name: boundary
        required: false
        in: query
        description: Boundary for item availability. If it is a start type, the booking minimum duration will be taken into account. Default to start.
        example: start
        schema:
          default: start
          enum:
          - start
          - end
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemDailyAvailabilityDto'
      tags:
      - Shop
  /v2/shop/{slug}/items:
    get:
      operationId: getManyShopItems
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: ids
        required: false
        in: query
        description: Item IDs to retrieve
        example:
        - '1'
        - '2'
        - '3'
        schema:
          type: array
          items:
            type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: preview
        required: false
        in: query
        description: If true, include unpublished stores (for preview mode)
        example: false
        schema:
          default: false
          type: boolean
      - name: from
        required: false
        in: query
        description: Start date for filtering items (optional)
        example: '2025-09-26T10:00:00.000Z'
        schema:
          format: date-time
          type: string
      - name: to
        required: false
        in: query
        description: End date for filtering items (optional)
        example: '2025-10-31T14:30:00.000Z'
        schema:
          format: date-time
          type: string
      - name: verticale
        required: false
        in: query
        description: The large category of the item (e.g., BIKE, CAR, BOAT, etc.)
        example: BIKE
        schema:
          enum:
          - BIKE
          - ELECTRIC_BIKE
          - MOPED
          - MOTORCYCLE
          - CAR
          - SCOOTER
          - SKI
          - CLIMBING
          - SNOWSHOES
          - SURF
          - PADDLE
          - CANOE_KAYAK
          - BOAT
          - EVENT
          - MOTOCULTURE
          - TOOLING
          type: string
      - name: verticaleCategoryIds
        required: false
        in: query
        description: The precise category of the item (e.g., Mountain Bike, Road Bike, etc.)
        schema:
          type: array
          items:
            type: string
      - name: sortBy
        required: false
        in: query
        description: Sort by
        example: price_asc
        schema:
          enum:
          - relevance
          - price_asc
          - price_desc
          type: string
      - name: limit
        required: false
        in: query
        description: Limit of items to retrieve
        example: 10
        schema:
          type: number
      - name: skip
        required: false
        in: query
        description: Skip of items to retrieve
        example: 0
        schema:
          default: 0
          type: number
      - name: search
        required: false
        in: query
        description: Search term to filter items
        example: electric bike
        schema:
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoreItemDto'
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/config:
    get:
      operationId: shopCheckoutGetConfig
      summary: Get checkout configuration for a cart
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      - name: context
        required: true
        in: query
        description: Active store context — stamped on the cart on every call.
        schema:
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutConfigDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/payment/stripe:
    post:
      operationId: shopCheckoutInitStripePayment
      summary: Initialize Stripe payment for a cart
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutStripeResultDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/payment/ancv:
    post:
      operationId: shopCheckoutInitAncvPayment
      summary: Initialize ANCV payment for a cart
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AncvCheckoutResultDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/payment/ancv/confirm:
    post:
      operationId: shopCheckoutConfirmAncvPayment
      summary: Confirm ANCV payment after manual authentication
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmAncvPaymentBodyDto'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AncvPaymentResultDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/payment/on-site:
    post:
      operationId: shopCheckoutConfirmPayOnSite
      summary: Confirm order with pay-on-site payment or free orders
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      - name: context
        required: true
        in: query
        description: Active store context — stamped on the cart on every call.
        schema:
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmOrderResultDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/order:
    get:
      operationId: shopCheckoutPollOrder
      summary: Poll order creation status for a cart
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PollOrderResultDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/customer/models:
    get:
      operationId: shopCheckoutListCustomerModels
      summary: List customer models available for a cart's company
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomerModel'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/promo-code/{code}:
    get:
      operationId: shopCheckoutVerifyPromoCode
      summary: Verify a promo code against a checkout cart
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      - name: code
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PromoCodeDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/checkout/{cartId}/insurance:
    get:
      operationId: getItemsInsuranceInfo
      parameters:
      - name: x-session-id
        in: header
        description: Session ID for guest users
        required: false
        schema:
          type: string
      - name: cartId
        required: true
        in: path
        schema:
          type: string
      - name: productIds
        required: true
        in: query
        description: Product ids to get insurance info for
        schema:
          type: array
          items:
            type: string
      - name: startDate
        required: true
        in: query
        description: Start date of booking
        schema:
          type: string
      - name: endDate
        required: true
        in: query
        description: End date of booking
        schema:
          type: string
      - name: isLLD
        required: true
        in: query
        description: Is checkout in LLD context
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemsTulipInsuranceInfoDto'
      security:
      - bearer: []
      tags:
      - Shop
  /v2/shop/{slug}/items/{itemId}/suggestions:
    get:
      operationId: getOneItemSuggestions
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: itemId
        required: true
        in: path
        description: The ID of the item
        example: item-12345
        schema:
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: from
        required: false
        in: query
        description: Start date for filtering items (optional)
        example: '2025-09-26T10:00:00.000Z'
        schema:
          format: date-time
          type: string
      - name: to
        required: false
        in: query
        description: End date for filtering items (optional)
        example: '2025-10-31T14:30:00.000Z'
        schema:
          format: date-time
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      tags:
      - Shop
  /v2/shop/{slug}/suggestions:
    get:
      operationId: getCartSuggestions
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: from
        required: false
        in: query
        description: Start date for filtering items (optional)
        example: '2025-09-26T10:00:00.000Z'
        schema:
          format: date-time
          type: string
      - name: to
        required: false
        in: query
        description: End date for filtering items (optional)
        example: '2025-10-31T14:30:00.000Z'
        schema:
          format: date-time
          type: string
      - name: context
        required: false
        in: query
        description: Context in which items are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
      tags:
      - Shop
  /v2/shop/{slug}/contracts:
    get:
      operationId: getManyShopContracts
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      - name: lang
        required: true
        in: query
        description: Language for localized content
        example: fr
        schema:
          default: fr
          enum:
          - fr
          - en
          - nl
          - de
          - it
          - pt
          - es
          - pl
          type: string
      - name: context
        required: false
        in: query
        description: Context in which contracts are being queried. RENTAL_PLACE (default) requires marketplace eligibility. ONLINE_STORE relaxes those requirements for BEL V1 companies not listed on the marketplace.
        schema:
          default: RENTAL_PLACE
          enum:
          - RENTAL_PLACE
          - ONLINE_STORE
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractDto'
      tags:
      - Shop
  /v2/shop/{slug}/theme:
    get:
      operationId: getStoreTheme
      parameters:
      - name: slug
        required: true
        in: path
        description: The slug of the store
        example: my-store-slug
        schema:
          pattern: /^[a-z0-9-]+$/
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyTheme'
      tags:
      - Shop
components:
  schemas:
    ItemInfos:
      type: object
      properties:
        name:
          type: string
          description: Name of the item
          example: Mountain Bike X2000
        localizedName:
          description: Item name resolved per supported locale
          allOf:
          - $ref: '#/components/schemas/LocalizedContent'
        description:
          type: string
          description: Detailed localized description of the item
          example: A high-performance mountain bike suitable for all terrains.
      required:
      - name
      - description
    StoreBookingType:
      type: object
      properties:
        lcd:
          type: boolean
          description: Indicates if short-term rentals (LCD) are enabled
          example: true
        lld:
          type: boolean
          description: Indicates if long-term rentals (LLD) are enabled
          example: true
        event:
          type: boolean
          description: Indicates if events are enabled
          example: true
      required:
      - lcd
      - lld
      - event
    ItemPricingTableEntryDurationSpecific:
      type: object
      properties:
        type:
          type: string
          enum:
          - specific
        minutes:
          type: number
          description: Duration in minutes
          example: 1440
      required:
      - type
      - minutes
    StoreProductDto:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the item
          example: 61e7b8f9e4b0c8a1d4f3c2b1
        rentalType:
          enum:
          - LCD
          - LLD
          type: string
          description: The rental type of the item (Short-term or Long-term rental)
          example: LCD
        settings:
          description: Settings and configuration for the item
          allOf:
          - $ref: '#/components/schemas/ItemSettings'
        infos:
          description: Information about the item
          allOf:
          - $ref: '#/components/schemas/ItemInfos'
        category:
          description: Category information of the item
          allOf:
          - $ref: '#/components/schemas/ItemCategory'
        media:
          description: Media associated with the item
          allOf:
          - $ref: '#/components/schemas/ItemMedia'
        pricing:
          description: Pricing details of the item
          allOf:
          - $ref: '#/components/schemas/ItemPricing'
        time:
          description: Time range information and constraints for the item
          allOf:
          - $ref: '#/components/schemas/ItemTimeInfos'
        stock:
          description: Stock information of the item
          allOf:
          - $ref: '#/components/schemas/ItemStock'
        modules:
          description: Item module settings (insurance, etc.)
          allOf:
          - $ref: '#/components/schemas/ItemModules'
        type:
          type: string
          enum:
          - product
          - service
          - pack
          description: Type of the item
          example: product
      required:
      - id
      - rentalType
      - settings
      - infos
      - category
      - media
      - pricing
      - time
      - stock
      - modules
      - type
    StoreDeliveryFreeSettings:
      type: object
      properties:
        activated:
          type: boolean
          description: Indicates if free delivery is activated
          example: true
        type:
          enum:
          - MINUTES
          - SUBTOTAL
          type: string
          description: Type of condition for free delivery (either minimum minutes or subtotal amount)
          example: MINUTES
        value:
          type: number
          description: Value corresponding to the type (minutes or subtotal amount)
          example: 60
      required:
      - activated
      - type
      - value
    ItemPriceRule:
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        title:
          type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/PriceRule'
      required:
      - id
      - companyId
      - title
      - rules
    StoreModules:
      type: object
      properties:
        delivery:
          description: Delivery module settings
          allOf:
          - $ref: '#/components/schemas/StoreDelivery'
        onlinePayment:
          description: Online payment module settings
          allOf:
          - $ref: '#/components/schemas/StoreOnlinePayment'
        insurance:
          description: Insurance module settings
          allOf:
          - $ref: '#/components/schemas/StoreInsurance'
        multipleLocations:
          description: Multiple locations module settings
          allOf:
          - $ref: '#/components/schemas/StoreMultipleLocations'
        cancellation:
          description: Cancellation module settings
          allOf:
          - $ref: '#/components/schemas/StoreCancellation'
        rentalPlaceNetwork:
          description: Rental place network participation settings
          allOf:
          - $ref: '#/components/schemas/StoreRentalPlaceNetwork'
        stockVisibility:
          description: Stock visibility module settings
  

# --- truncated at 32 KB (108 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lokki/refs/heads/main/openapi/lokki-shop-api-openapi.yml