openapi: 3.0.3
info:
  title: 'TuckerFox Mock API Documentation'
  description: 'API documentation for TuckerFox - a Laravel application'
  version: 1.0.0
servers:
  -
    url: 'https://tuckerfox.fmstech.com.tr'
paths:
  /api/v1/companies:
    get:
      summary: 'List Companies'
      operationId: listCompanies
      description: 'Get a list of all registered companies.'
      parameters:
        -
          in: query
          name: search
          description: 'The search term.'
          example: Tuckerfox
          required: false
          schema:
            type: string
            description: 'The search term.'
            example: Tuckerfox
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Companies listed successfully'
                  statusCode: 200
                  data: []
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Companies listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example: []
      tags:
        - Company
      security: []
    post:
      summary: 'Create Company'
      operationId: createCompany
      description: 'Register a new company in the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Company
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the company.'
                  example: Tuckerfox
                  nullable: false
                description:
                  type: string
                  description: 'The description of the company.'
                  example: 'Tuckerfox is a food delivery company.'
                  nullable: false
                logo:
                  type: string
                  description: 'The logo of the company.'
                  example: 'https://tuckerfox.com/logo.png'
                  nullable: true
                background_image:
                  type: string
                  description: 'The background image of the company.'
                  example: 'https://tuckerfox.com/background.png'
                  nullable: true
                working_hours_from:
                  type: string
                  description: "The start time of the company's working hours."
                  example: '0900'
                  nullable: false
                working_hours_to:
                  type: string
                  description: "The end time of the company's working hours."
                  example: '1800'
                  nullable: false
                address_name:
                  type: string
                  description: "The name of the company's address."
                  example: '123 Main St, Sydney'
                  nullable: false
                latitude:
                  type: string
                  description: "The latitude of the company's address."
                  example: '-33.8688'
                  nullable: true
                longitude:
                  type: string
                  description: "The longitude of the company's address."
                  example: '151.2153'
                  nullable: true
                google_place_id:
                  type: string
                  description: "The Google Place ID of the company's address."
                  example: ChIJN1t_tYagMctQHhEQwTH3msc
                  nullable: true
                map_iframe:
                  type: string
                  description: "The iframe of the company's map."
                  example: 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3153.184488888889!2d151.215296375!3d-33.86884988064162!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6b129838f39a7431%3A0x239d63554bf40907!2sCentral%20Station%2C%20Sydney%20NSW%202000!5e0!3m2!1sen!2sau!4v1716336383088!5m2!1sen!2sau'
                  nullable: true
                delivery_fee_min:
                  type: number
                  description: 'The minimum delivery fee.'
                  example: 10.0
                  nullable: false
                delivery_fee_max:
                  type: number
                  description: 'The maximum delivery fee.'
                  example: 20.0
                  nullable: false
                meta_title:
                  type: string
                  description: 'The meta title of the company.'
                  example: Tuckerfox
                  nullable: true
                meta_description:
                  type: string
                  description: 'The meta description of the company.'
                  example: 'Tuckerfox is a food delivery company.'
                  nullable: true
                meta_viewport:
                  type: string
                  description: 'The meta viewport of the company.'
                  example: 'width=device-width, initial-scale=1.0'
                  nullable: true
                reservation_button:
                  type: string
                  description: 'The button text for reservations.'
                  example: 'Reserve Now'
                  nullable: true
                order_button:
                  type: string
                  description: 'The button text for ordering.'
                  example: 'Order Now'
                  nullable: true
                pre_order_button:
                  type: string
                  description: 'The button text for pre-orders.'
                  example: 'Pre-Order Now'
                  nullable: true
              required:
                - name
                - description
      security: []
  '/api/v1/companies/{company_id}':
    get:
      summary: 'Get Company'
      operationId: getCompany
      description: 'Get detailed information about a specific company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Company retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    header:
                      name: PizzaBros
                      description: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce. Dough and toppings are prepared daily to guarantee you a fresh and delicious taste. Choose from our extensive range of traditional or gourmet oven baked pizzas, individualise your own pizza, or try our signature tasty Texan ribs, baked chicken meals and fresh salads. Enjoy the ultimate pizza experience at PizzaBros: dine in, take away or home delivery.'
                      logo: 'https://tuckerfox.fmstech.com.tr/assets/images/pizzabros_logo.png'
                      backgroundImage: 'https://tuckerfox.fmstech.com.tr/assets/images/pizzabros_background.png'
                      workingHours:
                        from: '0800'
                        to: '1700'
                      address:
                        name: '149 Quarry Rd, Woodend VIC 3442'
                        latitude: null
                        longitude: null
                        googlePlaceId: null
                      location:
                        mapIframe: 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3152.0000000000005!2d144.53000000000003!3d-37.35000000000002!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6ad6b9b1b1b1b1b1%3A0x6ad6b9b1b1b1b1b1!2sPizzaBros!5e0!3m2!1sen!2sau!4v1632210000000!5m2!1sen!2sau'
                      deliveryFee:
                        min: 3
                        max: 6
                      htmlMetaTags:
                        title: PizzaBros
                        description: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce.'
                        viewport: 'width=device-width, initial-scale=1.0'
                      reservationButton: 'Make A Reservation'
                      orderButton: 'Make an Order'
                      preOrderButton: 'Pre Order Online'
                    operatingHours:
                      delivery:
                        hasIntervals: true
                        schedule:
                          monday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1700'
                            dinner:
                              start: '1700'
                              end: '2345'
                          tuesday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1600'
                            dinner:
                              start: '1600'
                              end: '2245'
                          wednesday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1700'
                            dinner:
                              start: '1700'
                              end: '2045'
                          thursday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1800'
                            dinner:
                              start: '1800'
                              end: '2145'
                          friday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1800'
                            dinner:
                              start: '1800'
                              end: '2245'
                          saturday:
                            isClosed: true
                          sunday:
                            isClosed: true
                      pickup:
                        hasIntervals: true
                        schedule:
                          monday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1700'
                            dinner:
                              start: '1700'
                              end: '2345'
                          tuesday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1600'
                            dinner:
                              start: '1600'
                              end: '2245'
                          wednesday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1700'
                            dinner:
                              start: '1700'
                              end: '2045'
                          thursday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1800'
                            dinner:
                              start: '1800'
                              end: '2145'
                          friday:
                            isClosed: false
                            lunch:
                              start: '0700'
                              end: '1800'
                            dinner:
                              start: '1800'
                              end: '2245'
                          saturday:
                            isClosed: true
                          sunday:
                            isClosed: true
                    promotions:
                      -
                        id: 1
                        icon: percentage
                        title: 'First Order Discount'
                        description: '10% OFF on first orders over $10.00'
                        discountPercentage: '10.00'
                        discountFlat: null
                        minOrderAmount: '10.00'
                        maxDiscountAmount: '10.00'
                        canBeCombined: false
                        isFreeDelivery: false
                      -
                        id: 2
                        icon: vespa
                        title: 'Free Delivery'
                        description: 'Free Delivery on delivery orders over $5.00'
                        discountPercentage: null
                        discountFlat: null
                        minOrderAmount: '5.00'
                        maxDiscountAmount: null
                        canBeCombined: true
                        isFreeDelivery: true
                      -
                        id: 3
                        icon: percentage
                        title: 'Big Order Discount'
                        description: '20% OFF on all orders over $50.00'
                        discountPercentage: '20.00'
                        discountFlat: null
                        minOrderAmount: '50.00'
                        maxDiscountAmount: '50.00'
                        canBeCombined: false
                        isFreeDelivery: false
                      -
                        id: 4
                        icon: percentage
                        title: Voila!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                      -
                        id: 5
                        icon: percentage
                        title: Eureka!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                    topSellers:
                      -
                        id: 3
                        name: 'Steam Rice'
                        description: 'Contains honey, chicken, praw.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                        price: '3.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                      -
                        id: 6
                        name: 'Honey Chicken'
                        description: 'Sweet and savory honey-glazed chicken.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                        price: '16.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                      -
                        id: 8
                        name: 'Special Fried Rice'
                        description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                        price: '16.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                      -
                        id: 9
                        name: 'Spring Roll (3pcs)'
                        description: 'Contains BBQ pork, chicken, prawns.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                        price: '6.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                      -
                        id: 14
                        name: 'Deal 1'
                        description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                        price: '27.60'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                    deliverySuburbs:
                      -
                        id: 1
                        name: Woodend
                        deliveryFee: '3.00'
                      -
                        id: 2
                        name: Macedon
                        deliveryFee: '4.00'
                      -
                        id: 3
                        name: Gisborne
                        deliveryFee: '5.00'
                      -
                        id: 4
                        name: Kyneton
                        deliveryFee: '6.00'
                    footerLinks:
                      -
                        id: 1
                        name: Home
                        href: /
                      -
                        id: 2
                        name: Menu
                        href: /menu
                      -
                        id: 3
                        name: Checkout
                        href: /checkout
                      -
                        id: 4
                        name: 'Privacy Policy'
                        href: /privacy-policy
                      -
                        id: 5
                        name: 'Terms and Conditions'
                        href: /terms-and-conditions
                    paymentMethods:
                      -
                        id: 1
                        name: Visa
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                      -
                        id: 2
                        name: Mastercard
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/mastercard.png'
                      -
                        id: 3
                        name: PayPal
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/paypal.png'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Company retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      header:
                        type: object
                        properties:
                          name:
                            type: string
                            example: PizzaBros
                          description:
                            type: string
                            example: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce. Dough and toppings are prepared daily to guarantee you a fresh and delicious taste. Choose from our extensive range of traditional or gourmet oven baked pizzas, individualise your own pizza, or try our signature tasty Texan ribs, baked chicken meals and fresh salads. Enjoy the ultimate pizza experience at PizzaBros: dine in, take away or home delivery.'
                          logo:
                            type: string
                            example: 'https://tuckerfox.fmstech.com.tr/assets/images/pizzabros_logo.png'
                          backgroundImage:
                            type: string
                            example: 'https://tuckerfox.fmstech.com.tr/assets/images/pizzabros_background.png'
                          workingHours:
                            type: object
                            properties:
                              from:
                                type: string
                                example: '0800'
                              to:
                                type: string
                                example: '1700'
                          address:
                            type: object
                            properties:
                              name:
                                type: string
                                example: '149 Quarry Rd, Woodend VIC 3442'
                              latitude:
                                type: string
                                example: null
                              longitude:
                                type: string
                                example: null
                              googlePlaceId:
                                type: string
                                example: null
                          location:
                            type: object
                            properties:
                              mapIframe:
                                type: string
                                example: 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3152.0000000000005!2d144.53000000000003!3d-37.35000000000002!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6ad6b9b1b1b1b1b1%3A0x6ad6b9b1b1b1b1b1!2sPizzaBros!5e0!3m2!1sen!2sau!4v1632210000000!5m2!1sen!2sau'
                          deliveryFee:
                            type: object
                            properties:
                              min:
                                type: integer
                                example: 3
                              max:
                                type: integer
                                example: 6
                          htmlMetaTags:
                            type: object
                            properties:
                              title:
                                type: string
                                example: PizzaBros
                              description:
                                type: string
                                example: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce.'
                              viewport:
                                type: string
                                example: 'width=device-width, initial-scale=1.0'
                          reservationButton:
                            type: string
                            example: 'Make A Reservation'
                          orderButton:
                            type: string
                            example: 'Make an Order'
                          preOrderButton:
                            type: string
                            example: 'Pre Order Online'
                      operatingHours:
                        type: object
                        properties:
                          delivery:
                            type: object
                            properties:
                              hasIntervals:
                                type: boolean
                                example: true
                              schedule:
                                type: object
                                properties:
                                  monday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1700' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1700' }, end: { type: string, example: '2345' } } }
                                  tuesday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1600' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1600' }, end: { type: string, example: '2245' } } }
                                  wednesday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1700' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1700' }, end: { type: string, example: '2045' } } }
                                  thursday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1800' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1800' }, end: { type: string, example: '2145' } } }
                                  friday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1800' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1800' }, end: { type: string, example: '2245' } } }
                                  saturday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: true }
                                  sunday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: true }
                          pickup:
                            type: object
                            properties:
                              hasIntervals:
                                type: boolean
                                example: true
                              schedule:
                                type: object
                                properties:
                                  monday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1700' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1700' }, end: { type: string, example: '2345' } } }
                                  tuesday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1600' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1600' }, end: { type: string, example: '2245' } } }
                                  wednesday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1700' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1700' }, end: { type: string, example: '2045' } } }
                                  thursday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1800' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1800' }, end: { type: string, example: '2145' } } }
                                  friday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: false }
                                      lunch: { type: object, properties: { start: { type: string, example: '0700' }, end: { type: string, example: '1800' } } }
                                      dinner: { type: object, properties: { start: { type: string, example: '1800' }, end: { type: string, example: '2245' } } }
                                  saturday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: true }
                                  sunday:
                                    type: object
                                    properties:
                                      isClosed: { type: boolean, example: true }
                      promotions:
                        type: array
                        example:
                          -
                            id: 1
                            icon: percentage
                            title: 'First Order Discount'
                            description: '10% OFF on first orders over $10.00'
                            discountPercentage: '10.00'
                            discountFlat: null
                            minOrderAmount: '10.00'
                            maxDiscountAmount: '10.00'
                            canBeCombined: false
                            isFreeDelivery: false
                          -
                            id: 2
                            icon: vespa
                            title: 'Free Delivery'
                            description: 'Free Delivery on delivery orders over $5.00'
                            discountPercentage: null
                            discountFlat: null
                            minOrderAmount: '5.00'
                            maxDiscountAmount: null
                            canBeCombined: true
                            isFreeDelivery: true
                          -
                            id: 3
                            icon: percentage
                            title: 'Big Order Discount'
                            description: '20% OFF on all orders over $50.00'
                            discountPercentage: '20.00'
                            discountFlat: null
                            minOrderAmount: '50.00'
                            maxDiscountAmount: '50.00'
                            canBeCombined: false
                            isFreeDelivery: false
                          -
                            id: 4
                            icon: percentage
                            title: Voila!
                            description: '5% OFF on all orders over $1.00'
                            discountPercentage: '5.00'
                            discountFlat: null
                            minOrderAmount: '1.00'
                            maxDiscountAmount: '5.00'
                            canBeCombined: true
                            isFreeDelivery: false
                          -
                            id: 5
                            icon: percentage
                            title: Eureka!
                            description: '5% OFF on all orders over $1.00'
                            discountPercentage: '5.00'
                            discountFlat: null
                            minOrderAmount: '1.00'
                            maxDiscountAmount: '5.00'
                            canBeCombined: true
                            isFreeDelivery: false
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            icon:
                              type: string
                              example: percentage
                            title:
                              type: string
                              example: 'First Order Discount'
                            description:
                              type: string
                              example: '10% OFF on first orders over $10.00'
                            discountPercentage:
                              type: string
                              example: '10.00'
                            discountFlat:
                              type: string
                              example: null
                            minOrderAmount:
                              type: string
                              example: '10.00'
                            maxDiscountAmount:
                              type: string
                              example: '10.00'
                            canBeCombined:
                              type: boolean
                              example: false
                            isFreeDelivery:
                              type: boolean
                              example: false
                      topSellers:
                        type: array
                        example:
                          -
                            id: 3
                            name: 'Steam Rice'
                            description: 'Contains honey, chicken, praw.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                            price: '3.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                          -
                            id: 6
                            name: 'Honey Chicken'
                            description: 'Sweet and savory honey-glazed chicken.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                            price: '16.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                          -
                            id: 8
                            name: 'Special Fried Rice'
                            description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                            price: '16.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                          -
                            id: 9
                            name: 'Spring Roll (3pcs)'
                            description: 'Contains BBQ pork, chicken, prawns.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                            price: '6.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                          -
                            id: 14
                            name: 'Deal 1'
                            description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                            price: '27.60'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 3
                            name:
                              type: string
                              example: 'Steam Rice'
                            description:
                              type: string
                              example: 'Contains honey, chicken, praw.'
                            image:
                              type: string
                              example: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                            price:
                              type: string
                              example: '3.80'
                            deliveryAvailable:
                              type: boolean
                              example: true
                            pickupAvailable:
                              type: boolean
                              example: true
                            available:
                              type: boolean
                              example: true
                            isTopSeller:
                              type: boolean
                              example: true
                      deliverySuburbs:
                        type: array
                        example:
                          -
                            id: 1
                            name: Woodend
                            deliveryFee: '3.00'
                          -
                            id: 2
                            name: Macedon
                            deliveryFee: '4.00'
                          -
                            id: 3
                            name: Gisborne
                            deliveryFee: '5.00'
                          -
                            id: 4
                            name: Kyneton
                            deliveryFee: '6.00'
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Woodend
                            deliveryFee:
                              type: string
                              example: '3.00'
                      footerLinks:
                        type: array
                        example:
                          -
                            id: 1
                            name: Home
                            href: /
                          -
                            id: 2
                            name: Menu
                            href: /menu
                          -
                            id: 3
                            name: Checkout
                            href: /checkout
                          -
                            id: 4
                            name: 'Privacy Policy'
                            href: /privacy-policy
                          -
                            id: 5
                            name: 'Terms and Conditions'
                            href: /terms-and-conditions
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Home
                            href:
                              type: string
                              example: /
                      paymentMethods:
                        type: array
                        example:
                          -
                            id: 1
                            name: Visa
                            icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                          -
                            id: 2
                            name: Mastercard
                            icon: 'https://tuckerfox.fmstech.com.tr/assets/images/mastercard.png'
                          -
                            id: 3
                            name: PayPal
                            icon: 'https://tuckerfox.fmstech.com.tr/assets/images/paypal.png'
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Visa
                            icon:
                              type: string
                              example: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
      tags:
        - Company
      security: []
    patch:
      summary: 'Update Company'
      operationId: updateCompany
      description: 'Update the details and settings of an existing company.'
      parameters: []
      responses: {  }
      tags:
        - Company
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the company.'
                  example: Dürümle
                  nullable: false
                description:
                  type: string
                  description: 'The description of the company.'
                  example: 'Dürümle is a food delivery company.'
                  nullable: false
                logo:
                  type: string
                  description: 'The logo of the company.'
                  example: 'https://durumle.com/logo.png'
                  nullable: true
                background_image:
                  type: string
                  description: 'The background image of the company.'
                  example: 'https://durumle.com/background.png'
                  nullable: true
                working_hours_from:
                  type: string
                  description: "The start time of the company's working hours."
                  example: '0900'
                  nullable: false
                working_hours_to:
                  type: string
                  description: "The end time of the company's working hours."
                  example: '1800'
                  nullable: false
                address_name:
                  type: string
                  description: "The name of the company's address."
                  example: '123 Main St, Sydney'
                  nullable: false
                latitude:
                  type: string
                  description: "The latitude of the company's address."
                  example: '-33.8688'
                  nullable: true
                longitude:
                  type: string
                  description: "The longitude of the company's address."
                  example: '151.2153'
                  nullable: true
                google_place_id:
                  type: string
                  description: "The Google Place ID of the company's address."
                  example: ChIJN1t_tYagMctQHhEQwTH3msc
                  nullable: true
                map_iframe:
                  type: string
                  description: "The iframe of the company's map."
                  example: 'https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3153.184488888889!2d151.215296375!3d-33.86884988064162!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x6b129838f39a7431%3A0x239d63554bf40907!2sCentral%20Station%2C%20Sydney%20NSW%202000!5e0!3m2!1sen!2sau!4v1716336383088!5m2!1sen!2sau'
                  nullable: true
                delivery_fee_min:
                  type: number
                  description: 'The minimum delivery fee.'
                  example: 10.0
                  nullable: false
                delivery_fee_max:
                  type: number
                  description: 'The maximum delivery fee.'
                  example: 20.0
                  nullable: false
                meta_title:
                  type: string
                  description: 'The meta title of the company.'
                  example: Dürümle
                  nullable: true
                meta_description:
                  type: string
                  description: 'The meta description of the company.'
                  example: 'Dürümle is a food delivery company.'
                  nullable: true
                meta_viewport:
                  type: string
                  description: 'The meta viewport of the company.'
                  example: 'width=device-width, initial-scale=1.0'
                  nullable: true
                reservation_button:
                  type: string
                  description: 'The button text for reservations.'
                  example: 'Reserve Now'
                  nullable: true
                order_button:
                  type: string
                  description: 'The button text for ordering.'
                  example: 'Order Now'
                  nullable: true
                pre_order_button:
                  type: string
                  description: 'The button text for pre-orders.'
                  example: 'Pre-Order Now'
                  nullable: true
      security: []
    delete:
      summary: 'Delete Company'
      operationId: deleteCompany
      description: 'Remove a company from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Company
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/menu':
    get:
      summary: "Get a company's menu"
      operationId: getACompanysMenu
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Menu retrieved successfully'
                  statusCode: 200
                  data:
                    categories:
                      -
                        id: 1
                        name: Entree
                        products:
                          -
                            id: 1
                            name: 'Spicy Chicken Wings'
                            description: 'Crispy and spicy chicken wings with a bold flavor.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                            price: '5.99'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 1
                                productId: 1
                                text: 'Perfectly crispy chicken wings'
                              -
                                id: 2
                                productId: 1
                                text: 'Infused with a bold spicy flavor'
                              -
                                id: 3
                                productId: 1
                                text: 'Served with a side of ranch dip'
                          -
                            id: 2
                            name: 'Salted Edamame'
                            description: 'Freshly steamed edamame lightly seasoned with sea salt.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/salted_edamame.png'
                            price: '3.49'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                            bulletPoints:
                              -
                                id: 4
                                productId: 2
                                text: 'Freshly steamed soybeans'
                              -
                                id: 5
                                productId: 2
                                text: 'Seasoned with sea salt for a light taste'
                              -
                                id: 6
                                productId: 2
                                text: 'A perfect healthy snack'
                          -
                            id: 3
                            name: 'Steam Rice'
                            description: 'Contains honey, chicken, praw.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                            price: '3.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                            bulletPoints:
                              -
                                id: 7
                                productId: 3
                                text: 'Steamed to perfection'
                              -
                                id: 8
                                productId: 3
                                text: 'Great as a side dish'
                              -
                                id: 9
                                productId: 3
                                text: 'Simple yet flavorful'
                      -
                        id: 2
                        name: 'Main Course'
                        products:
                          -
                            id: 4
                            name: 'Garlic Butter Prawns'
                            description: 'Juicy prawns cooked in a rich garlic butter sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/garlic_butter_prawns.png'
                            price: '7.49'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 10
                                productId: 4
                                text: 'Succulent prawns in garlic butter'
                              -
                                id: 11
                                productId: 4
                                text: 'Perfect for seafood lovers'
                          -
                            id: 5
                            name: 'BBQ Pork Ribs'
                            description: 'Slow-cooked pork ribs smothered in BBQ sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/bbq_pork_ribs.png'
                            price: '9.99'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 12
                                productId: 5
                                text: 'Tender slow-cooked pork ribs'
                              -
                                id: 13
                                productId: 5
                                text: 'Coated in a smoky BBQ sauce'
                              -
                                id: 14
                                productId: 5
                                text: 'Great with fries or a salad'
                          -
                            id: 6
                            name: 'Honey Chicken'
                            description: 'Sweet and savory honey-glazed chicken.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                            price: '16.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                            options:
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 15
                                productId: 6
                                text: 'Tender chicken pieces'
                              -
                                id: 16
                                productId: 6
                                text: 'Glazed with a sweet honey sauce'
                              -
                                id: 17
                                productId: 6
                                text: 'Perfect for chicken lovers'
                      -
                        id: 3
                        name: Appetizers
                        products:
                          -
                            id: 7
                            name: 'Vegetarian Spring Rolls'
                            description: 'Crispy spring rolls filled with fresh vegetables.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/vegetarian_spring_rolls.png'
                            price: '4.99'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 18
                                productId: 7
                                text: 'Crispy on the outside'
                              -
                                id: 19
                                productId: 7
                                text: 'Filled with fresh, seasonal vegetables'
                          -
                            id: 8
                            name: 'Special Fried Rice'
                            description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                            price: '16.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 20
                                productId: 8
                                text: 'Rich and flavorful fried rice'
                              -
                                id: 21
                                productId: 8
                                text: 'Includes meat and garlic sauce'
                              -
                                id: 22
                                productId: 8
                                text: 'Perfect for a hearty meal'
                          -
                            id: 9
                            name: 'Spring Roll (3pcs)'
                            description: 'Contains BBQ pork, chicken, prawns.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                            price: '6.80'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 23
                                productId: 9
                                text: 'Crispy and golden brown'
                              -
                                id: 24
                                productId: 9
                                text: 'Filled with savory ingredients'
                              -
                                id: 25
                                productId: 9
                                text: 'A perfect appetizer'
                      -
                        id: 4
                        name: Pizza
                        products:
                          -
                            id: 10
                            name: 'Pepperoni Pizza'
                            description: 'Classic pepperoni pizza with a cheesy crust.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/pepperoni_pizza.png'
                            price: '8.99'
                            deliveryAvailable: true
                            pickupAvailable: false
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 26
                                productId: 10
                                text: 'Cheesy and delicious crust'
                              -
                                id: 27
                                productId: 10
                                text: 'Loaded with pepperoni slices'
                              -
                                id: 28
                                productId: 10
                                text: 'A favorite for all pizza lovers'
                          -
                            id: 11
                            name: 'Margherita Pizza'
                            description: 'Fresh basil, mozzarella, and tomato sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/margherita_pizza.png'
                            price: '7.49'
                            deliveryAvailable: false
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                            bulletPoints:
                              -
                                id: 29
                                productId: 11
                                text: 'Fresh basil leaves'
                              -
                                id: 30
                                productId: 11
                                text: 'Rich tomato sauce and mozzarella'
                              -
                                id: 31
                                productId: 11
                                text: 'Light and flavorful classic'
                      -
                        id: 5
                        name: Salads
                        products:
                          -
                            id: 12
                            name: 'Grilled Salmon Salad'
                            description: 'Mixed greens topped with grilled salmon and a light dressing.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/grilled_salmon_salad.png'
                            price: '9.99'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 32
                                productId: 12
                                text: 'Mixed greens and fresh vegetables'
                              -
                                id: 33
                                productId: 12
                                text: 'Perfectly grilled salmon'
                              -
                                id: 34
                                productId: 12
                                text: 'Served with a light vinaigrette'
                          -
                            id: 13
                            name: 'Caesar Salad'
                            description: 'Crisp romaine lettuce, croutons, and Caesar dressing.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/caesar_salad.png'
                            price: '6.49'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 35
                                productId: 13
                                text: 'Crisp romaine lettuce'
                              -
                                id: 36
                                productId: 13
                                text: 'Crunchy croutons'
                              -
                                id: 37
                                productId: 13
                                text: 'Creamy Caesar dressing'
                          -
                            id: 14
                            name: 'Deal 1'
                            description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                            price: '27.60'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: true
                            options:
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 38
                                productId: 14
                                text: 'Includes a medium pizza'
                              -
                                id: 39
                                productId: 14
                                text: 'Comes with garlic bread and drink'
                              -
                                id: 40
                                productId: 14
                                text: 'A great meal deal for sharing'
                      -
                        id: 6
                        name: Desserts
                        products:
                          -
                            id: 15
                            name: 'Chocolate Lava Cake'
                            description: 'Rich chocolate cake with a gooey molten center.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/chocolate_lava_cake.png'
                            price: '4.99'
                            deliveryAvailable: false
                            pickupAvailable: false
                            available: true
                            isTopSeller: false
                            options: []
                            bulletPoints:
                              -
                                id: 41
                                productId: 15
                                text: 'Rich and decadent chocolate flavor'
                              -
                                id: 42
                                productId: 15
                                text: 'Molten chocolate center'
                              -
                                id: 43
                                productId: 15
                                text: 'Perfect dessert for chocolate lovers'
                          -
                            id: 16
                            name: 'Vanilla Cheesecake'
                            description: 'Classic creamy vanilla cheesecake with a graham cracker crust.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/vanilla_cheesecake.png'
                            price: '5.49'
                            deliveryAvailable: true
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 8
                                name: 'Extra Toppings'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 2
                                options:
                                  -
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                                  -
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                                  -
                                    id: 11
                                    name: Beef
                                    price: 2.5
                                    type: option
                                  -
                                    id: 12
                                    name: Pork
                                    price: 2.5
                                    type: option
                            bulletPoints:
                              -
                                id: 44
                                productId: 16
                                text: 'Creamy and rich vanilla flavor'
                              -
                                id: 45
                                productId: 16
                                text: 'Graham cracker crust'
                              -
                                id: 46
                                productId: 16
                                text: 'Perfect for dessert lovers'
                      -
                        id: 7
                        name: 'Pork Dishes'
                        products:
                          -
                            id: 17
                            name: 'Pulled Pork Sandwich'
                            description: 'Slow-cooked pulled pork on a toasted bun with BBQ sauce.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/pulled_pork_sandwich.png'
                            price: '8.49'
                            deliveryAvailable: true
                            pickupAvailable: false
                            available: true
                            isTopSeller: false
                            options:
                              -
                                id: 1
                                name: Spicy
                                price: 0
                                type: select
                                minSelect: 1
                                maxSelect: 1
                                options:
                                  -
                                    id: 2
                                    name: 'Spicy: Yes'
                                    price: 1
                                    type: option
                                  -
                                    id: 3
                                    name: 'Spicy: No'
                                    price: 0
                                    type: option
                              -
                                id: 4
                                name: 'Extra Sauce'
                                price: 0
                                type: select
                                minSelect: 0
                                maxSelect: 3
                                options:
                                  -
                                    id: 5
                                    name: 'Garlic Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                  -
                                    id: 7
                                    name: 'Sweet Chilli Sauce'
                                    price: 1.5
                                    type: option
                            bulletPoints:
                              -
                                id: 47
                                productId: 17
                                text: 'Tender slow-cooked pulled pork'
                              -
                                id: 48
                                productId: 17
                                text: 'Toasted bun with BBQ sauce'
                              -
                                id: 49
                                productId: 17
                                text: 'A hearty and delicious sandwich'
                          -
                            id: 18
                            name: 'Crispy Pork Belly'
                            description: 'Crispy pork belly with a side of pickled vegetables.'
                            image: 'https://tuckerfox.fmstech.com.tr/assets/images/crispy_pork_belly.png'
                            price: '9.99'
                            deliveryAvailable: false
                            pickupAvailable: true
                            available: true
                            isTopSeller: false
                            options: []
                            bulletPoints:
                              -
                                id: 50
                                productId: 18
                                text: 'Crispy and flavorful pork belly'
                              -
                                id: 51
                                productId: 18
                                text: 'Served with tangy pickled vegetables'
                              -
                                id: 52
                                productId: 18
                                text: 'A delicious and satisfying dish'
                    promotions:
                      -
                        id: 1
                        icon: percentage
                        title: 'First Order Discount'
                        description: '10% OFF on first orders over $10.00'
                        discountPercentage: '10.00'
                        discountFlat: null
                        minOrderAmount: '10.00'
                        maxDiscountAmount: '10.00'
                        canBeCombined: false
                        isFreeDelivery: false
                      -
                        id: 2
                        icon: vespa
                        title: 'Free Delivery'
                        description: 'Free Delivery on delivery orders over $5.00'
                        discountPercentage: null
                        discountFlat: null
                        minOrderAmount: '5.00'
                        maxDiscountAmount: null
                        canBeCombined: true
                        isFreeDelivery: true
                      -
                        id: 3
                        icon: percentage
                        title: 'Big Order Discount'
                        description: '20% OFF on all orders over $50.00'
                        discountPercentage: '20.00'
                        discountFlat: null
                        minOrderAmount: '50.00'
                        maxDiscountAmount: '50.00'
                        canBeCombined: false
                        isFreeDelivery: false
                      -
                        id: 4
                        icon: percentage
                        title: Voila!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                      -
                        id: 5
                        icon: percentage
                        title: Eureka!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Menu retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      categories:
                        type: array
                        example:
                          -
                            id: 1
                            name: Entree
                            products:
                              -
                                id: 1
                                name: 'Spicy Chicken Wings'
                                description: 'Crispy and spicy chicken wings with a bold flavor.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                                price: '5.99'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 1
                                    productId: 1
                                    text: 'Perfectly crispy chicken wings'
                                  -
                                    id: 2
                                    productId: 1
                                    text: 'Infused with a bold spicy flavor'
                                  -
                                    id: 3
                                    productId: 1
                                    text: 'Served with a side of ranch dip'
                              -
                                id: 2
                                name: 'Salted Edamame'
                                description: 'Freshly steamed edamame lightly seasoned with sea salt.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/salted_edamame.png'
                                price: '3.49'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                bulletPoints:
                                  -
                                    id: 4
                                    productId: 2
                                    text: 'Freshly steamed soybeans'
                                  -
                                    id: 5
                                    productId: 2
                                    text: 'Seasoned with sea salt for a light taste'
                                  -
                                    id: 6
                                    productId: 2
                                    text: 'A perfect healthy snack'
                              -
                                id: 3
                                name: 'Steam Rice'
                                description: 'Contains honey, chicken, praw.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                                price: '3.80'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: true
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                bulletPoints:
                                  -
                                    id: 7
                                    productId: 3
                                    text: 'Steamed to perfection'
                                  -
                                    id: 8
                                    productId: 3
                                    text: 'Great as a side dish'
                                  -
                                    id: 9
                                    productId: 3
                                    text: 'Simple yet flavorful'
                          -
                            id: 2
                            name: 'Main Course'
                            products:
                              -
                                id: 4
                                name: 'Garlic Butter Prawns'
                                description: 'Juicy prawns cooked in a rich garlic butter sauce.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/garlic_butter_prawns.png'
                                price: '7.49'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 10
                                    productId: 4
                                    text: 'Succulent prawns in garlic butter'
                                  -
                                    id: 11
                                    productId: 4
                                    text: 'Perfect for seafood lovers'
                              -
                                id: 5
                                name: 'BBQ Pork Ribs'
                                description: 'Slow-cooked pork ribs smothered in BBQ sauce.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/bbq_pork_ribs.png'
                                price: '9.99'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 12
                                    productId: 5
                                    text: 'Tender slow-cooked pork ribs'
                                  -
                                    id: 13
                                    productId: 5
                                    text: 'Coated in a smoky BBQ sauce'
                                  -
                                    id: 14
                                    productId: 5
                                    text: 'Great with fries or a salad'
                              -
                                id: 6
                                name: 'Honey Chicken'
                                description: 'Sweet and savory honey-glazed chicken.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                                price: '16.80'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: true
                                options:
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 15
                                    productId: 6
                                    text: 'Tender chicken pieces'
                                  -
                                    id: 16
                                    productId: 6
                                    text: 'Glazed with a sweet honey sauce'
                                  -
                                    id: 17
                                    productId: 6
                                    text: 'Perfect for chicken lovers'
                          -
                            id: 3
                            name: Appetizers
                            products:
                              -
                                id: 7
                                name: 'Vegetarian Spring Rolls'
                                description: 'Crispy spring rolls filled with fresh vegetables.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/vegetarian_spring_rolls.png'
                                price: '4.99'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 18
                                    productId: 7
                                    text: 'Crispy on the outside'
                                  -
                                    id: 19
                                    productId: 7
                                    text: 'Filled with fresh, seasonal vegetables'
                              -
                                id: 8
                                name: 'Special Fried Rice'
                                description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                                price: '16.80'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: true
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 20
                                    productId: 8
                                    text: 'Rich and flavorful fried rice'
                                  -
                                    id: 21
                                    productId: 8
                                    text: 'Includes meat and garlic sauce'
                                  -
                                    id: 22
                                    productId: 8
                                    text: 'Perfect for a hearty meal'
                              -
                                id: 9
                                name: 'Spring Roll (3pcs)'
                                description: 'Contains BBQ pork, chicken, prawns.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                                price: '6.80'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: true
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 23
                                    productId: 9
                                    text: 'Crispy and golden brown'
                                  -
                                    id: 24
                                    productId: 9
                                    text: 'Filled with savory ingredients'
                                  -
                                    id: 25
                                    productId: 9
                                    text: 'A perfect appetizer'
                          -
                            id: 4
                            name: Pizza
                            products:
                              -
                                id: 10
                                name: 'Pepperoni Pizza'
                                description: 'Classic pepperoni pizza with a cheesy crust.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/pepperoni_pizza.png'
                                price: '8.99'
                                deliveryAvailable: true
                                pickupAvailable: false
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 26
                                    productId: 10
                                    text: 'Cheesy and delicious crust'
                                  -
                                    id: 27
                                    productId: 10
                                    text: 'Loaded with pepperoni slices'
                                  -
                                    id: 28
                                    productId: 10
                                    text: 'A favorite for all pizza lovers'
                              -
                                id: 11
                                name: 'Margherita Pizza'
                                description: 'Fresh basil, mozzarella, and tomato sauce.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/margherita_pizza.png'
                                price: '7.49'
                                deliveryAvailable: false
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                bulletPoints:
                                  -
                                    id: 29
                                    productId: 11
                                    text: 'Fresh basil leaves'
                                  -
                                    id: 30
                                    productId: 11
                                    text: 'Rich tomato sauce and mozzarella'
                                  -
                                    id: 31
                                    productId: 11
                                    text: 'Light and flavorful classic'
                          -
                            id: 5
                            name: Salads
                            products:
                              -
                                id: 12
                                name: 'Grilled Salmon Salad'
                                description: 'Mixed greens topped with grilled salmon and a light dressing.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/grilled_salmon_salad.png'
                                price: '9.99'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 32
                                    productId: 12
                                    text: 'Mixed greens and fresh vegetables'
                                  -
                                    id: 33
                                    productId: 12
                                    text: 'Perfectly grilled salmon'
                                  -
                                    id: 34
                                    productId: 12
                                    text: 'Served with a light vinaigrette'
                              -
                                id: 13
                                name: 'Caesar Salad'
                                description: 'Crisp romaine lettuce, croutons, and Caesar dressing.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/caesar_salad.png'
                                price: '6.49'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 35
                                    productId: 13
                                    text: 'Crisp romaine lettuce'
                                  -
                                    id: 36
                                    productId: 13
                                    text: 'Crunchy croutons'
                                  -
                                    id: 37
                                    productId: 13
                                    text: 'Creamy Caesar dressing'
                              -
                                id: 14
                                name: 'Deal 1'
                                description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                                price: '27.60'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: true
                                options:
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 38
                                    productId: 14
                                    text: 'Includes a medium pizza'
                                  -
                                    id: 39
                                    productId: 14
                                    text: 'Comes with garlic bread and drink'
                                  -
                                    id: 40
                                    productId: 14
                                    text: 'A great meal deal for sharing'
                          -
                            id: 6
                            name: Desserts
                            products:
                              -
                                id: 15
                                name: 'Chocolate Lava Cake'
                                description: 'Rich chocolate cake with a gooey molten center.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/chocolate_lava_cake.png'
                                price: '4.99'
                                deliveryAvailable: false
                                pickupAvailable: false
                                available: true
                                isTopSeller: false
                                options: []
                                bulletPoints:
                                  -
                                    id: 41
                                    productId: 15
                                    text: 'Rich and decadent chocolate flavor'
                                  -
                                    id: 42
                                    productId: 15
                                    text: 'Molten chocolate center'
                                  -
                                    id: 43
                                    productId: 15
                                    text: 'Perfect dessert for chocolate lovers'
                              -
                                id: 16
                                name: 'Vanilla Cheesecake'
                                description: 'Classic creamy vanilla cheesecake with a graham cracker crust.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/vanilla_cheesecake.png'
                                price: '5.49'
                                deliveryAvailable: true
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 8
                                    name: 'Extra Toppings'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 2
                                    options:
                                      - { id: 9, name: Prawns, price: 2.5, type: option }
                                      - { id: 10, name: Chicken, price: 2.5, type: option }
                                      - { id: 11, name: Beef, price: 2.5, type: option }
                                      - { id: 12, name: Pork, price: 2.5, type: option }
                                bulletPoints:
                                  -
                                    id: 44
                                    productId: 16
                                    text: 'Creamy and rich vanilla flavor'
                                  -
                                    id: 45
                                    productId: 16
                                    text: 'Graham cracker crust'
                                  -
                                    id: 46
                                    productId: 16
                                    text: 'Perfect for dessert lovers'
                          -
                            id: 7
                            name: 'Pork Dishes'
                            products:
                              -
                                id: 17
                                name: 'Pulled Pork Sandwich'
                                description: 'Slow-cooked pulled pork on a toasted bun with BBQ sauce.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/pulled_pork_sandwich.png'
                                price: '8.49'
                                deliveryAvailable: true
                                pickupAvailable: false
                                available: true
                                isTopSeller: false
                                options:
                                  -
                                    id: 1
                                    name: Spicy
                                    price: 0
                                    type: select
                                    minSelect: 1
                                    maxSelect: 1
                                    options:
                                      - { id: 2, name: 'Spicy: Yes', price: 1, type: option }
                                      - { id: 3, name: 'Spicy: No', price: 0, type: option }
                                  -
                                    id: 4
                                    name: 'Extra Sauce'
                                    price: 0
                                    type: select
                                    minSelect: 0
                                    maxSelect: 3
                                    options:
                                      - { id: 5, name: 'Garlic Sauce', price: 1.5, type: option }
                                      - { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                      - { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }
                                bulletPoints:
                                  -
                                    id: 47
                                    productId: 17
                                    text: 'Tender slow-cooked pulled pork'
                                  -
                                    id: 48
                                    productId: 17
                                    text: 'Toasted bun with BBQ sauce'
                                  -
                                    id: 49
                                    productId: 17
                                    text: 'A hearty and delicious sandwich'
                              -
                                id: 18
                                name: 'Crispy Pork Belly'
                                description: 'Crispy pork belly with a side of pickled vegetables.'
                                image: 'https://tuckerfox.fmstech.com.tr/assets/images/crispy_pork_belly.png'
                                price: '9.99'
                                deliveryAvailable: false
                                pickupAvailable: true
                                available: true
                                isTopSeller: false
                                options: []
                                bulletPoints:
                                  -
                                    id: 50
                                    productId: 18
                                    text: 'Crispy and flavorful pork belly'
                                  -
                                    id: 51
                                    productId: 18
                                    text: 'Served with tangy pickled vegetables'
                                  -
                                    id: 52
                                    productId: 18
                                    text: 'A delicious and satisfying dish'
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Entree
                            products:
                              type: array
                              example:
                                -
                                  id: 1
                                  name: 'Spicy Chicken Wings'
                                  description: 'Crispy and spicy chicken wings with a bold flavor.'
                                  image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                                  price: '5.99'
                                  deliveryAvailable: true
                                  pickupAvailable: true
                                  available: true
                                  isTopSeller: false
                                  options:
                                    -
                                      id: 1
                                      name: Spicy
                                      price: 0
                                      type: select
                                      minSelect: 1
                                      maxSelect: 1
                                      options: [{ id: 2, name: 'Spicy: Yes', price: 1, type: option }, { id: 3, name: 'Spicy: No', price: 0, type: option }]
                                    -
                                      id: 4
                                      name: 'Extra Sauce'
                                      price: 0
                                      type: select
                                      minSelect: 0
                                      maxSelect: 3
                                      options: [{ id: 5, name: 'Garlic Sauce', price: 1.5, type: option }, { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }, { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }]
                                  bulletPoints:
                                    -
                                      id: 1
                                      productId: 1
                                      text: 'Perfectly crispy chicken wings'
                                    -
                                      id: 2
                                      productId: 1
                                      text: 'Infused with a bold spicy flavor'
                                    -
                                      id: 3
                                      productId: 1
                                      text: 'Served with a side of ranch dip'
                                -
                                  id: 2
                                  name: 'Salted Edamame'
                                  description: 'Freshly steamed edamame lightly seasoned with sea salt.'
                                  image: 'https://tuckerfox.fmstech.com.tr/assets/images/salted_edamame.png'
                                  price: '3.49'
                                  deliveryAvailable: true
                                  pickupAvailable: true
                                  available: true
                                  isTopSeller: false
                                  options:
                                    -
                                      id: 1
                                      name: Spicy
                                      price: 0
                                      type: select
                                      minSelect: 1
                                      maxSelect: 1
                                      options: [{ id: 2, name: 'Spicy: Yes', price: 1, type: option }, { id: 3, name: 'Spicy: No', price: 0, type: option }]
                                  bulletPoints:
                                    -
                                      id: 4
                                      productId: 2
                                      text: 'Freshly steamed soybeans'
                                    -
                                      id: 5
                                      productId: 2
                                      text: 'Seasoned with sea salt for a light taste'
                                    -
                                      id: 6
                                      productId: 2
                                      text: 'A perfect healthy snack'
                                -
                                  id: 3
                                  name: 'Steam Rice'
                                  description: 'Contains honey, chicken, praw.'
                                  image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                                  price: '3.80'
                                  deliveryAvailable: true
                                  pickupAvailable: true
                                  available: true
                                  isTopSeller: true
                                  options:
                                    -
                                      id: 1
                                      name: Spicy
                                      price: 0
                                      type: select
                                      minSelect: 1
                                      maxSelect: 1
                                      options: [{ id: 2, name: 'Spicy: Yes', price: 1, type: option }, { id: 3, name: 'Spicy: No', price: 0, type: option }]
                                  bulletPoints:
                                    -
                                      id: 7
                                      productId: 3
                                      text: 'Steamed to perfection'
                                    -
                                      id: 8
                                      productId: 3
                                      text: 'Great as a side dish'
                                    -
                                      id: 9
                                      productId: 3
                                      text: 'Simple yet flavorful'
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 1
                                  name:
                                    type: string
                                    example: 'Spicy Chicken Wings'
                                  description:
                                    type: string
                                    example: 'Crispy and spicy chicken wings with a bold flavor.'
                                  image:
                                    type: string
                                    example: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                                  price:
                                    type: string
                                    example: '5.99'
                                  deliveryAvailable:
                                    type: boolean
                                    example: true
                                  pickupAvailable:
                                    type: boolean
                                    example: true
                                  available:
                                    type: boolean
                                    example: true
                                  isTopSeller:
                                    type: boolean
                                    example: false
                                  options:
                                    type: array
                                    example:
                                      - { id: 1, name: Spicy, price: 0, type: select, minSelect: 1, maxSelect: 1, options: [{ id: 2, name: 'Spicy: Yes', price: 1, type: option }, { id: 3, name: 'Spicy: No', price: 0, type: option }] }
                                      - { id: 4, name: 'Extra Sauce', price: 0, type: select, minSelect: 0, maxSelect: 3, options: [{ id: 5, name: 'Garlic Sauce', price: 1.5, type: option }, { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }, { id: 7, name: 'Sweet Chilli Sauce', price: 1.5, type: option }] }
                                    items:
                                      type: object
                                      properties: { id: { type: integer, example: 1 }, name: { type: string, example: Spicy }, price: { type: integer, example: 0 }, type: { type: string, example: select }, minSelect: { type: integer, example: 1 }, maxSelect: { type: integer, example: 1 }, options: { type: array, example: [{ id: 2, name: 'Spicy: Yes', price: 1, type: option }, { id: 3, name: 'Spicy: No', price: 0, type: option }], items: { type: object, properties: { id: { type: integer, example: 2 }, name: { type: string, example: 'Spicy: Yes' }, price: { type: integer, example: 1 }, type: { type: string, example: option } } } } }
                                  bulletPoints:
                                    type: array
                                    example:
                                      - { id: 1, productId: 1, text: 'Perfectly crispy chicken wings' }
                                      - { id: 2, productId: 1, text: 'Infused with a bold spicy flavor' }
                                      - { id: 3, productId: 1, text: 'Served with a side of ranch dip' }
                                    items:
                                      type: object
                                      properties: { id: { type: integer, example: 1 }, productId: { type: integer, example: 1 }, text: { type: string, example: 'Perfectly crispy chicken wings' } }
                      promotions:
                        type: array
                        example:
                          -
                            id: 1
                            icon: percentage
                            title: 'First Order Discount'
                            description: '10% OFF on first orders over $10.00'
                            discountPercentage: '10.00'
                            discountFlat: null
                            minOrderAmount: '10.00'
                            maxDiscountAmount: '10.00'
                            canBeCombined: false
                            isFreeDelivery: false
                          -
                            id: 2
                            icon: vespa
                            title: 'Free Delivery'
                            description: 'Free Delivery on delivery orders over $5.00'
                            discountPercentage: null
                            discountFlat: null
                            minOrderAmount: '5.00'
                            maxDiscountAmount: null
                            canBeCombined: true
                            isFreeDelivery: true
                          -
                            id: 3
                            icon: percentage
                            title: 'Big Order Discount'
                            description: '20% OFF on all orders over $50.00'
                            discountPercentage: '20.00'
                            discountFlat: null
                            minOrderAmount: '50.00'
                            maxDiscountAmount: '50.00'
                            canBeCombined: false
                            isFreeDelivery: false
                          -
                            id: 4
                            icon: percentage
                            title: Voila!
                            description: '5% OFF on all orders over $1.00'
                            discountPercentage: '5.00'
                            discountFlat: null
                            minOrderAmount: '1.00'
                            maxDiscountAmount: '5.00'
                            canBeCombined: true
                            isFreeDelivery: false
                          -
                            id: 5
                            icon: percentage
                            title: Eureka!
                            description: '5% OFF on all orders over $1.00'
                            discountPercentage: '5.00'
                            discountFlat: null
                            minOrderAmount: '1.00'
                            maxDiscountAmount: '5.00'
                            canBeCombined: true
                            isFreeDelivery: false
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            icon:
                              type: string
                              example: percentage
                            title:
                              type: string
                              example: 'First Order Discount'
                            description:
                              type: string
                              example: '10% OFF on first orders over $10.00'
                            discountPercentage:
                              type: string
                              example: '10.00'
                            discountFlat:
                              type: string
                              example: null
                            minOrderAmount:
                              type: string
                              example: '10.00'
                            maxDiscountAmount:
                              type: string
                              example: '10.00'
                            canBeCombined:
                              type: boolean
                              example: false
                            isFreeDelivery:
                              type: boolean
                              example: false
      tags:
        - Company
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/meta-tags':
    get:
      summary: "Get a company's meta tags"
      operationId: getACompanysMetaTags
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Meta tags retrieved successfully'
                  statusCode: 200
                  data:
                    title: PizzaBros
                    description: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce.'
                    viewport: 'width=device-width, initial-scale=1.0'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Meta tags retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      title:
                        type: string
                        example: PizzaBros
                      description:
                        type: string
                        example: 'PizzaBros has been providing Melbourne with the best and tastiest pizzas since 1999. All pizzas are handcrafted using a range of local produce.'
                      viewport:
                        type: string
                        example: 'width=device-width, initial-scale=1.0'
      tags:
        - Company
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/operating-hours':
    get:
      summary: 'List Operating Hours'
      operationId: listOperatingHours
      description: 'Get a list of all operating hours for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Operating hours listed successfully'
                  statusCode: 200
                  data:
                    delivery:
                      hasIntervals: true
                      schedule:
                        monday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1700'
                          dinner:
                            start: '1700'
                            end: '2345'
                        tuesday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1600'
                          dinner:
                            start: '1600'
                            end: '2245'
                        wednesday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1700'
                          dinner:
                            start: '1700'
                            end: '2045'
                        thursday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1800'
                          dinner:
                            start: '1800'
                            end: '2145'
                        friday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1800'
                          dinner:
                            start: '1800'
                            end: '2245'
                        saturday:
                          isClosed: true
                        sunday:
                          isClosed: true
                    pickup:
                      hasIntervals: true
                      schedule:
                        monday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1700'
                          dinner:
                            start: '1700'
                            end: '2345'
                        tuesday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1600'
                          dinner:
                            start: '1600'
                            end: '2245'
                        wednesday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1700'
                          dinner:
                            start: '1700'
                            end: '2045'
                        thursday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1800'
                          dinner:
                            start: '1800'
                            end: '2145'
                        friday:
                          isClosed: false
                          lunch:
                            start: '0700'
                            end: '1800'
                          dinner:
                            start: '1800'
                            end: '2245'
                        saturday:
                          isClosed: true
                        sunday:
                          isClosed: true
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Operating hours listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      delivery:
                        type: object
                        properties:
                          hasIntervals:
                            type: boolean
                            example: true
                          schedule:
                            type: object
                            properties:
                              monday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1700' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1700' }
                                      end: { type: string, example: '2345' }
                              tuesday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1600' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1600' }
                                      end: { type: string, example: '2245' }
                              wednesday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1700' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1700' }
                                      end: { type: string, example: '2045' }
                              thursday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1800' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1800' }
                                      end: { type: string, example: '2145' }
                              friday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1800' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1800' }
                                      end: { type: string, example: '2245' }
                              saturday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: true
                              sunday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: true
                      pickup:
                        type: object
                        properties:
                          hasIntervals:
                            type: boolean
                            example: true
                          schedule:
                            type: object
                            properties:
                              monday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1700' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1700' }
                                      end: { type: string, example: '2345' }
                              tuesday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1600' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1600' }
                                      end: { type: string, example: '2245' }
                              wednesday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1700' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1700' }
                                      end: { type: string, example: '2045' }
                              thursday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1800' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1800' }
                                      end: { type: string, example: '2145' }
                              friday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: false
                                  lunch:
                                    type: object
                                    properties:
                                      start: { type: string, example: '0700' }
                                      end: { type: string, example: '1800' }
                                  dinner:
                                    type: object
                                    properties:
                                      start: { type: string, example: '1800' }
                                      end: { type: string, example: '2245' }
                              saturday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: true
                              sunday:
                                type: object
                                properties:
                                  isClosed:
                                    type: boolean
                                    example: true
      tags:
        - 'Operating Hours'
      security: []
    post:
      summary: 'Set Operating Hour'
      operationId: setOperatingHour
      description: 'Set new operating hours for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Operating Hours'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                service_type:
                  type: string
                  description: 'The type of service (delivery or pickup).'
                  example: delivery
                  nullable: false
                day_of_week:
                  type: integer
                  description: 'The day of the week (0-6, where 0 is Sunday).'
                  example: 0
                  nullable: false
                meal_type:
                  type: string
                  description: 'The type of meal (lunch or dinner).'
                  example: lunch
                  nullable: false
                start_time:
                  type: string
                  description: 'The start time of the operating hour (0000-2359).'
                  example: '1000'
                  nullable: true
                end_time:
                  type: string
                  description: 'The end time of the operating hour (0000-2359).'
                  example: '2200'
                  nullable: true
              required:
                - service_type
                - day_of_week
                - meal_type
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/delivery-suburbs':
    get:
      summary: 'List Delivery Suburbs'
      operationId: listDeliverySuburbs
      description: 'Retrieve a list of delivery suburbs for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Delivery suburbs listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 4
                      name: Kyneton
                      deliveryFee: '6.00'
                    -
                      id: 3
                      name: Gisborne
                      deliveryFee: '5.00'
                    -
                      id: 2
                      name: Macedon
                      deliveryFee: '4.00'
                    -
                      id: 1
                      name: Woodend
                      deliveryFee: '3.00'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Delivery suburbs listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 4
                        name: Kyneton
                        deliveryFee: '6.00'
                      -
                        id: 3
                        name: Gisborne
                        deliveryFee: '5.00'
                      -
                        id: 2
                        name: Macedon
                        deliveryFee: '4.00'
                      -
                        id: 1
                        name: Woodend
                        deliveryFee: '3.00'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 4
                        name:
                          type: string
                          example: Kyneton
                        deliveryFee:
                          type: string
                          example: '6.00'
      tags:
        - 'Delivery Suburb'
      security: []
    post:
      summary: 'Create Delivery Suburb'
      operationId: createDeliverySuburb
      description: 'Create a new delivery suburb for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Delivery Suburb'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the delivery suburb.'
                  example: Istanbul
                  nullable: false
                delivery_fee:
                  type: number
                  description: 'The delivery fee for the suburb.'
                  example: 10.5
                  nullable: false
              required:
                - name
                - delivery_fee
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/delivery-suburbs/{suburb_id}':
    get:
      summary: 'Show Delivery Suburb'
      operationId: showDeliverySuburb
      description: 'Retrieve details of a specific delivery suburb for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Delivery suburb retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: Woodend
                    deliveryFee: '3.00'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Delivery suburb retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Woodend
                      deliveryFee:
                        type: string
                        example: '3.00'
      tags:
        - 'Delivery Suburb'
      security: []
    patch:
      summary: 'Update Delivery Suburb'
      operationId: updateDeliverySuburb
      description: 'Update the details of a specific delivery suburb for a company.'
      parameters: []
      responses: {  }
      tags:
        - 'Delivery Suburb'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the delivery suburb.'
                  example: Istanbul
                  nullable: false
                delivery_fee:
                  type: number
                  description: 'The delivery fee for the suburb.'
                  example: 10.5
                  nullable: false
      security: []
    delete:
      summary: 'Delete Delivery Suburb'
      operationId: deleteDeliverySuburb
      description: 'Delete a specific delivery suburb for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Delivery Suburb'
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: suburb_id
        description: 'The ID of the delivery suburb.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/footer-links':
    get:
      summary: 'List Footer Links'
      operationId: listFooterLinks
      description: 'Get a list of all footer links for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Footer links listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 5
                      name: 'Terms and Conditions'
                      href: /terms-and-conditions
                    -
                      id: 4
                      name: 'Privacy Policy'
                      href: /privacy-policy
                    -
                      id: 3
                      name: Checkout
                      href: /checkout
                    -
                      id: 2
                      name: Menu
                      href: /menu
                    -
                      id: 1
                      name: Home
                      href: /
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Footer links listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 5
                        name: 'Terms and Conditions'
                        href: /terms-and-conditions
                      -
                        id: 4
                        name: 'Privacy Policy'
                        href: /privacy-policy
                      -
                        id: 3
                        name: Checkout
                        href: /checkout
                      -
                        id: 2
                        name: Menu
                        href: /menu
                      -
                        id: 1
                        name: Home
                        href: /
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 5
                        name:
                          type: string
                          example: 'Terms and Conditions'
                        href:
                          type: string
                          example: /terms-and-conditions
      tags:
        - 'Footer Link'
      security: []
    post:
      summary: 'Create Footer Link'
      operationId: createFooterLink
      description: "Add a new footer link to a company's website."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Footer Link'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the footer link.'
                  example: Report
                  nullable: false
                href:
                  type: string
                  description: 'The URL of the footer link.'
                  example: /report
                  nullable: false
              required:
                - name
                - href
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/footer-links/{footer_link_id}':
    get:
      summary: 'Get Footer Link'
      operationId: getFooterLink
      description: 'Get detailed information about a specific footer link.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Footer link retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: Home
                    href: /
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Footer link retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Home
                      href:
                        type: string
                        example: /
      tags:
        - 'Footer Link'
      security: []
    patch:
      summary: 'Update Footer Link'
      operationId: updateFooterLink
      description: 'Update the details of an existing footer link.'
      parameters: []
      responses: {  }
      tags:
        - 'Footer Link'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the footer link.'
                  example: Models
                  nullable: false
                href:
                  type: string
                  description: 'The URL of the footer link.'
                  example: /models
                  nullable: false
      security: []
    delete:
      summary: 'Delete Footer Link'
      operationId: deleteFooterLink
      description: "Remove a footer link from a company's website."
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Footer Link'
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: footer_link_id
        description: 'The ID of the footer link.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/payment-methods':
    get:
      summary: 'List Payment Methods'
      operationId: listPaymentMethods
      description: 'Get a list of all available payment methods for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Payment methods listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 3
                      name: PayPal
                      icon: 'https://tuckerfox.fmstech.com.tr/assets/images/paypal.png'
                    -
                      id: 2
                      name: Mastercard
                      icon: 'https://tuckerfox.fmstech.com.tr/assets/images/mastercard.png'
                    -
                      id: 1
                      name: Visa
                      icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Payment methods listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 3
                        name: PayPal
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/paypal.png'
                      -
                        id: 2
                        name: Mastercard
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/mastercard.png'
                      -
                        id: 1
                        name: Visa
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 3
                        name:
                          type: string
                          example: PayPal
                        icon:
                          type: string
                          example: 'https://tuckerfox.fmstech.com.tr/assets/images/paypal.png'
      tags:
        - 'Payment Method'
      security: []
    post:
      summary: 'Create Payment Method'
      operationId: createPaymentMethod
      description: 'Add a new payment method to a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Payment Method'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the payment method.'
                  example: Stripe
                  nullable: false
                icon:
                  type: string
                  description: 'The icon of the payment method.'
                  example: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                  nullable: false
              required:
                - name
                - icon
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/payment-methods/{payment_method_id}':
    get:
      summary: 'Get Payment Method'
      operationId: getPaymentMethod
      description: 'Get detailed information about a specific payment method.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Payment method retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: Visa
                    icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Payment method retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Visa
                      icon:
                        type: string
                        example: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
      tags:
        - 'Payment Method'
      security: []
    patch:
      summary: 'Update Payment Method'
      operationId: updatePaymentMethod
      description: 'Update the details of an existing payment method.'
      parameters: []
      responses: {  }
      tags:
        - 'Payment Method'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the payment method.'
                  example: Troy
                  nullable: false
                icon:
                  type: string
                  description: 'The icon of the payment method.'
                  example: 'https://tuckerfox.fmstech.com.tr/assets/images/mastercard.png'
                  nullable: false
      security: []
    delete:
      summary: 'Delete Payment Method'
      operationId: deletePaymentMethod
      description: 'Remove a payment method from a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Payment Method'
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: payment_method_id
        description: 'The ID of the payment method.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/promotions':
    get:
      summary: 'List Promotions'
      operationId: listPromotions
      description: 'Get a list of all promotions and discount codes for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Promotions listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 5
                      icon: percentage
                      title: Eureka!
                      description: '5% OFF on all orders over $1.00'
                      discountPercentage: '5.00'
                      discountFlat: null
                      minOrderAmount: '1.00'
                      maxDiscountAmount: '5.00'
                      canBeCombined: true
                      isFreeDelivery: false
                    -
                      id: 4
                      icon: percentage
                      title: Voila!
                      description: '5% OFF on all orders over $1.00'
                      discountPercentage: '5.00'
                      discountFlat: null
                      minOrderAmount: '1.00'
                      maxDiscountAmount: '5.00'
                      canBeCombined: true
                      isFreeDelivery: false
                    -
                      id: 3
                      icon: percentage
                      title: 'Big Order Discount'
                      description: '20% OFF on all orders over $50.00'
                      discountPercentage: '20.00'
                      discountFlat: null
                      minOrderAmount: '50.00'
                      maxDiscountAmount: '50.00'
                      canBeCombined: false
                      isFreeDelivery: false
                    -
                      id: 2
                      icon: vespa
                      title: 'Free Delivery'
                      description: 'Free Delivery on delivery orders over $5.00'
                      discountPercentage: null
                      discountFlat: null
                      minOrderAmount: '5.00'
                      maxDiscountAmount: null
                      canBeCombined: true
                      isFreeDelivery: true
                    -
                      id: 1
                      icon: percentage
                      title: 'First Order Discount'
                      description: '10% OFF on first orders over $10.00'
                      discountPercentage: '10.00'
                      discountFlat: null
                      minOrderAmount: '10.00'
                      maxDiscountAmount: '10.00'
                      canBeCombined: false
                      isFreeDelivery: false
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Promotions listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 5
                        icon: percentage
                        title: Eureka!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                      -
                        id: 4
                        icon: percentage
                        title: Voila!
                        description: '5% OFF on all orders over $1.00'
                        discountPercentage: '5.00'
                        discountFlat: null
                        minOrderAmount: '1.00'
                        maxDiscountAmount: '5.00'
                        canBeCombined: true
                        isFreeDelivery: false
                      -
                        id: 3
                        icon: percentage
                        title: 'Big Order Discount'
                        description: '20% OFF on all orders over $50.00'
                        discountPercentage: '20.00'
                        discountFlat: null
                        minOrderAmount: '50.00'
                        maxDiscountAmount: '50.00'
                        canBeCombined: false
                        isFreeDelivery: false
                      -
                        id: 2
                        icon: vespa
                        title: 'Free Delivery'
                        description: 'Free Delivery on delivery orders over $5.00'
                        discountPercentage: null
                        discountFlat: null
                        minOrderAmount: '5.00'
                        maxDiscountAmount: null
                        canBeCombined: true
                        isFreeDelivery: true
                      -
                        id: 1
                        icon: percentage
                        title: 'First Order Discount'
                        description: '10% OFF on first orders over $10.00'
                        discountPercentage: '10.00'
                        discountFlat: null
                        minOrderAmount: '10.00'
                        maxDiscountAmount: '10.00'
                        canBeCombined: false
                        isFreeDelivery: false
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 5
                        icon:
                          type: string
                          example: percentage
                        title:
                          type: string
                          example: Eureka!
                        description:
                          type: string
                          example: '5% OFF on all orders over $1.00'
                        discountPercentage:
                          type: string
                          example: '5.00'
                        discountFlat:
                          type: string
                          example: null
                        minOrderAmount:
                          type: string
                          example: '1.00'
                        maxDiscountAmount:
                          type: string
                          example: '5.00'
                        canBeCombined:
                          type: boolean
                          example: true
                        isFreeDelivery:
                          type: boolean
                          example: false
      tags:
        - Promotion
      security: []
    post:
      summary: 'Create Promotion'
      operationId: createPromotion
      description: 'Create a new promotion or discount code for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Promotion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                icon:
                  type: string
                  description: 'The icon of the promotion.'
                  example: vespa
                  nullable: false
                title:
                  type: string
                  description: 'The title of the promotion.'
                  example: '25% Discount'
                  nullable: false
                description:
                  type: string
                  description: 'The description of the promotion.'
                  example: 'Get 25% off your order'
                  nullable: false
                discount_percentage:
                  type: number
                  description: 'The discount percentage.'
                  example: 25.0
                  nullable: false
                discount_flat:
                  type: number
                  description: 'The discount flat amount.'
                  example: 0.0
                  nullable: false
                min_order_amount:
                  type: number
                  description: 'The minimum order amount.'
                  example: 10.0
                  nullable: false
                max_discount_amount:
                  type: number
                  description: 'The maximum discount amount.'
                  example: 25.0
                  nullable: false
                can_be_combined:
                  type: boolean
                  description: 'The flag to indicate if the promotion can be combined with other promotions.'
                  example: true
                  nullable: false
                is_free_delivery:
                  type: boolean
                  description: 'The flag to indicate if the promotion is free delivery.'
                  example: false
                  nullable: false
              required:
                - icon
                - title
                - description
                - discount_percentage
                - discount_flat
                - min_order_amount
                - max_discount_amount
                - can_be_combined
                - is_free_delivery
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/promotions/{promotion_id}':
    get:
      summary: 'Get Promotion'
      operationId: getPromotion
      description: 'Get detailed information about a specific promotion.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Promotion retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    icon: percentage
                    title: 'First Order Discount'
                    description: '10% OFF on first orders over $10.00'
                    discountPercentage: '10.00'
                    discountFlat: null
                    minOrderAmount: '10.00'
                    maxDiscountAmount: '10.00'
                    canBeCombined: false
                    isFreeDelivery: false
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Promotion retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      icon:
                        type: string
                        example: percentage
                      title:
                        type: string
                        example: 'First Order Discount'
                      description:
                        type: string
                        example: '10% OFF on first orders over $10.00'
                      discountPercentage:
                        type: string
                        example: '10.00'
                      discountFlat:
                        type: string
                        example: null
                      minOrderAmount:
                        type: string
                        example: '10.00'
                      maxDiscountAmount:
                        type: string
                        example: '10.00'
                      canBeCombined:
                        type: boolean
                        example: false
                      isFreeDelivery:
                        type: boolean
                        example: false
      tags:
        - Promotion
      security: []
    patch:
      summary: 'Update Promotion'
      operationId: updatePromotion
      description: 'Update the details of an existing promotion.'
      parameters: []
      responses: {  }
      tags:
        - Promotion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                icon:
                  type: string
                  description: 'The icon of the promotion.'
                  example: vespa
                  nullable: false
                title:
                  type: string
                  description: 'The title of the promotion.'
                  example: '11% Discount'
                  nullable: false
                description:
                  type: string
                  description: 'The description of the promotion.'
                  example: 'Get 11% off your order'
                  nullable: false
                discount_percentage:
                  type: number
                  description: 'The discount percentage.'
                  example: 11.0
                  nullable: false
                discount_flat:
                  type: number
                  description: 'The discount flat amount.'
                  example: null
                  nullable: false
                min_order_amount:
                  type: number
                  description: 'The minimum order amount.'
                  example: 10.0
                  nullable: false
                max_discount_amount:
                  type: number
                  description: 'The maximum discount amount.'
                  example: 24.0
                  nullable: false
                can_be_combined:
                  type: boolean
                  description: 'The flag to indicate if the promotion can be combined with other promotions.'
                  example: false
                  nullable: false
                is_free_delivery:
                  type: boolean
                  description: 'The flag to indicate if the promotion is free delivery.'
                  example: false
                  nullable: false
              required:
                - icon
                - title
                - description
                - discount_percentage
                - discount_flat
                - min_order_amount
                - max_discount_amount
                - can_be_combined
                - is_free_delivery
      security: []
    delete:
      summary: 'Delete Promotion'
      operationId: deletePromotion
      description: 'Remove a promotion from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Promotion
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: promotion_id
        description: 'The ID of the promotion.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/categories':
    get:
      summary: 'List Categories'
      operationId: listCategories
      description: 'Get a list of all categories for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Categories listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 7
                      name: 'Pork Dishes'
                    -
                      id: 6
                      name: Desserts
                    -
                      id: 5
                      name: Salads
                    -
                      id: 4
                      name: Pizza
                    -
                      id: 3
                      name: Appetizers
                    -
                      id: 2
                      name: 'Main Course'
                    -
                      id: 1
                      name: Entree
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Categories listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 7
                        name: 'Pork Dishes'
                      -
                        id: 6
                        name: Desserts
                      -
                        id: 5
                        name: Salads
                      -
                        id: 4
                        name: Pizza
                      -
                        id: 3
                        name: Appetizers
                      -
                        id: 2
                        name: 'Main Course'
                      -
                        id: 1
                        name: Entree
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 7
                        name:
                          type: string
                          example: 'Pork Dishes'
      tags:
        - Category
      security: []
    post:
      summary: 'Create Category'
      operationId: createCategory
      description: 'Create a new category for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Category
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the category.'
                  example: Drinks
                  nullable: false
              required:
                - name
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/categories/{category_id}':
    get:
      summary: 'Get Category'
      operationId: getCategory
      description: 'Get detailed information about a specific category.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Category retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: Entree
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Category retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Entree
      tags:
        - Category
      security: []
    patch:
      summary: 'Update Category'
      operationId: updateCategory
      description: "Update an existing category's information."
      parameters: []
      responses: {  }
      tags:
        - Category
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the category.'
                  example: Wines
                  nullable: false
              required:
                - name
      security: []
    delete:
      summary: 'Delete Category'
      operationId: deleteCategory
      description: 'Remove a category from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Category
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: category_id
        description: 'The ID of the category.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products':
    get:
      summary: 'List Products'
      operationId: listProducts
      description: 'Get a list of all products for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Products listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 18
                      name: 'Crispy Pork Belly'
                      description: 'Crispy pork belly with a side of pickled vegetables.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/crispy_pork_belly.png'
                      price: '9.99'
                      deliveryAvailable: false
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options: []
                      bulletPoints:
                        -
                          id: 50
                          productId: 18
                          text: 'Crispy and flavorful pork belly'
                        -
                          id: 51
                          productId: 18
                          text: 'Served with tangy pickled vegetables'
                        -
                          id: 52
                          productId: 18
                          text: 'A delicious and satisfying dish'
                    -
                      id: 17
                      name: 'Pulled Pork Sandwich'
                      description: 'Slow-cooked pulled pork on a toasted bun with BBQ sauce.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/pulled_pork_sandwich.png'
                      price: '8.49'
                      deliveryAvailable: true
                      pickupAvailable: false
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 47
                          productId: 17
                          text: 'Tender slow-cooked pulled pork'
                        -
                          id: 48
                          productId: 17
                          text: 'Toasted bun with BBQ sauce'
                        -
                          id: 49
                          productId: 17
                          text: 'A hearty and delicious sandwich'
                    -
                      id: 16
                      name: 'Vanilla Cheesecake'
                      description: 'Classic creamy vanilla cheesecake with a graham cracker crust.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/vanilla_cheesecake.png'
                      price: '5.49'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 44
                          productId: 16
                          text: 'Creamy and rich vanilla flavor'
                        -
                          id: 45
                          productId: 16
                          text: 'Graham cracker crust'
                        -
                          id: 46
                          productId: 16
                          text: 'Perfect for dessert lovers'
                    -
                      id: 15
                      name: 'Chocolate Lava Cake'
                      description: 'Rich chocolate cake with a gooey molten center.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/chocolate_lava_cake.png'
                      price: '4.99'
                      deliveryAvailable: false
                      pickupAvailable: false
                      available: true
                      isTopSeller: false
                      options: []
                      bulletPoints:
                        -
                          id: 41
                          productId: 15
                          text: 'Rich and decadent chocolate flavor'
                        -
                          id: 42
                          productId: 15
                          text: 'Molten chocolate center'
                        -
                          id: 43
                          productId: 15
                          text: 'Perfect dessert for chocolate lovers'
                    -
                      id: 14
                      name: 'Deal 1'
                      description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                      price: '27.60'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: true
                      options:
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 38
                          productId: 14
                          text: 'Includes a medium pizza'
                        -
                          id: 39
                          productId: 14
                          text: 'Comes with garlic bread and drink'
                        -
                          id: 40
                          productId: 14
                          text: 'A great meal deal for sharing'
                    -
                      id: 13
                      name: 'Caesar Salad'
                      description: 'Crisp romaine lettuce, croutons, and Caesar dressing.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/caesar_salad.png'
                      price: '6.49'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 35
                          productId: 13
                          text: 'Crisp romaine lettuce'
                        -
                          id: 36
                          productId: 13
                          text: 'Crunchy croutons'
                        -
                          id: 37
                          productId: 13
                          text: 'Creamy Caesar dressing'
                    -
                      id: 12
                      name: 'Grilled Salmon Salad'
                      description: 'Mixed greens topped with grilled salmon and a light dressing.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/grilled_salmon_salad.png'
                      price: '9.99'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 32
                          productId: 12
                          text: 'Mixed greens and fresh vegetables'
                        -
                          id: 33
                          productId: 12
                          text: 'Perfectly grilled salmon'
                        -
                          id: 34
                          productId: 12
                          text: 'Served with a light vinaigrette'
                    -
                      id: 11
                      name: 'Margherita Pizza'
                      description: 'Fresh basil, mozzarella, and tomato sauce.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/margherita_pizza.png'
                      price: '7.49'
                      deliveryAvailable: false
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                      bulletPoints:
                        -
                          id: 29
                          productId: 11
                          text: 'Fresh basil leaves'
                        -
                          id: 30
                          productId: 11
                          text: 'Rich tomato sauce and mozzarella'
                        -
                          id: 31
                          productId: 11
                          text: 'Light and flavorful classic'
                    -
                      id: 10
                      name: 'Pepperoni Pizza'
                      description: 'Classic pepperoni pizza with a cheesy crust.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/pepperoni_pizza.png'
                      price: '8.99'
                      deliveryAvailable: true
                      pickupAvailable: false
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 26
                          productId: 10
                          text: 'Cheesy and delicious crust'
                        -
                          id: 27
                          productId: 10
                          text: 'Loaded with pepperoni slices'
                        -
                          id: 28
                          productId: 10
                          text: 'A favorite for all pizza lovers'
                    -
                      id: 9
                      name: 'Spring Roll (3pcs)'
                      description: 'Contains BBQ pork, chicken, prawns.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                      price: '6.80'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: true
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 23
                          productId: 9
                          text: 'Crispy and golden brown'
                        -
                          id: 24
                          productId: 9
                          text: 'Filled with savory ingredients'
                        -
                          id: 25
                          productId: 9
                          text: 'A perfect appetizer'
                    -
                      id: 8
                      name: 'Special Fried Rice'
                      description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                      price: '16.80'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: true
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 20
                          productId: 8
                          text: 'Rich and flavorful fried rice'
                        -
                          id: 21
                          productId: 8
                          text: 'Includes meat and garlic sauce'
                        -
                          id: 22
                          productId: 8
                          text: 'Perfect for a hearty meal'
                    -
                      id: 7
                      name: 'Vegetarian Spring Rolls'
                      description: 'Crispy spring rolls filled with fresh vegetables.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/vegetarian_spring_rolls.png'
                      price: '4.99'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 18
                          productId: 7
                          text: 'Crispy on the outside'
                        -
                          id: 19
                          productId: 7
                          text: 'Filled with fresh, seasonal vegetables'
                    -
                      id: 6
                      name: 'Honey Chicken'
                      description: 'Sweet and savory honey-glazed chicken.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                      price: '16.80'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: true
                      options:
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 15
                          productId: 6
                          text: 'Tender chicken pieces'
                        -
                          id: 16
                          productId: 6
                          text: 'Glazed with a sweet honey sauce'
                        -
                          id: 17
                          productId: 6
                          text: 'Perfect for chicken lovers'
                    -
                      id: 5
                      name: 'BBQ Pork Ribs'
                      description: 'Slow-cooked pork ribs smothered in BBQ sauce.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/bbq_pork_ribs.png'
                      price: '9.99'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 12
                          productId: 5
                          text: 'Tender slow-cooked pork ribs'
                        -
                          id: 13
                          productId: 5
                          text: 'Coated in a smoky BBQ sauce'
                        -
                          id: 14
                          productId: 5
                          text: 'Great with fries or a salad'
                    -
                      id: 4
                      name: 'Garlic Butter Prawns'
                      description: 'Juicy prawns cooked in a rich garlic butter sauce.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/garlic_butter_prawns.png'
                      price: '7.49'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 8
                          name: 'Extra Toppings'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 2
                          options:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                      bulletPoints:
                        -
                          id: 10
                          productId: 4
                          text: 'Succulent prawns in garlic butter'
                        -
                          id: 11
                          productId: 4
                          text: 'Perfect for seafood lovers'
                    -
                      id: 3
                      name: 'Steam Rice'
                      description: 'Contains honey, chicken, praw.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                      price: '3.80'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: true
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                      bulletPoints:
                        -
                          id: 7
                          productId: 3
                          text: 'Steamed to perfection'
                        -
                          id: 8
                          productId: 3
                          text: 'Great as a side dish'
                        -
                          id: 9
                          productId: 3
                          text: 'Simple yet flavorful'
                    -
                      id: 2
                      name: 'Salted Edamame'
                      description: 'Freshly steamed edamame lightly seasoned with sea salt.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/salted_edamame.png'
                      price: '3.49'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                      bulletPoints:
                        -
                          id: 4
                          productId: 2
                          text: 'Freshly steamed soybeans'
                        -
                          id: 5
                          productId: 2
                          text: 'Seasoned with sea salt for a light taste'
                        -
                          id: 6
                          productId: 2
                          text: 'A perfect healthy snack'
                    -
                      id: 1
                      name: 'Spicy Chicken Wings'
                      description: 'Crispy and spicy chicken wings with a bold flavor.'
                      image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                      price: '5.99'
                      deliveryAvailable: true
                      pickupAvailable: true
                      available: true
                      isTopSeller: false
                      options:
                        -
                          id: 1
                          name: Spicy
                          price: 0
                          type: select
                          minSelect: 1
                          maxSelect: 1
                          options:
                            -
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                            -
                              id: 3
                              name: 'Spicy: No'
                              price: 0
                              type: option
                        -
                          id: 4
                          name: 'Extra Sauce'
                          price: 0
                          type: select
                          minSelect: 0
                          maxSelect: 3
                          options:
                            -
                              id: 5
                              name: 'Garlic Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                            -
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      bulletPoints:
                        -
                          id: 1
                          productId: 1
                          text: 'Perfectly crispy chicken wings'
                        -
                          id: 2
                          productId: 1
                          text: 'Infused with a bold spicy flavor'
                        -
                          id: 3
                          productId: 1
                          text: 'Served with a side of ranch dip'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Products listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 18
                        name: 'Crispy Pork Belly'
                        description: 'Crispy pork belly with a side of pickled vegetables.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/crispy_pork_belly.png'
                        price: '9.99'
                        deliveryAvailable: false
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options: []
                        bulletPoints:
                          -
                            id: 50
                            productId: 18
                            text: 'Crispy and flavorful pork belly'
                          -
                            id: 51
                            productId: 18
                            text: 'Served with tangy pickled vegetables'
                          -
                            id: 52
                            productId: 18
                            text: 'A delicious and satisfying dish'
                      -
                        id: 17
                        name: 'Pulled Pork Sandwich'
                        description: 'Slow-cooked pulled pork on a toasted bun with BBQ sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/pulled_pork_sandwich.png'
                        price: '8.49'
                        deliveryAvailable: true
                        pickupAvailable: false
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 47
                            productId: 17
                            text: 'Tender slow-cooked pulled pork'
                          -
                            id: 48
                            productId: 17
                            text: 'Toasted bun with BBQ sauce'
                          -
                            id: 49
                            productId: 17
                            text: 'A hearty and delicious sandwich'
                      -
                        id: 16
                        name: 'Vanilla Cheesecake'
                        description: 'Classic creamy vanilla cheesecake with a graham cracker crust.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/vanilla_cheesecake.png'
                        price: '5.49'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 44
                            productId: 16
                            text: 'Creamy and rich vanilla flavor'
                          -
                            id: 45
                            productId: 16
                            text: 'Graham cracker crust'
                          -
                            id: 46
                            productId: 16
                            text: 'Perfect for dessert lovers'
                      -
                        id: 15
                        name: 'Chocolate Lava Cake'
                        description: 'Rich chocolate cake with a gooey molten center.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/chocolate_lava_cake.png'
                        price: '4.99'
                        deliveryAvailable: false
                        pickupAvailable: false
                        available: true
                        isTopSeller: false
                        options: []
                        bulletPoints:
                          -
                            id: 41
                            productId: 15
                            text: 'Rich and decadent chocolate flavor'
                          -
                            id: 42
                            productId: 15
                            text: 'Molten chocolate center'
                          -
                            id: 43
                            productId: 15
                            text: 'Perfect dessert for chocolate lovers'
                      -
                        id: 14
                        name: 'Deal 1'
                        description: '1 Medium Pizza, 1 Garlic Bread, 1.25L Drink.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/deal_1.png'
                        price: '27.60'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                        options:
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 38
                            productId: 14
                            text: 'Includes a medium pizza'
                          -
                            id: 39
                            productId: 14
                            text: 'Comes with garlic bread and drink'
                          -
                            id: 40
                            productId: 14
                            text: 'A great meal deal for sharing'
                      -
                        id: 13
                        name: 'Caesar Salad'
                        description: 'Crisp romaine lettuce, croutons, and Caesar dressing.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/caesar_salad.png'
                        price: '6.49'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 35
                            productId: 13
                            text: 'Crisp romaine lettuce'
                          -
                            id: 36
                            productId: 13
                            text: 'Crunchy croutons'
                          -
                            id: 37
                            productId: 13
                            text: 'Creamy Caesar dressing'
                      -
                        id: 12
                        name: 'Grilled Salmon Salad'
                        description: 'Mixed greens topped with grilled salmon and a light dressing.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/grilled_salmon_salad.png'
                        price: '9.99'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 32
                            productId: 12
                            text: 'Mixed greens and fresh vegetables'
                          -
                            id: 33
                            productId: 12
                            text: 'Perfectly grilled salmon'
                          -
                            id: 34
                            productId: 12
                            text: 'Served with a light vinaigrette'
                      -
                        id: 11
                        name: 'Margherita Pizza'
                        description: 'Fresh basil, mozzarella, and tomato sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/margherita_pizza.png'
                        price: '7.49'
                        deliveryAvailable: false
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                        bulletPoints:
                          -
                            id: 29
                            productId: 11
                            text: 'Fresh basil leaves'
                          -
                            id: 30
                            productId: 11
                            text: 'Rich tomato sauce and mozzarella'
                          -
                            id: 31
                            productId: 11
                            text: 'Light and flavorful classic'
                      -
                        id: 10
                        name: 'Pepperoni Pizza'
                        description: 'Classic pepperoni pizza with a cheesy crust.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/pepperoni_pizza.png'
                        price: '8.99'
                        deliveryAvailable: true
                        pickupAvailable: false
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 26
                            productId: 10
                            text: 'Cheesy and delicious crust'
                          -
                            id: 27
                            productId: 10
                            text: 'Loaded with pepperoni slices'
                          -
                            id: 28
                            productId: 10
                            text: 'A favorite for all pizza lovers'
                      -
                        id: 9
                        name: 'Spring Roll (3pcs)'
                        description: 'Contains BBQ pork, chicken, prawns.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/spring_roll.png'
                        price: '6.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 23
                            productId: 9
                            text: 'Crispy and golden brown'
                          -
                            id: 24
                            productId: 9
                            text: 'Filled with savory ingredients'
                          -
                            id: 25
                            productId: 9
                            text: 'A perfect appetizer'
                      -
                        id: 8
                        name: 'Special Fried Rice'
                        description: 'Regular Meat Container, 2 x Pita Bread, 1 x Tub Of Garlic Sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/special_fried_rice.png'
                        price: '16.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 20
                            productId: 8
                            text: 'Rich and flavorful fried rice'
                          -
                            id: 21
                            productId: 8
                            text: 'Includes meat and garlic sauce'
                          -
                            id: 22
                            productId: 8
                            text: 'Perfect for a hearty meal'
                      -
                        id: 7
                        name: 'Vegetarian Spring Rolls'
                        description: 'Crispy spring rolls filled with fresh vegetables.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/vegetarian_spring_rolls.png'
                        price: '4.99'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 18
                            productId: 7
                            text: 'Crispy on the outside'
                          -
                            id: 19
                            productId: 7
                            text: 'Filled with fresh, seasonal vegetables'
                      -
                        id: 6
                        name: 'Honey Chicken'
                        description: 'Sweet and savory honey-glazed chicken.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/honey_chicken.png'
                        price: '16.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                        options:
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 15
                            productId: 6
                            text: 'Tender chicken pieces'
                          -
                            id: 16
                            productId: 6
                            text: 'Glazed with a sweet honey sauce'
                          -
                            id: 17
                            productId: 6
                            text: 'Perfect for chicken lovers'
                      -
                        id: 5
                        name: 'BBQ Pork Ribs'
                        description: 'Slow-cooked pork ribs smothered in BBQ sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/bbq_pork_ribs.png'
                        price: '9.99'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 12
                            productId: 5
                            text: 'Tender slow-cooked pork ribs'
                          -
                            id: 13
                            productId: 5
                            text: 'Coated in a smoky BBQ sauce'
                          -
                            id: 14
                            productId: 5
                            text: 'Great with fries or a salad'
                      -
                        id: 4
                        name: 'Garlic Butter Prawns'
                        description: 'Juicy prawns cooked in a rich garlic butter sauce.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/garlic_butter_prawns.png'
                        price: '7.49'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 8
                            name: 'Extra Toppings'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 2
                            options:
                              -
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                              -
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                              -
                                id: 11
                                name: Beef
                                price: 2.5
                                type: option
                              -
                                id: 12
                                name: Pork
                                price: 2.5
                                type: option
                        bulletPoints:
                          -
                            id: 10
                            productId: 4
                            text: 'Succulent prawns in garlic butter'
                          -
                            id: 11
                            productId: 4
                            text: 'Perfect for seafood lovers'
                      -
                        id: 3
                        name: 'Steam Rice'
                        description: 'Contains honey, chicken, praw.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/steam_rice.png'
                        price: '3.80'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: true
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                        bulletPoints:
                          -
                            id: 7
                            productId: 3
                            text: 'Steamed to perfection'
                          -
                            id: 8
                            productId: 3
                            text: 'Great as a side dish'
                          -
                            id: 9
                            productId: 3
                            text: 'Simple yet flavorful'
                      -
                        id: 2
                        name: 'Salted Edamame'
                        description: 'Freshly steamed edamame lightly seasoned with sea salt.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/salted_edamame.png'
                        price: '3.49'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                        bulletPoints:
                          -
                            id: 4
                            productId: 2
                            text: 'Freshly steamed soybeans'
                          -
                            id: 5
                            productId: 2
                            text: 'Seasoned with sea salt for a light taste'
                          -
                            id: 6
                            productId: 2
                            text: 'A perfect healthy snack'
                      -
                        id: 1
                        name: 'Spicy Chicken Wings'
                        description: 'Crispy and spicy chicken wings with a bold flavor.'
                        image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                        price: '5.99'
                        deliveryAvailable: true
                        pickupAvailable: true
                        available: true
                        isTopSeller: false
                        options:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        bulletPoints:
                          -
                            id: 1
                            productId: 1
                            text: 'Perfectly crispy chicken wings'
                          -
                            id: 2
                            productId: 1
                            text: 'Infused with a bold spicy flavor'
                          -
                            id: 3
                            productId: 1
                            text: 'Served with a side of ranch dip'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 18
                        name:
                          type: string
                          example: 'Crispy Pork Belly'
                        description:
                          type: string
                          example: 'Crispy pork belly with a side of pickled vegetables.'
                        image:
                          type: string
                          example: 'https://tuckerfox.fmstech.com.tr/assets/images/crispy_pork_belly.png'
                        price:
                          type: string
                          example: '9.99'
                        deliveryAvailable:
                          type: boolean
                          example: false
                        pickupAvailable:
                          type: boolean
                          example: true
                        available:
                          type: boolean
                          example: true
                        isTopSeller:
                          type: boolean
                          example: false
                        options:
                          type: array
                          example: []
                        bulletPoints:
                          type: array
                          example:
                            -
                              id: 50
                              productId: 18
                              text: 'Crispy and flavorful pork belly'
                            -
                              id: 51
                              productId: 18
                              text: 'Served with tangy pickled vegetables'
                            -
                              id: 52
                              productId: 18
                              text: 'A delicious and satisfying dish'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 50
                              productId:
                                type: integer
                                example: 18
                              text:
                                type: string
                                example: 'Crispy and flavorful pork belly'
      tags:
        - Product
      security: []
    post:
      summary: 'Create Product'
      operationId: createProduct
      description: 'Create a new product for a company.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                category_id:
                  type: integer
                  description: 'The ID of the category.'
                  example: 1
                  nullable: false
                name:
                  type: string
                  description: 'The name of the product.'
                  example: Lahmacun
                  nullable: false
                description:
                  type: string
                  description: 'The description of the product.'
                  example: 'A delicious lahmacun'
                  nullable: false
                image:
                  type: string
                  description: 'The image of the product.'
                  example: 'https://tuckerfox.fmstech.com.tr/assets/images/food1.png'
                  nullable: false
                price:
                  type: number
                  description: 'The price of the product.'
                  example: 5.99
                  nullable: false
                delivery_available:
                  type: boolean
                  description: 'The delivery availability of the product.'
                  example: true
                  nullable: false
                pickup_available:
                  type: boolean
                  description: 'The pickup availability of the product.'
                  example: true
                  nullable: false
                available:
                  type: boolean
                  description: 'The availability of the product.'
                  example: true
                  nullable: false
                is_top_seller:
                  type: boolean
                  description: 'The top seller status of the product.'
                  example: false
                  nullable: false
              required:
                - category_id
                - name
                - description
                - image
                - price
                - delivery_available
                - pickup_available
                - available
                - is_top_seller
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products/{product_id}':
    get:
      summary: 'Get Product'
      operationId: getProduct
      description: 'Get detailed information about a specific product.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Product retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: 'Spicy Chicken Wings'
                    description: 'Crispy and spicy chicken wings with a bold flavor.'
                    image: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                    price: '5.99'
                    deliveryAvailable: true
                    pickupAvailable: true
                    available: true
                    isTopSeller: false
                    options:
                      -
                        id: 1
                        name: Spicy
                        price: 0
                        type: select
                        minSelect: 1
                        maxSelect: 1
                        options:
                          -
                            id: 2
                            name: 'Spicy: Yes'
                            price: 1
                            type: option
                          -
                            id: 3
                            name: 'Spicy: No'
                            price: 0
                            type: option
                      -
                        id: 4
                        name: 'Extra Sauce'
                        price: 0
                        type: select
                        minSelect: 0
                        maxSelect: 3
                        options:
                          -
                            id: 5
                            name: 'Garlic Sauce'
                            price: 1.5
                            type: option
                          -
                            id: 6
                            name: 'BBQ Sauce'
                            price: 1.5
                            type: option
                          -
                            id: 7
                            name: 'Sweet Chilli Sauce'
                            price: 1.5
                            type: option
                    bulletPoints:
                      -
                        id: 1
                        productId: 1
                        text: 'Perfectly crispy chicken wings'
                      -
                        id: 2
                        productId: 1
                        text: 'Infused with a bold spicy flavor'
                      -
                        id: 3
                        productId: 1
                        text: 'Served with a side of ranch dip'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Product retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: 'Spicy Chicken Wings'
                      description:
                        type: string
                        example: 'Crispy and spicy chicken wings with a bold flavor.'
                      image:
                        type: string
                        example: 'https://tuckerfox.fmstech.com.tr/assets/images/spicy_chicken_wings.png'
                      price:
                        type: string
                        example: '5.99'
                      deliveryAvailable:
                        type: boolean
                        example: true
                      pickupAvailable:
                        type: boolean
                        example: true
                      available:
                        type: boolean
                        example: true
                      isTopSeller:
                        type: boolean
                        example: false
                      options:
                        type: array
                        example:
                          -
                            id: 1
                            name: Spicy
                            price: 0
                            type: select
                            minSelect: 1
                            maxSelect: 1
                            options:
                              -
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                              -
                                id: 3
                                name: 'Spicy: No'
                                price: 0
                                type: option
                          -
                            id: 4
                            name: 'Extra Sauce'
                            price: 0
                            type: select
                            minSelect: 0
                            maxSelect: 3
                            options:
                              -
                                id: 5
                                name: 'Garlic Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                              -
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Spicy
                            price:
                              type: integer
                              example: 0
                            type:
                              type: string
                              example: select
                            minSelect:
                              type: integer
                              example: 1
                            maxSelect:
                              type: integer
                              example: 1
                            options:
                              type: array
                              example:
                                -
                                  id: 2
                                  name: 'Spicy: Yes'
                                  price: 1
                                  type: option
                                -
                                  id: 3
                                  name: 'Spicy: No'
                                  price: 0
                                  type: option
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 2
                                  name:
                                    type: string
                                    example: 'Spicy: Yes'
                                  price:
                                    type: integer
                                    example: 1
                                  type:
                                    type: string
                                    example: option
                      bulletPoints:
                        type: array
                        example:
                          -
                            id: 1
                            productId: 1
                            text: 'Perfectly crispy chicken wings'
                          -
                            id: 2
                            productId: 1
                            text: 'Infused with a bold spicy flavor'
                          -
                            id: 3
                            productId: 1
                            text: 'Served with a side of ranch dip'
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            productId:
                              type: integer
                              example: 1
                            text:
                              type: string
                              example: 'Perfectly crispy chicken wings'
      tags:
        - Product
      security: []
    patch:
      summary: 'Update Product'
      operationId: updateProduct
      description: "Update an existing product's information."
      parameters: []
      responses: {  }
      tags:
        - Product
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the product.'
                  example: Kunafah
                  nullable: false
                description:
                  type: string
                  description: 'The description of the product.'
                  example: 'The best kunafah in the world'
                  nullable: false
                image:
                  type: string
                  description: 'The image of the product.'
                  example: 'https://tuckerfox.fmstech.com.tr/assets/images/food2.png'
                  nullable: false
                price:
                  type: number
                  description: 'The price of the product.'
                  example: 6.99
                  nullable: false
                delivery_available:
                  type: boolean
                  description: 'The delivery availability of the product.'
                  example: true
                  nullable: false
                pickup_available:
                  type: boolean
                  description: 'The pickup availability of the product.'
                  example: true
                  nullable: false
                available:
                  type: boolean
                  description: 'The availability of the product.'
                  example: true
                  nullable: false
                is_top_seller:
                  type: boolean
                  description: 'The top seller status of the product.'
                  example: false
                  nullable: false
      security: []
    delete:
      summary: 'Delete Product'
      operationId: deleteProduct
      description: 'Remove a product from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: product_id
        description: 'The ID of the product.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products/{product_id}/bullet-points':
    post:
      summary: 'Add Bullet Point'
      operationId: addBulletPoint
      description: 'Add a new bullet point to a product.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  type: string
                  description: 'The text of the bullet point.'
                  example: 'Crispy and creamy'
                  nullable: false
              required:
                - text
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: product_id
        description: 'The ID of the product.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products/{product_id}/bullet-points/{bullet_point_id}':
    put:
      summary: 'Update Bullet Point'
      operationId: updateBulletPoint
      description: 'Update an existing bullet point of a product.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Bullet point updated successfully'
                  statusCode: 200
                  data:
                    id: 1
                    productId: 1
                    text: 'Delicious and crispy'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Bullet point updated successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      productId:
                        type: integer
                        example: 1
                      text:
                        type: string
                        example: 'Delicious and crispy'
      tags:
        - Product
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  type: string
                  description: 'The text of the bullet point.'
                  example: 'Delicious and crispy'
                  nullable: false
      security: []
    delete:
      summary: 'Delete Bullet Point'
      operationId: deleteBulletPoint
      description: 'Remove a bullet point from a product.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: product_id
        description: 'The ID of the product.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: bullet_point_id
        description: 'The ID of the bullet point.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products/{product_id}/options':
    post:
      summary: 'Add Option'
      operationId: addOption
      description: 'Add a new option to a product.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                option_id:
                  type: integer
                  description: 'The ID of the option.'
                  example: 1
                  nullable: false
              required:
                - option_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: product_id
        description: 'The ID of the product.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/products/{product_id}/options/{option_id}':
    delete:
      summary: 'Delete Option'
      operationId: deleteOption
      description: 'Remove an option from a product.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Product
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: product_id
        description: 'The ID of the product.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: option_id
        description: 'The ID of the option.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/product-options':
    get:
      summary: 'List Product Options'
      operationId: listProductOptions
      description: 'Get a list of all available options for products.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Product options listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 8
                      name: 'Extra Toppings'
                      price: 0
                      type: select
                      minSelect: 0
                      maxSelect: 2
                      options:
                        -
                          id: 9
                          name: Prawns
                          price: 2.5
                          type: option
                        -
                          id: 10
                          name: Chicken
                          price: 2.5
                          type: option
                        -
                          id: 11
                          name: Beef
                          price: 2.5
                          type: option
                        -
                          id: 12
                          name: Pork
                          price: 2.5
                          type: option
                    -
                      id: 4
                      name: 'Extra Sauce'
                      price: 0
                      type: select
                      minSelect: 0
                      maxSelect: 3
                      options:
                        -
                          id: 5
                          name: 'Garlic Sauce'
                          price: 1.5
                          type: option
                        -
                          id: 6
                          name: 'BBQ Sauce'
                          price: 1.5
                          type: option
                        -
                          id: 7
                          name: 'Sweet Chilli Sauce'
                          price: 1.5
                          type: option
                    -
                      id: 1
                      name: Spicy
                      price: 0
                      type: select
                      minSelect: 1
                      maxSelect: 1
                      options:
                        -
                          id: 2
                          name: 'Spicy: Yes'
                          price: 1
                          type: option
                        -
                          id: 3
                          name: 'Spicy: No'
                          price: 0
                          type: option
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Product options listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 8
                        name: 'Extra Toppings'
                        price: 0
                        type: select
                        minSelect: 0
                        maxSelect: 2
                        options:
                          -
                            id: 9
                            name: Prawns
                            price: 2.5
                            type: option
                          -
                            id: 10
                            name: Chicken
                            price: 2.5
                            type: option
                          -
                            id: 11
                            name: Beef
                            price: 2.5
                            type: option
                          -
                            id: 12
                            name: Pork
                            price: 2.5
                            type: option
                      -
                        id: 4
                        name: 'Extra Sauce'
                        price: 0
                        type: select
                        minSelect: 0
                        maxSelect: 3
                        options:
                          -
                            id: 5
                            name: 'Garlic Sauce'
                            price: 1.5
                            type: option
                          -
                            id: 6
                            name: 'BBQ Sauce'
                            price: 1.5
                            type: option
                          -
                            id: 7
                            name: 'Sweet Chilli Sauce'
                            price: 1.5
                            type: option
                      -
                        id: 1
                        name: Spicy
                        price: 0
                        type: select
                        minSelect: 1
                        maxSelect: 1
                        options:
                          -
                            id: 2
                            name: 'Spicy: Yes'
                            price: 1
                            type: option
                          -
                            id: 3
                            name: 'Spicy: No'
                            price: 0
                            type: option
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 8
                        name:
                          type: string
                          example: 'Extra Toppings'
                        price:
                          type: integer
                          example: 0
                        type:
                          type: string
                          example: select
                        minSelect:
                          type: integer
                          example: 0
                        maxSelect:
                          type: integer
                          example: 2
                        options:
                          type: array
                          example:
                            -
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                            -
                              id: 10
                              name: Chicken
                              price: 2.5
                              type: option
                            -
                              id: 11
                              name: Beef
                              price: 2.5
                              type: option
                            -
                              id: 12
                              name: Pork
                              price: 2.5
                              type: option
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 9
                              name:
                                type: string
                                example: Prawns
                              price:
                                type: number
                                example: 2.5
                              type:
                                type: string
                                example: option
      tags:
        - 'Product Option'
      security: []
    post:
      summary: 'Create Product Option'
      operationId: createProductOption
      description: 'Create a new option or customization for products.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Product Option'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                parent_option_id:
                  type: integer
                  description: 'The ID of the parent option.'
                  example: null
                  nullable: true
                name:
                  type: string
                  description: 'The name of the option.'
                  example: 'Extra Cheese'
                  nullable: false
                price:
                  type: number
                  description: 'The price of the option.'
                  example: null
                  nullable: true
                type:
                  type: string
                  description: 'The type of the option.'
                  example: select
                  nullable: false
                min_select:
                  type: integer
                  description: 'The minimum number of selections.'
                  example: 1
                  nullable: true
                max_select:
                  type: integer
                  description: 'The maximum number of selections.'
                  example: 1
                  nullable: true
              required:
                - name
                - type
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/product-options/{option_id}':
    get:
      summary: 'Get Product Option'
      operationId: getProductOption
      description: 'Get detailed information about a specific product option.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Product option retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    name: Spicy
                    price: 0
                    type: select
                    minSelect: 1
                    maxSelect: 1
                    options:
                      -
                        id: 2
                        name: 'Spicy: Yes'
                        price: 1
                        type: option
                      -
                        id: 3
                        name: 'Spicy: No'
                        price: 0
                        type: option
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Product option retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      name:
                        type: string
                        example: Spicy
                      price:
                        type: integer
                        example: 0
                      type:
                        type: string
                        example: select
                      minSelect:
                        type: integer
                        example: 1
                      maxSelect:
                        type: integer
                        example: 1
                      options:
                        type: array
                        example:
                          -
                            id: 2
                            name: 'Spicy: Yes'
                            price: 1
                            type: option
                          -
                            id: 3
                            name: 'Spicy: No'
                            price: 0
                            type: option
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 2
                            name:
                              type: string
                              example: 'Spicy: Yes'
                            price:
                              type: integer
                              example: 1
                            type:
                              type: string
                              example: option
      tags:
        - 'Product Option'
      security: []
    patch:
      summary: 'Update Product Option'
      operationId: updateProductOption
      description: 'Update the details of an existing product option.'
      parameters: []
      responses: {  }
      tags:
        - 'Product Option'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the option.'
                  example: 'Extra Cheese for Your Pizza'
                  nullable: false
                price:
                  type: number
                  description: 'The price of the option.'
                  example: null
                  nullable: true
                type:
                  type: string
                  description: 'The type of the option.'
                  example: select
                  nullable: false
                min_select:
                  type: integer
                  description: 'The minimum number of selections.'
                  example: 1
                  nullable: true
                max_select:
                  type: integer
                  description: 'The maximum number of selections.'
                  example: 2
                  nullable: true
              required:
                - name
                - type
      security: []
    delete:
      summary: 'Delete Product Option'
      operationId: deleteProductOption
      description: 'Remove a product option from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'Product Option'
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: option_id
        description: 'The ID of the option.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets':
    get:
      summary: 'List Baskets'
      operationId: listBaskets
      description: 'Get a list of all shopping baskets for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Baskets retrieved successfully'
                  statusCode: 200
                  data:
                    -
                      id: 2
                      status: ordered
                      productsTotal: '24.47'
                      optionsTotal: '10.50'
                      deliveryTotal: '0.00'
                      discountsTotal: '10.99'
                      total: '23.98'
                      suburb:
                        id: 2
                        name: Macedon
                        deliveryFee: '4.00'
                      products:
                        -
                          id: 4
                          basketId: 2
                          productId: 10
                          name: 'Pepperoni Pizza'
                          quantity: 2
                          unitPrice: '8.99'
                          productTotal: '17.98'
                          optionsTotal: '8.00'
                          total: '25.98'
                          options:
                            -
                              id: 5
                              basketProductId: 4
                              name: 'Extra Sauce: BBQ Sauce'
                              price: '1.50'
                              total: '3.00'
                              option:
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                            -
                              id: 6
                              basketProductId: 4
                              name: 'Extra Toppings: Chicken'
                              price: '2.50'
                              total: '5.00'
                              option:
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                        -
                          id: 5
                          basketId: 2
                          productId: 13
                          name: 'Caesar Salad'
                          quantity: 1
                          unitPrice: '6.49'
                          productTotal: '6.49'
                          optionsTotal: '2.50'
                          total: '8.99'
                          options:
                            -
                              id: 7
                              basketProductId: 5
                              name: 'Extra Toppings: Prawns'
                              price: '2.50'
                              total: '2.50'
                              option:
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                      discounts:
                        -
                          id: 3
                          amount: '6.99'
                          promotion:
                            id: 3
                            icon: percentage
                            title: 'Big Order Discount'
                            description: '20% OFF on all orders over $50.00'
                            discountPercentage: '20.00'
                            discountFlat: null
                            minOrderAmount: '50.00'
                            maxDiscountAmount: '50.00'
                            canBeCombined: false
                            isFreeDelivery: false
                        -
                          id: 4
                          amount: '4.00'
                          promotion:
                            id: 2
                            icon: vespa
                            title: 'Free Delivery'
                            description: 'Free Delivery on delivery orders over $5.00'
                            discountPercentage: null
                            discountFlat: null
                            minOrderAmount: '5.00'
                            maxDiscountAmount: null
                            canBeCombined: true
                            isFreeDelivery: true
                    -
                      id: 1
                      status: pending
                      productsTotal: '47.20'
                      optionsTotal: '9.00'
                      deliveryTotal: '0.00'
                      discountsTotal: '8.62'
                      total: '47.58'
                      suburb:
                        id: 1
                        name: Woodend
                        deliveryFee: '3.00'
                      products:
                        -
                          id: 1
                          basketId: 1
                          productId: 6
                          name: 'Honey Chicken'
                          quantity: 1
                          unitPrice: '16.80'
                          productTotal: '16.80'
                          optionsTotal: '1.50'
                          total: '18.30'
                          options:
                            -
                              id: 1
                              basketProductId: 1
                              name: 'Extra Sauce: BBQ Sauce'
                              price: '1.50'
                              total: '1.50'
                              option:
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                        -
                          id: 2
                          basketId: 1
                          productId: 8
                          name: 'Special Fried Rice'
                          quantity: 1
                          unitPrice: '16.80'
                          productTotal: '16.80'
                          optionsTotal: '2.50'
                          total: '19.30'
                          options:
                            -
                              id: 2
                              basketProductId: 2
                              name: 'Spicy: Spicy: Yes'
                              price: '1.00'
                              total: '1.00'
                              option:
                                id: 2
                                name: 'Spicy: Yes'
                                price: 1
                                type: option
                            -
                              id: 3
                              basketProductId: 2
                              name: 'Extra Sauce: Sweet Chilli Sauce'
                              price: '1.50'
                              total: '1.50'
                              option:
                                id: 7
                                name: 'Sweet Chilli Sauce'
                                price: 1.5
                                type: option
                        -
                          id: 3
                          basketId: 1
                          productId: 9
                          name: 'Spring Roll (3pcs)'
                          quantity: 2
                          unitPrice: '6.80'
                          productTotal: '13.60'
                          optionsTotal: '5.00'
                          total: '18.60'
                          options:
                            -
                              id: 4
                              basketProductId: 3
                              name: 'Extra Toppings: Prawns'
                              price: '2.50'
                              total: '5.00'
                              option:
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                      discounts:
                        -
                          id: 1
                          amount: '5.62'
                          promotion:
                            id: 1
                            icon: percentage
                            title: 'First Order Discount'
                            description: '10% OFF on first orders over $10.00'
                            discountPercentage: '10.00'
                            discountFlat: null
                            minOrderAmount: '10.00'
                            maxDiscountAmount: '10.00'
                            canBeCombined: false
                            isFreeDelivery: false
                        -
                          id: 2
                          amount: '3.00'
                          promotion:
                            id: 2
                            icon: vespa
                            title: 'Free Delivery'
                            description: 'Free Delivery on delivery orders over $5.00'
                            discountPercentage: null
                            discountFlat: null
                            minOrderAmount: '5.00'
                            maxDiscountAmount: null
                            canBeCombined: true
                            isFreeDelivery: true
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Baskets retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 2
                        status: ordered
                        productsTotal: '24.47'
                        optionsTotal: '10.50'
                        deliveryTotal: '0.00'
                        discountsTotal: '10.99'
                        total: '23.98'
                        suburb:
                          id: 2
                          name: Macedon
                          deliveryFee: '4.00'
                        products:
                          -
                            id: 4
                            basketId: 2
                            productId: 10
                            name: 'Pepperoni Pizza'
                            quantity: 2
                            unitPrice: '8.99'
                            productTotal: '17.98'
                            optionsTotal: '8.00'
                            total: '25.98'
                            options:
                              -
                                id: 5
                                basketProductId: 4
                                name: 'Extra Sauce: BBQ Sauce'
                                price: '1.50'
                                total: '3.00'
                                option:
                                  id: 6
                                  name: 'BBQ Sauce'
                                  price: 1.5
                                  type: option
                              -
                                id: 6
                                basketProductId: 4
                                name: 'Extra Toppings: Chicken'
                                price: '2.50'
                                total: '5.00'
                                option:
                                  id: 10
                                  name: Chicken
                                  price: 2.5
                                  type: option
                          -
                            id: 5
                            basketId: 2
                            productId: 13
                            name: 'Caesar Salad'
                            quantity: 1
                            unitPrice: '6.49'
                            productTotal: '6.49'
                            optionsTotal: '2.50'
                            total: '8.99'
                            options:
                              -
                                id: 7
                                basketProductId: 5
                                name: 'Extra Toppings: Prawns'
                                price: '2.50'
                                total: '2.50'
                                option:
                                  id: 9
                                  name: Prawns
                                  price: 2.5
                                  type: option
                        discounts:
                          -
                            id: 3
                            amount: '6.99'
                            promotion:
                              id: 3
                              icon: percentage
                              title: 'Big Order Discount'
                              description: '20% OFF on all orders over $50.00'
                              discountPercentage: '20.00'
                              discountFlat: null
                              minOrderAmount: '50.00'
                              maxDiscountAmount: '50.00'
                              canBeCombined: false
                              isFreeDelivery: false
                          -
                            id: 4
                            amount: '4.00'
                            promotion:
                              id: 2
                              icon: vespa
                              title: 'Free Delivery'
                              description: 'Free Delivery on delivery orders over $5.00'
                              discountPercentage: null
                              discountFlat: null
                              minOrderAmount: '5.00'
                              maxDiscountAmount: null
                              canBeCombined: true
                              isFreeDelivery: true
                      -
                        id: 1
                        status: pending
                        productsTotal: '47.20'
                        optionsTotal: '9.00'
                        deliveryTotal: '0.00'
                        discountsTotal: '8.62'
                        total: '47.58'
                        suburb:
                          id: 1
                          name: Woodend
                          deliveryFee: '3.00'
                        products:
                          -
                            id: 1
                            basketId: 1
                            productId: 6
                            name: 'Honey Chicken'
                            quantity: 1
                            unitPrice: '16.80'
                            productTotal: '16.80'
                            optionsTotal: '1.50'
                            total: '18.30'
                            options:
                              -
                                id: 1
                                basketProductId: 1
                                name: 'Extra Sauce: BBQ Sauce'
                                price: '1.50'
                                total: '1.50'
                                option:
                                  id: 6
                                  name: 'BBQ Sauce'
                                  price: 1.5
                                  type: option
                          -
                            id: 2
                            basketId: 1
                            productId: 8
                            name: 'Special Fried Rice'
                            quantity: 1
                            unitPrice: '16.80'
                            productTotal: '16.80'
                            optionsTotal: '2.50'
                            total: '19.30'
                            options:
                              -
                                id: 2
                                basketProductId: 2
                                name: 'Spicy: Spicy: Yes'
                                price: '1.00'
                                total: '1.00'
                                option:
                                  id: 2
                                  name: 'Spicy: Yes'
                                  price: 1
                                  type: option
                              -
                                id: 3
                                basketProductId: 2
                                name: 'Extra Sauce: Sweet Chilli Sauce'
                                price: '1.50'
                                total: '1.50'
                                option:
                                  id: 7
                                  name: 'Sweet Chilli Sauce'
                                  price: 1.5
                                  type: option
                          -
                            id: 3
                            basketId: 1
                            productId: 9
                            name: 'Spring Roll (3pcs)'
                            quantity: 2
                            unitPrice: '6.80'
                            productTotal: '13.60'
                            optionsTotal: '5.00'
                            total: '18.60'
                            options:
                              -
                                id: 4
                                basketProductId: 3
                                name: 'Extra Toppings: Prawns'
                                price: '2.50'
                                total: '5.00'
                                option:
                                  id: 9
                                  name: Prawns
                                  price: 2.5
                                  type: option
                        discounts:
                          -
                            id: 1
                            amount: '5.62'
                            promotion:
                              id: 1
                              icon: percentage
                              title: 'First Order Discount'
                              description: '10% OFF on first orders over $10.00'
                              discountPercentage: '10.00'
                              discountFlat: null
                              minOrderAmount: '10.00'
                              maxDiscountAmount: '10.00'
                              canBeCombined: false
                              isFreeDelivery: false
                          -
                            id: 2
                            amount: '3.00'
                            promotion:
                              id: 2
                              icon: vespa
                              title: 'Free Delivery'
                              description: 'Free Delivery on delivery orders over $5.00'
                              discountPercentage: null
                              discountFlat: null
                              minOrderAmount: '5.00'
                              maxDiscountAmount: null
                              canBeCombined: true
                              isFreeDelivery: true
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 2
                        status:
                          type: string
                          example: ordered
                        productsTotal:
                          type: string
                          example: '24.47'
                        optionsTotal:
                          type: string
                          example: '10.50'
                        deliveryTotal:
                          type: string
                          example: '0.00'
                        discountsTotal:
                          type: string
                          example: '10.99'
                        total:
                          type: string
                          example: '23.98'
                        suburb:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 2
                            name:
                              type: string
                              example: Macedon
                            deliveryFee:
                              type: string
                              example: '4.00'
                        products:
                          type: array
                          example:
                            -
                              id: 4
                              basketId: 2
                              productId: 10
                              name: 'Pepperoni Pizza'
                              quantity: 2
                              unitPrice: '8.99'
                              productTotal: '17.98'
                              optionsTotal: '8.00'
                              total: '25.98'
                              options:
                                -
                                  id: 5
                                  basketProductId: 4
                                  name: 'Extra Sauce: BBQ Sauce'
                                  price: '1.50'
                                  total: '3.00'
                                  option:
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                -
                                  id: 6
                                  basketProductId: 4
                                  name: 'Extra Toppings: Chicken'
                                  price: '2.50'
                                  total: '5.00'
                                  option:
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                            -
                              id: 5
                              basketId: 2
                              productId: 13
                              name: 'Caesar Salad'
                              quantity: 1
                              unitPrice: '6.49'
                              productTotal: '6.49'
                              optionsTotal: '2.50'
                              total: '8.99'
                              options:
                                -
                                  id: 7
                                  basketProductId: 5
                                  name: 'Extra Toppings: Prawns'
                                  price: '2.50'
                                  total: '2.50'
                                  option:
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 4
                              basketId:
                                type: integer
                                example: 2
                              productId:
                                type: integer
                                example: 10
                              name:
                                type: string
                                example: 'Pepperoni Pizza'
                              quantity:
                                type: integer
                                example: 2
                              unitPrice:
                                type: string
                                example: '8.99'
                              productTotal:
                                type: string
                                example: '17.98'
                              optionsTotal:
                                type: string
                                example: '8.00'
                              total:
                                type: string
                                example: '25.98'
                              options:
                                type: array
                                example:
                                  -
                                    id: 5
                                    basketProductId: 4
                                    name: 'Extra Sauce: BBQ Sauce'
                                    price: '1.50'
                                    total: '3.00'
                                    option:
                                      id: 6
                                      name: 'BBQ Sauce'
                                      price: 1.5
                                      type: option
                                  -
                                    id: 6
                                    basketProductId: 4
                                    name: 'Extra Toppings: Chicken'
                                    price: '2.50'
                                    total: '5.00'
                                    option:
                                      id: 10
                                      name: Chicken
                                      price: 2.5
                                      type: option
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: integer
                                      example: 5
                                    basketProductId:
                                      type: integer
                                      example: 4
                                    name:
                                      type: string
                                      example: 'Extra Sauce: BBQ Sauce'
                                    price:
                                      type: string
                                      example: '1.50'
                                    total:
                                      type: string
                                      example: '3.00'
                                    option:
                                      type: object
                                      properties: { id: { type: integer, example: 6 }, name: { type: string, example: 'BBQ Sauce' }, price: { type: number, example: 1.5 }, type: { type: string, example: option } }
                        discounts:
                          type: array
                          example:
                            -
                              id: 3
                              amount: '6.99'
                              promotion:
                                id: 3
                                icon: percentage
                                title: 'Big Order Discount'
                                description: '20% OFF on all orders over $50.00'
                                discountPercentage: '20.00'
                                discountFlat: null
                                minOrderAmount: '50.00'
                                maxDiscountAmount: '50.00'
                                canBeCombined: false
                                isFreeDelivery: false
                            -
                              id: 4
                              amount: '4.00'
                              promotion:
                                id: 2
                                icon: vespa
                                title: 'Free Delivery'
                                description: 'Free Delivery on delivery orders over $5.00'
                                discountPercentage: null
                                discountFlat: null
                                minOrderAmount: '5.00'
                                maxDiscountAmount: null
                                canBeCombined: true
                                isFreeDelivery: true
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 3
                              amount:
                                type: string
                                example: '6.99'
                              promotion:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 3
                                  icon:
                                    type: string
                                    example: percentage
                                  title:
                                    type: string
                                    example: 'Big Order Discount'
                                  description:
                                    type: string
                                    example: '20% OFF on all orders over $50.00'
                                  discountPercentage:
                                    type: string
                                    example: '20.00'
                                  discountFlat:
                                    type: string
                                    example: null
                                  minOrderAmount:
                                    type: string
                                    example: '50.00'
                                  maxDiscountAmount:
                                    type: string
                                    example: '50.00'
                                  canBeCombined:
                                    type: boolean
                                    example: false
                                  isFreeDelivery:
                                    type: boolean
                                    example: false
      tags:
        - Basket
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/create':
    post:
      summary: 'Create Basket'
      operationId: createBasket
      description: 'Create a new empty shopping basket.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Basket
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}':
    get:
      summary: 'Show Basket'
      operationId: showBasket
      description: 'Get details of a specific shopping basket.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Basket retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    status: pending
                    productsTotal: '47.20'
                    optionsTotal: '9.00'
                    deliveryTotal: '0.00'
                    discountsTotal: '8.62'
                    total: '47.58'
                    suburb:
                      id: 1
                      name: Woodend
                      deliveryFee: '3.00'
                    products:
                      -
                        id: 1
                        basketId: 1
                        productId: 6
                        name: 'Honey Chicken'
                        quantity: 1
                        unitPrice: '16.80'
                        productTotal: '16.80'
                        optionsTotal: '1.50'
                        total: '18.30'
                        options:
                          -
                            id: 1
                            basketProductId: 1
                            name: 'Extra Sauce: BBQ Sauce'
                            price: '1.50'
                            total: '1.50'
                            option:
                              id: 6
                              name: 'BBQ Sauce'
                              price: 1.5
                              type: option
                      -
                        id: 2
                        basketId: 1
                        productId: 8
                        name: 'Special Fried Rice'
                        quantity: 1
                        unitPrice: '16.80'
                        productTotal: '16.80'
                        optionsTotal: '2.50'
                        total: '19.30'
                        options:
                          -
                            id: 2
                            basketProductId: 2
                            name: 'Spicy: Spicy: Yes'
                            price: '1.00'
                            total: '1.00'
                            option:
                              id: 2
                              name: 'Spicy: Yes'
                              price: 1
                              type: option
                          -
                            id: 3
                            basketProductId: 2
                            name: 'Extra Sauce: Sweet Chilli Sauce'
                            price: '1.50'
                            total: '1.50'
                            option:
                              id: 7
                              name: 'Sweet Chilli Sauce'
                              price: 1.5
                              type: option
                      -
                        id: 3
                        basketId: 1
                        productId: 9
                        name: 'Spring Roll (3pcs)'
                        quantity: 2
                        unitPrice: '6.80'
                        productTotal: '13.60'
                        optionsTotal: '5.00'
                        total: '18.60'
                        options:
                          -
                            id: 4
                            basketProductId: 3
                            name: 'Extra Toppings: Prawns'
                            price: '2.50'
                            total: '5.00'
                            option:
                              id: 9
                              name: Prawns
                              price: 2.5
                              type: option
                    discounts:
                      -
                        id: 1
                        amount: '5.62'
                        promotion:
                          id: 1
                          icon: percentage
                          title: 'First Order Discount'
                          description: '10% OFF on first orders over $10.00'
                          discountPercentage: '10.00'
                          discountFlat: null
                          minOrderAmount: '10.00'
                          maxDiscountAmount: '10.00'
                          canBeCombined: false
                          isFreeDelivery: false
                      -
                        id: 2
                        amount: '3.00'
                        promotion:
                          id: 2
                          icon: vespa
                          title: 'Free Delivery'
                          description: 'Free Delivery on delivery orders over $5.00'
                          discountPercentage: null
                          discountFlat: null
                          minOrderAmount: '5.00'
                          maxDiscountAmount: null
                          canBeCombined: true
                          isFreeDelivery: true
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Basket retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      status:
                        type: string
                        example: pending
                      productsTotal:
                        type: string
                        example: '47.20'
                      optionsTotal:
                        type: string
                        example: '9.00'
                      deliveryTotal:
                        type: string
                        example: '0.00'
                      discountsTotal:
                        type: string
                        example: '8.62'
                      total:
                        type: string
                        example: '47.58'
                      suburb:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 1
                          name:
                            type: string
                            example: Woodend
                          deliveryFee:
                            type: string
                            example: '3.00'
                      products:
                        type: array
                        example:
                          -
                            id: 1
                            basketId: 1
                            productId: 6
                            name: 'Honey Chicken'
                            quantity: 1
                            unitPrice: '16.80'
                            productTotal: '16.80'
                            optionsTotal: '1.50'
                            total: '18.30'
                            options:
                              -
                                id: 1
                                basketProductId: 1
                                name: 'Extra Sauce: BBQ Sauce'
                                price: '1.50'
                                total: '1.50'
                                option:
                                  id: 6
                                  name: 'BBQ Sauce'
                                  price: 1.5
                                  type: option
                          -
                            id: 2
                            basketId: 1
                            productId: 8
                            name: 'Special Fried Rice'
                            quantity: 1
                            unitPrice: '16.80'
                            productTotal: '16.80'
                            optionsTotal: '2.50'
                            total: '19.30'
                            options:
                              -
                                id: 2
                                basketProductId: 2
                                name: 'Spicy: Spicy: Yes'
                                price: '1.00'
                                total: '1.00'
                                option:
                                  id: 2
                                  name: 'Spicy: Yes'
                                  price: 1
                                  type: option
                              -
                                id: 3
                                basketProductId: 2
                                name: 'Extra Sauce: Sweet Chilli Sauce'
                                price: '1.50'
                                total: '1.50'
                                option:
                                  id: 7
                                  name: 'Sweet Chilli Sauce'
                                  price: 1.5
                                  type: option
                          -
                            id: 3
                            basketId: 1
                            productId: 9
                            name: 'Spring Roll (3pcs)'
                            quantity: 2
                            unitPrice: '6.80'
                            productTotal: '13.60'
                            optionsTotal: '5.00'
                            total: '18.60'
                            options:
                              -
                                id: 4
                                basketProductId: 3
                                name: 'Extra Toppings: Prawns'
                                price: '2.50'
                                total: '5.00'
                                option:
                                  id: 9
                                  name: Prawns
                                  price: 2.5
                                  type: option
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            basketId:
                              type: integer
                              example: 1
                            productId:
                              type: integer
                              example: 6
                            name:
                              type: string
                              example: 'Honey Chicken'
                            quantity:
                              type: integer
                              example: 1
                            unitPrice:
                              type: string
                              example: '16.80'
                            productTotal:
                              type: string
                              example: '16.80'
                            optionsTotal:
                              type: string
                              example: '1.50'
                            total:
                              type: string
                              example: '18.30'
                            options:
                              type: array
                              example:
                                -
                                  id: 1
                                  basketProductId: 1
                                  name: 'Extra Sauce: BBQ Sauce'
                                  price: '1.50'
                                  total: '1.50'
                                  option:
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 1
                                  basketProductId:
                                    type: integer
                                    example: 1
                                  name:
                                    type: string
                                    example: 'Extra Sauce: BBQ Sauce'
                                  price:
                                    type: string
                                    example: '1.50'
                                  total:
                                    type: string
                                    example: '1.50'
                                  option:
                                    type: object
                                    properties:
                                      id: { type: integer, example: 6 }
                                      name: { type: string, example: 'BBQ Sauce' }
                                      price: { type: number, example: 1.5 }
                                      type: { type: string, example: option }
                      discounts:
                        type: array
                        example:
                          -
                            id: 1
                            amount: '5.62'
                            promotion:
                              id: 1
                              icon: percentage
                              title: 'First Order Discount'
                              description: '10% OFF on first orders over $10.00'
                              discountPercentage: '10.00'
                              discountFlat: null
                              minOrderAmount: '10.00'
                              maxDiscountAmount: '10.00'
                              canBeCombined: false
                              isFreeDelivery: false
                          -
                            id: 2
                            amount: '3.00'
                            promotion:
                              id: 2
                              icon: vespa
                              title: 'Free Delivery'
                              description: 'Free Delivery on delivery orders over $5.00'
                              discountPercentage: null
                              discountFlat: null
                              minOrderAmount: '5.00'
                              maxDiscountAmount: null
                              canBeCombined: true
                              isFreeDelivery: true
                        items:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            amount:
                              type: string
                              example: '5.62'
                            promotion:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 1
                                icon:
                                  type: string
                                  example: percentage
                                title:
                                  type: string
                                  example: 'First Order Discount'
                                description:
                                  type: string
                                  example: '10% OFF on first orders over $10.00'
                                discountPercentage:
                                  type: string
                                  example: '10.00'
                                discountFlat:
                                  type: string
                                  example: null
                                minOrderAmount:
                                  type: string
                                  example: '10.00'
                                maxDiscountAmount:
                                  type: string
                                  example: '10.00'
                                canBeCombined:
                                  type: boolean
                                  example: false
                                isFreeDelivery:
                                  type: boolean
                                  example: false
      tags:
        - Basket
      security: []
    delete:
      summary: 'Delete Basket'
      operationId: deleteBasket
      description: 'Remove a shopping basket and all its contents.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Basket
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/set-suburb':
    patch:
      summary: 'Set Suburb'
      operationId: setSuburb
      description: 'Assign a delivery suburb to the basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                suburb_id:
                  type: integer
                  description: 'The ID of the suburb.'
                  example: 1
                  nullable: false
              required:
                - suburb_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/add-product':
    patch:
      summary: 'Add Product to Basket'
      operationId: addProductToBasket
      description: 'Add a product to an existing shopping basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                product_id:
                  type: integer
                  description: 'The ID of the product.'
                  example: 1
                  nullable: false
                options:
                  type: array
                  description: 'The IDs of the options.'
                  example: '[2, 3]'
                  items:
                    type: string
              required:
                - product_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/remove-product':
    patch:
      summary: 'Remove Product from Basket'
      operationId: removeProductFromBasket
      description: 'Remove a product from a shopping basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                basket_product_id:
                  type: integer
                  description: 'The ID of the basket product.'
                  example: 1
                  nullable: false
              required:
                - basket_product_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/update-product-quantity':
    patch:
      summary: 'Update Product Quantity'
      operationId: updateProductQuantity
      description: 'Update the quantity of a product in a shopping basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                basket_product_id:
                  type: integer
                  description: 'The ID of the basket product.'
                  example: 1
                  nullable: false
                quantity:
                  type: integer
                  description: 'The new quantity.'
                  example: 1
                  nullable: false
              required:
                - basket_product_id
                - quantity
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/add-promotion':
    patch:
      summary: 'Add Promotion to Basket'
      operationId: addPromotionToBasket
      description: 'Add a promotion code to the basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                promotion_id:
                  type: integer
                  description: 'The ID of the promotion.'
                  example: 1
                  nullable: false
              required:
                - promotion_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/baskets/{basket_id}/remove-promotion':
    patch:
      summary: 'Remove Promotion from Basket'
      operationId: removePromotionFromBasket
      description: 'Remove a promotion code from the basket.'
      parameters: []
      responses: {  }
      tags:
        - Basket
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                basket_promotion_id:
                  type: integer
                  description: 'The ID of the basket promotion.'
                  example: 1
                  nullable: false
              required:
                - basket_promotion_id
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: basket_id
        description: 'The ID of the basket.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/orders':
    get:
      summary: 'List Orders'
      operationId: listOrders
      description: 'Get a list of all orders for a company.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Orders listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 1
                      companyId: 1
                      deliverySuburbId: 2
                      paymentMethodId: 1
                      basketId: 2
                      orderNumber: PBI41PQK
                      status: pending
                      contactName: John
                      contactSurname: Doe
                      contactEmail: john.doe@example.com
                      contactMobile: '+61412345678'
                      deliveryStreet: '15 Smith Street'
                      deliveryApartment: 'Unit 4'
                      deliveryInstructions: 'Please ring the doorbell twice'
                      deliveryMethod: delivery
                      deliveryTime: '2025-01-30T13:24:58.000000Z'
                      productsTotal: '24.47'
                      optionsTotal: '10.50'
                      deliveryTotal: '0.00'
                      discountsTotal: '10.99'
                      total: '23.98'
                      deliverySuburb:
                        id: 2
                        name: Macedon
                        deliveryFee: '4.00'
                      paymentMethod:
                        id: 1
                        name: Visa
                        icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                      basket:
                        id: 2
                        status: ordered
                        productsTotal: '24.47'
                        optionsTotal: '10.50'
                        deliveryTotal: '0.00'
                        discountsTotal: '10.99'
                        total: '23.98'
                        suburb:
                          id: 2
                          name: Macedon
                          deliveryFee: '4.00'
                        products:
                          -
                            id: 4
                            basketId: 2
                            productId: 10
                            name: 'Pepperoni Pizza'
                            quantity: 2
                            unitPrice: '8.99'
                            productTotal: '17.98'
                            optionsTotal: '8.00'
                            total: '25.98'
                            options:
                              -
                                id: 5
                                basketProductId: 4
                                name: 'Extra Sauce: BBQ Sauce'
                                price: '1.50'
                                total: '3.00'
                                option:
                                  id: 6
                                  name: 'BBQ Sauce'
                                  price: 1.5
                                  type: option
                              -
                                id: 6
                                basketProductId: 4
                                name: 'Extra Toppings: Chicken'
                                price: '2.50'
                                total: '5.00'
                                option:
                                  id: 10
                                  name: Chicken
                                  price: 2.5
                                  type: option
                          -
                            id: 5
                            basketId: 2
                            productId: 13
                            name: 'Caesar Salad'
                            quantity: 1
                            unitPrice: '6.49'
                            productTotal: '6.49'
                            optionsTotal: '2.50'
                            total: '8.99'
                            options:
                              -
                                id: 7
                                basketProductId: 5
                                name: 'Extra Toppings: Prawns'
                                price: '2.50'
                                total: '2.50'
                                option:
                                  id: 9
                                  name: Prawns
                                  price: 2.5
                                  type: option
                        discounts:
                          -
                            id: 3
                            amount: '6.99'
                            promotion:
                              id: 3
                              icon: percentage
                              title: 'Big Order Discount'
                              description: '20% OFF on all orders over $50.00'
                              discountPercentage: '20.00'
                              discountFlat: null
                              minOrderAmount: '50.00'
                              maxDiscountAmount: '50.00'
                              canBeCombined: false
                              isFreeDelivery: false
                          -
                            id: 4
                            amount: '4.00'
                            promotion:
                              id: 2
                              icon: vespa
                              title: 'Free Delivery'
                              description: 'Free Delivery on delivery orders over $5.00'
                              discountPercentage: null
                              discountFlat: null
                              minOrderAmount: '5.00'
                              maxDiscountAmount: null
                              canBeCombined: true
                              isFreeDelivery: true
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Orders listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        companyId: 1
                        deliverySuburbId: 2
                        paymentMethodId: 1
                        basketId: 2
                        orderNumber: PBI41PQK
                        status: pending
                        contactName: John
                        contactSurname: Doe
                        contactEmail: john.doe@example.com
                        contactMobile: '+61412345678'
                        deliveryStreet: '15 Smith Street'
                        deliveryApartment: 'Unit 4'
                        deliveryInstructions: 'Please ring the doorbell twice'
                        deliveryMethod: delivery
                        deliveryTime: '2025-01-30T13:24:58.000000Z'
                        productsTotal: '24.47'
                        optionsTotal: '10.50'
                        deliveryTotal: '0.00'
                        discountsTotal: '10.99'
                        total: '23.98'
                        deliverySuburb:
                          id: 2
                          name: Macedon
                          deliveryFee: '4.00'
                        paymentMethod:
                          id: 1
                          name: Visa
                          icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                        basket:
                          id: 2
                          status: ordered
                          productsTotal: '24.47'
                          optionsTotal: '10.50'
                          deliveryTotal: '0.00'
                          discountsTotal: '10.99'
                          total: '23.98'
                          suburb:
                            id: 2
                            name: Macedon
                            deliveryFee: '4.00'
                          products:
                            -
                              id: 4
                              basketId: 2
                              productId: 10
                              name: 'Pepperoni Pizza'
                              quantity: 2
                              unitPrice: '8.99'
                              productTotal: '17.98'
                              optionsTotal: '8.00'
                              total: '25.98'
                              options:
                                -
                                  id: 5
                                  basketProductId: 4
                                  name: 'Extra Sauce: BBQ Sauce'
                                  price: '1.50'
                                  total: '3.00'
                                  option:
                                    id: 6
                                    name: 'BBQ Sauce'
                                    price: 1.5
                                    type: option
                                -
                                  id: 6
                                  basketProductId: 4
                                  name: 'Extra Toppings: Chicken'
                                  price: '2.50'
                                  total: '5.00'
                                  option:
                                    id: 10
                                    name: Chicken
                                    price: 2.5
                                    type: option
                            -
                              id: 5
                              basketId: 2
                              productId: 13
                              name: 'Caesar Salad'
                              quantity: 1
                              unitPrice: '6.49'
                              productTotal: '6.49'
                              optionsTotal: '2.50'
                              total: '8.99'
                              options:
                                -
                                  id: 7
                                  basketProductId: 5
                                  name: 'Extra Toppings: Prawns'
                                  price: '2.50'
                                  total: '2.50'
                                  option:
                                    id: 9
                                    name: Prawns
                                    price: 2.5
                                    type: option
                          discounts:
                            -
                              id: 3
                              amount: '6.99'
                              promotion:
                                id: 3
                                icon: percentage
                                title: 'Big Order Discount'
                                description: '20% OFF on all orders over $50.00'
                                discountPercentage: '20.00'
                                discountFlat: null
                                minOrderAmount: '50.00'
                                maxDiscountAmount: '50.00'
                                canBeCombined: false
                                isFreeDelivery: false
                            -
                              id: 4
                              amount: '4.00'
                              promotion:
                                id: 2
                                icon: vespa
                                title: 'Free Delivery'
                                description: 'Free Delivery on delivery orders over $5.00'
                                discountPercentage: null
                                discountFlat: null
                                minOrderAmount: '5.00'
                                maxDiscountAmount: null
                                canBeCombined: true
                                isFreeDelivery: true
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        companyId:
                          type: integer
                          example: 1
                        deliverySuburbId:
                          type: integer
                          example: 2
                        paymentMethodId:
                          type: integer
                          example: 1
                        basketId:
                          type: integer
                          example: 2
                        orderNumber:
                          type: string
                          example: PBI41PQK
                        status:
                          type: string
                          example: pending
                        contactName:
                          type: string
                          example: John
                        contactSurname:
                          type: string
                          example: Doe
                        contactEmail:
                          type: string
                          example: john.doe@example.com
                        contactMobile:
                          type: string
                          example: '+61412345678'
                        deliveryStreet:
                          type: string
                          example: '15 Smith Street'
                        deliveryApartment:
                          type: string
                          example: 'Unit 4'
                        deliveryInstructions:
                          type: string
                          example: 'Please ring the doorbell twice'
                        deliveryMethod:
                          type: string
                          example: delivery
                        deliveryTime:
                          type: string
                          example: '2025-01-30T13:24:58.000000Z'
                        productsTotal:
                          type: string
                          example: '24.47'
                        optionsTotal:
                          type: string
                          example: '10.50'
                        deliveryTotal:
                          type: string
                          example: '0.00'
                        discountsTotal:
                          type: string
                          example: '10.99'
                        total:
                          type: string
                          example: '23.98'
                        deliverySuburb:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 2
                            name:
                              type: string
                              example: Macedon
                            deliveryFee:
                              type: string
                              example: '4.00'
                        paymentMethod:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 1
                            name:
                              type: string
                              example: Visa
                            icon:
                              type: string
                              example: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                        basket:
                          type: object
                          properties:
                            id:
                              type: integer
                              example: 2
                            status:
                              type: string
                              example: ordered
                            productsTotal:
                              type: string
                              example: '24.47'
                            optionsTotal:
                              type: string
                              example: '10.50'
                            deliveryTotal:
                              type: string
                              example: '0.00'
                            discountsTotal:
                              type: string
                              example: '10.99'
                            total:
                              type: string
                              example: '23.98'
                            suburb:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 2
                                name:
                                  type: string
                                  example: Macedon
                                deliveryFee:
                                  type: string
                                  example: '4.00'
                            products:
                              type: array
                              example:
                                -
                                  id: 4
                                  basketId: 2
                                  productId: 10
                                  name: 'Pepperoni Pizza'
                                  quantity: 2
                                  unitPrice: '8.99'
                                  productTotal: '17.98'
                                  optionsTotal: '8.00'
                                  total: '25.98'
                                  options:
                                    -
                                      id: 5
                                      basketProductId: 4
                                      name: 'Extra Sauce: BBQ Sauce'
                                      price: '1.50'
                                      total: '3.00'
                                      option: { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                    -
                                      id: 6
                                      basketProductId: 4
                                      name: 'Extra Toppings: Chicken'
                                      price: '2.50'
                                      total: '5.00'
                                      option: { id: 10, name: Chicken, price: 2.5, type: option }
                                -
                                  id: 5
                                  basketId: 2
                                  productId: 13
                                  name: 'Caesar Salad'
                                  quantity: 1
                                  unitPrice: '6.49'
                                  productTotal: '6.49'
                                  optionsTotal: '2.50'
                                  total: '8.99'
                                  options:
                                    -
                                      id: 7
                                      basketProductId: 5
                                      name: 'Extra Toppings: Prawns'
                                      price: '2.50'
                                      total: '2.50'
                                      option: { id: 9, name: Prawns, price: 2.5, type: option }
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 4
                                  basketId:
                                    type: integer
                                    example: 2
                                  productId:
                                    type: integer
                                    example: 10
                                  name:
                                    type: string
                                    example: 'Pepperoni Pizza'
                                  quantity:
                                    type: integer
                                    example: 2
                                  unitPrice:
                                    type: string
                                    example: '8.99'
                                  productTotal:
                                    type: string
                                    example: '17.98'
                                  optionsTotal:
                                    type: string
                                    example: '8.00'
                                  total:
                                    type: string
                                    example: '25.98'
                                  options:
                                    type: array
                                    example:
                                      - { id: 5, basketProductId: 4, name: 'Extra Sauce: BBQ Sauce', price: '1.50', total: '3.00', option: { id: 6, name: 'BBQ Sauce', price: 1.5, type: option } }
                                      - { id: 6, basketProductId: 4, name: 'Extra Toppings: Chicken', price: '2.50', total: '5.00', option: { id: 10, name: Chicken, price: 2.5, type: option } }
                                    items:
                                      type: object
                                      properties: { id: { type: integer, example: 5 }, basketProductId: { type: integer, example: 4 }, name: { type: string, example: 'Extra Sauce: BBQ Sauce' }, price: { type: string, example: '1.50' }, total: { type: string, example: '3.00' }, option: { type: object, properties: { id: { type: integer, example: 6 }, name: { type: string, example: 'BBQ Sauce' }, price: { type: number, example: 1.5 }, type: { type: string, example: option } } } }
                            discounts:
                              type: array
                              example:
                                -
                                  id: 3
                                  amount: '6.99'
                                  promotion:
                                    id: 3
                                    icon: percentage
                                    title: 'Big Order Discount'
                                    description: '20% OFF on all orders over $50.00'
                                    discountPercentage: '20.00'
                                    discountFlat: null
                                    minOrderAmount: '50.00'
                                    maxDiscountAmount: '50.00'
                                    canBeCombined: false
                                    isFreeDelivery: false
                                -
                                  id: 4
                                  amount: '4.00'
                                  promotion:
                                    id: 2
                                    icon: vespa
                                    title: 'Free Delivery'
                                    description: 'Free Delivery on delivery orders over $5.00'
                                    discountPercentage: null
                                    discountFlat: null
                                    minOrderAmount: '5.00'
                                    maxDiscountAmount: null
                                    canBeCombined: true
                                    isFreeDelivery: true
                              items:
                                type: object
                                properties:
                                  id:
                                    type: integer
                                    example: 3
                                  amount:
                                    type: string
                                    example: '6.99'
                                  promotion:
                                    type: object
                                    properties:
                                      id: { type: integer, example: 3 }
                                      icon: { type: string, example: percentage }
                                      title: { type: string, example: 'Big Order Discount' }
                                      description: { type: string, example: '20% OFF on all orders over $50.00' }
                                      discountPercentage: { type: string, example: '20.00' }
                                      discountFlat: { type: string, example: null }
                                      minOrderAmount: { type: string, example: '50.00' }
                                      maxDiscountAmount: { type: string, example: '50.00' }
                                      canBeCombined: { type: boolean, example: false }
                                      isFreeDelivery: { type: boolean, example: false }
      tags:
        - Order
      security: []
    post:
      summary: 'Create Order'
      operationId: createOrder
      description: 'Create a new order from a shopping basket.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                payment_method_id:
                  type: integer
                  description: 'The ID of the payment method.'
                  example: 1
                  nullable: false
                basket_id:
                  type: integer
                  description: 'The ID of the basket.'
                  example: 1
                  nullable: false
                contact_name:
                  type: string
                  description: 'The name of the contact.'
                  example: Fatih
                  nullable: false
                contact_surname:
                  type: string
                  description: 'The surname of the contact.'
                  example: Johnson
                  nullable: false
                contact_email:
                  type: string
                  description: 'The email of the contact.'
                  example: fatih.johnson@example.com
                  nullable: false
                contact_mobile:
                  type: string
                  description: 'The mobile of the contact.'
                  example: '05555555555'
                  nullable: false
                delivery_street:
                  type: string
                  description: 'The street of the delivery.'
                  example: '123 Main St'
                  nullable: true
                delivery_apartment:
                  type: string
                  description: 'The apartment of the delivery.'
                  example: '101'
                  nullable: true
                delivery_instructions:
                  type: string
                  description: 'The instructions of the delivery.'
                  example: 'Leave at the door'
                  nullable: true
                delivery_method:
                  type: string
                  description: 'The method of the delivery.'
                  example: delivery
                  nullable: false
                delivery_time:
                  type: string
                  description: 'The time of the delivery.'
                  example: '2025-01-01 10:00:00'
                  nullable: false
              required:
                - payment_method_id
                - basket_id
                - contact_name
                - contact_surname
                - contact_email
                - contact_mobile
                - delivery_method
                - delivery_time
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/orders/{order_id}':
    get:
      summary: 'Get Order'
      operationId: getOrder
      description: 'Get detailed information about a specific order.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'Order retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    companyId: 1
                    deliverySuburbId: 2
                    paymentMethodId: 1
                    basketId: 2
                    orderNumber: PBI41PQK
                    status: pending
                    contactName: John
                    contactSurname: Doe
                    contactEmail: john.doe@example.com
                    contactMobile: '+61412345678'
                    deliveryStreet: '15 Smith Street'
                    deliveryApartment: 'Unit 4'
                    deliveryInstructions: 'Please ring the doorbell twice'
                    deliveryMethod: delivery
                    deliveryTime: '2025-01-30T13:24:58.000000Z'
                    productsTotal: '24.47'
                    optionsTotal: '10.50'
                    deliveryTotal: '0.00'
                    discountsTotal: '10.99'
                    total: '23.98'
                    deliverySuburb:
                      id: 2
                      name: Macedon
                      deliveryFee: '4.00'
                    paymentMethod:
                      id: 1
                      name: Visa
                      icon: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                    basket:
                      id: 2
                      status: ordered
                      productsTotal: '24.47'
                      optionsTotal: '10.50'
                      deliveryTotal: '0.00'
                      discountsTotal: '10.99'
                      total: '23.98'
                      suburb:
                        id: 2
                        name: Macedon
                        deliveryFee: '4.00'
                      products:
                        -
                          id: 4
                          basketId: 2
                          productId: 10
                          name: 'Pepperoni Pizza'
                          quantity: 2
                          unitPrice: '8.99'
                          productTotal: '17.98'
                          optionsTotal: '8.00'
                          total: '25.98'
                          options:
                            -
                              id: 5
                              basketProductId: 4
                              name: 'Extra Sauce: BBQ Sauce'
                              price: '1.50'
                              total: '3.00'
                              option:
                                id: 6
                                name: 'BBQ Sauce'
                                price: 1.5
                                type: option
                            -
                              id: 6
                              basketProductId: 4
                              name: 'Extra Toppings: Chicken'
                              price: '2.50'
                              total: '5.00'
                              option:
                                id: 10
                                name: Chicken
                                price: 2.5
                                type: option
                        -
                          id: 5
                          basketId: 2
                          productId: 13
                          name: 'Caesar Salad'
                          quantity: 1
                          unitPrice: '6.49'
                          productTotal: '6.49'
                          optionsTotal: '2.50'
                          total: '8.99'
                          options:
                            -
                              id: 7
                              basketProductId: 5
                              name: 'Extra Toppings: Prawns'
                              price: '2.50'
                              total: '2.50'
                              option:
                                id: 9
                                name: Prawns
                                price: 2.5
                                type: option
                      discounts:
                        -
                          id: 3
                          amount: '6.99'
                          promotion:
                            id: 3
                            icon: percentage
                            title: 'Big Order Discount'
                            description: '20% OFF on all orders over $50.00'
                            discountPercentage: '20.00'
                            discountFlat: null
                            minOrderAmount: '50.00'
                            maxDiscountAmount: '50.00'
                            canBeCombined: false
                            isFreeDelivery: false
                        -
                          id: 4
                          amount: '4.00'
                          promotion:
                            id: 2
                            icon: vespa
                            title: 'Free Delivery'
                            description: 'Free Delivery on delivery orders over $5.00'
                            discountPercentage: null
                            discountFlat: null
                            minOrderAmount: '5.00'
                            maxDiscountAmount: null
                            canBeCombined: true
                            isFreeDelivery: true
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'Order retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      companyId:
                        type: integer
                        example: 1
                      deliverySuburbId:
                        type: integer
                        example: 2
                      paymentMethodId:
                        type: integer
                        example: 1
                      basketId:
                        type: integer
                        example: 2
                      orderNumber:
                        type: string
                        example: PBI41PQK
                      status:
                        type: string
                        example: pending
                      contactName:
                        type: string
                        example: John
                      contactSurname:
                        type: string
                        example: Doe
                      contactEmail:
                        type: string
                        example: john.doe@example.com
                      contactMobile:
                        type: string
                        example: '+61412345678'
                      deliveryStreet:
                        type: string
                        example: '15 Smith Street'
                      deliveryApartment:
                        type: string
                        example: 'Unit 4'
                      deliveryInstructions:
                        type: string
                        example: 'Please ring the doorbell twice'
                      deliveryMethod:
                        type: string
                        example: delivery
                      deliveryTime:
                        type: string
                        example: '2025-01-30T13:24:58.000000Z'
                      productsTotal:
                        type: string
                        example: '24.47'
                      optionsTotal:
                        type: string
                        example: '10.50'
                      deliveryTotal:
                        type: string
                        example: '0.00'
                      discountsTotal:
                        type: string
                        example: '10.99'
                      total:
                        type: string
                        example: '23.98'
                      deliverySuburb:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 2
                          name:
                            type: string
                            example: Macedon
                          deliveryFee:
                            type: string
                            example: '4.00'
                      paymentMethod:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 1
                          name:
                            type: string
                            example: Visa
                          icon:
                            type: string
                            example: 'https://tuckerfox.fmstech.com.tr/assets/images/visa.png'
                      basket:
                        type: object
                        properties:
                          id:
                            type: integer
                            example: 2
                          status:
                            type: string
                            example: ordered
                          productsTotal:
                            type: string
                            example: '24.47'
                          optionsTotal:
                            type: string
                            example: '10.50'
                          deliveryTotal:
                            type: string
                            example: '0.00'
                          discountsTotal:
                            type: string
                            example: '10.99'
                          total:
                            type: string
                            example: '23.98'
                          suburb:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 2
                              name:
                                type: string
                                example: Macedon
                              deliveryFee:
                                type: string
                                example: '4.00'
                          products:
                            type: array
                            example:
                              -
                                id: 4
                                basketId: 2
                                productId: 10
                                name: 'Pepperoni Pizza'
                                quantity: 2
                                unitPrice: '8.99'
                                productTotal: '17.98'
                                optionsTotal: '8.00'
                                total: '25.98'
                                options:
                                  -
                                    id: 5
                                    basketProductId: 4
                                    name: 'Extra Sauce: BBQ Sauce'
                                    price: '1.50'
                                    total: '3.00'
                                    option:
                                      id: 6
                                      name: 'BBQ Sauce'
                                      price: 1.5
                                      type: option
                                  -
                                    id: 6
                                    basketProductId: 4
                                    name: 'Extra Toppings: Chicken'
                                    price: '2.50'
                                    total: '5.00'
                                    option:
                                      id: 10
                                      name: Chicken
                                      price: 2.5
                                      type: option
                              -
                                id: 5
                                basketId: 2
                                productId: 13
                                name: 'Caesar Salad'
                                quantity: 1
                                unitPrice: '6.49'
                                productTotal: '6.49'
                                optionsTotal: '2.50'
                                total: '8.99'
                                options:
                                  -
                                    id: 7
                                    basketProductId: 5
                                    name: 'Extra Toppings: Prawns'
                                    price: '2.50'
                                    total: '2.50'
                                    option:
                                      id: 9
                                      name: Prawns
                                      price: 2.5
                                      type: option
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 4
                                basketId:
                                  type: integer
                                  example: 2
                                productId:
                                  type: integer
                                  example: 10
                                name:
                                  type: string
                                  example: 'Pepperoni Pizza'
                                quantity:
                                  type: integer
                                  example: 2
                                unitPrice:
                                  type: string
                                  example: '8.99'
                                productTotal:
                                  type: string
                                  example: '17.98'
                                optionsTotal:
                                  type: string
                                  example: '8.00'
                                total:
                                  type: string
                                  example: '25.98'
                                options:
                                  type: array
                                  example:
                                    -
                                      id: 5
                                      basketProductId: 4
                                      name: 'Extra Sauce: BBQ Sauce'
                                      price: '1.50'
                                      total: '3.00'
                                      option: { id: 6, name: 'BBQ Sauce', price: 1.5, type: option }
                                    -
                                      id: 6
                                      basketProductId: 4
                                      name: 'Extra Toppings: Chicken'
                                      price: '2.50'
                                      total: '5.00'
                                      option: { id: 10, name: Chicken, price: 2.5, type: option }
                                  items:
                                    type: object
                                    properties:
                                      id: { type: integer, example: 5 }
                                      basketProductId: { type: integer, example: 4 }
                                      name: { type: string, example: 'Extra Sauce: BBQ Sauce' }
                                      price: { type: string, example: '1.50' }
                                      total: { type: string, example: '3.00' }
                                      option: { type: object, properties: { id: { type: integer, example: 6 }, name: { type: string, example: 'BBQ Sauce' }, price: { type: number, example: 1.5 }, type: { type: string, example: option } } }
                          discounts:
                            type: array
                            example:
                              -
                                id: 3
                                amount: '6.99'
                                promotion:
                                  id: 3
                                  icon: percentage
                                  title: 'Big Order Discount'
                                  description: '20% OFF on all orders over $50.00'
                                  discountPercentage: '20.00'
                                  discountFlat: null
                                  minOrderAmount: '50.00'
                                  maxDiscountAmount: '50.00'
                                  canBeCombined: false
                                  isFreeDelivery: false
                              -
                                id: 4
                                amount: '4.00'
                                promotion:
                                  id: 2
                                  icon: vespa
                                  title: 'Free Delivery'
                                  description: 'Free Delivery on delivery orders over $5.00'
                                  discountPercentage: null
                                  discountFlat: null
                                  minOrderAmount: '5.00'
                                  maxDiscountAmount: null
                                  canBeCombined: true
                                  isFreeDelivery: true
                            items:
                              type: object
                              properties:
                                id:
                                  type: integer
                                  example: 3
                                amount:
                                  type: string
                                  example: '6.99'
                                promotion:
                                  type: object
                                  properties:
                                    id:
                                      type: integer
                                      example: 3
                                    icon:
                                      type: string
                                      example: percentage
                                    title:
                                      type: string
                                      example: 'Big Order Discount'
                                    description:
                                      type: string
                                      example: '20% OFF on all orders over $50.00'
                                    discountPercentage:
                                      type: string
                                      example: '20.00'
                                    discountFlat:
                                      type: string
                                      example: null
                                    minOrderAmount:
                                      type: string
                                      example: '50.00'
                                    maxDiscountAmount:
                                      type: string
                                      example: '50.00'
                                    canBeCombined:
                                      type: boolean
                                      example: false
                                    isFreeDelivery:
                                      type: boolean
                                      example: false
      tags:
        - Order
      security: []
    patch:
      summary: 'Update Order'
      operationId: updateOrder
      description: "Update an existing order's information."
      parameters: []
      responses: {  }
      tags:
        - Order
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                contact_name:
                  type: string
                  description: 'The name of the contact.'
                  example: Berkay
                  nullable: true
                contact_surname:
                  type: string
                  description: 'The surname of the contact.'
                  example: Stonebig
                  nullable: true
                contact_email:
                  type: string
                  description: 'The email of the contact.'
                  example: berkay.stonebig@example.com
                  nullable: true
                contact_mobile:
                  type: string
                  description: 'The mobile of the contact.'
                  example: '05432165432'
                  nullable: true
                delivery_street:
                  type: string
                  description: 'The street of the delivery.'
                  example: '123 Main St'
                  nullable: true
                delivery_apartment:
                  type: string
                  description: 'The apartment of the delivery.'
                  example: '101'
                  nullable: true
                delivery_instructions:
                  type: string
                  description: 'The instructions of the delivery.'
                  example: 'Leave at the door'
                  nullable: true
                delivery_method:
                  type: string
                  description: 'The method of the delivery.'
                  example: delivery
                  nullable: true
                delivery_time:
                  type: string
                  description: 'The time of the delivery.'
                  example: '2025-01-01 15:00:00'
                  nullable: true
      security: []
    delete:
      summary: 'Delete Order'
      operationId: deleteOrder
      description: 'Remove an order from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - Order
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: order_id
        description: 'The ID of the order.'
        example: 1
        required: true
        schema:
          type: integer
  '/api/v1/companies/{company_id}/orders/{order_id}/status':
    patch:
      summary: 'Set Order Status'
      operationId: setOrderStatus
      description: 'Update the status of an order. Only pending orders can be modified.'
      parameters: []
      responses: {  }
      tags:
        - Order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: 'The status of the order.'
                  example: pending
                  nullable: false
              required:
                - status
      security: []
    parameters:
      -
        in: path
        name: company_id
        description: 'The ID of the company.'
        example: 1
        required: true
        schema:
          type: integer
      -
        in: path
        name: order_id
        description: 'The ID of the order.'
        example: 1
        required: true
        schema:
          type: integer
  /api/v1/url-rules:
    get:
      summary: 'List URL Rules'
      operationId: listURLRules
      description: 'Get a list of all URL rules.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'URL rules listed successfully'
                  statusCode: 200
                  data:
                    -
                      id: 2
                      domain: tf-store-2.fmstech.com.tr
                      companyType: whitelabel
                      companyId: 2
                      createdAt: '2025-01-30T12:24:58.000000Z'
                      updatedAt: '2025-01-30T12:24:58.000000Z'
                    -
                      id: 1
                      domain: tf-store-1.fmstech.com.tr
                      companyType: whitelabel
                      companyId: 1
                      createdAt: '2025-01-30T12:24:58.000000Z'
                      updatedAt: '2025-01-30T12:24:58.000000Z'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'URL rules listed successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: array
                    example:
                      -
                        id: 2
                        domain: tf-store-2.fmstech.com.tr
                        companyType: whitelabel
                        companyId: 2
                        createdAt: '2025-01-30T12:24:58.000000Z'
                        updatedAt: '2025-01-30T12:24:58.000000Z'
                      -
                        id: 1
                        domain: tf-store-1.fmstech.com.tr
                        companyType: whitelabel
                        companyId: 1
                        createdAt: '2025-01-30T12:24:58.000000Z'
                        updatedAt: '2025-01-30T12:24:58.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 2
                        domain:
                          type: string
                          example: tf-store-2.fmstech.com.tr
                        companyType:
                          type: string
                          example: whitelabel
                        companyId:
                          type: integer
                          example: 2
                        createdAt:
                          type: string
                          example: '2025-01-30T12:24:58.000000Z'
                        updatedAt:
                          type: string
                          example: '2025-01-30T12:24:58.000000Z'
      tags:
        - 'URL Rule'
      security: []
    post:
      summary: 'Create URL Rule'
      operationId: createURLRule
      description: 'Add a new URL rule to the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for POST & PATCH requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for POST & PATCH requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'URL Rule'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'The domain name.'
                  example: example.com
                  nullable: false
                company_type:
                  type: string
                  description: 'The type of company (whitelabel or listing).'
                  example: whitelabel
                  nullable: false
                company_id:
                  type: integer
                  description: 'The ID of the company.'
                  example: 1
                  nullable: false
              required:
                - domain
                - company_type
                - company_id
      security: []
  /api/v1/url-rules/find-by-domain:
    get:
      summary: 'Find URL Rule by Domain'
      operationId: findURLRuleByDomain
      description: 'Find a URL rule by its domain name.'
      parameters:
        -
          in: query
          name: domain
          description: 'The domain name to search for.'
          example: example.com
          required: true
          schema:
            type: string
            description: 'The domain name to search for.'
            example: example.com
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'URL rule not found'
                  statusCode: 404
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'URL rule not found'
                  statusCode:
                    type: integer
                    example: 404
      tags:
        - 'URL Rule'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'Must not be greater than 255 characters.'
                  example: epxahu
                  nullable: false
              required:
                - domain
      security: []
  '/api/v1/url-rules/{url_rule_id}':
    get:
      summary: 'Get URL Rule'
      operationId: getURLRule
      description: 'Get detailed information about a specific URL rule.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: true
                  message: 'URL rule retrieved successfully'
                  statusCode: 200
                  data:
                    id: 1
                    domain: tf-store-1.fmstech.com.tr
                    companyType: whitelabel
                    companyId: 1
                    createdAt: '2025-01-30T12:24:58.000000Z'
                    updatedAt: '2025-01-30T12:24:58.000000Z'
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: 'URL rule retrieved successfully'
                  statusCode:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 1
                      domain:
                        type: string
                        example: tf-store-1.fmstech.com.tr
                      companyType:
                        type: string
                        example: whitelabel
                      companyId:
                        type: integer
                        example: 1
                      createdAt:
                        type: string
                        example: '2025-01-30T12:24:58.000000Z'
                      updatedAt:
                        type: string
                        example: '2025-01-30T12:24:58.000000Z'
      tags:
        - 'URL Rule'
      security: []
    patch:
      summary: 'Update URL Rule'
      operationId: updateURLRule
      description: 'Update the details of an existing URL rule.'
      parameters: []
      responses: {  }
      tags:
        - 'URL Rule'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: 'The domain name.'
                  example: example.com
                  nullable: false
                company_type:
                  type: string
                  description: 'The type of company (whitelabel or listing).'
                  example: whitelabel
                  nullable: false
                company_id:
                  type: integer
                  description: 'The ID of the company.'
                  example: 1
                  nullable: false
              required:
                - domain
                - company_type
                - company_id
      security: []
    delete:
      summary: 'Delete URL Rule'
      operationId: deleteURLRule
      description: 'Remove a URL rule from the system.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  success: false
                  message: 'API token is required for DELETE requests'
                  statusCode: 401
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: 'API token is required for DELETE requests'
                  statusCode:
                    type: integer
                    example: 401
      tags:
        - 'URL Rule'
      security: []
    parameters:
      -
        in: path
        name: url_rule_id
        description: 'The ID of the URL rule.'
        example: 1
        required: true
        schema:
          type: integer
tags:
  -
    name: Company
    description: "\nAPIs for managing company profiles and settings"
  -
    name: 'Operating Hours'
    description: "\nAPIs for managing company operating hours and business schedules"
  -
    name: 'Delivery Suburb'
    description: "\nCRUD operations for company delivery suburbs"
  -
    name: 'Footer Link'
    description: "\nAPIs for managing company footer links and navigation"
  -
    name: 'Payment Method'
    description: "\nAPIs for managing company payment methods"
  -
    name: Promotion
    description: "\nAPIs for managing company promotions and discount codes"
  -
    name: Category
    description: "\nAPIs for managing company categories"
  -
    name: Product
    description: "\nAPIs for managing company products"
  -
    name: 'Product Option'
    description: "\nAPIs for managing product options and customizations"
  -
    name: Basket
    description: "\nAPIs for managing shopping baskets"
  -
    name: Order
    description: "\nAPIs for managing company orders"
  -
    name: 'URL Rule'
    description: "\nAPIs for managing URL rules"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: 'You can retrieve your token from FMK.'
security:
  -
    default: []
