> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getlokki.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Many Stores



## OpenAPI

````yaml GET /v2/external/stores
openapi: 3.1.0
info:
  title: Lokki API
  description: API documentation for Lokki, a rental management application.
  license:
    name: MIT
  version: '2.0'
servers:
  - url: https://staging.api.eu-west-3.lokki.rent
  - url: https://prod.api.eu-west-3.getlokki.com
security:
  - x-access-token: []
paths:
  /v2/external/stores:
    get:
      operationId: external__getManyStores
      parameters:
        - name: skip
          required: false
          in: query
          description: Number of documents to skip
          schema:
            minimum: 0
            default: 0
            type: number
        - name: limit
          required: false
          in: query
          description: Maximum number of documents to return
          schema:
            minimum: 0
            maximum: 100
            default: 100
            type: number
        - name: sort
          required: false
          in: query
          schema:
            oneOf:
              - type: array
                items:
                  type: string
              - type: string
          description: >-
            Sort order for the results. Use '__asc' or '__desc' suffix to
            specify ascending or descending order respectively. Example:
            'name__asc'
        - name: fields
          required: false
          in: query
          schema:
            oneOf:
              - type: array
                items:
                  type: string
              - type: string
          description: Fields to include in the response
        - name: verticale.in
          required: false
          in: query
          schema:
            oneOf:
              - type: array
                items:
                  $ref: '#/components/schemas/CompanyVerticale'
              - type: '#/components/schemas/CompanyVerticale'
          description: Filter entries that match any of the specified values
        - name: verticale.notIn
          required: false
          in: query
          schema:
            oneOf:
              - type: array
                items:
                  $ref: '#/components/schemas/CompanyVerticale'
              - type: '#/components/schemas/CompanyVerticale'
          description: Filter entries that do not match any of the specified values
        - name: verticale.equals
          required: false
          in: query
          description: Filter entries that have a specific value
          schema:
            $ref: '#/components/schemas/CompanyVerticale'
        - name: verticale.notEquals
          required: false
          in: query
          description: Filter entries that do not have a specific value
          schema:
            $ref: '#/components/schemas/CompanyVerticale'
        - name: position.radius
          required: false
          in: query
          description: >-
            Radius in kilometers (max 50km). Optional, but if provided, latitude
            and longitude must also be provided.
          schema:
            minimum: 0
            maximum: 50
            type: number
        - name: position.latitude
          required: false
          in: query
          description: >-
            Latitude of the position. Optional, but if provided, longitude and
            radius must also be provided.
          schema:
            minimum: -90
            maximum: 90
            type: number
        - name: position.longitude
          required: false
          in: query
          description: >-
            Longitude of the position. Optional, but if provided, latitude and
            radius must also be provided.
          schema:
            minimum: -180
            maximum: 180
            type: number
        - name: lang
          required: false
          in: query
          description: Language for localized content
          example: fr
          schema:
            type: string
            enum:
              - fr
              - en
              - nl
              - de
              - it
              - pt
              - es
              - pl
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetManyStoresResponseDto'
components:
  schemas:
    CompanyVerticale:
      type: string
      enum:
        - BIKE
        - ELECTRIC_BIKE
        - MOPED
        - MOTORCYCLE
        - CAR
        - SCOOTER
        - SKI
        - CLIMBING
        - SNOWSHOES
        - SURF
        - PADDLE
        - CANOE_KAYAK
        - BOAT
        - EVENT
        - MOTOCULTURE
        - TOOLING
    GetManyStoresResponseDto:
      type: object
      properties:
        total:
          type: number
          description: Total number of documents matching the query
          minimum: 0
          example: 150
        docs:
          description: List of stores matching the query
          type: array
          items:
            $ref: '#/components/schemas/Deprecated_External_Store'
      required:
        - total
        - docs
    Deprecated_External_Store:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the booking store - MongoDB ObjectId
          example: 64b64c4f5f3c2a6d8e7f9b0a
        slug:
          type: string
          description: >-
            Unique identifier for the store. Used for URL paths (e.g.,
            https://www.lokki.rent/loueur/my-store)
          example: my-store
        rentalPointSlug:
          type: string
          description: >-
            Slug of the rental point to get details for. If not provided, main
            store location is used.
          example: my-rental-point
        profile:
          description: Store general profile information (name, description, verticales)
          allOf:
            - $ref: '#/components/schemas/StoreProfile'
        localization:
          description: >-
            Store localization information (current, default, available
            languages)
          allOf:
            - $ref: '#/components/schemas/StoreLocalization'
        contact:
          description: >-
            Store contact information (email, phone, website, social media,
            etc.)
          allOf:
            - $ref: '#/components/schemas/StoreContact'
        branding:
          description: Store branding information (banners, colors, etc.)
          allOf:
            - $ref: '#/components/schemas/StoreBranding'
        geo:
          description: Store geographical information (main and secondary locations)
          allOf:
            - $ref: '#/components/schemas/StoreGeo'
        modules:
          description: Store modules settings (delivery, online payment, insurance, etc.)
          allOf:
            - $ref: '#/components/schemas/StoreModules'
        reviews:
          description: Store reviews from external platforms (e.g., Google Reviews)
          allOf:
            - $ref: '#/components/schemas/StoreReviews'
        temporal:
          description: Store temporal settings (opening hours, timezone, etc.)
          allOf:
            - $ref: '#/components/schemas/StoreTemporal'
        pricing:
          description: Store pricing settings (currency, tax, discounts, etc.)
          allOf:
            - $ref: '#/components/schemas/StorePricing'
        booking:
          description: Booking settings
          allOf:
            - $ref: '#/components/schemas/StoreBookingSettings'
        metadata:
          description: Store technical metadata and timestamps
          allOf:
            - $ref: '#/components/schemas/StoreMetadata'
        name:
          type: string
          description: |-
            Name of the store.
            Deprecated, use `profile.name` instead.
          example: My Store
          deprecated: true
        logoURL:
          type: string
          description: |-
            URL to the store logo image
            Deprecated, use `branding.logoURL` instead.
          example: https://bucket-prod.getlokki.com/****+/logo.png
          deprecated: true
        bannerURL:
          description: |-
            URLs to the store banner images
            Deprecated, use `branding.banners.urls` instead.
          example:
            - https://bucket-prod.getlokki.com/****+/banner1.png
            - https://bucket-prod.getlokki.com/****+/banner2.png
          deprecated: true
          type: array
          items:
            type: string
        pageUrl:
          type: string
          description: >-
            Public URL for the online store page. UTM parameters may be appended
            for tracking.
          example: >-
            https://www.lokki.rent/loueur/my-store?utm_source=partner&utm_medium=social&utm_campaign=spring-sale
        currency:
          description: |-
            Currency used by the store
            Deprecated, use `pricing.currency` instead.
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/Deprecated_External_StoreCurrency'
        lat:
          type: number
          description: |-
            Latitude of the store location
            Deprecated, use `geo.location.point.lat` instead.
          example: 50.62925
          deprecated: true
        lng:
          type: number
          description: |-
            Longitude of the store location
            Deprecated, use `geo.location.point.lng` instead.
          example: 3.057256
          deprecated: true
        address:
          type: string
          description: |-
            Full address of the store
            Deprecated, use `geo.location.address` instead.
          example: 1 Place du Général de Gaulle, 59000 Lille, France
          deprecated: true
        addressComponents:
          description: |-
            Address components of the store
            Deprecated, use `geo.location.components` instead.
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/Deprecated_External_StoreAddressComponents'
        distance:
          type: number
          description: Distance from the queried location (in km)
          example: 5
        googleRating:
          type: number
          description: |-
            Google rating of the store
            Deprecated, use `reviews.google.rating` instead.
          example: 4.5
          deprecated: true
        googleReviewsNb:
          type: number
          description: |-
            Number of Google reviews for the store
            Deprecated, use `reviews.google.total` instead.
          example: 120
          deprecated: true
        verticales:
          type: array
          items:
            type: string
            enum:
              - BIKE
              - ELECTRIC_BIKE
              - MOPED
              - MOTORCYCLE
              - CAR
              - SCOOTER
              - SKI
              - CLIMBING
              - SNOWSHOES
              - SURF
              - PADDLE
              - CANOE_KAYAK
              - BOAT
              - EVENT
              - MOTOCULTURE
              - TOOLING
          description: |-
            Verticals associated with the store
            Deprecated, use `profile.verticales` instead.
          deprecated: true
      required:
        - id
        - slug
        - profile
        - localization
        - contact
        - branding
        - geo
        - modules
        - reviews
        - temporal
        - pricing
        - booking
        - metadata
        - name
        - logoURL
        - bannerURL
        - pageUrl
        - currency
        - lat
        - lng
        - address
        - addressComponents
        - googleRating
        - googleReviewsNb
        - verticales
    StoreProfile:
      type: object
      properties:
        name:
          type: string
          description: Store name
          example: Henri Corp
        description:
          type: string
          description: Store description in the requested language, or fallback to French
          example: >-
            Location de vélos entre particuliers. Louez un vélo près de chez
            vous, où que vous soyez en France.
        verticales:
          type: array
          items:
            type: string
            enum:
              - BIKE
              - ELECTRIC_BIKE
              - MOPED
              - MOTORCYCLE
              - CAR
              - SCOOTER
              - SKI
              - CLIMBING
              - SNOWSHOES
              - SURF
              - PADDLE
              - CANOE_KAYAK
              - BOAT
              - EVENT
              - MOTOCULTURE
              - TOOLING
          description: List of company verticales (sectors of activity)
          example:
            - BIKE
            - SCOOTER
      required:
        - name
        - description
        - verticales
    StoreLocalization:
      type: object
      properties:
        current:
          enum:
            - fr
            - en
            - nl
            - de
            - it
            - pt
            - es
            - pl
          type: string
          description: Language used in this response
          example: fr
        default:
          enum:
            - fr
            - en
            - nl
            - de
            - it
            - pt
            - es
            - pl
          type: string
          description: Default language of the store
          example: fr
        available:
          type: array
          items:
            type: string
            enum:
              - fr
              - en
              - nl
              - de
              - it
              - pt
              - es
              - pl
          description: List of available languages for the store
          example:
            - fr
            - en
      required:
        - current
        - default
        - available
    StoreContact:
      type: object
      properties:
        socialMedia:
          description: List of social media profiles for the store
          allOf:
            - $ref: '#/components/schemas/StoreContactSocialMedia'
      required:
        - socialMedia
    StoreBranding:
      type: object
      properties:
        logoURL:
          type: string
          description: Logo image URL for the online store
        banners:
          description: Banner images and settings for the online store
          allOf:
            - $ref: '#/components/schemas/StoreBrandingBanners'
      required:
        - logoURL
        - banners
    StoreGeo:
      type: object
      properties:
        location:
          nullable: true
          description: >-
            Queried location for the store (or main location if none queried).
            May be null if address display is disabled
          allOf:
            - $ref: '#/components/schemas/StoreLocation'
        locations:
          nullable: true
          description: >-
            List of rental point locations. May be null if none exist or address
            display is disabled
          type: array
          items:
            $ref: '#/components/schemas/StoreLocation'
      required:
        - location
        - locations
    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'
      required:
        - delivery
        - onlinePayment
        - insurance
        - multipleLocations
        - cancellation
    StoreReviews:
      type: object
      properties:
        google:
          nullable: true
          description: Google Reviews data
          allOf:
            - $ref: '#/components/schemas/StoreGoogleReviews'
      required:
        - google
    StoreTemporal:
      type: object
      properties:
        timezone:
          type: string
          description: Store timezone in IANA format (e.g., Europe/Paris)
          example: Europe/Paris
        schedule:
          description: Store opening hours and schedule
          allOf:
            - $ref: '#/components/schemas/StoreSchedule'
      required:
        - timezone
        - schedule
    StorePricing:
      type: object
      properties:
        currency:
          description: Store currency information
          allOf:
            - $ref: '#/components/schemas/StoreCurrency'
        tax:
          description: Store tax information
          allOf:
            - $ref: '#/components/schemas/StoreTax'
        discount:
          description: Store discount information
          allOf:
            - $ref: '#/components/schemas/StoreDiscount'
        showPricingTable:
          type: boolean
          description: >-
            Whether the store chooses to display the full pricing table (price
            per duration).
          example: true
      required:
        - currency
        - tax
        - discount
        - showPricingTable
    StoreBookingSettings:
      type: object
      properties:
        bookingType:
          description: Booking type settings
          allOf:
            - $ref: '#/components/schemas/StoreBookingType'
        instantBooking:
          description: Indicates if automatic online store booking is enabled
          allOf:
            - $ref: '#/components/schemas/StoreInstantBooking'
        fixedDurations:
          description: Predefined booking durations
          allOf:
            - $ref: '#/components/schemas/StoreBookingFixedDurations'
        rules:
          description: Booking rules and restrictions
          allOf:
            - $ref: '#/components/schemas/StoreBookingRules'
      required:
        - bookingType
        - instantBooking
        - fixedDurations
        - rules
    StoreMetadata:
      type: object
      properties:
        timestamps:
          description: Store lifecycle timestamps
          allOf:
            - $ref: '#/components/schemas/StoreTimestamps'
      required:
        - timestamps
    Deprecated_External_StoreCurrency:
      type: object
      properties:
        isoName:
          type: string
          description: |-
            Currency code in ISO 4217 format
            Deprecated, use `pricing.currency.isoName` instead.
          example: EUR
          deprecated: true
        symbol:
          type: string
          description: |-
            Currency symbol
            Deprecated, use `pricing.currency.symbol` instead.
          example: €
          deprecated: true
      required:
        - isoName
        - symbol
    Deprecated_External_StoreAddressComponents:
      type: object
      properties:
        administrativeAreaLevel1:
          type: string
          description: >-
            State, province, or region

            Deprecated, use `geo.location.components.administrativeAreaLevel1`
            instead.
          example: Hauts-de-France
          deprecated: true
        administrativeAreaLevel2:
          type: string
          description: >-
            County or district

            Deprecated, use `geo.location.components.administrativeAreaLevel2`
            instead.
          example: Nord
          deprecated: true
        city:
          type: string
          description: |-
            City
            Deprecated, use `geo.location.components.city` instead.
          example: Lille
          deprecated: true
        country:
          type: string
          description: |-
            Country
            Deprecated, use `geo.location.components.country` instead.
          example: France
          deprecated: true
        placeId:
          type: string
          description: |-
            Google Place ID
            Deprecated, use `geo.location.placeId` instead.
          example: ChIJCSaqfIjVwkcRhvxuup4tznk
          deprecated: true
        postalCode:
          type: string
          description: |-
            Postal code
            Deprecated, use `geo.location.components.postalCode` instead.
          example: '59000'
          deprecated: true
        street:
          type: string
          description: |-
            Route or street name
            Deprecated, use `geo.location.components.street` instead.
          example: Place du Général de Gaulle
          deprecated: true
        streetNumber:
          type: string
          description: |-
            Street number
            Deprecated, use `geo.location.components.streetNumber` instead.
          example: '1'
          deprecated: true
      required:
        - administrativeAreaLevel1
        - administrativeAreaLevel2
        - city
        - country
        - placeId
        - postalCode
        - street
        - streetNumber
    StoreContactSocialMedia:
      type: object
      properties:
        facebook:
          type: string
          nullable: true
          description: Facebook profile URL
          example: https://www.facebook.com/henricorp
        twitter:
          type: string
          nullable: true
          description: Twitter profile URL
          example: https://www.twitter.com/henricorp
        instagram:
          type: string
          nullable: true
          description: Instagram profile URL
          example: https://www.instagram.com/henricorp
        linkedIn:
          type: string
          nullable: true
          description: LinkedIn profile URL
          example: https://www.linkedin.com/company/henricorp
        tiktok:
          type: string
          nullable: true
          description: TikTok profile URL
          example: https://www.tiktok.com/@henricorp
      required:
        - facebook
        - twitter
        - instagram
        - linkedIn
        - tiktok
    StoreBrandingBanners:
      type: object
      properties:
        urls:
          description: List of banner image URLs
          type: array
          items:
            type: string
        scrollTime:
          type: number
          description: Time each banner is displayed before transitioning to the next one
          example: 5
      required:
        - urls
        - scrollTime
    StoreLocation:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the secondary location
          example: 64b64c4f5f3c2a6d8e7f9b0b
        name:
          type: string
          description: Name of the secondary location
          example: Point de retrait - Gare de Lyon
        slug:
          type: string
          description: >-
            Unique slug for the secondary location, used in URLs
            (https://www.lokki.rent/loueur/my-store/magasin/my-location)
          example: my-location
        address:
          type: string
          description: Full address as a single string
          example: 4 Rue du Commandant Rivière, 75008 Paris, France
        placeId:
          type: string
          description: Google Place ID for the location
          example: ChIJLU7jZClu5kcR4PcOOO6p3I0
        components:
          description: Detailed address components
          allOf:
            - $ref: '#/components/schemas/AddressComponents'
        canonicalComponents:
          description: Detailed address components, normalized in english
          allOf:
            - $ref: '#/components/schemas/AddressComponents'
        point:
          description: Geographical point (latitude and longitude)
          allOf:
            - $ref: '#/components/schemas/StoreLocationPoint'
      required:
        - id
        - name
        - slug
        - address
        - placeId
        - components
        - canonicalComponents
        - point
    StoreDelivery:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if delivery is enabled for this store
          example: true
        deliveryOnly:
          type: boolean
          description: Indicates if only delivery is allowed for this store
          example: false
        ranges:
          description: List of delivery ranges for this store
          type: array
          items:
            $ref: '#/components/schemas/StoreDeliveryRange'
        excludedCities:
          description: List of cities excluded from delivery
          type: array
          items:
            $ref: '#/components/schemas/StoreDeliveryRangeSpecificPriceCity'
        freeDelivery:
          description: Free delivery settings for this store
          allOf:
            - $ref: '#/components/schemas/StoreDeliveryFreeSettings'
      required:
        - enabled
        - deliveryOnly
        - ranges
        - excludedCities
        - freeDelivery
    StoreOnlinePayment:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if online payment is enabled for this store
          example: true
        provider:
          type: string
          enum:
            - STRIPE
          description: Online payment provider for this store
          example: STRIPE
        methods:
          description: Available payment methods for the online store
          allOf:
            - $ref: '#/components/schemas/StoreOnlinePaymentMethods'
      required:
        - enabled
        - provider
        - methods
    StoreInsurance:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if insurance is enabled for this store
          example: true
        provider:
          type: string
          enum:
            - TULIP
          description: Insurance provider for this store
          example: TULIP
        details:
          description: Detailed settings for the insurance provider
          allOf:
            - $ref: '#/components/schemas/StoreInsuranceTulipDetails'
      required:
        - enabled
        - provider
        - details
    StoreMultipleLocations:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if multiple locations are enabled for this store
          example: true
        dropoffRule:
          enum:
            - SAME
            - DIFFERENT
          type: string
          description: >-
            Controls whether the user can drop-off the products in a different
            rental point
          example: DIFFERENT
      required:
        - enabled
        - dropoffRule
    StoreCancellation:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if the cancellation module is enabled for this store
          example: true
        ranges:
          description: List of cancellation ranges and their refund policies
          type: array
          items:
            $ref: '#/components/schemas/StoreCancellationRange'
      required:
        - enabled
        - ranges
    StoreGoogleReviews:
      type: object
      properties:
        rating:
          type: number
          description: Average rating from Google Reviews (out of 5)
          example: 4.5
        total:
          type: number
          description: Total number of Google Reviews
          example: 120
        placeId:
          type: string
          description: Google Place ID associated with the reviews
          example: ChIJLU7jZClu5kcR4PcOOO6p3I0
        reviews:
          description: List of individual Google Reviews
          type: array
          items:
            $ref: '#/components/schemas/StoreGoogleReview'
        mapsUrl:
          type: string
          description: URL to the Google Maps page for the store
          example: https://maps.google.com/?cid=1234567890123456789
        updatedAt:
          format: date-time
          type: string
          description: Date when the Google Reviews were last updated
          example: '2024-11-01T12:00:00.000Z'
      required:
        - rating
        - total
        - placeId
        - reviews
        - mapsUrl
        - updatedAt
    StoreSchedule:
      type: object
      properties:
        openingHours:
          description: List of regular opening hours
          type: array
          items:
            $ref: '#/components/schemas/StoreOpeningHours'
        openingHoursLowSeason:
          description: List of opening hours for the low season
          type: array
          items:
            $ref: '#/components/schemas/StoreOpeningHours'
        lowSeasonRanges:
          description: List of date ranges for the low season
          type: array
          items:
            $ref: '#/components/schemas/StoreDateRange'
        closedRanges:
          description: List of date ranges when the store is closed
          type: array
          items:
            $ref: '#/components/schemas/StoreDateRange'
      required:
        - openingHours
        - openingHoursLowSeason
        - lowSeasonRanges
        - closedRanges
    StoreCurrency:
      type: object
      properties:
        isoCode:
          type: string
          description: Currency code in ISO 4217 format
          example: EUR
        symbol:
          type: string
          description: Currency symbol
          example: €
      required:
        - isoCode
        - symbol
    StoreTax:
      type: object
      properties:
        type:
          enum:
            - INCLUSIVE
            - EXCLUSIVE
          type: string
          description: Type of tax applied to prices (inclusive or exclusive of tax)
          example: INCLUSIVE
        value:
          type: number
          description: Tax percentage applied to prices
          example: 20
        name:
          type: string
          description: Name of the tax (e.g., VAT)
          example: TVA
      required:
        - type
        - value
        - name
    StoreDiscount:
      type: object
      properties:
        globalDiscounts:
          description: List of global discounts applicable to the store
          type: array
          items:
            $ref: '#/components/schemas/StoreGlobalDiscount'
        categoryDiscounts:
          description: List of category-specific discounts applicable to the store
          type: array
          items:
            $ref: '#/components/schemas/StoreCategoryDiscount'
      required:
        - globalDiscounts
        - categoryDiscounts
    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
    StoreInstantBooking:
      type: object
      properties:
        lcd:
          type: boolean
          description: >-
            Indicates if automatic online store booking is enabled for
            short-term rentals
          example: true
        lld:
          type: boolean
          description: >-
            Indicates if automatic online store booking is enabled for long-term
            rentals
          example: true
      required:
        - lcd
        - lld
    StoreBookingFixedDurations:
      type: object
      properties:
        enabled:
          type: boolean
          description: Indicates if predefined booking durations are enabled
          example: true
        durations:
          description: List of predefined booking durations
          type: array
          items:
            $ref: '#/components/schemas/StoreBookingFixedDuration'
      required:
        - enabled
        - durations
    StoreBookingRules:
      type: object
      properties:
        timeAnchors:
          description: Allowed booking times (e.g., specific time slots)
          allOf:
            - $ref: '#/components/schemas/StoreBookingTimeAnchorsRule'
        leadTime:
          description: Lead time required before a booking can be made
          allOf:
            - $ref: '#/components/schemas/StoreBookingLeadTimeRule'
        duration:
          description: Minimum and maximum booking durations
          allOf:
            - $ref: '#/components/schemas/StoreBookingDurationRule'
      required:
        - timeAnchors
        - leadTime
        - duration
    StoreTimestamps:
      type: object
      properties:
        createdAt:
          format: date-time
          type: string
          description: Date when the store was created
          example: '2024-10-15T10:30:00.000Z'
      required:
        - createdAt
    AddressComponents:
      type: object
      properties:
        streetNumber:
          type: string
          description: Street number
          example: '4'
        street:
          type: string
          description: Street name
          example: Rue du Commandant Rivière
        postalCode:
          type: string
          description: Postal code
          example: '75008'
        city:
          type: string
          description: City name
          example: Paris
        administrativeAreaLevel1:
          type: string
          description: Administrative area level 1 (e.g. state or province)
          example: Île-de-France
        administrativeAreaLevel2:
          type: string
          description: Administrative area level 2 (e.g. city or district)
          example: Paris
        country:
          type: string
          description: Country name
          example: France
      required:
        - streetNumber
        - street
        - postalCode
        - city
        - administrativeAreaLevel1
        - administrativeAreaLevel2
        - country
    StoreLocationPoint:
      type: object
      properties:
        lat:
          type: number
          description: Latitude of the location
          example: 48.8728361
        lng:
          type: number
          description: Longitude of the location
          example: 2.3094988
      required:
        - lat
        - lng
    StoreDeliveryRange:
      type: object
      properties:
        min:
          type: number
          description: Minimum distance for this delivery range, in kilometers
          example: 0
        max:
          type: number
          description: Maximum distance for this delivery range, in kilometers
          example: 5
        price:
          type: number
          description: Base price for deliveries within this range
          example: 10
        specificPrices:
          description: List of specific prices for certain cities within this range
          type: array
          items:
            $ref: '#/components/schemas/StoreDeliveryRangeSpecificPrice'
      required:
        - min
        - max
        - price
        - specificPrices
    StoreDeliveryRangeSpecificPriceCity:
      type: object
      properties:
        cityName:
          type: string
          description: Name of the city
          example: Paris
        sublocalityName:
          type: string
          description: Name of the sublocality (e.g., neighborhood or district)
          example: Batignolles
        zipCode:
          type: string
          description: Postal code
          example: '75017'
        placeId:
          type: string
          description: Google Place ID for the city
          example: ChIJD7fiBh9u5kcRYJSMaMOCCwQ
        hasMultiplePostcodeLocalities:
          type: boolean
          description: Indicates if the city has multiple postal code localities
          example: false
      required:
        - cityName
        - sublocalityName
        - zipCode
        - placeId
        - hasMultiplePostcodeLocalities
    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
    StoreOnlinePaymentMethods:
      type: object
      properties:
        card:
          type: boolean
          description: Credit card enabled
          example: true
        applePay:
          type: boolean
          description: Apple Pay enabled
          example: true
        googlePay:
          type: boolean
          description: Google Pay enabled
          example: true
        ancvConnect:
          type: boolean
          description: ANCV Connect enabled
          example: false
        sepa:
          type: boolean
          description: SEPA enabled
          example: false
        ideal:
          type: boolean
          description: iDEAL enabled
          example: false
        bancontact:
          type: boolean
          description: Bancontact enabled
          example: false
        giroPay:
          type: boolean
          description: Giropay enabled
          example: false
        p24:
          type: boolean
          description: Przelewy24 enabled
          example: false
        blik:
          type: boolean
          description: BLIK enabled
          example: false
        multibanco:
          type: boolean
          description: Multibanco enabled
          example: false
        eps:
          type: boolean
          description: EPS enabled
          example: false
      required:
        - card
        - applePay
        - googlePay
        - ancvConnect
        - sepa
        - ideal
        - bancontact
        - giroPay
        - p24
        - blik
        - multibanco
        - eps
    StoreInsuranceTulipDetails:
      type: object
      properties:
        provider:
          type: string
          enum:
            - TULIP
        status:
          enum:
            - 'off'
            - on_inclusion_hidden
            - on_inclusion
            - on_option
            - with_assurance
          type: string
          description: Tulip insurance status for the store
          example: on_inclusion
      required:
        - provider
        - status
    StoreCancellationRange:
      type: object
      properties:
        hourThreshold:
          type: number
          description: >-
            Threshold in hours before the booking start time for this
            cancellation range. (e.g. 48 means cancellations made more than 48
            hours before start)
          example: 48
        refundType:
          enum:
            - PERCENTAGE
            - AMOUNT
          type: string
          description: Type of refund for this cancellation range
          example: PERCENTAGE
        refundAmount:
          type: number
          description: Refund amount for this cancellation range
          example: 50
      required:
        - hourThreshold
        - refundType
        - refundAmount
    StoreGoogleReview:
      type: object
      properties:
        author:
          description: Author information of the Google Review
          allOf:
            - $ref: '#/components/schemas/StoreGoogleReviewAuthor'
        comment:
          type: string
          description: Comment text of the Google Review
          example: Great service and friendly staff!
        rating:
          type: number
          description: Rating given in the Google Review (out of 5)
          example: 5
        publishTime:
          format: date-time
          type: string
          description: Date when the Google Review was published
          example: '2024-10-15T10:30:00.000Z'
      required:
        - author
        - comment
        - rating
        - publishTime
    StoreOpeningHours:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the opening hours entry
          example: 64b64c4f5f3c2a6d8e7f9b0c
        day:
          enum:
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '*'
          type: string
          description: >-
            Day of the week these opening hours apply to (0=Sunday, 1=Monday,
            ..., 6=Saturday, *=Every day)
          example: '1'
        from:
          type: string
          description: Opening time in "HH:mm" format (24-hour clock)
          example: '09:00'
        to:
          type: string
          description: Closing time in "HH:mm" format (24-hour clock)
          example: '18:00'
        open:
          type: boolean
          description: Indicates if the store is open during this time range
          example: true
      required:
        - id
        - day
        - from
        - to
        - open
    StoreDateRange:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the date range
          example: 64b64c4f5f3c2a6d8e7f9b0d
        from:
          format: date-time
          type: string
          description: Start date of the range (inclusive)
          example: '2024-12-01T00:00:00.000Z'
        to:
          format: date-time
          type: string
          description: End date of the range (inclusive)
          example: '2024-12-31T23:59:59.999Z'
      required:
        - id
        - from
        - to
    StoreGlobalDiscount:
      type: object
      properties:
        percentage:
          type: number
          description: Percentage value of the discount
          example: '10.0'
        from:
          format: date-time
          type: string
          nullable: true
          description: Start date of the discount period (null if always applicable)
          example: '2024-12-01T00:00:00.000Z'
        to:
          format: date-time
          type: string
          nullable: true
          description: End date of the discount period (null if always applicable)
          example: '2024-12-31T23:59:59.999Z'
        applicableDate:
          enum:
            - CREATED_DATE
            - START_DATE
          type: string
          description: >-
            Whether the discount applies on the start date of the booking or
            when the booking is made
          example: START_DATE
      required:
        - percentage
        - from
        - to
        - applicableDate
    StoreCategoryDiscount:
      type: object
      properties:
        itemCategoryIds:
          description: Categories of items to which the discount applies
          type: array
          items:
            type: string
        rules:
          description: List of discount rules for the category
          type: array
          items:
            $ref: '#/components/schemas/CompanyCategoryDiscountRange'
      required:
        - itemCategoryIds
        - rules
    StoreBookingFixedDuration:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the predefined booking duration
          example: 64b64c4f5f3c2a6d8e7f9b0e
        minutes:
          type: number
          description: Predefined booking duration in minutes
          example: 60
        hours:
          type: number
          description: Predefined booking duration in hours
          example: 1
        label:
          type: string
          description: Label for the predefined booking duration
          example: 1 hour
      required:
        - id
        - minutes
        - hours
        - label
    StoreBookingTimeAnchorsRule:
      type: object
      properties:
        startTimes:
          description: List of allowed booking start times (e.g., specific time slots)
          type: array
          items:
            $ref: '#/components/schemas/StoreBookingTimeAnchorTime'
        endTimes:
          description: List of allowed booking end times (e.g., specific time slots)
          type: array
          items:
            $ref: '#/components/schemas/StoreBookingTimeAnchorTime'
      required:
        - startTimes
        - endTimes
    StoreBookingLeadTimeRule:
      type: object
      properties:
        minHours:
          type: number
          description: Minimum lead time required before a booking can be made, in hours
          example: 2
      required:
        - minHours
    StoreBookingDurationRule:
      type: object
      properties:
        minHours:
          type: number
          nullable: true
          description: Minimum booking duration in hours, null if no minimum
          example: 1
        maxHours:
          type: number
          nullable: true
          description: Maximum booking duration in hours, null if no maximum
          example: 24
      required:
        - minHours
        - maxHours
    StoreDeliveryRangeSpecificPrice:
      type: object
      properties:
        price:
          type: number
          description: Price for delivery to the specified cities
          example: 5
        cities:
          description: List of cities with specific delivery prices
          type: array
          items:
            $ref: '#/components/schemas/StoreDeliveryRangeSpecificPriceCity'
      required:
        - price
        - cities
    StoreGoogleReviewAuthor:
      type: object
      properties:
        name:
          type: string
          description: Author name of the Google Review
          example: John Doe
        profilePictureUrl:
          type: string
          description: Profile picture URL of the Google Review author
          example: https://example.com/profile.jpg
      required:
        - name
        - profilePictureUrl
    CompanyCategoryDiscountRange:
      type: object
      properties:
        discount:
          type: number
          description: Discount value for the range
        discountType:
          enum:
            - AMOUNT
            - PERCENTAGE
          type: string
          description: Type of discount applied (amount or percentage)
        rangeFrom:
          type: number
          description: Minimum value of the range (Quantity of items)
        rangeTo:
          type: number
          description: Maximum value of the range (Quantity of items)
        infiniteTo:
          type: boolean
          description: Indicates if the range has no upper limit
      required:
        - discount
        - discountType
        - rangeFrom
        - rangeTo
        - infiniteTo
    StoreBookingTimeAnchorTime:
      type: object
      properties:
        hours:
          type: number
          description: Hours of the time anchor
          example: 9
        minutes:
          type: number
          description: Minutes of the time anchor
          example: 30
      required:
        - hours
        - minutes
  securitySchemes:
    x-access-token:
      type: apiKey
      in: header
      name: x-access-token

````