{
  "openapi": "3.1.0",
  "info": {
    "title": "CE POS APIs",
    "description": "The consolidated Point of Sale surface. Every operation is served under the storefront base URL; operations tagged POSAdmin are proxied to the admin service by the POS backend.",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://staging.api.commercengine.io/api/v1/{store_id}/storefront",
      "description": "Staging Server",
      "variables": {
        "store_id": {
          "description": "Store ID",
          "default": "store_id"
        }
      },
      "x-speakeasy-server-id": "staging"
    },
    {
      "url": "https://prod.api.commercengine.io/api/v1/{store_id}/storefront",
      "description": "Prod Server",
      "variables": {
        "store_id": {
          "description": "Store ID",
          "default": "store_id"
        }
      },
      "x-speakeasy-server-id": "prod"
    }
  ],
  "tags": [
    {
      "name": "POS",
      "description": "Operations backed by the storefront service"
    },
    {
      "name": "POSAdmin",
      "description": "Operations proxied to the admin service"
    }
  ],
  "paths": {
    "/pos/auth/login/email": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "login-pos-device-with-email",
        "summary": "Login with email",
        "description": "Login to POS device using email. Login to POS device using phone.  The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store, ensuring secure access for user login operation.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/login-pos-device-with-email",
          "description": "API reference for the login-pos-device-with-email operation"
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/DebugMode"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "location_id",
                  "email"
                ],
                "properties": {
                  "location_id": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "otp_token": {
                          "type": "string"
                        },
                        "otp_action": {
                          "type": "string",
                          "const": "login"
                        }
                      },
                      "required": [
                        "otp_token",
                        "otp_action"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "loginWithEmail"
      }
    },
    "/pos/auth/login/phone": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "login-pos-device-with-phone",
        "summary": "Login with phone",
        "description": "Login to POS device using phone.  The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store, ensuring secure access for user login operation.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/login-pos-device-with-phone",
          "description": "API reference for the login-pos-device-with-phone operation"
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/DebugMode"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "location_id",
                  "phone"
                ],
                "properties": {
                  "location_id": {
                    "type": "string"
                  },
                  "phone": {
                    "description": "10 digit phone number without country code.",
                    "type": "string"
                  },
                  "country_code": {
                    "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.",
                    "type": "string",
                    "default": "+91"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "otp_token": {
                          "type": "string"
                        },
                        "otp_action": {
                          "type": "string",
                          "const": "login"
                        }
                      },
                      "required": [
                        "otp_token",
                        "otp_action"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "loginWithPhone"
      }
    },
    "/pos/auth/login/whatsapp": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "login-pos-device-with-whatsapp",
        "summary": "Login with whatsapp",
        "description": "Login to POS device using whatsapp. Login to POS device using phone.  The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store, ensuring secure access for user login operation.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/login-pos-device-with-whatsapp",
          "description": "API reference for the login-pos-device-with-whatsapp operation"
        },
        "parameters": [
          {
            "$ref": "#/components/parameters/DebugMode"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "location_id",
                  "phone"
                ],
                "properties": {
                  "location_id": {
                    "type": "string"
                  },
                  "phone": {
                    "description": "10 digit phone number without country code linked with WhatsApp.",
                    "type": "string"
                  },
                  "country_code": {
                    "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.",
                    "type": "string",
                    "default": "+91"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "otp_token": {
                          "type": "string"
                        },
                        "otp_action": {
                          "type": "string",
                          "const": "login"
                        }
                      },
                      "required": [
                        "otp_token",
                        "otp_action"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "loginWithWhatsapp"
      }
    },
    "/pos/auth/logout": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "logout-from-pos-device",
        "summary": "Logout",
        "description": "This endpoint ends the current loggedin session for the POS device. This action immediately invalidates the previously issued access token(s), preventing any further use. A new login is required to regain access.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/logout-from-pos-device",
          "description": "API reference for the logout-from-pos-device operation"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "logout"
      }
    },
    "/pos/auth/pair-device": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pair-pos-device",
        "summary": "Pair POS device",
        "description": "This endpoint allows a POS device to be activated by submitting a valid pairing code received via phone or email. The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store, ensuring secure access for device activation operation.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/pair-pos-device",
          "description": "API reference for the pair-pos-device operation"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "pairing_code"
                ],
                "properties": {
                  "pairing_code": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "device": {
                          "$ref": "#/components/schemas/PosDevice"
                        }
                      },
                      "required": [
                        "device"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "pairDevice"
      }
    },
    "/pos/auth/refresh-token": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "refresh-pos-access-token",
        "summary": "Refresh POS access token",
        "description": "Refresh POS access token",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/refresh-pos-access-token",
          "description": "API reference for the refresh-pos-access-token operation"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "refresh_token"
                ],
                "properties": {
                  "refresh_token": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "access_token": {
                          "type": "string"
                        },
                        "refresh_token": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "access_token",
                        "refresh_token"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "refreshAccessToken"
      }
    },
    "/pos/auth/verify-otp": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "verify-pos-login-otp",
        "summary": "Verify OTP",
        "description": "Verify POS login otp. Login to POS device using phone.  The endpoint requires authentication with an API key that has the scope set to 'storefront' for a particular store.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/verify-pos-login-otp",
          "description": "API reference for the verify-pos-login-otp operation"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "otp",
                  "otp_token",
                  "otp_action"
                ],
                "properties": {
                  "otp": {
                    "description": "A string representing the one-time password.",
                    "type": "string"
                  },
                  "otp_token": {
                    "description": "A string representing the OTP token.",
                    "type": "string"
                  },
                  "otp_action": {
                    "description": "A string indicating the action to be performed.",
                    "enum": [
                      "login"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "user": {
                          "$ref": "#/components/schemas/PosUser"
                        },
                        "access_token": {
                          "type": "string"
                        },
                        "refresh_token": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "user",
                        "access_token",
                        "refresh_token"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "verifyOtp"
      }
    },
    "/pos/carts": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-create-cart",
        "summary": "Create cart",
        "description": "Creates a new cart with an initial set of items. Returns a `Cart` object. Attach optional `metadata` for custom key-value pairs.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "items"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UpdateCartItem"
                    }
                  },
                  "metadata": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Add items to the newly created cart."
              },
              "SetCartAddress": {
                "operationId": "create-cart-address",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Set billing and shipping address on this cart."
              },
              "SetCartFulfillment": {
                "operationId": "update-fulfillment-preference",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Set the fulfillment preference on this cart."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "createCart"
      }
    },
    "/pos/carts/available-coupons": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-coupons",
        "summary": "Retrieve all coupons",
        "description": "Retrieve active coupons",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "coupons": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Coupon"
                          }
                        }
                      },
                      "required": [
                        "coupons"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listCoupons"
      }
    },
    "/pos/carts/available-promotions": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-promotions",
        "summary": "Retrieve all promotions",
        "description": "All active promotions",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "promotions": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Promotion"
                          }
                        }
                      },
                      "required": [
                        "promotions"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listPromotions"
      }
    },
    "/pos/carts/fulfillment-options": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-fulfillment-options",
        "summary": "Retrieve fulfillment options",
        "description": "Returns available fulfillment options for a cart and delivery pincode. The `summary` object indicates `collect_available`, `deliver_available`, and `recommended_fulfillment_type`. Use the `collect` array for Click & Collect store locations and `deliver` for delivery details.",
        "parameters": [],
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CartBasedFulfillmentOption"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "summary": {
                          "type": "object",
                          "properties": {
                            "collect_available": {
                              "type": "boolean"
                            },
                            "deliver_available": {
                              "type": "boolean"
                            },
                            "recommended_fulfillment_type": {
                              "enum": [
                                "collect-in-store",
                                "delivery"
                              ]
                            },
                            "recommended_store": {
                              "$ref": "#/components/schemas/CollectInStore"
                            }
                          },
                          "required": [
                            "collect_available",
                            "deliver_available",
                            "recommended_fulfillment_type"
                          ]
                        },
                        "collect": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CollectInStore"
                          }
                        },
                        "deliver": {
                          "$ref": "#/components/schemas/DeliveryOption"
                        }
                      },
                      "required": [
                        "summary"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "fulfillmentOptions"
      }
    },
    "/pos/carts/users/{user_id}": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-user-cart",
        "summary": "Retrieve cart by user ID",
        "description": "Retrieves the active `Cart` object for a given user. Use the `user_id` returned from auth endpoints.",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "cart details"
                      ],
                      "readOnly": true
                    },
                    "success": {
                      "type": "boolean",
                      "readOnly": true
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToUserCart": {
                "operationId": "update-cart",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Add items to the user's cart."
              },
              "SetUserCartAddress": {
                "operationId": "create-cart-address",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Set billing and shipping address on the user's cart."
              },
              "SetUserCartFulfillment": {
                "operationId": "update-fulfillment-preference",
                "parameters": {
                  "id": "$response.body#/content/cart/id"
                },
                "description": "Set the fulfillment preference on the user's cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getUserCart"
      }
    },
    "/pos/carts/{id}": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-cart",
        "summary": "Retrieve cart detail",
        "description": "Retrieves the full `Cart` object for the given cart ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "cart details"
                      ],
                      "readOnly": true
                    },
                    "success": {
                      "type": "boolean",
                      "readOnly": true
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getCart"
      },
      "delete": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-delete-cart",
        "summary": "Delete cart",
        "description": "delete all items from the cart.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "All cart items are removed."
                      ],
                      "readOnly": true
                    },
                    "success": {
                      "type": "boolean",
                      "readOnly": true
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "deleteCart"
      }
    },
    "/pos/carts/{id}/address": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-create-cart-address",
        "summary": "Set cart address",
        "description": "Sets billing and shipping addresses on a cart. Returns a fully updated `Cart` object. For registered users, pass `billing_address_id` and `shipping_address_id`. For guest checkout, pass inline `billing_address` and `shipping_address` objects.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Update billing and shipping address during checkout",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "oneOf": [
                  {
                    "title": "Registered User",
                    "description": "For registered users where address is previously added",
                    "required": [
                      "billing_address_id",
                      "shipping_address_id"
                    ],
                    "properties": {
                      "billing_address_id": {
                        "type": "string"
                      },
                      "shipping_address_id": {
                        "type": "string"
                      }
                    }
                  },
                  {
                    "title": "Guest User",
                    "description": "For guest checkout where address is not saved",
                    "required": [
                      "billing_address",
                      "shipping_address"
                    ],
                    "properties": {
                      "billing_address": {
                        "$ref": "#/components/schemas/CustomerAddress"
                      },
                      "shipping_address": {
                        "$ref": "#/components/schemas/CustomerAddress"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "Address updated successfully"
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "GetFulfillmentOptions": {
                "operationId": "get-fulfillment-options",
                "requestBody": {
                  "cart_id": "$request.path.id"
                },
                "description": "Check available fulfillment options for this cart."
              },
              "SetFulfillmentPreference": {
                "operationId": "update-fulfillment-preference",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "Set the fulfillment preference on this cart."
              },
              "CreateOrderFromCart": {
                "operationId": "create-order",
                "requestBody": {
                  "cart_id": "$request.path.id"
                },
                "description": "Create an order from this cart."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "createCartAddress"
      }
    },
    "/pos/carts/{id}/coupon": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-apply-coupon",
        "summary": "Apply coupon",
        "description": "Applies a coupon code to the cart. Returns a fully updated `Cart` object with recalculated totals.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "coupon_code"
                ],
                "properties": {
                  "coupon_code": {
                    "type": "string",
                    "examples": [
                      "FLAT100OFF"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "CreateOrderFromCart": {
                "operationId": "create-order",
                "requestBody": {
                  "cart_id": "$request.path.id"
                },
                "description": "Create an order from this cart after applying the coupon."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "applyCoupon"
      },
      "delete": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-remove-coupon",
        "summary": "Remove coupon",
        "description": "Removes the applied coupon from the cart. Returns a fully updated `Cart` object with recalculated totals.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "removeCoupon"
      }
    },
    "/pos/carts/{id}/credit-balance": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-redeem-credit-balance",
        "summary": "Use credit balance",
        "description": "Applies credit balance to reduce the cart total. Returns a fully updated `Cart` object.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "credit_balance_used"
                ],
                "properties": {
                  "credit_balance_used": {
                    "type": "number",
                    "format": "double",
                    "examples": [
                      200
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "redeemCreditBalance"
      },
      "delete": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-remove-credit-balance",
        "summary": "Remove credit balance",
        "description": "Removes applied credit balance from the cart. Returns a fully updated `Cart` object with recalculated totals.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "removeCreditBalance"
      }
    },
    "/pos/carts/{id}/evaluate-coupons": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-evaluate-coupons",
        "summary": "Evaluate coupons",
        "description": "Evaluates all coupons against the current cart contents. Returns separate `applicable_coupons` and `inapplicable_coupons` arrays with eligibility reasons.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "applicable_coupons": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ApplicableCoupon"
                          }
                        },
                        "inapplicable_coupons": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InapplicableCoupon"
                          }
                        }
                      },
                      "required": [
                        "applicable_coupons",
                        "inapplicable_coupons"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "evaluateCoupons"
      }
    },
    "/pos/carts/{id}/evaluate-promotions": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-evaluate-promotions",
        "summary": "Evaluate promotions",
        "description": "Evaluates all promotions against the current cart contents. Returns separate `applicable_promotions` and `inapplicable_promotions` arrays with eligibility reasons.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "applicable_promotions": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ApplicablePromotion"
                          }
                        },
                        "inapplicable_promotions": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InapplicablePromotion"
                          }
                        }
                      },
                      "required": [
                        "applicable_promotions",
                        "inapplicable_promotions"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "evaluatePromotions"
      }
    },
    "/pos/carts/{id}/fulfillment-preference": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-update-fulfillment-preference",
        "summary": "Update fulfillment preference",
        "description": "Sets the fulfillment preference on a cart. Returns a fully updated `Cart` object. Supported types: `delivery`, `collect-in-store`, or `partial-collect-and-delivery`.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FulfillmentPreference"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "EvaluateCoupons": {
                "operationId": "evaluate-coupons",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "Evaluate coupon eligibility for this cart."
              },
              "EvaluatePromotions": {
                "operationId": "evaluate-promotions",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "Evaluate promotion eligibility for this cart."
              },
              "CreateOrderFromCart": {
                "operationId": "create-order",
                "requestBody": {
                  "cart_id": "$request.path.id"
                },
                "description": "Create an order from this cart."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "updateFulfillmentPreference"
      }
    },
    "/pos/carts/{id}/items": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-update-cart",
        "summary": "Add, update, or remove a cart item",
        "description": "Modifies the contents of an existing cart. Returns a fully updated `Cart` object. Set `quantity` to `0` to remove an item.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "cart id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCartItem"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "SetCartAddress": {
                "operationId": "create-cart-address",
                "parameters": {
                  "id": "$request.path.id"
                },
                "description": "Set billing and shipping address on this cart."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "updateCart"
      }
    },
    "/pos/carts/{id}/loyalty-points": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-redeem-loyalty-points",
        "summary": "Redeem loyalty points",
        "description": "Applies loyalty points to reduce the cart total. Returns a fully updated `Cart` object.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "loyalty_point_redeemed"
                ],
                "properties": {
                  "loyalty_point_redeemed": {
                    "type": "integer",
                    "examples": [
                      1000
                    ],
                    "minimum": 1
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "redeemLoyaltyPoints"
      },
      "delete": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-remove-loyalty-points",
        "summary": "Remove loyalty points",
        "description": "Removes redeemed loyalty points from the cart. Returns a fully updated `Cart` object with recalculated totals.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Cart ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "description": "Not Found"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "removeLoyaltyPoints"
      }
    },
    "/pos/carts/{id}/update-customer": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "update-pos-cart-customer",
        "summary": "Update cart customer",
        "description": "Link customer to the specified cart.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/update-pos-cart-customer",
          "description": "API reference for the update-pos-cart-customer operation"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "cart id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/PosUpdateCustomerWithId"
                  },
                  {
                    "$ref": "#/components/schemas/PosUpdateCustomerWithPhone"
                  },
                  {
                    "$ref": "#/components/schemas/PosUpdateCustomerWithEmail"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "cart": {
                          "$ref": "#/components/schemas/Cart"
                        }
                      },
                      "required": [
                        "cart"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "updateCartCustomer"
      }
    },
    "/pos/catalog/categories": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-categories",
        "summary": "List all categories",
        "description": "Returns a list of your product categories. The categories are returned sorted by creation date, with the most recently created categories appearing first.",
        "parameters": [
          {
            "$ref": "#/components/parameters/searchKeyword"
          },
          {
            "$ref": "#/components/parameters/sortingParam"
          },
          {
            "name": "nested_level",
            "in": "query",
            "description": "return child categories up to nesting level",
            "schema": {
              "type": "integer",
              "default": 0,
              "maximum": 4,
              "minimum": 0
            }
          },
          {
            "name": "parent_category_id",
            "in": "query",
            "description": "To return child categories using category id.",
            "schema": {
              "type": "string",
              "example": "01JWZW41Y3FBKTZSP399SKANY7",
              "examples": [
                "01JWZW41Y3FBKTZSP399SKANY7"
              ]
            }
          },
          {
            "name": "parent_category_slug",
            "in": "query",
            "description": "To return child categories using category slug",
            "schema": {
              "type": "string",
              "example": "vitals"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "all categories"
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "categories": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ProductCategory"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "categories",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "ListProductsByCategory": {
                "operationId": "list-products",
                "description": "List products in a category. Use a category's `id` as the `category_id` query parameter."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listCategories"
      }
    },
    "/pos/catalog/inventories": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-inventory",
        "summary": "List all inventories",
        "description": "List all inventories",
        "parameters": [
          {
            "$ref": "#/components/parameters/dataView"
          },
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/sortByOptions"
          },
          {
            "$ref": "#/components/parameters/columnBasedFilters"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "inventories": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/ItemWiseInventory"
                              },
                              {
                                "$ref": "#/components/schemas/LotBatchWiseInventory"
                              }
                            ]
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/catalog/inventories/activites": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-inventory-activity",
        "summary": "List all inventories activities",
        "description": "Lists all inventory related activities of stock movements. This provides a comprehensive audit trail of inventory operations such as receiving, reservations, adjustments, transfers, and sales.",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/sortByOptions"
          },
          {
            "$ref": "#/components/parameters/columnBasedFilters"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "activities": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InventoryActivity"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/catalog/inventories/detail": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-inventory-detail",
        "summary": "Retrieve inventory detail",
        "description": "Retrieves inventory details for a specific product, product variant, or lot/batch based on the parameters provided.",
        "parameters": [
          {
            "name": "lot_batch",
            "in": "query",
            "description": "lot batch of selected productor or variant.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "Product Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "variant_id",
            "in": "query",
            "description": "Variant Id",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "inventory": {
                          "$ref": "#/components/schemas/InventoryDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/catalog/products": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-products",
        "summary": "List all products",
        "description": "Returns a paginated list of `Product` objects sorted by creation date (newest first). Pass `x-customer-group-id` header to retrieve group-specific pricing.",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/pageLimitParam"
          },
          {
            "$ref": "#/components/parameters/sortingParam"
          },
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "filter products by categories ids",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "explode": true,
            "style": "form"
          },
          {
            "name": "category_slug",
            "in": "query",
            "description": "filter products by categories slugs",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "inventory",
            "in": "query",
            "description": "Determines whether to include or exclude inventory details in response json",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product_type",
            "in": "query",
            "description": "Filter sku by product type. multiple product types can be passed separated by comma. eg: product_type=physical,digital",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "Products retrieved successfully."
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "products": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Product"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "products",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "GetProductDetail": {
                "operationId": "get-product-detail",
                "description": "Retrieve full details for a product. Use `id` or `slug` from a `Product` as the `product_id` path parameter (product slug is supported in place of product ID)."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listProducts"
      }
    },
    "/pos/catalog/products/cross-sell": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-crosssell-products",
        "summary": "Retrieve cross-sell products",
        "description": "Retrieves a list of products specified for cross selling. The cross-sell products are returned based on product ids specified in request param.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "no of rows per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "page number in pagination",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "Product ids of cart items",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "json to sort records",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "products": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "products",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/products/0/product_id",
                  "variant_id": "$response.body#/content/products/0/variant_id"
                },
                "description": "Add a cross-sell product to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listCrosssellProducts"
      }
    },
    "/pos/catalog/products/search": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-search-products",
        "summary": "Search products",
        "description": "Search for products matching a specific words or characters given.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchProduct"
              },
              "examples": {
                "in-operator": {
                  "summary": "IN operator (string)",
                  "value": {
                    "query": "shoes",
                    "filter": "product_type IN [physical,bundle]"
                  }
                },
                "and-string": {
                  "summary": "AND via string",
                  "value": {
                    "query": "shoes",
                    "filter": "rating > 4 AND product_type = physical"
                  }
                },
                "or-string": {
                  "summary": "OR via string",
                  "value": {
                    "query": "shoes",
                    "filter": "product_type = physical OR product_type = bundle"
                  }
                },
                "and-array": {
                  "summary": "AND via array",
                  "value": {
                    "query": "shoes",
                    "filter": [
                      "rating > 4",
                      "product_type = physical"
                    ]
                  }
                },
                "or-nested-array": {
                  "summary": "OR via nested array",
                  "value": {
                    "query": "shoes",
                    "filter": [
                      [
                        "product_type = physical",
                        "product_type = bundle"
                      ]
                    ]
                  }
                },
                "mixed-and-or": {
                  "summary": "AND + OR mixed",
                  "value": {
                    "query": "shoes",
                    "filter": [
                      "product_type = physical",
                      [
                        "product_type = bundle",
                        "rating > 4"
                      ]
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "skus": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        },
                        "facet_distribution": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "integer"
                            }
                          }
                        },
                        "facet_stats": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "min": {
                                "type": "number"
                              },
                              "max": {
                                "type": "number"
                              }
                            },
                            "required": [
                              "min",
                              "max"
                            ]
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "skus",
                        "facet_distribution",
                        "facet_stats",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/skus/0/product_id",
                  "variant_id": "$response.body#/content/skus/0/variant_id"
                },
                "description": "Add a search result to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "searchProducts"
      }
    },
    "/pos/catalog/products/similar": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-similar-products",
        "summary": "Retrieve similar products",
        "description": "Retrieves a list of products similar to a specified product based on their attributes and category. The similar products are returned sorted by relevance, with the most closely matching products appearing first. Useful for providing product recommendations to your customers.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "no of rows per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "page number in pagination",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "to retrieve similar products of specified products",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "json to sort records",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "products": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "products",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/products/0/product_id",
                  "variant_id": "$response.body#/content/products/0/variant_id"
                },
                "description": "Add a similar product to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listSimilarProducts"
      }
    },
    "/pos/catalog/products/up-sell": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-upsell-products",
        "summary": "Retrieve up-sell products",
        "description": "Retrieves a list of products specified for upsell. The upsell products are returned based on product ids specified in request param.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "no of rows per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "page number in pagination",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "product_id",
            "in": "query",
            "description": "Product ids of cart items",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "sort_by",
            "in": "query",
            "description": "json to sort records",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "description": "Message",
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "products": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "products",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/products/0/product_id",
                  "variant_id": "$response.body#/content/products/0/variant_id"
                },
                "description": "Add an up-sell product to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listUpsellProducts"
      }
    },
    "/pos/catalog/products/{product_id}": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-product-detail",
        "summary": "Retrieve a product detail",
        "description": "Retrieves a single `ProductDetail` object by product ID or slug. Product slug is supported in place of product ID in the path. Includes full pricing, variants, images, attributes, and promotion data.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "inventory",
            "in": "query",
            "description": "Determines whether to include or exclude inventory details in response json",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "Product ID or product slug. Either is accepted in the path.",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "01XGCYCT8CRHXW4BG91JXCMDCW",
                "detox-candy"
              ],
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "Products retrieved successfully."
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "product": {
                          "$ref": "#/components/schemas/ProductDetail"
                        }
                      },
                      "required": [
                        "product"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "ListProductVariants": {
                "operationId": "list-product-variants",
                "parameters": {
                  "product_id": "$response.body#/content/product/id"
                },
                "description": "List all variants for this product."
              },
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/product/id"
                },
                "description": "Add this product to a cart. Use `product.id` as `product_id`, a variant `id` from `product.variants[]` as `variant_id` (or `null` if `has_variant` is `false`), and a `quantity`."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getProductDetail"
      }
    },
    "/pos/catalog/products/{product_id}/variants": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-product-variants",
        "summary": "Retrieve product variants",
        "description": "Retrieves the variants of an existing product. Returns the corresponding variant list. Product slug is supported in place of product ID in the path.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "inventory",
            "in": "query",
            "description": "Determines whether to include or exclude inventory details in response json",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "Product ID or product slug. Either is accepted in the path.",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "01H7YK0C86V9PGT0HXRJVEZXJQ",
                "detox-candy"
              ],
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "Products retrieved successfully."
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "variants": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Variant"
                          }
                        }
                      },
                      "required": [
                        "variants"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddVariantToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$request.path.product_id",
                  "variant_id": "$response.body#/content/variants/0/id"
                },
                "description": "Add a variant to a cart. Use the parent `product_id` and a variant's `id` as `variant_id`."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listProductVariants"
      }
    },
    "/pos/catalog/products/{product_id}/variants/{variant_id}": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-variant-detail",
        "summary": "Retrieve variant detail",
        "description": "Retrieves the details of a particular variant. Product slug is supported in place of product ID, and variant slug in place of variant ID, in the path.",
        "parameters": [
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "inventory",
            "in": "query",
            "description": "Determines whether to include or exclude inventory details in response json",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "Product ID or product slug. Either is accepted in the path.",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "01H7YK0C86V9PGT0HXRJVEZXJQ",
                "detox-candy"
              ],
              "minLength": 1
            }
          },
          {
            "name": "variant_id",
            "in": "path",
            "description": "Variant ID or variant slug. Either is accepted in the path.",
            "required": true,
            "schema": {
              "type": "string",
              "examples": [
                "01H7YK0D12ABC123VARIANT456",
                "large-blue"
              ],
              "minLength": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "Products retrieved successfully."
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "variant": {
                          "$ref": "#/components/schemas/VariantDetail"
                        }
                      },
                      "required": [
                        "variant"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddVariantToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$request.path.product_id",
                  "variant_id": "$request.path.variant_id"
                },
                "description": "Add this variant to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getVariantDetail"
      }
    },
    "/pos/catalog/skus": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-skus",
        "summary": "List all SKUs",
        "description": "Returns a list of SKUs. The SKUs are returned sorted by creation date, with the most recently created SKUs appearing first.",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageParam"
          },
          {
            "$ref": "#/components/parameters/pageLimitParam"
          },
          {
            "$ref": "#/components/parameters/sortingParam"
          },
          {
            "$ref": "#/components/parameters/CustomerGroupId"
          },
          {
            "name": "category_id",
            "in": "query",
            "description": "filter sku by categories",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "explode": true,
            "style": "form"
          },
          {
            "name": "category_slug",
            "in": "query",
            "description": "filter products by categories slugs",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "inventory",
            "in": "query",
            "description": "Determines whether to include or exclude inventory details in response json",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product_type",
            "in": "query",
            "description": "Filter sku by product type. multiple product types can be passed separated by comma. eg: product_type=physical,digital",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "description": "array of sku",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "examples": [
                        "SKUs retrieved successfully."
                      ]
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "skus": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          },
                          "readOnly": true
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/Pagination"
                        }
                      },
                      "required": [
                        "skus",
                        "pagination"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "AddItemToCart": {
                "operationId": "update-cart",
                "requestBody": {
                  "product_id": "$response.body#/content/skus/0/product_id",
                  "variant_id": "$response.body#/content/skus/0/variant_id"
                },
                "description": "Add a SKU to a cart."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listSkus"
      }
    },
    "/pos/common/countries/{country_iso_code}/pincodes": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-country-pincodes",
        "summary": "Retrieve pincodes",
        "description": "Retrieve pincodes",
        "parameters": [
          {
            "name": "country_iso_code",
            "in": "path",
            "description": "ISO 3166-1 alpha-2 country code (e.g., `IN` for India).",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "pattern": "^[A-Z]{2}$"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "no of rows per page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "page number of pagination list",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "pincode",
            "in": "query",
            "description": "pincode. atleast 3 initial chars require to use this param",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "pincodes": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Pincode"
                          }
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listCountryPincodes"
      }
    },
    "/pos/common/countries/{country_iso_code}/states": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-country-states",
        "summary": "Retrieve country wise states",
        "description": "Retrieve country wise states",
        "parameters": [
          {
            "name": "country_iso_code",
            "in": "path",
            "description": "ISO 3166-1 alpha-2 country code (e.g., `IN` for India).",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "pattern": "^[A-Z]{2}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "states": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CountryState"
                          }
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listCountryStates"
      }
    },
    "/pos/customers": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-customers",
        "summary": "List all customers",
        "description": "List all customers",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/columnBasedFilters"
          },
          {
            "$ref": "#/components/parameters/sortByOptions"
          },
          {
            "$ref": "#/components/parameters/searchKeyword"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "customers": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CustomerListItem"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/customers/{id}": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-customer-detail",
        "summary": "Retrieve customer detail",
        "description": "Retrieves the full `CustomerDetail` object, including `business`, `segments`, `addresses`, `banking`, `loyalty`, `notification_preferences`, and the assigned `customer_group_id`.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Customer Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "customer": {
                          "$ref": "#/components/schemas/CustomerDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/customers/{id}/addresses": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-addresses",
        "summary": "List all addresses",
        "description": "List all addresses",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "customer id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "addresses": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Address"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      },
      "post": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-create-address",
        "summary": "Create address",
        "description": "Create address",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "customer id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "address": {
                          "$ref": "#/components/schemas/Address"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/customers/{id}/addresses/{address_id}": {
      "put": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-update-address",
        "summary": "Update address detail",
        "description": "Update address detail",
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "description": "address id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "customer id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "$ref": "#/components/schemas/Address"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "address": {
                          "$ref": "#/components/schemas/Address"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      },
      "delete": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-delete-address",
        "summary": "Delete address",
        "description": "Delete address",
        "parameters": [
          {
            "name": "address_id",
            "in": "path",
            "description": "address id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "customer id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/devices": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "list-pos-devices",
        "summary": "List all available devices",
        "description": "List all available devices.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/list-pos-devices",
          "description": "API reference for the list-pos-devices operation"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "devices": {
                          "$ref": "#/components/schemas/PosDevice"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listAvailableDevices"
      }
    },
    "/pos/devices/{id}/claim": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "claim-pos-device",
        "summary": "Claim device",
        "description": "Claim device",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/claim-pos-device",
          "description": "API reference for the claim-pos-device operation"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "device id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "user": {
                          "$ref": "#/components/schemas/PosUser"
                        }
                      },
                      "required": [
                        "user"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "claimDevice"
      }
    },
    "/pos/devices/{id}/unclaim": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "unclaim-pos-device",
        "summary": "Unclaim device",
        "description": "Unclaim device",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/unclaim-pos-device",
          "description": "API reference for the unclaim-pos-device operation"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "device id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "user": {
                          "$ref": "#/components/schemas/PosUser"
                        }
                      },
                      "required": [
                        "user"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "unclaimDevice"
      }
    },
    "/pos/locations": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "list-pos-locations",
        "summary": "List all locations",
        "description": "List all locations.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/list-pos-locations",
          "description": "API reference for the list-pos-locations operation"
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "locations": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/PosLocation"
                          }
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "X-Api-Key": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listLocations"
      }
    },
    "/pos/orders": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "create-pos-order",
        "summary": "Create POS order",
        "description": "Creates an order from a POS cart. Returns an `Order` with `payment_required` and `payment_info`. Include `payment_method` to create an initial payment request.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/create-pos-order",
          "description": "API reference for the create-pos-order operation"
        },
        "parameters": [],
        "requestBody": {
          "description": "Request body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "cart_id"
                ],
                "properties": {
                  "cart_id": {
                    "type": "string"
                  },
                  "payment_method": {
                    "$ref": "#/components/schemas/PosPaymentMethodPayload"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "order": {
                          "$ref": "#/components/schemas/Order"
                        },
                        "payment_required": {
                          "description": "true if to_be_paid > 0, otherwise false for zero value order.",
                          "type": "boolean"
                        },
                        "payment_info": {
                          "description": "Gateway initiation details when an auto payment method is used; otherwise `null`.",
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/JusPayHyperCheckoutResponse"
                            },
                            {
                              "$ref": "#/components/schemas/JusPayExpressCheckoutResponse"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "order",
                        "payment_required",
                        "payment_info"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "createPosOrder"
      },
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-orders",
        "summary": "List all orders",
        "description": "List all orders",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/columnBasedFilters"
          },
          {
            "$ref": "#/components/parameters/sortByOptions"
          },
          {
            "$ref": "#/components/parameters/searchKeyword"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "orders": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrderList"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-order-detail",
        "summary": "Retrieve order details",
        "description": "Retrieve order details",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "order": {
                          "$ref": "#/components/schemas/OrderDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}/activity": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-order-activity",
        "summary": "List all order activity",
        "description": "List all order activity",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "activity": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrderActivity"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}/check-inventory": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-check-order-inventory",
        "summary": "Check inventory",
        "description": "Verifies stock availability for an order's unscheduled or store_rejected shipment before it is scheduled.",
        "parameters": [
          {
            "name": "fulfillment_type",
            "in": "query",
            "description": "Optional. The fulfillment type to evaluate inventory against. If not provided, the inventory will be checked for the `fulfillment_type` of the shipment.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "delivery",
                "collect-in-store"
              ]
            }
          },
          {
            "name": "order_number",
            "in": "path",
            "description": "Order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "shipment_number",
            "in": "query",
            "description": "Optional. The shipment number to check inventory for. If not provided, the inventory will be checked for the `unscheduled` shipment of the order.",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "inventory": {
                          "$ref": "#/components/schemas/CheckInventoryResponse"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}/invoice": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-order-invoice",
        "summary": "Retrieve order invoice",
        "description": "Retrieve order invoice",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Response data format",
            "schema": {
              "type": "string",
              "default": "json",
              "enum": [
                "json",
                "pdf"
              ]
            }
          },
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "invoices": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InvoiceDetail"
                          }
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}/payment-status": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-payment-status",
        "summary": "Retrieve payment status",
        "description": "Retrieves the authoritative payment status of an order. After a payment attempt, poll this endpoint from your return URL every 2-3 seconds until `status` is `success` or `failed`. When `is_retry_available` is `true`, the payment can be retried.",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "default": "order details",
                      "readOnly": true
                    },
                    "success": {
                      "type": "boolean",
                      "readOnly": true
                    },
                    "content": {
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "pending",
                            "success",
                            "failed",
                            "partially_paid"
                          ]
                        },
                        "amount_paid": {
                          "type": "number",
                          "format": "double"
                        },
                        "amount_unpaid": {
                          "type": "number",
                          "format": "double"
                        },
                        "is_retry_available": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "status",
                        "amount_paid",
                        "amount_unpaid",
                        "is_retry_available"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "RetryPayment": {
                "operationId": "retry-order-payment",
                "parameters": {
                  "order_number": "$request.path.order_number"
                },
                "description": "Retry the payment when `is_retry_available` is `true` and `status` is `failed`."
              },
              "GetOrderDetail": {
                "operationId": "get-order-detail",
                "parameters": {
                  "order_number": "$request.path.order_number"
                },
                "description": "Retrieve the full order detail after payment completes."
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getPaymentStatus"
      }
    },
    "/pos/orders/{order_number}/payments": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-create-order-payment-request",
        "summary": "Create POS order payment",
        "description": "Creates a payment request for a POS order. Use this when the order was created without `payment_method` or when collecting the remaining `to_be_paid` amount with another method.",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "The unique identifier of the Order.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Request body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "amount",
                  "payment_method"
                ],
                "properties": {
                  "amount": {
                    "description": "Amount to request for this payment method. The total requested amount cannot exceed the order's `to_be_paid`.",
                    "type": "number",
                    "format": "double",
                    "exclusiveMinimum": 0
                  },
                  "payment_method": {
                    "$ref": "#/components/schemas/PosPaymentMethodPayload"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string",
                      "readOnly": true
                    },
                    "success": {
                      "type": "boolean",
                      "readOnly": true
                    },
                    "content": {
                      "properties": {
                        "payments": {
                          "description": "All payment records for the order after creating this request.",
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrderPayment"
                          }
                        },
                        "payment_required": {
                          "description": "`true` if the order has a payable amount.",
                          "type": "boolean"
                        },
                        "pending_amount": {
                          "description": "Remaining amount that can still be requested for this order.",
                          "type": "number",
                          "format": "double"
                        },
                        "payment_info": {
                          "description": "Gateway initiation details when an auto payment method is used; otherwise `null`.",
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/JusPayHyperCheckoutResponse"
                            },
                            {
                              "$ref": "#/components/schemas/JusPayExpressCheckoutResponse"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "payments",
                        "payment_required",
                        "pending_amount",
                        "payment_info"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "createOrderPaymentRequest"
      }
    },
    "/pos/orders/{order_number}/receipt": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-order-receipt",
        "summary": "Retrieve order receipt",
        "description": "Retrieves a printable receipt for a specific order using the order number. This endpoint returns either structured JSON data or a formatted PDF, suitable for customer presentation. Response format (JSON or PDF) is determined by an optional query parameter (e.g. format=pdf or format=json).",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Response data format",
            "schema": {
              "type": "string",
              "default": "json",
              "enum": [
                "json",
                "pdf"
              ]
            }
          },
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "order_receipt": {
                          "$ref": "#/components/schemas/OrderReceiptJsonFormat"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/orders/{order_number}/retry-payment": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-retry-order-payment",
        "summary": "Retry payment",
        "description": "To generate new payment request if first payment request is failed or expired. Retry payment request can be made after 15 mins of last request or immediately after last payment request is marked as failed.",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "payment_method": {
                    "$ref": "#/components/schemas/PaymentMethodPayload"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "payment_info": {
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/JusPayHyperCheckoutResponse"
                            },
                            {
                              "$ref": "#/components/schemas/JusPayExpressCheckoutResponse"
                            },
                            {
                              "$ref": "#/components/schemas/PayuPaymentInfo"
                            }
                          ]
                        }
                      },
                      "required": [
                        "payment_info"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "PollRetryPaymentStatus": {
                "operationId": "get-payment-status",
                "parameters": {
                  "order_number": "$request.path.order_number"
                },
                "description": "Poll the payment status after retrying payment."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "retryOrderPayment"
      }
    },
    "/pos/orders/{order_number}/shipments": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-order-shipments",
        "summary": "Retrieve order shipments",
        "description": "Retrieve order shipments",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "order number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipment": {
                          "$ref": "#/components/schemas/OrderShipmentDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/payments/authenticate-direct-otp": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-authenticate-direct-otp",
        "summary": "Authenticate direct OTP",
        "description": "Authenticate direct OTP",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "txn_id",
                  "challenge_id",
                  "otp"
                ],
                "properties": {
                  "txn_id": {
                    "description": "You can get the txn_id from the response of create order API under the payment object inside the payment_info object. The key is 'id' under the params object inside the authentication object.",
                    "type": "string"
                  },
                  "challenge_id": {
                    "description": "You can get the challenge_id from the response of create order API under the payment object inside the payment_info object. The key is 'challenge_id' under the params object inside the authentication object.",
                    "type": "string"
                  },
                  "otp": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "authenticateDirectOtp"
      }
    },
    "/pos/payments/card-info": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-get-card-info",
        "summary": "Get card information",
        "description": "Retrieve card information based on the initial 9 digits (card BIN) of the card number.",
        "parameters": [
          {
            "name": "cardbin",
            "in": "query",
            "description": "Initial 9 digits of card number (card BIN)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "card_info": {
                          "$ref": "#/components/schemas/CardbinInfo"
                        }
                      },
                      "required": [
                        "card_info"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "CreateOrderWithCard": {
                "operationId": "create-order",
                "description": "Create an order using card payment. Use `card_info.brand` to select the `payment_method` and match a `gateway_reference_id` from `list-payment-methods`."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getCardInfo"
      }
    },
    "/pos/payments/payment-methods": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-list-payment-methods",
        "summary": "List all payment methods",
        "description": "List all payment methods",
        "parameters": [
          {
            "name": "emandate_payment_methods",
            "in": "query",
            "description": "Set to `true` to return only payment methods that support eMandates.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "payment_method_type",
            "in": "query",
            "description": "Payment method type",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "card",
                "upi",
                "netbanking",
                "wallet",
                "manual"
              ]
            }
          },
          {
            "name": "payment_provider_slug",
            "in": "query",
            "description": "Payment provider slug",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "payment_methods": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/PayuPaymentMethod"
                              },
                              {
                                "$ref": "#/components/schemas/JuspayPaymentMethod"
                              },
                              {
                                "$ref": "#/components/schemas/ManualPaymentMethod"
                              }
                            ]
                          }
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "CreateOrder": {
                "operationId": "create-order",
                "description": "Create an order with a payment method. Use `payment_provider_slug` and a `gateway_reference_id` from `details[].supported_reference_ids[]` to construct the `payment_method` payload."
              },
              "GetCardInfo": {
                "operationId": "get-card-info",
                "description": "Look up card BIN info to validate card brand support before creating an order with a new card."
              },
              "VerifyVpa": {
                "operationId": "verify-vpa",
                "description": "Validate a UPI VPA before creating an order with UPI Collect."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "listPaymentMethods"
      }
    },
    "/pos/payments/resend-direct-otp": {
      "post": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-resend-direct-otp",
        "summary": "Resend direct OTP",
        "description": "Resend direct OTP",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "txn_id",
                  "challenge_id"
                ],
                "properties": {
                  "txn_id": {
                    "description": "You can get the txn_id from the response of create order API under the payment object inside the payment_info object. The key is 'id' under the params object inside the authentication object.",
                    "type": "string"
                  },
                  "challenge_id": {
                    "description": "You can get the challenge_id from the response of create order API under the payment object inside the payment_info object. The key is 'challenge_id' under the params object inside the authentication object.",
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "payment_info": {
                          "$ref": "#/components/schemas/JusPayExpressCheckoutResponse"
                        }
                      },
                      "required": [
                        "payment_info"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "resendDirectOtp"
      }
    },
    "/pos/payments/verify-vpa": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "pos-verify-vpa",
        "summary": "Verify VPA",
        "description": "The Virtual Payment Address or VPA is a unique ID given to an individual using the Unified Payment Interface (UPI) service to send or receive money. In the case of UPI collect VPA is the mandatory param and merchants are always advised to check if the VPA is valid or not.\nValidating the VPA will help in reducing the failure rate due to incorrect vpa. ",
        "parameters": [
          {
            "name": "vpa",
            "in": "query",
            "description": "The Virtual Payment Address or VPA is a unique ID given to an individual using the Unified Payment Interface (UPI) service.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "vpa": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": [
                            "valid",
                            "invalid",
                            "unknown"
                          ]
                        },
                        "customer_name": {
                          "type": "string"
                        },
                        "mandate_details": {
                          "description": "Mandate details if available.",
                          "type": "object",
                          "properties": {
                            "is_handle_supported": {
                              "description": "Indicates whether the specific VPA handle is supported by the merchant's account.",
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "required": [
                        "vpa",
                        "status",
                        "customer_name",
                        "mandate_details"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            },
            "links": {
              "CreateOrderWithUpiCollect": {
                "operationId": "create-order",
                "description": "Create an order using UPI Collect. Use the validated `vpa` as `upi_vpa` in a `JuspayUpiCollect` payment method payload."
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "verifyVpa"
      }
    },
    "/pos/shipping/shipments": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-list-shipments",
        "summary": "List all shipments",
        "description": "List all shipments",
        "parameters": [
          {
            "$ref": "#/components/parameters/pageNumber"
          },
          {
            "$ref": "#/components/parameters/pageLimit"
          },
          {
            "$ref": "#/components/parameters/columnBasedFilters"
          },
          {
            "$ref": "#/components/parameters/sortByOptions"
          },
          {
            "$ref": "#/components/parameters/searchKeyword"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipments": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ShipmentList"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{order_number}/refund-shortfall": {
      "post": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-refund-shortfall",
        "summary": "Refund shortfall",
        "description": "Refund shortfall",
        "parameters": [
          {
            "name": "order_number",
            "in": "path",
            "description": "Order Number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "items",
                  "payment_method"
                ],
                "properties": {
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "product_id",
                        "variant_id",
                        "quantity"
                      ],
                      "properties": {
                        "product_id": {
                          "type": "string"
                        },
                        "variant_id": {
                          "description": "The unique identifier of the product variant. Use `null` if the product has no variants.",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "free_quantity": {
                          "type": "integer",
                          "default": 0
                        }
                      }
                    }
                  },
                  "payment_method": {
                    "enum": [
                      "original-payment-mode",
                      "bank-transfer"
                    ]
                  },
                  "bank_account_id": {
                    "description": "required if payment_method = bank-transfer",
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-shipment-detail",
        "summary": "Retrieve shipment detail",
        "description": "Retrieve shipment detail",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipment": {
                          "$ref": "#/components/schemas/ShipmentDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/activities": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-shipment-activities",
        "summary": "Retrieve shipment activities",
        "description": "Retrieve shipment activities",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "activities": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ShipmentActivity"
                          }
                        },
                        "pagination": {
                          "$ref": "#/components/schemas/AdminPagination"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/approve": {
      "post": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-approve-shipment",
        "summary": "Approve shipment",
        "description": "Approves a shipment that is pending store review. Returns an updated `ShipmentDetail`.",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipment": {
                          "$ref": "#/components/schemas/ShipmentDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/invoice": {
      "get": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-get-shipment-invoice",
        "summary": "Retrieve shipment invoice",
        "description": "Retrieve shipment invoice",
        "parameters": [
          {
            "name": "format",
            "in": "query",
            "description": "Response data format",
            "schema": {
              "type": "string",
              "default": "json",
              "enum": [
                "json",
                "pdf"
              ]
            }
          },
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "invoice": {
                          "$ref": "#/components/schemas/InvoiceDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              },
              "application/pdf": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/manual-update": {
      "put": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-update-shipment",
        "summary": "Update shipment detail",
        "description": "Update shipment detail",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  },
                  "warehouse_id": {
                    "type": "string"
                  },
                  "awb_no": {
                    "type": "string"
                  },
                  "courier_company_name": {
                    "type": "string"
                  },
                  "shipping_label_url": {
                    "type": "string"
                  },
                  "tracking_url": {
                    "type": "string"
                  },
                  "manual_shipping_charges": {
                    "type": "number"
                  },
                  "eta_delivery": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "shipped_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "out_for_delivery_date": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "delivered_date": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipment": {
                          "$ref": "#/components/schemas/ShipmentDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/reject": {
      "post": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-reject-shipment",
        "summary": "Reject shipment",
        "description": "Rejects a shipment that is pending store review. Returns an updated `ShipmentDetail`.",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Shipment reference number",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "shipment": {
                          "$ref": "#/components/schemas/ShipmentDetail"
                        }
                      },
                      "type": "object"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/shipping/shipments/{reference_number}/replacement": {
      "post": {
        "tags": [
          "POSAdmin"
        ],
        "operationId": "pos-create-replacement-shipment",
        "summary": "Create a replacement shipment",
        "description": "Creates a replacement shipment against an existing shipment. Use the `manual` payload to dispatch outside an integrated carrier, or the `auto` payload to fulfill through an integrated carrier with system-managed packing and rates.",
        "parameters": [
          {
            "name": "reference_number",
            "in": "path",
            "description": "Reference number of the original shipment being replaced.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/CreateReplacementShipmentWithManualMethod"
                  },
                  {
                    "$ref": "#/components/schemas/CreateReplacementShipmentWithAutoMethod"
                  },
                  {
                    "$ref": "#/components/schemas/CreateReplacementShipmentForCollectInStore"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos"
      }
    },
    "/pos/users/{id}": {
      "get": {
        "tags": [
          "POS"
        ],
        "operationId": "get-pos-user",
        "summary": "Get POS User",
        "description": "Get POS User",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/operations/get-pos-user",
          "description": "API reference for the get-pos-user operation"
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "User ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "message",
                    "success",
                    "content"
                  ],
                  "properties": {
                    "message": {
                      "type": "string"
                    },
                    "success": {
                      "type": "boolean"
                    },
                    "content": {
                      "properties": {
                        "user": {
                          "$ref": "#/components/schemas/PosUser"
                        }
                      },
                      "required": [
                        "user"
                      ],
                      "type": "object"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "Authorization": []
          }
        ],
        "x-speakeasy-group": "pos",
        "x-speakeasy-name-override": "getUserDetail"
      }
    }
  },
  "components": {
    "schemas": {
      "AcceleratedRewardCouponPromotion": {
        "title": "AcceleratedRewardCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AcceleratedRewardCouponPromotion",
          "description": "API reference for the AcceleratedRewardCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/AcceleratedRewardRule"
              },
              "applies_to_product": {
                "enum": [
                  "product",
                  "category"
                ]
              }
            }
          }
        ]
      },
      "AcceleratedRewardRule": {
        "title": "AcceleratedRewardRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AcceleratedRewardRule",
          "description": "API reference for the AcceleratedRewardRule schema"
        },
        "required": [
          "products",
          "category_id",
          "bonus_loyalty_point"
        ],
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "minimum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "bonus_loyalty_point": {
            "type": "integer"
          }
        }
      },
      "AdditionalProductDetails": {
        "title": "AdditionalProductDetails",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AdditionalProductDetails",
          "description": "API reference for the AdditionalProductDetails schema"
        },
        "required": [
          "description",
          "hsn_code",
          "videos",
          "shipping",
          "upselling_product_ids",
          "crossselling_product_ids",
          "seo",
          "metadata"
        ],
        "properties": {
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "hsn_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "videos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductVideo"
            }
          },
          "shipping": {
            "$ref": "#/components/schemas/ProductShipping"
          },
          "upselling_product_ids": {
            "description": "An array of product IDs",
            "type": "array",
            "items": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-zA-Z0-9]{26}$",
              "examples": [
                "01F3Z7KG06J4ACWH1C4926KJEB"
              ]
            }
          },
          "crossselling_product_ids": {
            "description": "An array of product IDs",
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[A-Za-z0-9]{26}$",
              "examples": [
                "01F3Z7KG06J4ACWH1C4926KJEB"
              ]
            }
          },
          "seo": {
            "$ref": "#/components/schemas/Seo"
          },
          "metadata": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "Address": {
        "title": "Address",
        "type": "object",
        "required": [
          "first_name",
          "phone",
          "email",
          "address_line1",
          "pincode",
          "city",
          "state",
          "country"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "enum": [
              "India"
            ]
          },
          "gstin": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "business_name": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "is_default_billing": {
            "type": "boolean"
          },
          "is_default_shipping": {
            "type": "boolean"
          }
        },
        "examples": [],
        "x-tags": [
          "Customers"
        ]
      },
      "AdminAppliedCoupon": {
        "title": "AppliedPromotion",
        "description": "Details about an active coupon applied to a cart/order",
        "type": "object",
        "required": [
          "coupon_id",
          "coupon_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name"
        ],
        "properties": {
          "coupon_id": {
            "type": "string"
          },
          "coupon_type": {
            "enum": [
              "discount",
              "free-goods",
              "fixed-price",
              "free-shipping",
              "buy-x-get-y",
              "volume-based",
              "accelerated-rewards"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AdminAppliedPromotion": {
        "title": "AppliedPromotion",
        "description": "Details about an active promotion applied to a cart/order",
        "type": "object",
        "required": [
          "promotion_id",
          "promotion_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name",
          "applied_sequence",
          "scope"
        ],
        "properties": {
          "promotion_id": {
            "type": "string"
          },
          "promotion_type": {
            "enum": [
              "discount",
              "free-goods",
              "fixed-price",
              "free-shipping",
              "buy-x-get-y",
              "volume-based"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "applied_sequence": {
            "type": "number"
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "AdminBankTransfer": {
        "title": "BankTransfer",
        "description": "Bank transfer payment - IMPS, NEFT, RTGS",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_account_number": {
                "description": "masked account number\r\ne.g. ************1234",
                "type": [
                  "string",
                  "null"
                ]
              },
              "bank_name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      },
      "AdminCardPayment": {
        "title": "CardPayment",
        "description": "Payments using credit card, debit card",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "card_number": {
                "description": "masked card number\r\ne.g. ************1111",
                "type": [
                  "string",
                  "null"
                ]
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "Visa",
                  "Master Card",
                  "Rupay"
                ]
              }
            }
          }
        ]
      },
      "AdminCollectInStoreFulfillment": {
        "title": "CollectInStoreFulfillment",
        "type": "object",
        "required": [
          "fulfillment_type",
          "pickup_location_id"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "collect-in-store"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "pickup_location_id": {
            "type": "string"
          },
          "pickup_location_name": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "AdminCustomerAddress": {
        "title": "CustomerAddress",
        "type": "object",
        "required": [
          "first_name",
          "phone",
          "email",
          "address_line1",
          "pincode",
          "city",
          "state",
          "country"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": "string",
            "enum": [
              "India"
            ]
          },
          "gstin": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "business_name": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_default_shipping": {
            "type": "boolean"
          },
          "is_default_billing": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "examples": [],
        "x-tags": [
          "Customers"
        ]
      },
      "AdminDeliveryFulfillment": {
        "title": "DeliveryFulfillment",
        "type": "object",
        "required": [
          "fulfillment_type",
          "shipping_provider_id"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "shipping_provider_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_provider_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          }
        }
      },
      "AdminFulfillmentItem": {
        "title": "FulfillmentItem",
        "type": "object",
        "required": [
          "product_id",
          "product_name",
          "variant_id",
          "variant_name",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          }
        }
      },
      "AdminFulfillmentPreference": {
        "title": "FulfillmentPreference",
        "discriminator": {
          "propertyName": "fulfillment_type",
          "mapping": {
            "collect-in-store": "#/components/schemas/AdminCollectInStoreFulfillment",
            "delivery": "#/components/schemas/AdminDeliveryFulfillment",
            "partial-collect-and-delivery": "#/components/schemas/AdminPartialCollectAndDelivery"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AdminCollectInStoreFulfillment"
          },
          {
            "$ref": "#/components/schemas/AdminDeliveryFulfillment"
          },
          {
            "$ref": "#/components/schemas/AdminPartialCollectAndDelivery"
          }
        ],
        "x-tags": [
          "Orders"
        ]
      },
      "AdminNetbankingPayment": {
        "title": "NetbankingPayment",
        "description": "Payments using payment gateway netbanking option.",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "AdminOrder": {
        "title": "Order",
        "type": "object",
        "properties": {
          "id": {
            "description": "Same value as `order_number`.",
            "type": "string",
            "readOnly": true
          },
          "order_number": {
            "type": "string"
          },
          "cart_id": {
            "description": "Identifier of the cart the order was created from.",
            "type": "string",
            "readOnly": true
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "marketplace_synced": {
            "description": "Indicates whether the order was synced from Marketplace.",
            "type": "boolean"
          },
          "payment_success_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "customer_id": {
            "type": "string"
          },
          "customer_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "type": "boolean"
          },
          "promotion_discount_amount": {
            "type": [
              "integer",
              "null"
            ]
          },
          "promotion_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "readOnly": true
          },
          "is_coupon_applied": {
            "type": "boolean"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "coupon_discount_amount": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "readOnly": true
          },
          "on_subscription": {
            "type": "boolean"
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/AdminFulfillmentPreference"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          },
          "metadata": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "subtotal": {
            "type": "number",
            "format": "double"
          },
          "subtotal_tax": {
            "type": "number",
            "format": "double"
          },
          "subtotal_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double"
          },
          "shipping_total_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "total_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_redeemed": {
            "type": "integer"
          },
          "credit_balance_used": {
            "type": "integer"
          },
          "to_be_paid": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_earned": {
            "type": "integer"
          },
          "order_items_count": {
            "type": "integer"
          },
          "currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              }
            }
          },
          "feedback": {
            "type": [
              "string",
              "null"
            ]
          },
          "allowed_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderAction"
            }
          },
          "applied_coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminAppliedCoupon"
            }
          },
          "applied_promotions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminAppliedPromotion"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "AdminOrderItem": {
        "title": "OrderItem",
        "type": "object",
        "required": [
          "sku",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string",
            "readOnly": true
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "slug": {
            "description": "Slug of the thing actually ordered — the variant's slug when the item has a variant, otherwise the product's.",
            "type": "string",
            "readOnly": true
          },
          "product_slug": {
            "type": "string",
            "readOnly": true
          },
          "variant_slug": {
            "description": "Null or an empty string when the item has no variant.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_type": {
            "$ref": "#/components/schemas/ProductType"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sku": {
            "type": "string"
          },
          "on_offer": {
            "type": "boolean",
            "readOnly": true
          },
          "on_promotion": {
            "type": "boolean",
            "readOnly": true
          },
          "on_subscription": {
            "type": "boolean"
          },
          "subscription_plan": {
            "type": [
              "string",
              "null"
            ]
          },
          "subscription_interval": {
            "type": [
              "integer",
              "null"
            ],
            "readOnly": true
          },
          "subscription_frequency": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          },
          "incremental_quantity": {
            "description": "Step the quantity can be changed by.",
            "type": "integer",
            "readOnly": true
          },
          "free_quantity": {
            "type": "integer",
            "readOnly": true
          },
          "is_free_item": {
            "type": "boolean",
            "readOnly": true
          },
          "selling_price": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "listing_price": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "price_including_tax": {
            "description": "Whether `selling_price` and `listing_price` already include tax. A flag, not an amount.",
            "type": "boolean",
            "readOnly": true
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "promotion_discount_percent": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "readOnly": true
          },
          "tax_type": {
            "enum": [
              "gst",
              "GST"
            ],
            "readOnly": true
          },
          "tax_rate": {
            "type": "number",
            "format": "float",
            "readOnly": true
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "hsncode": {
            "description": "HSN code used for the item's tax treatment.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "handling_charge_excluding_tax": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double"
          },
          "handling_charge_tax_rate": {
            "type": "number",
            "format": "double"
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_variant_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerBasicDetail"
              },
              {
                "type": "null"
              }
            ]
          },
          "seller_product_id": {
            "description": "Seller's own product identifier. Relevant to marketplace stores only; `null` for b2b and b2c stores.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "seller_variant_id": {
            "description": "Seller's own variant identifier. Relevant to marketplace stores only; `null` for b2b and b2c stores.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "attributes": {
            "description": "Product attributes captured on the item at the time of the order.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "key": {
                  "description": "Attribute name in snake case.",
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "type": {
                  "description": "Attribute type, e.g. `single-select`, `boolean`, `text`, `multi-select`, `date`, `color`.",
                  "type": "string"
                },
                "value": {
                  "description": "Shape follows `type`: a string for `text`, `single-select` and `date`, a boolean for `boolean`. Items carrying `multi-select` or `color` attributes were not present in the sample, so their shape is deliberately left open."
                }
              }
            },
            "readOnly": true
          },
          "associated_options": {
            "description": "Variant options, keyed by the option's snake-case key. `null` for items with no variant.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "readOnly": true
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "AdminOrderPayment": {
        "title": "OrderPayment",
        "description": "Order payment. Each array entry matches one method-specific shape; only fields for that method are present (for example `card_number` on card payments, `bank_name` on bank transfer).",
        "oneOf": [
          {
            "$ref": "#/components/schemas/AdminCardPayment"
          },
          {
            "$ref": "#/components/schemas/AdminBankTransfer"
          },
          {
            "$ref": "#/components/schemas/AdminNetbankingPayment"
          },
          {
            "$ref": "#/components/schemas/AdminUpiPayment"
          },
          {
            "$ref": "#/components/schemas/AdminWalletPayment"
          },
          {
            "$ref": "#/components/schemas/LoyaltyPointPayment"
          },
          {
            "$ref": "#/components/schemas/OrderPaymentCommonOnly"
          }
        ],
        "x-tags": [
          "Orders"
        ]
      },
      "AdminPagination": {
        "title": "Pagination",
        "description": "pagination metadata structure",
        "type": "object",
        "properties": {
          "total_records": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          },
          "previous_page": {
            "description": "Previous page number",
            "type": [
              "integer",
              "null"
            ]
          },
          "limit": {
            "type": "integer",
            "default": 25
          },
          "next_page": {
            "description": "Next page number",
            "type": [
              "integer",
              "null"
            ]
          }
        }
      },
      "AdminPartialCollectAndDelivery": {
        "title": "PartialCollectAndDelivery",
        "type": "object",
        "required": [
          "fulfillment_type",
          "collect-in-store",
          "delivery"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "partial-collect-and-delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "collect-in-store": {
            "type": "object",
            "properties": {
              "pickup_location_id": {
                "type": "string"
              },
              "pickup_location_name": {
                "type": "string",
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminFulfillmentItem"
                }
              }
            },
            "required": [
              "items",
              "pickup_location_id"
            ]
          },
          "delivery": {
            "type": "object",
            "properties": {
              "shipping_provider_id": {
                "type": "string"
              },
              "shipping_provider_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "courier_company_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "courier_company_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminFulfillmentItem"
                }
              }
            },
            "required": [
              "shipping_provider_id",
              "items"
            ]
          }
        }
      },
      "AdminProductImage": {
        "title": "ProductImage",
        "type": "object",
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 128
          },
          "alternate_text": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 128
          },
          "sort_order": {
            "type": "integer",
            "format": "int32"
          },
          "url_tiny": {
            "type": "string",
            "maxLength": 512
          },
          "url_thumbnail": {
            "type": "string",
            "maxLength": 512
          },
          "url_standard": {
            "type": "string",
            "maxLength": 512
          },
          "url_zoom": {
            "type": "string",
            "maxLength": 512
          },
          "file_id": {
            "type": "string"
          },
          "file_type": {
            "description": "MIME type of the file, e.g. `image/png`.",
            "type": "string"
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "AdminSellerInfo": {
        "title": "SellerInfo",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "description": "Display name of the seller. Sent in place of `trade_name` and `legal_name` on the abbreviated form of this object.",
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "$ref": "#/components/schemas/SellerBusinessType"
          },
          "tax_identification_number": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SellerAccountStatus"
          },
          "kyc_status": {
            "$ref": "#/components/schemas/SellerKycStatus"
          },
          "visibility": {
            "description": "Visibility of the products of the seller. public: products are visible to all users, private: products are visible to only authenticated users.",
            "type": "string",
            "enum": [
              "public",
              "private"
            ]
          },
          "logo": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AdminShipmentItem": {
        "title": "ShipmentItem",
        "description": "Shipment item model",
        "type": "object",
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "description": "`null` for products without variants.",
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sku": {
            "type": "string",
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          },
          "free_quantity": {
            "type": "integer"
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerBasicDetail"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "AdminUpiPayment": {
        "title": "UpiPayment",
        "description": "UPI Payment",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "upi_id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      },
      "AdminWalletPayment": {
        "title": "WalletPayment",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "wallet_name": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        ]
      },
      "ApplicableCoupon": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ApplicableCoupon",
          "description": "API reference for the ApplicableCoupon schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "coupon_type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "coupon_code": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "estimated_discount": {
            "type": "number"
          },
          "savings_message": {
            "type": "string"
          }
        }
      },
      "ApplicablePromotion": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ApplicablePromotion",
          "description": "API reference for the ApplicablePromotion schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "promotion_type": {
            "$ref": "#/components/schemas/PromotionType"
          },
          "estimated_discount": {
            "type": "number"
          },
          "savings_message": {
            "type": "string"
          }
        }
      },
      "AppliedCoupon": {
        "title": "AppliedPromotion",
        "description": "Details about an active coupon applied to a cart/order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AppliedCoupon",
          "description": "API reference for the AppliedCoupon schema"
        },
        "required": [
          "coupon_id",
          "coupon_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name"
        ],
        "properties": {
          "coupon_id": {
            "type": "string"
          },
          "coupon_type": {
            "enum": [
              "discount",
              "free-goods",
              "fixed-price",
              "free-shipping",
              "buy-x-get-y",
              "volume-based",
              "accelerated-rewards"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AppliedPromotion": {
        "title": "AppliedPromotion",
        "description": "Details about an active promotion applied to a cart/order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AppliedPromotion",
          "description": "API reference for the AppliedPromotion schema"
        },
        "required": [
          "promotion_id",
          "promotion_type",
          "savings",
          "product_id",
          "variant_id",
          "product_name",
          "variant_name",
          "applied_sequence",
          "scope"
        ],
        "properties": {
          "promotion_id": {
            "type": "string"
          },
          "promotion_type": {
            "enum": [
              "discount",
              "free-goods",
              "free-shipping",
              "buy-x-get-y",
              "volume-based"
            ]
          },
          "savings": {
            "type": "number"
          },
          "product_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "applied_sequence": {
            "type": "number"
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "AssociatedOption": {
        "title": "AssociatedOption",
        "description": "An object where each key is an option name, and the value describes the option details.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AssociatedOption",
          "description": "API reference for the AssociatedOption schema"
        },
        "additionalProperties": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/ColorOption"
            },
            {
              "$ref": "#/components/schemas/SingleSelectOption"
            }
          ]
        },
        "examples": [
          {
            "background_color": {
              "name": "Background Color",
              "value": {
                "name": "Blue",
                "hexcode": "#0000FF"
              },
              "type": "color"
            },
            "size": {
              "name": "Size",
              "value": "Large",
              "type": "single-select"
            }
          }
        ]
      },
      "AutoScaleBasedOnAmount": {
        "title": "AutoScaleBasedOnAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AutoScaleBasedOnAmount",
          "description": "API reference for the AutoScaleBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "auto_scale",
                "slab"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "auto_scale": {
                  "type": "boolean",
                  "const": true
                },
                "slab": {
                  "type": "object",
                  "properties": {
                    "minimum_purchase_amount": {
                      "type": "number"
                    },
                    "get_quantity": {
                      "type": "integer"
                    },
                    "condition": {
                      "enum": [
                        "greater-or-equal"
                      ]
                    }
                  },
                  "required": [
                    "minimum_purchase_amount",
                    "get_quantity",
                    "condition"
                  ]
                }
              }
            }
          }
        }
      },
      "AutoScaleBasedOnQuantity": {
        "title": "AutoScaleBasedOnQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/AutoScaleBasedOnQuantity",
          "description": "API reference for the AutoScaleBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "auto_scale",
                "slab"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "auto_scale": {
                  "type": "boolean",
                  "const": true
                },
                "slab": {
                  "type": "object",
                  "properties": {
                    "buy_quantity": {
                      "type": "integer"
                    },
                    "get_quantity": {
                      "type": "integer"
                    },
                    "condition": {
                      "enum": [
                        "greater-or-equal"
                      ]
                    }
                  },
                  "required": [
                    "buy_quantity",
                    "get_quantity",
                    "condition"
                  ]
                }
              }
            }
          }
        }
      },
      "BankTransfer": {
        "title": "BankTransfer",
        "description": "Bank transfer payment - IMPS, NEFT, RTGS",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BankTransfer",
          "description": "API reference for the BankTransfer schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_account_number": {
                "description": "masked account number\r\ne.g. ************1234",
                "type": "string"
              },
              "bank_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "BankTransferCheckout": {
        "title": "BankTransferCheckout",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BankTransferCheckout",
          "description": "API reference for the BankTransferCheckout schema"
        },
        "required": [
          "payment_provider_slug",
          "payment_method_type"
        ],
        "properties": {
          "payment_provider_slug": {
            "description": "The slug of the payment provider in Commerce Engine.",
            "type": "string",
            "const": "icici-ecollection"
          },
          "payment_method_type": {
            "type": "string",
            "const": "bank-transfer"
          }
        }
      },
      "BooleanAttribute": {
        "title": "BooleanAttribute",
        "description": "Attribute for boolean values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BooleanAttribute",
          "description": "API reference for the BooleanAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "boolean"
          },
          "value": {
            "description": "For boolean attributes",
            "type": "boolean"
          }
        }
      },
      "BusinessInfo": {
        "title": "BusinessInfo",
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "business_type": {
            "description": "Free text on existing records; new values are one of SellerBusinessType.",
            "type": [
              "string",
              "null"
            ]
          },
          "pan_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_registered_under_gst": {
            "type": "boolean"
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "BuyXGetYCouponPromotion": {
        "title": "BuyXGetYCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYCouponPromotion",
          "description": "API reference for the BuyXGetYCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/BuyXGetYRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "BuyXGetYRule": {
        "title": "BuyXGetYRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRule",
          "description": "API reference for the BuyXGetYRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/BuyXGetYRuleBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/BuyXGetYRuleBasedOnAmount"
          }
        ]
      },
      "BuyXGetYRuleBasedOnAmount": {
        "title": "BuyXGetYRuleBasedOnAmount",
        "description": "Additional fields required in addition to marked as required.\n1) buy_product_id or buy_variant_id or buy_from_category_id\n2) get_product_id or get_variant_id or get_from_category_id\n3) get_free_quantity or get_discount_percent",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRuleBasedOnAmount",
          "description": "API reference for the BuyXGetYRuleBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "minimum_purchase_amount",
                "buy_product_id",
                "buy_variant_id",
                "buy_from_category_id",
                "get_product_id",
                "get_variant_id",
                "get_from_category_id",
                "get_quantity",
                "get_offer_type",
                "get_discount_percent"
              ],
              "properties": {
                "minimum_purchase_amount": {
                  "type": "number",
                  "minimum": 1
                },
                "buy_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "get_offer_type": {
                  "enum": [
                    "discount",
                    "free"
                  ]
                },
                "get_discount_percent": {
                  "description": "It can be null for get_offer_type = free",
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "maximum_discount_amount": {
            "description": "It can be null for get_offer_type = free",
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "BuyXGetYRuleBasedOnQuantity": {
        "title": "BuyXGetYRuleBasedOnQuantity",
        "description": "Additional fields required in addition to marked as required.\n1) buy_product_id or buy_variant_id or buy_from_category_id\n2) get_product_id or get_variant_id or get_from_category_id\n3) get_free_quantity or get_discount_percent",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/BuyXGetYRuleBasedOnQuantity",
          "description": "API reference for the BuyXGetYRuleBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "minimum_quantity",
                "buy_product_id",
                "buy_variant_id",
                "buy_from_category_id",
                "get_product_id",
                "get_variant_id",
                "get_from_category_id",
                "get_quantity",
                "get_offer_type",
                "get_discount_percent"
              ],
              "properties": {
                "minimum_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "buy_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "buy_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_from_category_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "get_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "get_offer_type": {
                  "enum": [
                    "discount",
                    "free"
                  ]
                },
                "get_discount_percent": {
                  "description": "It can be null for get_offer_type = free",
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "maximum_discount_amount": {
            "description": "It can be null for get_offer_type = free",
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "CardbinInfo": {
        "title": "CardbinInfo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CardbinInfo",
          "description": "API reference for the CardbinInfo schema"
        },
        "required": [
          "card_sub_type",
          "extended_card_type",
          "country",
          "cvv_less_support",
          "bank",
          "id",
          "mandate_support",
          "brand",
          "card_sub_type_category",
          "juspay_bank_code",
          "type",
          "country_code",
          "object",
          "direct_otp_support"
        ],
        "properties": {
          "card_sub_type": {
            "type": "string"
          },
          "extended_card_type": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "cvv_less_support": {
            "type": "boolean"
          },
          "bank": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "mandate_support": {
            "type": "boolean"
          },
          "brand": {
            "type": "string"
          },
          "card_sub_type_category": {
            "type": "string"
          },
          "juspay_bank_code": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "country_code": {
            "type": "string"
          },
          "object": {
            "type": "string"
          },
          "direct_otp_support": {
            "type": "boolean"
          }
        },
        "examples": []
      },
      "CardPayment": {
        "title": "CardPayment",
        "description": "Payments using credit card, debit card",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CardPayment",
          "description": "API reference for the CardPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "card_number": {
                "description": "masked card number\r\ne.g. ************1111",
                "type": "string"
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "Visa",
                  "Master Card",
                  "Rupay",
                  "American Express"
                ]
              }
            }
          }
        ]
      },
      "Cart": {
        "title": "Cart",
        "description": "This cart model is structured to capture a wide range of details, facilitating accurate representation and management of user shopping carts in an e-commerce platform.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Cart",
          "description": "API reference for the Cart schema"
        },
        "required": [
          "id",
          "user_id",
          "customer_id",
          "active",
          "customer_note",
          "is_promotion_applied",
          "is_coupon_applied",
          "coupon_code",
          "coupon_discount_amount",
          "coupon_discount_percent",
          "promotion_discount_amount",
          "subtotal",
          "items_tax_amount",
          "subtotal_including_tax",
          "shipping_estimated_cost",
          "shipping_discount_amount",
          "shipping_amount",
          "shipping_tax_rate",
          "shipping_tax_amount",
          "shipping_amount_including_tax",
          "estimated_delivery_days",
          "handling_charge_excluding_tax",
          "handling_charge_tax_amount",
          "handling_charge_including_tax",
          "total_tax",
          "grand_total",
          "credit_balance_used",
          "to_be_paid",
          "loyalty_points_redeemed",
          "loyalty_points_earned",
          "cart_items_count",
          "cart_items",
          "billing_address",
          "shipping_address",
          "currency",
          "metadata",
          "expires_at",
          "applied_promotions",
          "applied_coupons",
          "shipments",
          "promotion_savings",
          "coupon_savings",
          "other_savings",
          "total_savings",
          "free_shipping_threshold",
          "status",
          "status_error_message"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier for the cart.",
            "type": "string",
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "user_id": {
            "description": "The unique ID of the user who created the cart. For a logged-in storefront user this matches `customer_id`; for a POS cart it matches the operator's `pos_user_id` in `metadata`.",
            "type": "string"
          },
          "customer_id": {
            "description": "The unique ID of the customer the cart is for. `null` until a customer is linked. The cart never embeds customer details — fetch them from the customer endpoints so they are always current.",
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "description": "Indicates whether the cart is currently active or inactive.",
            "type": "boolean"
          },
          "customer_note": {
            "description": "customer note for shipping or product customization.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "description": "Indicates if a promotion is applied or not.",
            "type": "boolean"
          },
          "is_coupon_applied": {
            "description": "Indicates if a coupon is applied or not.",
            "type": "boolean"
          },
          "coupon_code": {
            "description": "Code of the applied coupon.",
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "description": "Discount amount due to the coupon.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "coupon_discount_percent": {
            "description": "Discount amount due to the coupon.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_amount": {
            "description": "Discount amount due to promotions(If Applied).",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_percent": {
            "description": "Discount amount due to promotions(If Applied).",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "subtotal": {
            "description": "Subtotal amount for items in the cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "items_tax_amount": {
            "description": "Total tax amount for items.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "subtotal_including_tax": {
            "description": "Subtotal including tax.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_estimated_cost": {
            "description": "Estimated cost of shipping.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_discount_amount": {
            "description": "Discount applied on estimated shipping cost.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_amount": {
            "description": "Shipping amount chargable to customer.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_tax_rate": {
            "description": "Shipping tax rate applied on shipping amount.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_tax_amount": {
            "description": "Tax applied on shipping_amount.",
            "type": [
              "number",
              "null"
            ]
          },
          "shipping_amount_including_tax": {
            "description": "Shipping amount including shipping tax.",
            "type": [
              "number",
              "null"
            ]
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/FulfillmentPreference"
          },
          "estimated_delivery_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "handling_charge_excluding_tax": {
            "description": "The additional charge applied to cover the costs associated with processing, packaging, and handling an order. This fee is separate from shipping charges and may include materials, or special handling requirements.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "total_tax": {
            "description": "Total tax amount for the entire cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "grand_total": {
            "description": "Grand total amount for the cart.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "credit_balance_used": {
            "description": "Amount of credit balance used.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "to_be_paid": {
            "description": "Amount to be paid by the customer.",
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "loyalty_points_redeemed": {
            "description": "Number of loyalty points redeemed.",
            "type": "integer",
            "minimum": 0
          },
          "loyalty_points_earned": {
            "description": "Number of loyalty points earned.",
            "type": "integer",
            "minimum": 0
          },
          "cart_items_count": {
            "description": "Number of items in the cart.",
            "type": "integer",
            "minimum": 0
          },
          "cart_items": {
            "description": "List containing detailed information about each item in the cart. ",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartItem"
            }
          },
          "billing_address": {
            "description": "Details of the billing address.",
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "shipping_address": {
            "description": "Details of the shipping address.",
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "currency": {
            "description": "Details about the currency being used, including `name`, `code`, and `symbol`.",
            "$ref": "#/components/schemas/Currency"
          },
          "metadata": {
            "description": "Additional metadata associated with the cart.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "expires_at": {
            "description": "ISO 8601 timestamp when this cart expires. After expiry, the cart is no longer valid and a new cart must be created.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "applied_promotions": {
            "description": "Information about the promotional offers that have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedPromotion"
            }
          },
          "applied_coupons": {
            "description": "This key provides details about the savings in cart after coupon have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedCoupon"
            }
          },
          "shipments": {
            "description": "List containing detailed information about each shipment in the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CartShipment"
            }
          },
          "promotion_savings": {
            "description": "Total savings from auto-applied promotions.",
            "type": "number",
            "minimum": 0
          },
          "coupon_savings": {
            "description": "Total savings from the applied coupon code.",
            "type": "number",
            "minimum": 0
          },
          "other_savings": {
            "description": "Total savings from loyalty points, credit balance, and other non-promotion/coupon discounts.",
            "type": "number",
            "minimum": 0
          },
          "total_savings": {
            "description": "Combined savings across promotions, coupons, and other discounts (`promotion_savings` + `coupon_savings` + `other_savings`).",
            "type": "number",
            "minimum": 0
          },
          "free_shipping_threshold": {
            "description": "Free shipping threshold of the cart",
            "type": [
              "number",
              "null"
            ]
          },
          "status": {
            "description": "Checkout readiness of the cart. A cart is `ready-for-payment` only when it has items, a valid address, and a fulfillment preference set. Use `status_error_message` for the specific reason when `not-ready-for-payment`.",
            "type": "string",
            "default": "not-ready-for-payment",
            "enum": [
              "not-ready-for-payment",
              "ready-for-payment"
            ]
          },
          "status_error_message": {
            "description": "Human-readable reason why the cart is not ready for payment. `null` when `status` is `ready-for-payment`.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "examples": []
      },
      "CartBasedFulfillmentOption": {
        "title": "CartBasedFulfillmentOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CartBasedFulfillmentOption",
          "description": "API reference for the CartBasedFulfillmentOption schema"
        },
        "required": [
          "cart_id"
        ],
        "properties": {
          "cart_id": {
            "type": "string"
          },
          "fulfillment_type": {
            "type": "string",
            "enum": [
              "delivery",
              "collect-in-store"
            ]
          }
        }
      },
      "CartItem": {
        "title": "CartItem",
        "description": "This Cart Item model captures the attributes of a cart item, including product details, pricing information, subscription details, and other relevant information related to Cart Item.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CartItem",
          "description": "API reference for the CartItem schema"
        },
        "required": [
          "product_id",
          "variant_id",
          "sku",
          "product_slug",
          "variant_slug",
          "product_name",
          "variant_name",
          "product_type",
          "product_image_url",
          "stock_available",
          "backorder",
          "on_subscription",
          "on_promotion",
          "quantity",
          "is_free_item",
          "free_quantity",
          "promotion_discount_amount",
          "coupon_discount_amount",
          "price_including_tax",
          "listing_price",
          "selling_price",
          "selling_price_excluding_tax",
          "min_order_quantity",
          "max_order_quantity",
          "incremental_quantity",
          "handling_charge_excluding_tax",
          "handling_charge_tax_rate",
          "handling_charge_including_tax",
          "tax_type",
          "tax_rate",
          "tax_amount",
          "associated_options",
          "attributes",
          "subscriptions"
        ],
        "properties": {
          "product_id": {
            "description": "Unique identifier for the product.",
            "type": "string",
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "variant_id": {
            "description": "The product variant identifier. `null` if the product has no variants.",
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$"
          },
          "sku": {
            "description": "Stock Keeping Unit, a unique identifier for the product within inventory.",
            "type": [
              "string",
              "null"
            ],
            "examples": [
              "SKU1254"
            ]
          },
          "product_name": {
            "description": "Name of the product.",
            "type": "string"
          },
          "variant_name": {
            "description": "Name of the variant.",
            "type": [
              "string",
              "null"
            ]
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "physical",
              "digital",
              "bundle"
            ],
            "examples": [
              "physical"
            ]
          },
          "product_image_url": {
            "description": "URL pointing to the product image.",
            "type": "string"
          },
          "stock_available": {
            "description": "Indicates whether the product is currently in stock.",
            "type": "boolean"
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_subscription": {
            "description": "Indicates whether the product is currently on a subscription.",
            "type": "boolean"
          },
          "on_promotion": {
            "description": "Indicates whether the product is part of a promotion.",
            "type": "boolean"
          },
          "quantity": {
            "description": "The quantity of the product in the cart.",
            "type": "integer"
          },
          "is_free_item": {
            "description": "Indicates if the product is offered for free.",
            "type": "boolean"
          },
          "free_quantity": {
            "description": "Quantity of the product that is free.",
            "type": "integer"
          },
          "promotion_discount_amount": {
            "description": "Discount amount due to promotions.",
            "type": "number",
            "format": "double"
          },
          "coupon_discount_amount": {
            "description": "Discount amount due to applied coupons.",
            "type": "number",
            "format": "double"
          },
          "price_including_tax": {
            "description": "Indicates whether the item price is inclusive of taxes.",
            "type": "boolean",
            "examples": [
              false
            ]
          },
          "listing_price": {
            "type": "number",
            "format": "double",
            "example": 200
          },
          "selling_price": {
            "type": "number",
            "format": "double",
            "example": 199
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double"
          },
          "min_order_quantity": {
            "type": "integer",
            "default": 1
          },
          "max_order_quantity": {
            "type": [
              "integer",
              "null"
            ]
          },
          "incremental_quantity": {
            "type": "integer",
            "default": 1
          },
          "handling_charge_excluding_tax": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "handling_charge_tax_rate": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "handling_charge_including_tax": {
            "description": "Additional cost for shipping associated with the product.",
            "type": "number",
            "minimum": 0,
            "readOnly": true
          },
          "tax_type": {
            "description": "Type of tax applied (e.g., GST).",
            "type": "string",
            "default": "GST",
            "const": "GST"
          },
          "tax_rate": {
            "description": "The rate of tax applied to the product.",
            "type": "number",
            "format": "double"
          },
          "tax_amount": {
            "description": "The total tax amount for the product.",
            "type": "number",
            "format": "double"
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "subscriptions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "examples": []
      },
      "CartShipment": {
        "title": "CartShipment",
        "description": "Cart shipment model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CartShipment",
          "description": "API reference for the CartShipment schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "shipping_provider_id": {
            "type": "string"
          },
          "shipping_provider_name": {
            "type": "string"
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentItem"
            }
          }
        }
      },
      "Category": {
        "title": "Category",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Category",
          "description": "API reference for the Category schema"
        },
        "required": [
          "id",
          "name",
          "slug",
          "description",
          "parent_category_id",
          "product_count",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "slug": {
            "type": "string",
            "readOnly": true
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "parent_category_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_count": {
            "type": "integer"
          },
          "active": {
            "type": "boolean"
          }
        },
        "examples": []
      },
      "CheckInventoryResponse": {
        "title": "CheckInventoryResponse",
        "type": "object",
        "properties": {
          "allowed_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryAction"
            }
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminShipmentItem"
            }
          },
          "inventory_status": {
            "$ref": "#/components/schemas/InventoryStatus"
          },
          "inventory_detail": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product_id": {
                  "type": "string"
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "product_name": {
                  "type": "string"
                },
                "variant_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "sku": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "track_inventory": {
                  "type": "boolean"
                },
                "allow_backorder": {
                  "type": "boolean"
                },
                "requested_quantity": {
                  "type": "integer"
                },
                "stock_quantity": {
                  "type": "integer"
                },
                "inventory_status": {
                  "$ref": "#/components/schemas/InventoryStatus"
                },
                "warehouses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "warehouse_id": {
                        "type": "string"
                      },
                      "warehouse_name": {
                        "type": "string"
                      },
                      "stock_quantity": {
                        "type": "integer"
                      },
                      "inventory_status": {
                        "$ref": "#/components/schemas/InventoryStatus"
                      }
                    }
                  }
                }
              }
            }
          },
          "recommended_warehouses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "inventory_status": {
                  "$ref": "#/components/schemas/InventoryStatus"
                }
              }
            }
          }
        }
      },
      "CollectInStore": {
        "title": "CollectInStore",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CollectInStore",
          "description": "API reference for the CollectInStore schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "distance_km": {
            "type": "number"
          },
          "collect_eta_minutes": {
            "type": "integer"
          },
          "is_recommended": {
            "type": "boolean"
          },
          "address": {
            "$ref": "#/components/schemas/CollectInStoreAddress"
          }
        }
      },
      "CollectInStoreAddress": {
        "title": "CollectInStoreAddress",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CollectInStoreAddress",
          "description": "API reference for the CollectInStoreAddress schema"
        },
        "required": [
          "name",
          "address_line1",
          "pincode",
          "city",
          "state",
          "country",
          "country_code"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": "string",
            "default": "+91"
          }
        }
      },
      "CollectInStoreFulfillment": {
        "title": "CollectInStoreFulfillment",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CollectInStoreFulfillment",
          "description": "API reference for the CollectInStoreFulfillment schema"
        },
        "required": [
          "fulfillment_type",
          "pickup_location_id"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "collect-in-store"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "pickup_location_id": {
            "type": "string"
          },
          "pickup_location_name": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "ColorAttribute": {
        "title": "ColorAttribute",
        "description": "Attribute for colors",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ColorAttribute",
          "description": "API reference for the ColorAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "color"
          },
          "value": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "hexcode"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "hexcode": {
                  "description": "The hex code of the color (e.g., #000000).",
                  "type": "string",
                  "format": "color-hex",
                  "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
                }
              }
            }
          }
        }
      },
      "ColorOption": {
        "title": "ColorOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ColorOption",
          "description": "API reference for the ColorOption schema"
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the associated option.",
            "type": "string"
          },
          "type": {
            "description": "The type of the associated option.",
            "const": "color"
          },
          "value": {
            "type": "object",
            "properties": {
              "hexcode": {
                "type": "string",
                "description": "The hex code of the color (e.g., #000000).",
                "format": "color-hex",
                "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
              },
              "name": {
                "type": "string",
                "description": "The name of the color."
              }
            },
            "required": [
              "name",
              "hexcode"
            ]
          }
        }
      },
      "CountryState": {
        "title": "CountryState",
        "description": "Country wise states model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CountryState",
          "description": "API reference for the CountryState schema"
        },
        "required": [
          "name",
          "iso_code"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "iso_code": {
            "type": "string"
          },
          "gst_code": {
            "type": "string"
          },
          "state_alias": {
            "type": "string",
            "readOnly": true
          }
        }
      },
      "Coupon": {
        "title": "Coupon",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Coupon",
          "description": "API reference for the Coupon schema"
        },
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FixedPriceCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/BuyXGetYCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeShippingCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/AcceleratedRewardCouponPromotion"
              }
            ]
          },
          {
            "type": "object",
            "required": [
              "coupon_type",
              "coupon_code",
              "application_rules",
              "can_be_used_with_promotion"
            ],
            "properties": {
              "coupon_type": {
                "enum": [
                  "discount",
                  "free-goods",
                  "fixed-price",
                  "free-shipping",
                  "buy-x-get-y",
                  "volume-based",
                  "accelerated-rewards"
                ]
              },
              "coupon_code": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "application_rules": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "max_applicable_items": {
                    "type": "integer"
                  },
                  "application_priority": {
                    "enum": [
                      "cheapest_first",
                      "most_expensive_first",
                      "first_added"
                    ]
                  }
                },
                "required": [
                  "max_applicable_items",
                  "application_priority"
                ]
              },
              "can_be_used_with_promotion": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CouponPromotionCommonDetail": {
        "title": "CouponPromotionCommonDetail",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CouponPromotionCommonDetail",
          "description": "API reference for the CouponPromotionCommonDetail schema"
        },
        "required": [
          "id",
          "name",
          "description",
          "tags",
          "redemption_limits",
          "redemption_count",
          "minimum_order_total",
          "starts_at",
          "expires_at"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "redemption_limits": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "total_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "per_customer_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "per_coupon_code_redemptions": {
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "required": [
              "total_redemptions",
              "per_customer_redemptions",
              "per_coupon_code_redemptions"
            ]
          },
          "redemption_count": {
            "type": "integer",
            "readOnly": true
          },
          "minimum_order_total": {
            "type": [
              "integer",
              "null"
            ],
            "default": 0
          },
          "starts_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "CouponType": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CouponType",
          "description": "API reference for the CouponType schema"
        },
        "enum": [
          "discount",
          "free-goods",
          "fixed-price",
          "free-shipping",
          "buy-x-get-y",
          "volume-based",
          "accelerated-rewards"
        ]
      },
      "CreateReplacementShipmentForCollectInStore": {
        "title": "CreateReplacementShipmentForCollectInStore",
        "description": "Replacement shipment payload when the customer collects the items from a store instead of having them delivered.",
        "type": "object",
        "required": [
          "warehouse_id",
          "shipment_items",
          "shipping_option",
          "shipping_provider_id",
          "packing_option",
          "reason"
        ],
        "properties": {
          "fulfillment_type": {
            "description": "Set to `collect-in-store` when the replacement is fulfilled via in-store pickup.",
            "type": "string",
            "const": "collect-in-store"
          },
          "warehouse_id": {
            "description": "The warehouse holding the replacement items for in-store pickup.",
            "type": "string"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminShipmentItem"
            }
          },
          "shipping_option": {
            "description": "Set to `manual` since in-store pickup is handled outside of an integrated carrier.",
            "enum": [
              "manual"
            ]
          },
          "shipping_provider_id": {
            "description": "The manual shipping provider associated with the in-store pickup flow.",
            "type": "string"
          },
          "packing_option": {
            "description": "The packing option for the replacement shipment.",
            "enum": [
              "manual",
              "auto"
            ]
          },
          "boxes": {
            "description": "The boxes for the replacement shipment.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBox"
            }
          },
          "reason": {
            "description": "The reason for the replacement shipment.",
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "CreateReplacementShipmentWithAutoMethod": {
        "title": "CreateReplacementShipmentWithAutoMethod",
        "description": "Replacement shipment payload when fulfilling through an integrated carrier.",
        "type": "object",
        "required": [
          "warehouse_id",
          "shipment_items",
          "shipping_option",
          "shipping_provider_id",
          "packing_option",
          "total_weight",
          "reason"
        ],
        "properties": {
          "fulfillment_type": {
            "description": "Set to `delivery` when the replacement is shipped to the customer.",
            "type": "string",
            "const": "delivery"
          },
          "warehouse_id": {
            "description": "The warehouse from which the replacement items will be shipped.",
            "type": "string"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminShipmentItem"
            }
          },
          "shipping_option": {
            "description": "Set to `auto` to dispatch the shipment through an integrated carrier.",
            "enum": [
              "auto"
            ]
          },
          "shipping_provider_id": {
            "description": "The integrated shipping provider used to fulfill the replacement.",
            "type": "string"
          },
          "packing_option": {
            "description": "Use `manual` to specify boxes explicitly, or `auto` to let the system pack on your behalf.",
            "enum": [
              "auto",
              "manual"
            ]
          },
          "boxes": {
            "description": "Box-wise packing breakdown. Required when `packing_option` is `manual`.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ShipmentBox"
            }
          },
          "total_weight": {
            "description": "Total shipment weight in kilograms, used for rate calculation by the carrier.",
            "type": "number"
          },
          "courier_company_id": {
            "description": "Specific courier company to use. If omitted, the system selects the most suitable courier automatically.",
            "type": [
              "string",
              "null"
            ]
          },
          "reason": {
            "description": "The reason for the replacement shipment.",
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "CreateReplacementShipmentWithManualMethod": {
        "title": "CreateReplacementShipmentWithManualMethod",
        "description": "Replacement shipment payload when fulfilling through a manual courier (no carrier integration).",
        "type": "object",
        "required": [
          "warehouse_id",
          "shipment_items",
          "shipping_option",
          "shipping_provider_id",
          "packing_option",
          "total_weight",
          "expected_delivery_date",
          "tracking_link",
          "manual_shipping_charges"
        ],
        "properties": {
          "fulfillment_type": {
            "description": "Set to `delivery` when the replacement is shipped to the customer.",
            "type": "string",
            "const": "delivery"
          },
          "warehouse_id": {
            "description": "The warehouse from which the replacement items will be shipped.",
            "type": "string"
          },
          "shipment_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminShipmentItem"
            }
          },
          "shipping_option": {
            "description": "Set to `manual` to dispatch the shipment outside of an integrated carrier.",
            "enum": [
              "manual"
            ]
          },
          "shipping_provider_id": {
            "description": "The manual shipping provider used to fulfill the replacement.",
            "type": "string"
          },
          "packing_option": {
            "description": "The packing option for the replacement shipment.",
            "enum": [
              "manual",
              "auto"
            ]
          },
          "boxes": {
            "description": "The boxes for the replacement shipment.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBox"
            }
          },
          "total_weight": {
            "description": "Total shipment weight in kilograms, used for rate calculation by the carrier.",
            "type": "number"
          },
          "expected_delivery_date": {
            "description": "The expected delivery date communicated to the customer.",
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "tracking_link": {
            "description": "Optional tracking URL shared with the customer.",
            "type": [
              "string",
              "null"
            ]
          },
          "manual_shipping_charges": {
            "description": "Shipping charges incurred for the manual dispatch.",
            "type": [
              "number",
              "null"
            ]
          },
          "reason": {
            "description": "The reason for the replacement shipment.",
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "Currency": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Currency",
          "description": "API reference for the Currency schema"
        },
        "required": [
          "name",
          "code",
          "symbol"
        ],
        "properties": {
          "name": {
            "type": "string",
            "examples": [
              "Indian Rupee"
            ]
          },
          "code": {
            "type": "string",
            "examples": [
              "INR"
            ],
            "maxLength": 3,
            "minLength": 3
          },
          "symbol": {
            "type": "string",
            "examples": [
              "₹"
            ]
          }
        }
      },
      "Customer": {
        "title": "Customer",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerInfo"
          },
          {
            "type": "object",
            "properties": {
              "business": {
                "description": "`null` for customers that are not registered as a business.",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/BusinessInfo"
                  }
                ]
              },
              "segments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomerSegment"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerAddress": {
        "title": "CustomerAddress",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomerAddress",
          "description": "API reference for the CustomerAddress schema"
        },
        "required": [
          "first_name",
          "last_name",
          "country_code",
          "phone",
          "email",
          "address_line1",
          "address_line2",
          "landmark",
          "pincode",
          "city",
          "state",
          "country",
          "tax_identification_number",
          "business_name",
          "is_phone_verified",
          "is_email_verified"
        ],
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$",
            "readOnly": true
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.\r\n",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string",
            "const": "India"
          },
          "tax_identification_number": {
            "description": "Tax Identification Number specific to the country of operation.",
            "type": [
              "string",
              "null"
            ],
            "examples": []
          },
          "business_name": {
            "description": "Use in billing & shipping details only.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_default_billing": {
            "description": "Indicates if the address is the default billing address for the customer.",
            "type": "boolean"
          },
          "is_default_shipping": {
            "description": "Indicates if the address is the default shipping address for the customer.",
            "type": "boolean"
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "nickname": {
            "description": "Nickname for the address.",
            "type": [
              "string",
              "null"
            ],
            "default": null
          }
        },
        "examples": []
      },
      "CustomerBankAccount": {
        "title": "CustomerBankAccount",
        "type": "object",
        "required": [
          "account_type",
          "account_name",
          "account_number",
          "ifsc_code",
          "bank_name"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "account_type": {
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "account_name": {
            "type": "string"
          },
          "account_number": {
            "type": "string"
          },
          "ifsc_code": {
            "type": "string"
          },
          "bank_name": {
            "type": "string"
          },
          "is_default": {
            "description": "default bank account for the customer.",
            "type": "boolean"
          },
          "is_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerDetail": {
        "title": "CustomerDetail",
        "allOf": [
          {
            "$ref": "#/components/schemas/Customer"
          },
          {
            "type": "object",
            "properties": {
              "addresses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminCustomerAddress"
                }
              },
              "banking": {
                "description": "Bank accounts saved against the customer, used for refunds and payouts.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomerBankAccount"
                }
              },
              "loyalty": {
                "description": "`null` when the customer is not enrolled in a loyalty program.",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/LoyaltyMember"
                  }
                ]
              },
              "notification_preferences": {
                "$ref": "#/components/schemas/NotificationPreferences"
              }
            }
          }
        ],
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerInfo": {
        "title": "CustomerInfo",
        "type": "object",
        "properties": {
          "id": {
            "description": "user id",
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "full_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "profile_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "country_code": {
            "type": "string"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_whatsapp_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "status": {
            "description": "`null` for customers with no status recorded.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CustomerStatus"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "last_seen": {
            "description": "Empty string when the customer has no recorded activity yet.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "kyc_status": {
            "$ref": "#/components/schemas/KycStatus"
          },
          "is_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "customer_group_id": {
            "description": "The Customer Group the customer belongs to. Drives group-specific pricing and promotions.",
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerListItem": {
        "title": "CustomerListItem",
        "allOf": [
          {
            "$ref": "#/components/schemas/Customer"
          },
          {
            "type": "object",
            "properties": {
              "user_id": {
                "type": "string",
                "readOnly": true
              },
              "metadata": {
                "description": "Arbitrary key-value data stored against the customer.",
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": true
              },
              "address": {
                "description": "A single address for the customer, `null` when none is saved.",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/AdminCustomerAddress"
                  }
                ]
              }
            }
          }
        ],
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerLoyalty": {
        "title": "CustomerLoyalty",
        "type": "object",
        "properties": {
          "membership_number": {
            "type": "string"
          },
          "points_earned": {
            "description": "total points earned within the current loyalty program.",
            "type": "integer"
          },
          "points_redeemed": {
            "description": "total points redeemed within the current loyalty program.",
            "type": "integer"
          },
          "points_balance": {
            "description": "total points available.",
            "type": "integer"
          },
          "total_spent": {
            "description": "The total amount a customer has spent within the current loyalty program, excluding taxes, promotional discounts, and redeemed loyalty points. This value is used to determine tier eligibility and earning points calculation.",
            "type": "integer"
          },
          "total_orders": {
            "description": "The total number of completed orders counted in the current loyalty program.",
            "type": "integer"
          },
          "lifetime_spent": {
            "description": " The total amount a customer has spent across all time, regardless of loyalty program participation. This includes all completed orders and excludes taxes, promotional discounts, and redeemed points.",
            "type": "integer"
          },
          "lifetime_orders": {
            "description": "The total number of completed orders across all time, regardless of loyalty program.",
            "type": "integer"
          },
          "date_of_join": {
            "description": " The date and time when the customer first enrolled in the loyalty program.",
            "type": "string",
            "format": "date-time"
          },
          "date_of_assign": {
            "description": "The date and time when the customer's current loyalty tier or program instance was assigned. This may change when tiers are upgraded, downgraded, or reassigned.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "date_of_reset": {
            "description": " The date and time when the customer’s current loyalty program cycle will reset, at which points earned, points redeemed, balance points, total spent, total orders will be cleared.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "current_tier": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          },
          "next_tier": {
            "description": "null when the member is already on the highest tier",
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "total_spent_threshold": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "total_orders_threshold": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  }
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string"
          },
          "renewal_type": {
            "type": "string",
            "enum": [
              "yearly",
              "never",
              "custom"
            ]
          },
          "tier_upgrade_criteria": {
            "type": "string",
            "enum": [
              "total-spent",
              "total-orders",
              "custom"
            ]
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerSegment": {
        "title": "CustomerSegment",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "x-tags": [
          "Customers"
        ]
      },
      "CustomerStatus": {
        "enum": [
          "active",
          "inactive"
        ]
      },
      "CustomSlabsBasedOnAmount": {
        "title": "CustomSlabsBasedOnAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomSlabsBasedOnAmount",
          "description": "API reference for the CustomSlabsBasedOnAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "minimum_purchase_amount",
                      "get_quantity",
                      "condition"
                    ],
                    "properties": {
                      "minimum_purchase_amount": {
                        "type": "number"
                      },
                      "get_quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "greater-or-equal"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "CustomSlabsBasedOnQuantity": {
        "title": "CustomSlabsBasedOnQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/CustomSlabsBasedOnQuantity",
          "description": "API reference for the CustomSlabsBasedOnQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "buy_quantity",
                      "get_quantity",
                      "condition"
                    ],
                    "properties": {
                      "buy_quantity": {
                        "type": "integer"
                      },
                      "get_quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "greater-or-equal"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "DateAttribute": {
        "title": "DateAttribute",
        "description": "Attribute for date values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DateAttribute",
          "description": "API reference for the DateAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "date"
          },
          "value": {
            "description": "For date attributes",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "DeliveryFulfillment": {
        "title": "DeliveryFulfillment",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DeliveryFulfillment",
          "description": "API reference for the DeliveryFulfillment schema"
        },
        "required": [
          "fulfillment_type",
          "shipments"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "shipments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "shipping_provider_id": {
                  "type": [
                    "string"
                  ]
                },
                "shipping_provider_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "readOnly": true
                },
                "courier_company_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "courier_company_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "readOnly": true
                }
              },
              "required": [
                "id",
                "shipping_provider_id"
              ]
            }
          }
        }
      },
      "DeliveryOption": {
        "title": "DeliveryOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DeliveryOption",
          "description": "API reference for the DeliveryOption schema"
        },
        "required": [
          "is_serviceable",
          "free_shipping_threshold",
          "shipments"
        ],
        "properties": {
          "is_serviceable": {
            "type": "boolean"
          },
          "free_shipping_threshold": {
            "description": "free shipping threshold of delivery option",
            "type": [
              "number",
              "null"
            ]
          },
          "shipments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "items": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ShipmentItem"
                  }
                },
                "shipping_methods": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "shipping_type": {
                        "enum": [
                          "auto",
                          "manual"
                        ]
                      },
                      "shipping_amount": {
                        "description": "shipping amount of manual method or as per recommened courier or range of min-max shipping amount.",
                        "type": "string"
                      },
                      "estimated_delivery_days": {
                        "description": "estimated delivery days of manual method or as per recommened courier or range of min-max estimated delivery days.",
                        "type": "string"
                      },
                      "courier_companies": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": [
                                "string",
                                "number"
                              ]
                            },
                            "name": {
                              "type": "string"
                            },
                            "shipping_amount": {
                              "type": "number"
                            },
                            "estimated_delivery_days": {
                              "type": "string"
                            },
                            "is_recommended": {
                              "type": "boolean"
                            },
                            "is_hyperlocal": {
                              "type": "boolean"
                            },
                            "mode": {
                              "enum": [
                                "air",
                                "surface"
                              ]
                            },
                            "rating": {
                              "type": "number"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              },
              "required": [
                "id",
                "items",
                "shipping_methods"
              ]
            }
          }
        }
      },
      "DiscountBasedPromotion": {
        "title": "DiscountBasedPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountBasedPromotion",
          "description": "API reference for the DiscountBasedPromotion schema"
        },
        "required": [
          "promotion_type",
          "discount_type"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "discount"
          },
          "discount_type": {
            "type": "string",
            "enum": [
              "percentage",
              "fixed-amount"
            ]
          },
          "discount_percent": {
            "description": "'> 0' if discount_type = percentage, otherwise set 0.",
            "type": "number"
          },
          "discount_fixed_amount": {
            "description": "'> 0' if discount_type = fixed-amount, otherwise set 0.",
            "type": "integer"
          }
        }
      },
      "DiscountCouponPromotion": {
        "title": "DiscountCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountCouponPromotion",
          "description": "API reference for the DiscountCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/DiscountRule"
              },
              "applies_to_product": {
                "enum": [
                  "all",
                  "product",
                  "category"
                ]
              }
            }
          }
        ]
      },
      "DiscountRule": {
        "title": "DiscountRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/DiscountRule",
          "description": "API reference for the DiscountRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/PercentageDiscountRule"
          },
          {
            "$ref": "#/components/schemas/FixedAmountDiscountRule"
          }
        ]
      },
      "FixedAmountDiscountRule": {
        "title": "FixedAmountDiscountRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedAmountDiscountRule",
          "description": "API reference for the FixedAmountDiscountRule schema"
        },
        "required": [
          "discount_type",
          "fixed_discount_amount",
          "products",
          "category_id"
        ],
        "properties": {
          "discount_type": {
            "type": "string",
            "const": "fixed-amount"
          },
          "fixed_discount_amount": {
            "type": "number"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "minimum_value",
                "maximum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "maximum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "maximum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "FixedPriceCouponPromotion": {
        "title": "FixedPriceCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceCouponPromotion",
          "description": "API reference for the FixedPriceCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FixedPriceRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "FixedPricePromotion": {
        "title": "FixedPricePromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPricePromotion",
          "description": "API reference for the FixedPricePromotion schema"
        },
        "required": [
          "promotion_type",
          "offer_price"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "fixed-price",
            "readOnly": true
          },
          "offer_price": {
            "type": "number"
          }
        }
      },
      "FixedPriceRule": {
        "title": "FixedPriceRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRule",
          "description": "API reference for the FixedPriceRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/FixedPriceRuleBasedQuantity"
          },
          {
            "$ref": "#/components/schemas/FixedPriceRuleBasedAmount"
          }
        ]
      },
      "FixedPriceRuleBasedAmount": {
        "title": "FixedPriceRuleBasedAmount",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRuleBasedAmount",
          "description": "API reference for the FixedPriceRuleBasedAmount schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-purchase-amount"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_purchase_amount",
                "maximum_purchase_amount",
                "offer_price"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_purchase_amount": {
                  "type": "number"
                },
                "maximum_purchase_amount": {
                  "description": "null means there is no limit.",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "offer_price": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "FixedPriceRuleBasedQuantity": {
        "title": "FixedPriceRuleBasedQuantity",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FixedPriceRuleBasedQuantity",
          "description": "API reference for the FixedPriceRuleBasedQuantity schema"
        },
        "required": [
          "spending_criteria_type",
          "products"
        ],
        "properties": {
          "spending_criteria_type": {
            "type": "string",
            "const": "minimum-quantity"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "offer_price"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": "integer",
                  "minimum": 1
                },
                "maximum_quantity": {
                  "description": "null means there is no limit.",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "offer_price": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "FreeGoodCouponPromotion": {
        "title": "FreeGoodCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodCouponPromotion",
          "description": "API reference for the FreeGoodCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FreeGoodsRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "FreeGoodsPromotion": {
        "title": "FreeGoodsPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodsPromotion",
          "description": "API reference for the FreeGoodsPromotion schema"
        },
        "required": [
          "promotion_type",
          "buy_quantity",
          "get_quantity"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "free-goods",
            "readOnly": true
          },
          "buy_quantity": {
            "description": "The quantity of items a customer must buy to receive free goods.",
            "type": "integer"
          },
          "get_quantity": {
            "description": "The quantity of free goods the customer receives.",
            "type": "integer"
          }
        }
      },
      "FreeGoodsRule": {
        "title": "FreeGoodsRule",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeGoodsRule",
          "description": "API reference for the FreeGoodsRule schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/AutoScaleBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/AutoScaleBasedOnAmount"
          },
          {
            "$ref": "#/components/schemas/CustomSlabsBasedOnQuantity"
          },
          {
            "$ref": "#/components/schemas/CustomSlabsBasedOnAmount"
          }
        ]
      },
      "FreeShippingCouponPromotion": {
        "title": "FreeShippingCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeShippingCouponPromotion",
          "description": "API reference for the FreeShippingCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/FreeShippingDetails"
              },
              "applies_to_product": {
                "type": "string",
                "const": "all"
              }
            }
          }
        ]
      },
      "FreeShippingDetails": {
        "title": "FreeShippingDetails",
        "description": "Free shipping has no rule; always an empty array.",
        "type": "array",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FreeShippingDetails",
          "description": "API reference for the FreeShippingDetails schema"
        },
        "default": [],
        "maxItems": 0
      },
      "FulfillmentItem": {
        "title": "FulfillmentItem",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FulfillmentItem",
          "description": "API reference for the FulfillmentItem schema"
        },
        "required": [
          "product_id",
          "product_name",
          "variant_id",
          "variant_name",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          }
        }
      },
      "FulfillmentPreference": {
        "title": "FulfillmentPreference",
        "description": "How the customer wants to receive their order. Discriminated by `fulfillment_type`: `delivery` for home delivery, `collect-in-store` for in-store pickup, or `partial-collect-and-delivery` for a mix of both.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/FulfillmentPreference",
          "description": "API reference for the FulfillmentPreference schema"
        },
        "discriminator": {
          "propertyName": "fulfillment_type",
          "mapping": {
            "collect-in-store": "#/components/schemas/CollectInStoreFulfillment",
            "delivery": "#/components/schemas/DeliveryFulfillment",
            "partial-collect-and-delivery": "#/components/schemas/PartialCollectAndDelivery"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CollectInStoreFulfillment"
          },
          {
            "$ref": "#/components/schemas/DeliveryFulfillment"
          },
          {
            "$ref": "#/components/schemas/PartialCollectAndDelivery"
          }
        ],
        "x-tags": [
          "Carts"
        ]
      },
      "InapplicableCoupon": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/InapplicableCoupon",
          "description": "API reference for the InapplicableCoupon schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "coupon_type": {
            "$ref": "#/components/schemas/CouponType"
          },
          "coupon_code": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "reason": {
            "type": "string"
          },
          "suggestion": {
            "type": "string"
          }
        }
      },
      "InapplicablePromotion": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/InapplicablePromotion",
          "description": "API reference for the InapplicablePromotion schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "promotion_type": {
            "$ref": "#/components/schemas/PromotionType"
          },
          "reason": {
            "type": "string"
          },
          "suggestion": {
            "type": "string"
          }
        }
      },
      "InventoryAction": {
        "title": "InventoryAction",
        "enum": [
          "create-shipment",
          "refund-shortfall",
          "wait-for-inventory",
          "cancel-shipment",
          "cancel-and-refund-shipment",
          "reject-order"
        ]
      },
      "InventoryActivity": {
        "title": "InventoryActivity",
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "variant_id": {
            "type": "string"
          },
          "variant_name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "warehouse_id": {
            "type": "string"
          },
          "warehouse": {
            "$ref": "#/components/schemas/WarehouseBasicDetail"
          },
          "activity_type": {
            "enum": [
              "add",
              "reserve",
              "reduce",
              "adjust",
              "update"
            ]
          },
          "quantity": {
            "type": "integer"
          },
          "reason": {
            "type": "string",
            "maxLength": 512
          },
          "lot_batch": {
            "type": "string"
          },
          "mfg_date": {
            "type": "string",
            "format": "date"
          },
          "exp_date": {
            "type": "string",
            "format": "date"
          },
          "manufacturer": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "InventoryDetail": {
        "title": "InventoryDetail",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemWiseInventory"
          },
          {
            "type": "object",
            "properties": {
              "details": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WarehouseWiseInventory"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Catalog"
        ]
      },
      "InventoryStatus": {
        "enum": [
          "fulfilled",
          "partially-fulfilled",
          "not-fulfilled"
        ]
      },
      "Invoice": {
        "title": "Invoice",
        "description": "Invoice model",
        "type": "object",
        "properties": {
          "invoice_number": {
            "type": "string"
          },
          "status": {
            "description": "Current state of the invoice, e.g. `\"printed\"`.",
            "type": "string"
          },
          "invoice_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "irn_number": {
            "description": "Invoice Reference Number",
            "type": [
              "string",
              "null"
            ]
          },
          "ack_number": {
            "description": "Acknowledgement Number",
            "type": [
              "string",
              "null"
            ]
          },
          "ack_date": {
            "description": "Acknowledgement Date",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "signed_qr_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "gatepass_barcode": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_details": {
            "description": "Party the invoice is raised by: the seller record for marketplace seller invoices, the warehouse for single-seller stores, or `null`.",
            "anyOf": [
              {
                "$ref": "#/components/schemas/AdminSellerInfo"
              },
              {
                "$ref": "#/components/schemas/Warehouse"
              },
              {
                "type": "null"
              }
            ]
          },
          "billing_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "subtotal": {
            "type": "number"
          },
          "sub_total": {
            "type": "number"
          },
          "sub_total_including_tax": {
            "type": "number"
          },
          "shipping_amount": {
            "type": "number"
          },
          "shipping_amount_including_tax": {
            "type": "number"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          },
          "promotion_discount_amount": {
            "type": "number"
          },
          "loyalty_point_redeemed": {
            "type": "number"
          },
          "total_tax": {
            "type": "number"
          },
          "grand_total": {
            "type": "number"
          },
          "tax_summary": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "tax_rate": {
                  "type": "number"
                },
                "taxable_value": {
                  "type": "number"
                },
                "igst": {
                  "type": "number"
                },
                "cgst": {
                  "type": "number"
                },
                "sgst": {
                  "type": "number"
                }
              }
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "InvoiceDetail": {
        "title": "InvoiceDetail",
        "description": "InvoiceDetail model",
        "allOf": [
          {
            "$ref": "#/components/schemas/Invoice"
          },
          {
            "type": "object",
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InvoiceItem"
                }
              }
            }
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "InvoiceItem": {
        "title": "InvoiceItem",
        "description": "InvoiceItem model",
        "type": "object",
        "properties": {
          "sku": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "listing_price": {
            "type": "number"
          },
          "selling_price": {
            "type": "number"
          },
          "qty": {
            "description": "Quantity invoiced. Sent as a numeric string, not a number.",
            "type": "string"
          },
          "free_qty": {
            "description": "Quantity supplied free of charge. Sent as a numeric string, not a number.",
            "type": "string"
          },
          "tax_type": {
            "type": "string"
          },
          "tax_rate": {
            "type": "number"
          },
          "hsncode": {
            "type": "string"
          },
          "batch_no": {
            "type": [
              "string",
              "null"
            ]
          },
          "expiry": {
            "type": [
              "string",
              "null"
            ]
          },
          "amount": {
            "type": "number"
          },
          "coupon_discount_amount": {
            "type": "number"
          },
          "promotion_discount_amount": {
            "type": "number"
          },
          "selling_price_excluding_tax": {
            "type": "number"
          },
          "item_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "order_item_id": {
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "Item": {
        "title": "SKU",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Item",
          "description": "API reference for the Item schema"
        },
        "required": [
          "product_id",
          "variant_id",
          "sku",
          "product_slug",
          "variant_slug",
          "product_name",
          "variant_name",
          "product_type",
          "short_description",
          "active",
          "stock_available",
          "on_subscription",
          "on_promotion",
          "category_ids",
          "tags",
          "reviews_count",
          "reviews_rating_sum",
          "attributes",
          "images",
          "pricing",
          "promotion",
          "subscription",
          "associated_options"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "sku": {
            "type": "string"
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_name": {
            "type": "string"
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "physical",
              "digital",
              "bundle"
            ],
            "examples": [
              "physical"
            ]
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean"
          },
          "stock_available": {
            "type": "boolean"
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_subscription": {
            "type": "boolean"
          },
          "on_promotion": {
            "type": "boolean"
          },
          "category_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "description": "Expanded category objects.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Category"
            }
          },
          "tags": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "reviews_count": {
            "type": "integer"
          },
          "reviews_rating_sum": {
            "type": [
              "number",
              "null"
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductImage"
            }
          },
          "pricing": {
            "$ref": "#/components/schemas/ProductPricing"
          },
          "promotion": {
            "$ref": "#/components/schemas/ProductPromotion"
          },
          "subscription": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "shipping": {
            "$ref": "#/components/schemas/ProductShipping"
          },
          "inventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LotBatchDetail"
            }
          }
        },
        "examples": []
      },
      "ItemWiseInventory": {
        "title": "ItemWiseInventory",
        "type": "object",
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "sku": {
            "type": [
              "string",
              "null"
            ]
          },
          "track_quantity": {
            "type": "boolean"
          },
          "allow_backorder": {
            "type": "boolean"
          },
          "track_lot_batch": {
            "type": "boolean"
          },
          "low_stock_threshold": {
            "type": "number",
            "format": "decimal"
          },
          "received_quantity": {
            "type": "number",
            "format": "decimal"
          },
          "reserved_quantity": {
            "type": "number",
            "format": "decimal"
          },
          "sold_quantity": {
            "type": "number",
            "format": "decimal"
          },
          "adjusted_quantity": {
            "type": "number",
            "format": "decimal"
          },
          "stock_quantity": {
            "type": "number",
            "format": "decimal"
          },
          "stock_available": {
            "description": "Whether sellable stock is available after reservations and backorder rules.",
            "type": "boolean",
            "readOnly": true
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminProductImage"
            }
          }
        }
      },
      "JuspayCardPaymentMethod": {
        "title": "JuspayCardPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayCardPaymentMethod",
          "description": "API reference for the JuspayCardPaymentMethod schema"
        },
        "required": [
          "description",
          "payment_method",
          "payment_method_type",
          "pm_response_description",
          "supported_reference_ids",
          "validations"
        ],
        "properties": {
          "description": {
            "type": "string"
          },
          "payment_method": {
            "type": "string",
            "enum": [
              "VISA",
              "MASTER",
              "RUPAY"
            ]
          },
          "payment_method_type": {
            "type": "string",
            "const": "CARD"
          },
          "pm_response_description": {
            "type": "string"
          },
          "supported_reference_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "validations": {
            "type": "object",
            "properties": {
              "refund_support": {
                "type": "boolean"
              }
            },
            "required": [
              "refund_support"
            ]
          }
        }
      },
      "JusPayExpressCheckout": {
        "title": "JusPayExpressCheckout",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayExpressCheckout",
          "description": "API reference for the JusPayExpressCheckout schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/JusPayNewCard"
          },
          {
            "$ref": "#/components/schemas/JusPaySavedCardToken"
          },
          {
            "$ref": "#/components/schemas/JuspayNetBanking"
          },
          {
            "$ref": "#/components/schemas/JuspayUpiCollect"
          },
          {
            "$ref": "#/components/schemas/JuspayUpiIntent"
          }
        ]
      },
      "JusPayExpressCheckoutCommonField": {
        "title": "JusPayExpressCheckoutCommonField",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayExpressCheckoutCommonField",
          "description": "API reference for the JusPayExpressCheckoutCommonField schema"
        },
        "required": [
          "payment_provider_slug",
          "integration_type",
          "return_url"
        ],
        "properties": {
          "payment_provider_slug": {
            "description": "The slug of the payment provider in Commerce Engine.",
            "type": "string"
          },
          "integration_type": {
            "type": "string",
            "const": "express-checkout"
          },
          "gateway_reference_id": {
            "description": "The reference ID of the payment gateway. When provided, payments will always be routed through this gateway.",
            "type": "string"
          },
          "return_url": {
            "description": "The URL to which the customer will be redirected after the payment is complete.",
            "type": "string"
          }
        }
      },
      "JusPayExpressCheckoutResponse": {
        "title": "JusPayExpressCheckoutResponse",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayExpressCheckoutResponse",
          "description": "API reference for the JusPayExpressCheckoutResponse schema"
        },
        "required": [
          "txn_id",
          "txn_uuid",
          "status",
          "order_id",
          "juspay",
          "offer_details",
          "payment"
        ],
        "properties": {
          "txn_id": {
            "description": "The transaction ID of the payment.",
            "type": "string"
          },
          "txn_uuid": {
            "description": "The transaction UUID of the payment.",
            "type": "string"
          },
          "status": {
            "description": "The status of the payment.",
            "type": "string"
          },
          "order_id": {
            "description": "The order ID of the payment.",
            "type": "string"
          },
          "juspay": {
            "type": "object",
            "properties": {
              "client_auth_token": {
                "type": "string"
              },
              "client_auth_token_expiry": {
                "type": "string"
              }
            }
          },
          "offer_details": {
            "type": "object",
            "properties": {
              "offers": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "offers"
            ]
          },
          "payment": {
            "type": "object",
            "properties": {
              "sdk_params": {
                "type": "object",
                "properties": {
                  "tr": {
                    "type": "string"
                  },
                  "merchant_vpa": {
                    "type": "string"
                  },
                  "customer_last_name": {
                    "type": "string"
                  },
                  "merchant_name": {
                    "type": "string"
                  },
                  "pg_intent_url": {
                    "description": "The UPI intent URL of the payment. This URL is used to redirect the customer to the UPI app for payment.",
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  },
                  "tid": {
                    "type": "string"
                  },
                  "customer_first_name": {
                    "type": "string"
                  }
                }
              },
              "authentication": {
                "type": "object",
                "properties": {
                  "method": {
                    "type": "string",
                    "const": "GET"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "params": {
                    "description": "Available only when Direct OTP is enabled for the card; otherwise this object is absent.",
                    "type": "object",
                    "properties": {
                      "card_issuer_bank_name": {
                        "type": "string"
                      },
                      "id": {
                        "description": "This field is used as txn_id in Verify Direct OTP and Resend Direct OTP endpoints payload.",
                        "type": "string"
                      },
                      "fallback_url": {
                        "type": "string"
                      },
                      "challenge_id": {
                        "description": "This field is required in Verify Direct OTP and Resend Direct OTP endpoints.",
                        "type": "string"
                      },
                      "resend_otp_allowed": {
                        "description": "This field is used to decide whether API request can be sent to Resend OTP API or not.",
                        "type": "boolean"
                      },
                      "auth_type": {
                        "type": "string"
                      },
                      "submit_otp_allowed": {
                        "description": "This field is used to decide whether OTP can be verified using Authenticate Direct OTP API or not.",
                        "type": "boolean"
                      },
                      "card_isin": {
                        "type": "string"
                      }
                    }
                  }
                },
                "required": [
                  "method",
                  "url"
                ]
              }
            }
          }
        }
      },
      "JusPayHyperCheckout": {
        "title": "JusPayHyperCheckout",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayHyperCheckout",
          "description": "API reference for the JusPayHyperCheckout schema"
        },
        "required": [
          "payment_provider_slug",
          "integration_type",
          "return_url",
          "action"
        ],
        "properties": {
          "payment_provider_slug": {
            "description": "The slug of the payment provider in Commerce Engine.",
            "type": "string"
          },
          "integration_type": {
            "type": "string",
            "const": "hyper-checkout"
          },
          "gateway_reference_id": {
            "description": "The reference ID of the payment gateway. When provided, payments will always be routed through this gateway.",
            "type": "string"
          },
          "return_url": {
            "description": "The URL to which the customer will be redirected after the payment is complete.",
            "type": "string"
          },
          "action": {
            "description": "The action to be performed. `paymentPage` is the default option that you should select when using hyper-checkout.",
            "type": "string",
            "enum": [
              "paymentPage"
            ]
          }
        }
      },
      "JusPayHyperCheckoutResponse": {
        "title": "JusPayHyperCheckoutResponse",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayHyperCheckoutResponse",
          "description": "API reference for the JusPayHyperCheckoutResponse schema"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "order_id": {
            "type": "string"
          },
          "payment_links": {
            "type": "object",
            "properties": {
              "web": {
                "type": "string"
              },
              "expiry": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "sdk_payload": {
            "type": "object",
            "properties": {
              "requestId": {
                "type": "string"
              },
              "service": {
                "type": "string"
              },
              "payload": {
                "type": "object",
                "properties": {
                  "clientId": {
                    "type": "string"
                  },
                  "merchantId": {
                    "type": "string"
                  },
                  "clientAuthToken": {
                    "type": "string"
                  },
                  "clientAuthTokenExpiry": {
                    "type": "string"
                  },
                  "environment": {
                    "type": "string"
                  },
                  "orderId": {
                    "type": "string"
                  },
                  "amount": {
                    "type": "string"
                  },
                  "action": {
                    "type": "string"
                  },
                  "customerId": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string"
                  },
                  "lastName": {
                    "type": "string"
                  },
                  "returnUrl": {
                    "type": "string"
                  },
                  "customerPhone": {
                    "type": "string"
                  },
                  "customerEmail": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "options.createMandate": {
                    "description": "Use for taking consent of subscription payments. If this key is used it will ask user to give consent for subscription payment.\n",
                    "const": "REQUIRED"
                  },
                  "mandate.maxAmount": {
                    "description": "Maximum amount that can be charged in recurring payment.",
                    "type": "string"
                  },
                  "mandate.start_date ": {
                    "description": "subscription start time",
                    "type": "string"
                  },
                  "mandate.end_date ": {
                    "description": "subscription end time",
                    "type": "string"
                  },
                  "mandate.frequency": {
                    "description": "subscription frequency",
                    "const": "MONTHLY"
                  },
                  "mandate.rule_value ": {
                    "description": "When frequency is passed as WEEKLY, FORTNIGHTLY, MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY, or YEARLY then is it required that the exact day of the period should be passed.\n\n1-7 when frequency is WEEKLY. In weekly, serial numbers start from Monday. Monday represents 1 and Sunday represents 7.\n\n1-16 when frequency is FORTNIGHTLY. This mandate is executed twice a month. First day of the month is represented by value '1' and ends with '15' on 15th day of the month. Then again starts with '1' for 16th of the month and ends with the last day of the month.\n\n1-31 when frequency is MONTHLY, BIMONTHLY, QUARTERLY, HALFYEARLY, or YEARLY.",
                    "type": "string",
                    "enum": [
                      "1-7",
                      "1-16",
                      "1-31"
                    ]
                  }
                }
              }
            }
          },
          "order_expiry": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "JuspayNetBanking": {
        "title": "JuspayNetBanking",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayNetBanking",
          "description": "API reference for the JuspayNetBanking schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/JusPayExpressCheckoutCommonField"
          },
          {
            "type": "object",
            "properties": {
              "payment_method_type": {
                "type": "string",
                "const": "NB"
              },
              "payment_method": {
                "type": "string"
              }
            },
            "required": [
              "payment_method_type",
              "payment_method"
            ]
          }
        ]
      },
      "JuspayNetbankingPaymentMethod": {
        "title": "JuspayNetbankingPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayNetbankingPaymentMethod",
          "description": "API reference for the JuspayNetbankingPaymentMethod schema"
        },
        "required": [
          "description",
          "juspay_bank_code",
          "juspay_bank_code_id",
          "payment_method",
          "payment_method_type",
          "pm_response_description",
          "supported_reference_ids"
        ],
        "properties": {
          "description": {
            "type": "string"
          },
          "juspay_bank_code": {
            "type": "string"
          },
          "juspay_bank_code_id": {
            "type": "integer"
          },
          "payment_method": {
            "type": "string"
          },
          "payment_method_type": {
            "type": "string",
            "const": "NB"
          },
          "pm_response_description": {
            "type": "string"
          },
          "supported_reference_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JusPayNewCard": {
        "title": "JusPayNewCard",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPayNewCard",
          "description": "API reference for the JusPayNewCard schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/JusPayExpressCheckoutCommonField"
          },
          {
            "type": "object",
            "properties": {
              "save_to_locker": {
                "description": "Whether to save the card to the locker. If true, the card will be saved to the locker and can be used for future payments as per RBI regulations.",
                "type": "boolean"
              },
              "payment_method_type": {
                "type": "string",
                "const": "CARD"
              },
              "card_number": {
                "type": "string"
              },
              "card_exp_month": {
                "type": "string"
              },
              "card_exp_year": {
                "type": "string"
              },
              "name_on_card": {
                "type": "string"
              },
              "card_security_code": {
                "type": "string"
              }
            },
            "required": [
              "save_to_locker",
              "payment_method_type",
              "card_number",
              "card_exp_month",
              "card_exp_year",
              "name_on_card",
              "card_security_code"
            ]
          }
        ]
      },
      "JuspayPaymentMethod": {
        "title": "JuspayPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayPaymentMethod",
          "description": "API reference for the JuspayPaymentMethod schema"
        },
        "required": [
          "id",
          "name",
          "type",
          "payment_provider_slug",
          "details"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payment_instructions": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "payment_provider_slug": {
            "description": "The slug of the payment provider in Commerce Engine.",
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JuspayPaymentMethodDetail"
            }
          },
          "order_params": {
            "type": "object"
          }
        }
      },
      "JuspayPaymentMethodDetail": {
        "title": "JuspayPaymentMethodDetail",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayPaymentMethodDetail",
          "description": "API reference for the JuspayPaymentMethodDetail schema"
        },
        "discriminator": {
          "propertyName": "payment_method_type",
          "mapping": {
            "UPI": "#/components/schemas/JuspayUpiPaymentMethod",
            "CARD": "#/components/schemas/JuspayCardPaymentMethod",
            "NB": "#/components/schemas/JuspayNetbankingPaymentMethod",
            "WALLET": "#/components/schemas/JuspayWalletPaymentMethod"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/JuspayUpiPaymentMethod"
          },
          {
            "$ref": "#/components/schemas/JuspayCardPaymentMethod"
          },
          {
            "$ref": "#/components/schemas/JuspayNetbankingPaymentMethod"
          },
          {
            "$ref": "#/components/schemas/JuspayWalletPaymentMethod"
          }
        ]
      },
      "JusPaySavedCardToken": {
        "title": "JusPaySavedCardToken",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JusPaySavedCardToken",
          "description": "API reference for the JusPaySavedCardToken schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/JusPayExpressCheckoutCommonField"
          },
          {
            "type": "object",
            "properties": {
              "save_to_locker": {
                "description": "Whether to save the card to the locker. If true, the card will be saved to the locker and can be used for future payments as per RBI regulations.",
                "type": "boolean"
              },
              "payment_method_type": {
                "type": "string",
                "const": "CARD"
              },
              "payment_method": {
                "description": "Payment method of the card. Please check which payment method is supported by the gateway.",
                "type": "string",
                "enum": [
                  "VISA",
                  "MASTER",
                  "RUPAY",
                  "AMEX",
                  "DINERS",
                  "DISCOVER",
                  "JCB",
                  "MAESTRO"
                ]
              },
              "card_token": {
                "description": "Token of the card. This is the token that is used to identify the card in the gateway.",
                "type": "string"
              },
              "card_security_code": {
                "description": "Security code of the card. This is the security code that is used to identify the card in the gateway.",
                "type": "string"
              }
            },
            "required": [
              "save_to_locker",
              "payment_method_type",
              "payment_method",
              "card_token",
              "card_security_code"
            ]
          }
        ]
      },
      "JuspayUpiCollect": {
        "title": "JuspayUpiCollect",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayUpiCollect",
          "description": "API reference for the JuspayUpiCollect schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/JusPayExpressCheckoutCommonField"
          },
          {
            "type": "object",
            "properties": {
              "payment_method_type": {
                "type": "string",
                "const": "UPI"
              },
              "payment_method": {
                "type": "string",
                "const": "UPI_COLLECT"
              },
              "upi_vpa": {
                "type": "string"
              }
            },
            "required": [
              "payment_method_type",
              "payment_method",
              "upi_vpa"
            ]
          }
        ]
      },
      "JuspayUpiIntent": {
        "title": "JuspayUpiIntent",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayUpiIntent",
          "description": "API reference for the JuspayUpiIntent schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/JusPayExpressCheckoutCommonField"
          },
          {
            "type": "object",
            "properties": {
              "payment_method_type": {
                "type": "string",
                "const": "UPI"
              },
              "payment_method": {
                "type": "string",
                "const": "UPI_PAY"
              }
            },
            "required": [
              "payment_method_type",
              "payment_method"
            ]
          }
        ]
      },
      "JuspayUpiPaymentMethod": {
        "title": "JuspayUpiPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayUpiPaymentMethod",
          "description": "API reference for the JuspayUpiPaymentMethod schema"
        },
        "required": [
          "description",
          "juspay_bank_code",
          "juspay_bank_code_id",
          "payment_method",
          "payment_method_type",
          "pm_response_description",
          "supported_reference_ids"
        ],
        "properties": {
          "description": {
            "type": "string"
          },
          "juspay_bank_code": {
            "type": "string",
            "enum": [
              "UPI_COLLECT",
              "UPI_PAY",
              "UPI_QR"
            ]
          },
          "juspay_bank_code_id": {
            "type": "integer"
          },
          "payment_method": {
            "type": "string",
            "enum": [
              "UPI_COLLECT",
              "UPI_PAY",
              "UPI_QR"
            ]
          },
          "payment_method_type": {
            "type": "string",
            "const": "UPI"
          },
          "pm_response_description": {
            "type": "string"
          },
          "supported_reference_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JuspayWalletPaymentMethod": {
        "title": "JuspayWalletPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/JuspayWalletPaymentMethod",
          "description": "API reference for the JuspayWalletPaymentMethod schema"
        },
        "required": [
          "description",
          "juspay_bank_code",
          "juspay_bank_code_id",
          "payment_method",
          "payment_method_sub_type",
          "payment_method_type",
          "pm_response_description",
          "supported_reference_ids"
        ],
        "properties": {
          "description": {
            "type": "string"
          },
          "juspay_bank_code": {
            "type": "string"
          },
          "juspay_bank_code_id": {
            "type": "integer"
          },
          "payment_method": {
            "type": "string"
          },
          "payment_method_sub_type": {
            "type": "string",
            "const": "WALLET"
          },
          "payment_method_type": {
            "type": "string",
            "const": "WALLET"
          },
          "pm_response_description": {
            "type": "string"
          },
          "supported_reference_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "wallet_direct_debit_support": {
            "type": "boolean"
          }
        }
      },
      "KycStatus": {
        "description": "KYC progress for a customer. `document_pending` means required documents have not been uploaded; `submitted` and `submitted_for_approval` mean they are awaiting review.",
        "enum": [
          "pending",
          "document_pending",
          "submitted",
          "submitted_for_approval",
          "approved",
          "rejected"
        ]
      },
      "LotBatchDetail": {
        "title": "LotBatchDetail",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/LotBatchDetail",
          "description": "API reference for the LotBatchDetail schema"
        },
        "required": [
          "lot_batch",
          "mfg_date",
          "exp_date",
          "manufacturer",
          "stock_quantity"
        ],
        "properties": {
          "lot_batch": {
            "type": "string"
          },
          "mfg_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "exp_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "manufacturer": {
            "type": [
              "string",
              "null"
            ]
          },
          "stock_quantity": {
            "type": "integer"
          }
        }
      },
      "LotBatchWiseInventory": {
        "title": "LotBatchWiseInventory",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemWiseInventory"
          },
          {
            "type": "object",
            "properties": {
              "lot_batch": {
                "type": "string"
              },
              "mfg_date": {
                "type": "string",
                "format": "date"
              },
              "exp_date": {
                "type": "string",
                "format": "date"
              },
              "manufacturer": {
                "type": "string"
              }
            }
          }
        ]
      },
      "LotusPayCheckout": {
        "title": "LotusPayCheckout",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/LotusPayCheckout",
          "description": "API reference for the LotusPayCheckout schema"
        },
        "required": [
          "payment_provider_slug",
          "payment_method_type",
          "mandate_id"
        ],
        "properties": {
          "payment_provider_slug": {
            "description": "The slug of the payment provider in Commerce Engine.",
            "type": "string",
            "const": "juspay"
          },
          "payment_method_type": {
            "type": "string",
            "const": "NACH"
          },
          "mandate_id": {
            "description": "The ID of the active mandate.",
            "type": "string"
          }
        }
      },
      "LoyaltyMember": {
        "title": "LoyaltyMember",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "customer_id": {
                "type": "string"
              },
              "customer_name": {
                "type": "string"
              }
            }
          },
          {
            "$ref": "#/components/schemas/CustomerLoyalty"
          }
        ],
        "x-tags": [
          "Customers"
        ]
      },
      "LoyaltyPointPayment": {
        "title": "LoyaltyPointPayment",
        "description": "Loyalty point redemption.",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          }
        ],
        "x-tags": [
          "Orders"
        ]
      },
      "ManualPaymentMethod": {
        "title": "ManualPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ManualPaymentMethod",
          "description": "API reference for the ManualPaymentMethod schema"
        },
        "required": [
          "id",
          "name",
          "type",
          "payment_provider_slug",
          "details"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payment_instructions": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "payment_provider_slug": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "order_params": {
            "type": "object"
          }
        }
      },
      "MsOrderPayment": {
        "title": "MsOrderPayment",
        "description": "Payment received in Marketplace for a marketplace-synced order.",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          },
          {
            "type": "object",
            "required": [
              "settlement_type"
            ],
            "properties": {
              "payment_date": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "settlement_type": {
                "enum": [
                  "prepaid"
                ]
              }
            }
          }
        ],
        "x-tags": [
          "Orders"
        ]
      },
      "MultiSelectAttribute": {
        "title": "MultiSelectAttribute",
        "description": "Attribute for multi-select values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/MultiSelectAttribute",
          "description": "API reference for the MultiSelectAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "multi-select"
          },
          "value": {
            "description": "For multi-select attributes",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "NachPayment": {
        "title": "NachPayment",
        "description": "NACH mandate payment via LotusPay.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NachPayment",
          "description": "API reference for the NachPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          }
        ]
      },
      "NetbankingPayment": {
        "title": "NetbankingPayment",
        "description": "Payments using payment gateway netbanking option.",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NetbankingPayment",
          "description": "API reference for the NetbankingPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "bank_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "NotificationChannelPreferences": {
        "title": "NotificationChannelPreferences",
        "description": "Set specific channel preferences",
        "type": "object",
        "properties": {
          "email": {
            "description": "Indicates whether the user has opted to receive notifications via email.",
            "type": "boolean",
            "default": true
          },
          "sms": {
            "description": "Indicates whether the user has opted to receive notifications via SMS.",
            "type": "boolean",
            "default": true
          },
          "whatsapp": {
            "description": "Indicates whether the user has opted to receive notifications via WhatsApp.",
            "type": "boolean",
            "default": true
          }
        }
      },
      "NotificationPreferences": {
        "title": "NotificationPreferences",
        "description": "Set channel preferences for each type of ",
        "type": "object",
        "properties": {
          "transactional": {
            "description": "These notifications are typically critical for user engagement, providing updates, confirmations, or alerts related to their account activities.",
            "$ref": "#/components/schemas/NotificationChannelPreferences"
          },
          "promotional": {
            "description": "These notifications aim to engage users with promotional content and enhance their overall experience with the platform.",
            "$ref": "#/components/schemas/NotificationChannelPreferences"
          },
          "newsletter": {
            "description": "These notifications are often sent periodically as part of a subscription service.\n",
            "$ref": "#/components/schemas/NotificationChannelPreferences"
          }
        }
      },
      "NumberAttribute": {
        "title": "NumberAttribute",
        "description": "Attribute for numeric values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/NumberAttribute",
          "description": "API reference for the NumberAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "number"
          },
          "value": {
            "description": "For numeric attributes",
            "type": "number"
          }
        }
      },
      "OpeningHours": {
        "type": "object",
        "required": [
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday",
          "sunday"
        ],
        "properties": {
          "monday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "tuesday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "wednesday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "thursday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "friday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "saturday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          },
          "sunday": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "opening_time": {
                "type": "string",
                "format": "time"
              },
              "closing_time": {
                "type": "string",
                "format": "time"
              }
            },
            "required": [
              "opening_time",
              "closing_time"
            ]
          }
        }
      },
      "Order": {
        "title": "Order",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Order",
          "description": "API reference for the Order schema"
        },
        "required": [
          "applied_promotions",
          "applied_coupons"
        ],
        "properties": {
          "order_number": {
            "description": "Unique, human-readable order identifier used across all order endpoints.",
            "type": "string"
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "description": "Current fulfillment status of the order. Progresses from `confirmed` through shipping stages to `complete`.",
            "type": "string",
            "enum": [
              "draft",
              "awaiting_approval",
              "confirmed",
              "partially_scheduled",
              "awaiting_shipment",
              "shipped",
              "partially_shipped",
              "undelivered",
              "partially_undelivered",
              "return_to_origin",
              "partially_return_to_origin",
              "complete",
              "partially_delivered",
              "cancelled",
              "pending"
            ]
          },
          "payment_status": {
            "description": "Current payment status. Poll `/orders/{order_number}/payment-status` after a payment attempt until this is `success` or `failed`.",
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "partially_paid"
            ]
          },
          "payment_success_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "type": "boolean"
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "promotion_discount_percent": {
            "type": "number",
            "format": "double"
          },
          "is_coupon_applied": {
            "type": "boolean"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "coupon_discount_percent": {
            "type": "number",
            "format": "double"
          },
          "applied_promotions": {
            "description": "Information about the promotional offers that have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedPromotion"
            }
          },
          "applied_coupons": {
            "description": "This key provides details about the savings in cart after coupon have been applied to the cart.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppliedCoupon"
            }
          },
          "promotion_savings": {
            "description": "Total savings from auto-applied promotions.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "coupon_savings": {
            "description": "Total savings from the applied coupon code.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "other_savings": {
            "description": "Total savings from loyalty points, credit balance, and other non-promotion/coupon discounts.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "total_savings": {
            "description": "Combined savings across promotions, coupons, and other discounts.",
            "type": "number",
            "format": "float",
            "minimum": 0
          },
          "on_subscription": {
            "type": "boolean"
          },
          "subtotal": {
            "type": "number",
            "format": "double"
          },
          "item_total_tax": {
            "type": "number",
            "format": "double"
          },
          "subtotal_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_estimated_cost": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/FulfillmentPreference"
          },
          "estimated_delivery_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "handling_charge_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "total_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "loyalty_points_earned": {
            "type": "integer",
            "minimum": 0
          },
          "loyalty_points_redeemed": {
            "type": "integer",
            "minimum": 0
          },
          "credit_balance_used": {
            "type": "integer"
          },
          "to_be_paid": {
            "type": "number",
            "format": "double"
          },
          "order_items_count": {
            "type": "integer"
          },
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderItem"
            }
          },
          "billing_address": {
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/CustomerAddress"
          },
          "currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              }
            }
          },
          "metadata": {
            "description": "Additional metadata associated with the order.",
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            }
          },
          "is_cancellation_allowed": {
            "description": "Whether the order is eligible for cancellation. Only show the cancel action in your UI when this is `true`.",
            "type": "boolean"
          },
          "cancellation_refund_details": {
            "description": "Breakdown of the refund the customer would receive upon cancellation. Only populated when `is_cancellation_allowed` is `true`.",
            "type": "object",
            "properties": {
              "loyalty_point": {
                "description": "loyalty point redeemed will be rollbacked and credited to user account.",
                "type": "integer"
              },
              "refundable_amount": {
                "description": "amount that will be refunded to customer.",
                "type": "number"
              },
              "cancellation_charges": {
                "description": "amount deducted from paid amount.",
                "type": "number"
              },
              "cancellation_charges_reason": {
                "description": "reason for cancellation charges.",
                "type": "string"
              },
              "payment_mode": {
                "description": "payment mode for refund.",
                "type": "string",
                "enum": [
                  "original-payment-mode",
                  "bank-transfer",
                  "nach-mandate"
                ]
              }
            }
          },
          "feedback": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "OrderAction": {
        "enum": [
          "create-shipment",
          "update-order",
          "download-invoice",
          "inventory-check",
          "refresh-payment-status",
          "return-replace",
          "update-payment-status",
          "cancel-order",
          "approve-order"
        ]
      },
      "OrderActivity": {
        "title": "OrderActivity",
        "type": "object",
        "required": [
          "comment"
        ],
        "properties": {
          "activity_type": {
            "description": "`null` when the activity was written without one — the create-activity endpoint requires only `comment`.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "status": {
            "description": "Outcome of the activity, e.g. `success`.",
            "type": "string",
            "readOnly": true
          },
          "comment": {
            "type": "string"
          },
          "details": {
            "description": "Extra context for the activity as key/value pairs, e.g. the payment request number. `null` when the activity carries none.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            },
            "readOnly": true
          },
          "user_type": {
            "enum": [
              "customer",
              "admin",
              "system"
            ],
            "readOnly": true
          },
          "user_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderAddress": {
        "title": "OrderAddress",
        "description": "Address snapshot captured at checkout for an order or invoice.",
        "type": "object",
        "required": [
          "first_name",
          "phone",
          "email",
          "address_line1",
          "pincode",
          "city",
          "state",
          "country"
        ],
        "properties": {
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Phone country calling code, e.g. +91.",
            "type": "string"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "business_name": {
            "description": "Use in shipping details only for third party.",
            "type": [
              "string",
              "null"
            ]
          },
          "is_phone_verified": {
            "type": "boolean",
            "readOnly": true
          },
          "is_email_verified": {
            "type": "boolean",
            "readOnly": true
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderDetail": {
        "title": "OrderDetail",
        "type": "object",
        "required": [
          "order_number",
          "order_date",
          "status",
          "payment_status",
          "marketplace_synced",
          "payment_success_date",
          "customer_id",
          "customer_email",
          "customer_phone",
          "customer_note",
          "is_promotion_applied",
          "promotion_discount_amount",
          "is_coupon_applied",
          "coupon_code",
          "coupon_discount_amount",
          "on_subscription",
          "fulfillment_preference",
          "sales_channel",
          "metadata",
          "subtotal",
          "subtotal_tax",
          "subtotal_including_tax",
          "shipping_amount",
          "shipping_tax_rate",
          "shipping_total_tax",
          "shipping_amount_including_tax",
          "total_tax",
          "grand_total",
          "loyalty_point_redeemed",
          "credit_balance_used",
          "to_be_paid",
          "loyalty_point_earned",
          "order_items_count",
          "order_items",
          "billing_address",
          "shipping_address",
          "currency",
          "feedback",
          "allowed_actions",
          "applied_coupons",
          "applied_promotions",
          "payments",
          "shipments",
          "created_at",
          "modified_at"
        ],
        "properties": {
          "id": {
            "description": "Same value as `order_number`.",
            "type": "string",
            "readOnly": true
          },
          "order_number": {
            "type": "string"
          },
          "cart_id": {
            "description": "Identifier of the cart the order was created from.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "marketplace_synced": {
            "description": "Indicates whether the order was synced from Marketplace.",
            "type": "boolean"
          },
          "payment_success_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "type": "string"
          },
          "customer_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_promotion_applied": {
            "type": "boolean"
          },
          "promotion_discount_amount": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "promotion_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "readOnly": true
          },
          "is_coupon_applied": {
            "type": "boolean"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "coupon_discount_amount": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double",
            "readOnly": true
          },
          "on_subscription": {
            "type": "boolean"
          },
          "fulfillment_preference": {
            "$ref": "#/components/schemas/AdminFulfillmentPreference"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          },
          "metadata": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "subtotal": {
            "type": "number",
            "format": "double"
          },
          "subtotal_tax": {
            "type": "number",
            "format": "double"
          },
          "subtotal_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double"
          },
          "shipping_total_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "total_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_redeemed": {
            "type": "number",
            "format": "double"
          },
          "credit_balance_used": {
            "type": "number",
            "format": "double"
          },
          "to_be_paid": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_earned": {
            "type": "number",
            "format": "double"
          },
          "order_items_count": {
            "type": "integer"
          },
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminOrderItem"
            }
          },
          "billing_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              }
            }
          },
          "feedback": {
            "type": [
              "string",
              "null"
            ]
          },
          "allowed_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderAction"
            }
          },
          "applied_coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminAppliedCoupon"
            }
          },
          "applied_promotions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminAppliedPromotion"
            }
          },
          "payments": {
            "description": "Uses `OrderPayment` when `marketplace_synced` is `false`. Uses `MsOrderPayment` when `marketplace_synced` is `true`.",
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminOrderPayment"
                }
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/MsOrderPayment"
                }
              }
            ]
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrderShipment"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderItem": {
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderItem",
          "description": "API reference for the OrderItem schema"
        },
        "required": [
          "product_id",
          "product_name",
          "product_image_url",
          "product_type",
          "sku",
          "product_slug",
          "variant_slug",
          "variant_id",
          "variant_name",
          "backorder",
          "on_promotion",
          "on_subscription",
          "subscription_plan",
          "subscription_interval",
          "subscription_frequency",
          "quantity",
          "free_quantity",
          "is_free_item",
          "price_including_tax",
          "selling_price",
          "listing_price",
          "selling_price_excluding_tax",
          "promotion_discount_amount",
          "coupon_discount_amount",
          "tax_type",
          "tax_rate",
          "tax_amount",
          "handling_charge_excluding_tax",
          "handling_charge_tax_rate",
          "handling_charge_including_tax"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "enum": [
              "physical",
              "digital",
              "bundle"
            ]
          },
          "sku": {
            "type": "string"
          },
          "product_slug": {
            "type": "string"
          },
          "variant_slug": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "backorder": {
            "description": "backorder\n\nIndicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_promotion": {
            "type": "boolean"
          },
          "on_subscription": {
            "type": "boolean"
          },
          "subscription_plan": {
            "type": [
              "string",
              "null"
            ]
          },
          "subscription_interval": {
            "type": [
              "integer",
              "null"
            ]
          },
          "subscription_frequency": {
            "type": [
              "string",
              "null"
            ]
          },
          "quantity": {
            "type": "integer",
            "minimum": 0
          },
          "free_quantity": {
            "type": "integer",
            "minimum": 0
          },
          "is_free_item": {
            "type": "boolean"
          },
          "price_including_tax": {
            "type": "boolean"
          },
          "selling_price": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "listing_price": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "tax_type": {
            "type": "string",
            "default": "GST",
            "const": "GST",
            "examples": [
              "GST"
            ]
          },
          "tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "tax_amount": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_excluding_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_tax_rate": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "handling_charge_including_tax": {
            "type": "number",
            "format": "double",
            "minimum": 0
          },
          "associated_options": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AssociatedOption",
                "description": "Used when `variant_id` is not null."
              },
              {
                "type": "null",
                "description": "Null when `variant_id` is null."
              }
            ]
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "seller_id": {
            "description": "Seller ID. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "description": "Seller detail information. This field is relevant for marketplace type stores only. Will return null for b2b and b2c type stores.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SellerInfo"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "OrderList": {
        "title": "OrderList",
        "description": "order list model",
        "type": "object",
        "required": [
          "id",
          "order_number",
          "order_date",
          "status",
          "payment_status",
          "marketplace_synced",
          "payment_success_date",
          "fulfillment_type",
          "on_subscription",
          "grand_total",
          "loyalty_point_redeemed",
          "credit_balance_used",
          "to_be_paid",
          "order_items_count",
          "order_items",
          "customer_id",
          "customer_note",
          "billing_address",
          "shipping_address",
          "loyalty_point_earned",
          "coupon_code",
          "currency",
          "created_at",
          "modified_at"
        ],
        "properties": {
          "id": {
            "description": "Order id. Same as order number.",
            "type": "string"
          },
          "order_number": {
            "description": "Unique number associated with the order.",
            "type": "string"
          },
          "cart_id": {
            "description": "Identifier of the cart the order was created from.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "order_date": {
            "description": "Date and time when the order was placed.",
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "marketplace_synced": {
            "description": "Indicates whether the order was synced from Marketplace.",
            "type": "boolean"
          },
          "payment_success_date": {
            "description": "Date and time when the payment for the order was successfully processed.",
            "type": [
              "string",
              "null"
            ]
          },
          "fulfillment_type": {
            "enum": [
              "collect-in-store",
              "delivery"
            ]
          },
          "on_subscription": {
            "description": "Indicates whether the order includes subscription items.",
            "type": "boolean"
          },
          "grand_total": {
            "description": "Total amount for the order, including all items, taxes, and discounts.",
            "type": "number",
            "format": "double"
          },
          "loyalty_point_redeemed": {
            "description": "Number of loyalty points redeemed in the order.",
            "type": "number",
            "format": "double"
          },
          "credit_balance_used": {
            "description": "Amount of credit balance used in the order.",
            "type": "number",
            "format": "double"
          },
          "to_be_paid": {
            "description": "Amount remaining to be paid for the order.",
            "type": "number",
            "format": "double"
          },
          "order_items_count": {
            "description": "Total count of items included in the order.",
            "type": "integer"
          },
          "order_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdminOrderItem"
            }
          },
          "customer_id": {
            "type": "string"
          },
          "customer_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "billing_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "shipping_address": {
            "$ref": "#/components/schemas/OrderAddress"
          },
          "loyalty_point_earned": {
            "type": "number",
            "format": "double"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "currency": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "code": {
                "type": "string"
              },
              "symbol": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "code",
              "symbol"
            ]
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          },
          "metadata": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderPayment": {
        "title": "OrderPayment",
        "description": "Order Payment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/OrderPayment",
          "description": "API reference for the OrderPayment schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/CardPayment"
          },
          {
            "$ref": "#/components/schemas/NetbankingPayment"
          },
          {
            "$ref": "#/components/schemas/UpiPayment"
          },
          {
            "$ref": "#/components/schemas/WalletPayment"
          },
          {
            "$ref": "#/components/schemas/BankTransfer"
          },
          {
            "$ref": "#/components/schemas/NachPayment"
          }
        ]
      },
      "OrderPaymentCommonOnly": {
        "title": "OrderPaymentCommonOnly",
        "description": "Order payment with only common fields, for methods such as Cash, NACH, or POS entries with no method-specific metadata.",
        "allOf": [
          {
            "$ref": "#/components/schemas/OrderPaymentInfo"
          }
        ],
        "x-tags": [
          "Orders"
        ]
      },
      "OrderPaymentInfo": {
        "title": "OrderPaymentInfo",
        "description": "Common fields in all types of payments.",
        "type": "object",
        "properties": {
          "transaction_type": {
            "enum": [
              "payment",
              "refund"
            ]
          },
          "request_number": {
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "payment_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "payment_reference_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_method": {
            "description": "Empty string when recorded without a method, as on point-of-sale orders; null for refunds.",
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "Card",
              "Credit Card",
              "Debit Card",
              "Netbanking",
              "UPI",
              "Wallet",
              "Loyalty Point",
              "IMPS",
              "NEFT",
              "RTGS",
              "Cash",
              "NACH",
              "",
              null
            ]
          },
          "payment_mode": {
            "type": "string"
          },
          "icon_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modified_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderReceiptJsonFormat": {
        "title": "OrderReceiptJsonFormat",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdminOrder"
          },
          {
            "type": "object",
            "properties": {
              "billing_address": {
                "$ref": "#/components/schemas/OrderAddress"
              },
              "shipping_address": {
                "$ref": "#/components/schemas/OrderAddress"
              },
              "order_items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminOrderItem"
                }
              },
              "payments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AdminOrderPayment"
                }
              }
            }
          }
        ]
      },
      "OrderShipment": {
        "title": "OrderShipment",
        "description": "Order shipment model",
        "type": "object",
        "properties": {
          "reference_number": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentStatus"
          },
          "total_weight": {
            "type": "number"
          },
          "total_boxes": {
            "type": [
              "integer",
              "null"
            ]
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipment_items": {
            "description": "`ShipmentItemStandard` on B2B/B2C stores; `ShipmentItem` when `seller_detail` is returned for marketplace stores.",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ShipmentItemStandard"
                },
                {
                  "$ref": "#/components/schemas/AdminShipmentItem"
                }
              ]
            }
          },
          "shipping_estimated_cost": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "shipping_discount_amount": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double",
            "readOnly": true
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_provider_id": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "shipping_provider_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_label_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "awb_no": {
            "type": [
              "string",
              "null"
            ]
          },
          "eta_delivery": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "promised_delivery_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true
          },
          "estimated_delivery_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time",
            "readOnly": true
          },
          "shipped_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "delivered_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancellation_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_address_line1": {
            "type": "string",
            "readOnly": true
          },
          "shipping_address_line2": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "shipping_landmark": {
            "description": "Empty string when the address has no landmark.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "shipping_city": {
            "type": "string",
            "readOnly": true
          },
          "shipping_state": {
            "type": "string",
            "readOnly": true
          },
          "shipping_pincode": {
            "type": "string",
            "readOnly": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "x-tags": [
          "Orders"
        ]
      },
      "OrderShipmentDetail": {
        "title": "OrderShipmentDetail",
        "type": "object",
        "required": [
          "order_number",
          "order_date",
          "order_status",
          "sales_channel",
          "payment_status",
          "customer_name",
          "shipments",
          "allowed_actions"
        ],
        "properties": {
          "order_number": {
            "type": "string"
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "order_status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "customer_name": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          },
          "sales_channel_type": {
            "description": "Type of the sales channel, repeated flat alongside `sales_channel`.",
            "type": "string"
          },
          "sub_total": {
            "type": "number",
            "format": "double"
          },
          "total_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "coupon_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "coupon_discount_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "shipments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Shipment"
            }
          },
          "allowed_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InventoryAction"
            }
          }
        }
      },
      "OrderStatus": {
        "enum": [
          "draft",
          "awaiting_approval",
          "confirmed",
          "schedule_requested",
          "partially_scheduled",
          "awaiting_shipment",
          "shipped",
          "partially_shipped",
          "undelivered",
          "partially_undelivered",
          "return_to_origin",
          "partially_return_to_origin",
          "complete",
          "partially_delivered",
          "cancelled",
          "pending",
          "lost",
          "sent_to_store",
          "store_rejected"
        ]
      },
      "Pagination": {
        "description": "pagination metadata structure",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Pagination",
          "description": "API reference for the Pagination schema"
        },
        "required": [
          "total_records",
          "total_pages",
          "limit",
          "next_page"
        ],
        "properties": {
          "total_records": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          },
          "previous_page": {
            "type": [
              "integer",
              "null"
            ]
          },
          "limit": {
            "type": "integer"
          },
          "next_page": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "examples": [
          {
            "total_records": 100,
            "total_pages": 4,
            "previous_page": null,
            "next_page": 2,
            "limit": 25
          }
        ]
      },
      "PartialCollectAndDelivery": {
        "title": "PartialCollectAndDelivery",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PartialCollectAndDelivery",
          "description": "API reference for the PartialCollectAndDelivery schema"
        },
        "required": [
          "fulfillment_type",
          "collect-in-store",
          "delivery"
        ],
        "properties": {
          "fulfillment_type": {
            "type": "string",
            "const": "partial-collect-and-delivery"
          },
          "preference_type": {
            "type": "string",
            "enum": [
              "user",
              "auto"
            ],
            "readOnly": true
          },
          "collect-in-store": {
            "type": "object",
            "properties": {
              "pickup_location_id": {
                "type": "string"
              },
              "pickup_location_name": {
                "type": "string",
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              }
            },
            "required": [
              "items",
              "pickup_location_id"
            ]
          },
          "delivery": {
            "type": "object",
            "properties": {
              "shipping_provider_id": {
                "type": "string"
              },
              "shipping_provider_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "courier_company_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "courier_company_name": {
                "type": [
                  "string",
                  "null"
                ],
                "readOnly": true
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FulfillmentItem"
                }
              }
            },
            "required": [
              "shipping_provider_id",
              "items"
            ]
          }
        }
      },
      "PaymentInfo": {
        "title": "PaymentInfo",
        "description": "Common fields in all types of payments.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PaymentInfo",
          "description": "API reference for the PaymentInfo schema"
        },
        "properties": {
          "transaction_type": {
            "type": "string",
            "enum": [
              "payment",
              "refund"
            ]
          },
          "request_number": {
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "payment_status": {
            "type": "string",
            "enum": [
              "pending",
              "success",
              "failed",
              "partially_paid",
              "refund_initiated"
            ]
          },
          "payment_date": {
            "type": "string",
            "format": "date-time"
          },
          "payment_reference_number": {
            "type": [
              "string",
              "null"
            ]
          },
          "payment_method": {
            "type": [
              "string",
              "null"
            ]
          },
          "icon_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PaymentMethodPayload": {
        "title": "PaymentMethodPayload",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PaymentMethodPayload",
          "description": "API reference for the PaymentMethodPayload schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/JusPayHyperCheckout"
          },
          {
            "$ref": "#/components/schemas/JusPayExpressCheckout"
          },
          {
            "$ref": "#/components/schemas/BankTransferCheckout"
          },
          {
            "$ref": "#/components/schemas/LotusPayCheckout"
          }
        ]
      },
      "PaymentStatus": {
        "title": "PaymentStatus",
        "enum": [
          "pending",
          "success",
          "failed",
          "partially_paid",
          "refund_initiated",
          "refunded",
          "unsettled",
          "settled",
          "partially_settled",
          "debit_scheduled",
          "collection_due"
        ]
      },
      "PayuPaymentInfo": {
        "title": "PayuPaymentInfo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PayuPaymentInfo",
          "description": "API reference for the PayuPaymentInfo schema"
        },
        "properties": {
          "key": {
            "type": "string"
          },
          "txnid": {
            "type": "string"
          },
          "amount": {
            "type": "number",
            "format": "double"
          },
          "productinfo": {
            "type": "string"
          },
          "firstname": {
            "type": "string"
          },
          "lastname": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "si": {
            "description": "To be used in case we want to take consent for subscription payment.\nTo create consent for subscription, value of this parameter must be 1.",
            "type": "integer",
            "const": 1
          },
          "si_details": {
            "description": "Send this json object for creating subscription consent.",
            "type": "object",
            "properties": {
              "billingAmount": {
                "description": "Maximum amount that can be charged in recurring payment.",
                "type": "number",
                "format": "double"
              },
              "billingCurrency": {
                "type": "string",
                "const": "INR"
              },
              "billingCycle": {
                "description": "Subscription frequency.",
                "type": "string",
                "const": "MONTHLY"
              },
              "billingInterval": {
                "description": "Billing Interval is closely coupled with the billingCycle field and denotes at what frequency, the subscription plan needs to be executed. For monthly subscriptions, parameter values need to be sent in the request are:\nbillingCycle = MONTHLY\nbillingInterval = 1\nSimilarly, by keeping the following values, customer will be charged once in every 3 days:\nbillingCycle = DAILY\nbillingInterval = 3",
                "type": "integer"
              },
              "paymentStartDate": {
                "description": "subscription start date",
                "type": "string",
                "format": "date"
              },
              "paymentEndDate": {
                "description": "subscription end date",
                "type": "string",
                "format": "date"
              }
            }
          },
          "furl": {
            "description": "return url in case of payment failure.",
            "type": "string"
          },
          "surl": {
            "description": "return url in case of payment success.",
            "type": "string"
          },
          "hash": {
            "type": "string"
          }
        }
      },
      "PayuPaymentMethod": {
        "title": "PayuPaymentMethod",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PayuPaymentMethod",
          "description": "API reference for the PayuPaymentMethod schema"
        },
        "required": [
          "id",
          "name",
          "type",
          "payment_provider_slug",
          "details"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "payment_instructions": {
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "type": "string"
          },
          "payment_provider_slug": {
            "type": "string"
          },
          "details": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "code",
                "is_subscription_enabled",
                "options",
                "payment_method"
              ],
              "properties": {
                "code": {
                  "type": "string"
                },
                "is_subscription_enabled": {
                  "type": "boolean"
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "bankcode",
                      "icon_url",
                      "is_subscription_enabled",
                      "name",
                      "pg"
                    ],
                    "properties": {
                      "bankcode": {
                        "type": "string"
                      },
                      "icon_url": {
                        "type": "string"
                      },
                      "is_subscription_enabled": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": "string"
                      },
                      "pg": {
                        "type": "string"
                      }
                    }
                  }
                },
                "payment_method": {
                  "type": "string"
                }
              }
            }
          },
          "order_params": {
            "type": "object"
          }
        }
      },
      "PercentageDiscountRule": {
        "title": "PercentageDiscountRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PercentageDiscountRule",
          "description": "API reference for the PercentageDiscountRule schema"
        },
        "required": [
          "discount_type",
          "discount_percent",
          "maximum_discount_amount",
          "products",
          "category_id"
        ],
        "properties": {
          "discount_type": {
            "type": "string",
            "const": "percentage"
          },
          "discount_percent": {
            "type": "number"
          },
          "maximum_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "minimum_quantity",
                "maximum_quantity",
                "minimum_value",
                "maximum_value"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "minimum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "maximum_quantity": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "minimum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "maximum_value": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              }
            }
          },
          "category_id": {
            "description": "Array of category ids",
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Pincode": {
        "title": "Pincode",
        "description": "Pincode model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Pincode",
          "description": "API reference for the Pincode schema"
        },
        "properties": {
          "pincode": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state_name": {
            "type": "string"
          },
          "country_name": {
            "type": "string"
          },
          "country_iso_code": {
            "type": "string"
          }
        }
      },
      "PosDevice": {
        "title": "PosDevice",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosDevice",
          "description": "API reference for the PosDevice schema"
        },
        "required": [
          "id",
          "name",
          "device_type",
          "external_device_id",
          "vendor",
          "model_number",
          "mac_address",
          "location_id",
          "location_name",
          "claimed_by",
          "status",
          "is_busy"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string"
          },
          "device_type": {
            "type": "string",
            "enum": [
              "pos-terminal"
            ]
          },
          "external_device_id": {
            "description": "A Device ID shared by POS device provider.",
            "type": "string",
            "readOnly": true
          },
          "vendor": {
            "type": "string"
          },
          "model_number": {
            "type": "string"
          },
          "mac_address": {
            "type": [
              "string",
              "null"
            ]
          },
          "location_id": {
            "type": "string"
          },
          "location_name": {
            "type": "string",
            "readOnly": true
          },
          "claimed_by": {
            "description": "Returns a user object if the device is claimed, otherwise returns null.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/PosDeviceClaimedUser"
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "claimed",
              "offline"
            ],
            "readOnly": true
          },
          "is_busy": {
            "type": "boolean",
            "readOnly": true
          }
        }
      },
      "PosDeviceClaimedUser": {
        "title": "PosDeviceClaimedUser",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosDeviceClaimedUser",
          "description": "API reference for the PosDeviceClaimedUser schema"
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "phone",
          "email"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          }
        }
      },
      "PosLocation": {
        "title": "PosLocation",
        "description": "",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosLocation",
          "description": "API reference for the PosLocation schema"
        },
        "required": [
          "name",
          "warehouse_type",
          "city",
          "address_line1",
          "pincode",
          "state",
          "country",
          "contact_phone",
          "contact_email",
          "can_receive_stock",
          "can_ship_parcel",
          "can_collect",
          "is_checkout_point",
          "accepts_returns"
        ],
        "properties": {
          "id": {
            "description": "warehouse id",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "legal name",
            "type": "string"
          },
          "warehouse_type": {
            "enum": [
              "retail-store",
              "distribution-center"
            ]
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": "string"
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": "string",
            "default": "+91"
          },
          "contact_phone": {
            "description": "10 digit number without country code.",
            "type": "number"
          },
          "contact_email": {
            "type": "string"
          },
          "is_default": {
            "type": "boolean"
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_warehouse_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "can_receive_stock": {
            "type": "boolean"
          },
          "can_ship_parcel": {
            "type": "boolean"
          },
          "can_collect": {
            "type": "boolean"
          },
          "is_checkout_point": {
            "description": "this field will be always true for warehouse_type = retail-store.",
            "type": "boolean"
          },
          "accepts_returns": {
            "type": "boolean"
          },
          "opening_hours": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PosManualPaymentMethodCheckout": {
        "title": "POSManualPaymentMethodCheckout",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/POSManualPaymentMethodCheckout",
          "description": "API reference for the POSManualPaymentMethodCheckout schema"
        },
        "required": [
          "payment_provider_slug"
        ],
        "properties": {
          "payment_provider_slug": {
            "description": "The slug of an active manual payment method configured for the store.",
            "type": "string"
          },
          "payment_method_type": {
            "description": "Optional label stored on the created payment request.",
            "type": "string"
          }
        }
      },
      "PosPaymentMethodPayload": {
        "title": "POSPaymentMethodPayload",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/POSPaymentMethodPayload",
          "description": "API reference for the POSPaymentMethodPayload schema"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/JusPayHyperCheckout"
          },
          {
            "$ref": "#/components/schemas/JusPayExpressCheckout"
          },
          {
            "$ref": "#/components/schemas/PosManualPaymentMethodCheckout"
          }
        ]
      },
      "PosUpdateCustomerWithEmail": {
        "title": "UpdateCustomerWithEmail",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosUpdateCustomerWithEmail",
          "description": "API reference for the PosUpdateCustomerWithEmail schema"
        },
        "required": [
          "email"
        ],
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries.",
            "type": [
              "string",
              "null"
            ],
            "example": "+91"
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PosUpdateCustomerWithId": {
        "title": "UpdateCustomerWithId",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosUpdateCustomerWithId",
          "description": "API reference for the PosUpdateCustomerWithId schema"
        },
        "required": [
          "customer_id"
        ],
        "properties": {
          "customer_id": {
            "type": "string"
          }
        }
      },
      "PosUpdateCustomerWithPhone": {
        "title": "UpdateCustomerWithPhone",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosUpdateCustomerWithPhone",
          "description": "API reference for the PosUpdateCustomerWithPhone schema"
        },
        "required": [
          "phone"
        ],
        "properties": {
          "country_code": {
            "description": "Two-letter code begin with a plus sign prefix that identifies different countries. By default it will be +91 if not provided.",
            "type": [
              "string",
              "null"
            ],
            "default": "+91"
          },
          "phone": {
            "description": "10 digit phone number without country code.",
            "type": "string"
          },
          "email": {
            "type": [
              "string",
              "null"
            ],
            "format": "email"
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PosUser": {
        "title": "PosUser",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PosUser",
          "description": "API reference for the PosUser schema"
        },
        "required": [
          "id",
          "first_name",
          "last_name",
          "phone",
          "email",
          "channel",
          "device",
          "location",
          "roles"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "device": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "location": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "location_id",
                "location_name"
              ],
              "properties": {
                "location_id": {
                  "type": "string"
                },
                "location_name": {
                  "type": "string"
                },
                "role_id": {
                  "type": "string"
                },
                "role_name": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Product": {
        "title": "Product",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Product",
          "description": "API reference for the Product schema"
        },
        "required": [
          "id",
          "sku",
          "name",
          "slug",
          "short_description",
          "product_type",
          "active",
          "stock_available",
          "on_subscription",
          "on_promotion",
          "has_variant",
          "tags",
          "category_ids",
          "categories",
          "reviews_rating_sum",
          "reviews_count",
          "attributes",
          "pricing",
          "variant_options",
          "promotion",
          "images",
          "videos",
          "subscription",
          "variants",
          "bundle_items"
        ],
        "properties": {
          "id": {
            "description": "The ID of the product",
            "type": "string"
          },
          "sku": {
            "description": "Stock Keeping Unit. `null` for products that only have variant-level SKUs.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "physical",
              "digital",
              "bundle"
            ],
            "examples": [
              "physical"
            ]
          },
          "active": {
            "type": "boolean",
            "readOnly": true
          },
          "stock_available": {
            "description": "Indicates whether the product has stock available",
            "type": "boolean",
            "readOnly": true
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_subscription": {
            "description": "Indicates whether the product has any subscription plans avaialble",
            "type": "boolean",
            "readOnly": true
          },
          "on_promotion": {
            "description": "Indicates whether the product is currently on promotion. When true, the `ProductPromotion` object will contain details of the promotion",
            "type": "boolean",
            "readOnly": true
          },
          "has_variant": {
            "description": "Indicates whether the product has variants",
            "type": "boolean",
            "readOnly": true
          },
          "tags": {
            "description": "Freeform tags for filtering and search. `null` if no tags are assigned.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "category_ids": {
            "description": "IDs of categories this product belongs to.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "description": "Expanded category objects for this product.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Category"
            }
          },
          "reviews_rating_sum": {
            "description": "Sum of all review ratings. Divide by `reviews_count` to compute the average rating.",
            "type": "number",
            "format": "double"
          },
          "reviews_count": {
            "description": "Total number of customer reviews.",
            "type": "integer"
          },
          "attributes": {
            "description": "Custom product attributes (e.g., color, size, material) configured in the store.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductAttribute"
            }
          },
          "pricing": {
            "$ref": "#/components/schemas/ProductPricing"
          },
          "variant_options": {
            "description": "Available variant option axes (e.g., Size, Color) with their possible values. Present only when `has_variant` is `true`.",
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/VariantOption"
            }
          },
          "promotion": {
            "$ref": "#/components/schemas/ProductPromotion"
          },
          "images": {
            "description": "Product images ordered by display priority.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductImage"
            }
          },
          "videos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductVideo"
            }
          },
          "subscription": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "variants": {
            "description": "Product variants with individual pricing and inventory. Empty array when `has_variant` is `false`.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Variant"
            }
          },
          "bundle_items": {
            "description": "Component products included in this bundle. Only present when `product_type` is `bundle`.",
            "$ref": "#/components/schemas/ProductBundleItem"
          },
          "inventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LotBatchDetail"
            }
          }
        },
        "examples": []
      },
      "ProductAttribute": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductAttribute",
          "description": "API reference for the ProductAttribute schema"
        },
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "color": "#/components/schemas/ColorAttribute",
            "single-select": "#/components/schemas/SingleSelectAttribute",
            "multi-select": "#/components/schemas/MultiSelectAttribute",
            "text": "#/components/schemas/TextAttribute",
            "date": "#/components/schemas/DateAttribute",
            "number": "#/components/schemas/NumberAttribute",
            "boolean": "#/components/schemas/BooleanAttribute"
          }
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ColorAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/SingleSelectAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/MultiSelectAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/TextAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/DateAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/NumberAttribute",
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/BooleanAttribute",
            "type": "object"
          }
        ]
      },
      "ProductBundleItem": {
        "title": "ProductBundleItem",
        "type": "array",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductBundleItem",
          "description": "API reference for the ProductBundleItem schema"
        },
        "items": {
          "allOf": [
            {
              "type": "object",
              "properties": {
                "quantity": {
                  "type": "integer",
                  "format": "int32",
                  "readOnly": true
                },
                "seller_id": {
                  "description": "The ID of the seller that is selling the bundle item. Appears only in marketplace store..",
                  "type": "string"
                },
                "seller_detail": {
                  "description": "The details of the seller that is selling the bundle item. Appears only in marketplace store.",
                  "$ref": "#/components/schemas/SellerInfo"
                }
              },
              "required": [
                "quantity"
              ]
            },
            {
              "$ref": "#/components/schemas/Item"
            }
          ]
        }
      },
      "ProductCategory": {
        "title": "ProductCategory",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductCategory",
          "description": "API reference for the ProductCategory schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Category"
          },
          {
            "type": "object",
            "properties": {
              "child_categories": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            },
            "required": [
              "child_categories"
            ]
          }
        ],
        "examples": []
      },
      "ProductDetail": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductDetail",
          "description": "API reference for the ProductDetail schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Product"
          },
          {
            "$ref": "#/components/schemas/AdditionalProductDetails"
          }
        ],
        "examples": []
      },
      "ProductImage": {
        "title": "ProductImage",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductImage",
          "description": "API reference for the ProductImage schema"
        },
        "required": [
          "id",
          "title",
          "alternate_text",
          "sort_order",
          "url_tiny",
          "url_thumbnail",
          "url_standard",
          "url_zoom"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "alternate_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "sort_order": {
            "type": "integer"
          },
          "url_tiny": {
            "type": "string"
          },
          "url_thumbnail": {
            "type": "string"
          },
          "url_standard": {
            "type": "string"
          },
          "url_zoom": {
            "type": "string"
          }
        },
        "examples": []
      },
      "ProductPricing": {
        "title": "ProductPricing",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductPricing",
          "description": "API reference for the ProductPricing schema"
        },
        "required": [
          "currency",
          "tax_type",
          "tax_rate",
          "price_including_tax",
          "listing_price",
          "selling_price",
          "min_order_quantity",
          "max_order_quantity",
          "incremental_quantity",
          "selling_price_excluding_tax"
        ],
        "properties": {
          "currency": {
            "type": "string"
          },
          "tax_type": {
            "type": "string",
            "default": "GST",
            "const": "GST",
            "examples": [
              "GST"
            ]
          },
          "tax_rate": {
            "type": "number",
            "format": "double"
          },
          "price_including_tax": {
            "type": "boolean",
            "format": "double",
            "examples": [
              false
            ]
          },
          "listing_price": {
            "type": "number",
            "format": "double"
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          },
          "min_order_quantity": {
            "type": "integer",
            "default": 1
          },
          "max_order_quantity": {
            "type": [
              "integer",
              "null"
            ]
          },
          "incremental_quantity": {
            "type": "integer",
            "default": 1
          },
          "selling_price_excluding_tax": {
            "type": "number",
            "format": "double"
          }
        },
        "examples": []
      },
      "ProductPromotion": {
        "title": "ProductPromotion",
        "description": "Active promotion on a product. `null` when `on_promotion` is `false`. The `details` field uses `promotion_type` as discriminator to determine the promotion structure.",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductPromotion",
          "description": "API reference for the ProductPromotion schema"
        },
        "required": [
          "id",
          "starts_at",
          "expires_at",
          "details"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "starts_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "description": "When the promotion ends. `null` for promotions with no expiry.",
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "details": {
            "description": "Promotion rules and pricing. Use `promotion_type` to determine the structure: `discount` (percentage/flat off), `fixed-price` (override price), `volume-based` (buy X at Y price), or `free-goods` (buy X get Y free).",
            "discriminator": {
              "propertyName": "promotion_type",
              "mapping": {
                "discount": "#/components/schemas/DiscountBasedPromotion",
                "fixed-price": "#/components/schemas/FixedPricePromotion",
                "volume-based": "#/components/schemas/VolumeBasedPromotion",
                "free-goods": "#/components/schemas/FreeGoodsPromotion"
              }
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountBasedPromotion"
              },
              {
                "$ref": "#/components/schemas/FixedPricePromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodsPromotion"
              }
            ]
          }
        }
      },
      "ProductShipping": {
        "title": "ProductShipping",
        "type": [
          "object",
          "null"
        ],
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductShipping",
          "description": "API reference for the ProductShipping schema"
        },
        "required": [
          "handling_charges_including_tax",
          "handling_charges_excluding_tax",
          "tax_type",
          "tax_rate"
        ],
        "properties": {
          "handling_charges_including_tax": {
            "type": "number"
          },
          "handling_charges_excluding_tax": {
            "type": "number"
          },
          "tax_type": {
            "type": "string"
          },
          "tax_rate": {
            "type": "number"
          }
        }
      },
      "ProductSubscription": {
        "title": "ProductSubscription",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductSubscription",
          "description": "API reference for the ProductSubscription schema"
        },
        "required": [
          "id",
          "subscription_plan",
          "subscription_price",
          "billing_interval",
          "billing_frequency",
          "billing_limit",
          "fulfill_separately",
          "order_interval",
          "order_frequency",
          "order_limit",
          "minimum_quantity",
          "billing_trial_days"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "subscription_plan": {
            "type": "string"
          },
          "subscription_price": {
            "type": "number",
            "format": "double"
          },
          "billing_interval": {
            "description": "Billing interval determines the frequency for which the customer is charged for the subscription itself.",
            "type": "integer"
          },
          "billing_frequency": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly",
              "annually"
            ],
            "examples": [
              "monthly"
            ]
          },
          "billing_limit": {
            "description": "Optionally limit the number of times this subscription will invoice the customer.",
            "type": "integer"
          },
          "fulfill_separately": {
            "type": "boolean",
            "default": false
          },
          "order_interval": {
            "description": "order interval defines the frequency of when the subscription sends customers the product",
            "type": "integer"
          },
          "order_frequency": {
            "type": "string",
            "enum": [
              "weekly",
              "monthly",
              "annully"
            ],
            "examples": [
              "monthly"
            ]
          },
          "order_limit": {
            "description": "By default this is set to unlimited, meaning the subscription will fulfill indefinitely. Changing the Limit to 10 would force the subscription to end after the tenth interval had been fulfilled.",
            "type": "integer"
          },
          "minimum_quantity": {
            "description": "The quantity of the plan to which the customer should be subscribed",
            "type": "integer"
          },
          "billing_trial_days": {
            "description": "Use in digital product only for trial period",
            "type": "integer"
          }
        },
        "examples": []
      },
      "ProductType": {
        "title": "ProductType",
        "description": "Type of product",
        "type": "string",
        "enum": [
          "physical",
          "digital",
          "bundle"
        ],
        "x-tags": [
          "Catalog"
        ]
      },
      "ProductVideo": {
        "title": "ProductVideo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ProductVideo",
          "description": "API reference for the ProductVideo schema"
        },
        "required": [
          "title",
          "alternate_text",
          "sort_order",
          "video_preview_url",
          "video_stream_hls_url",
          "video_stream_dash_url",
          "image_thumbnail_url",
          "video_duration"
        ],
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "alternate_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "sort_order": {
            "type": "integer"
          },
          "video_preview_url": {
            "type": "string"
          },
          "video_stream_hls_url": {
            "type": "string"
          },
          "video_stream_dash_url": {
            "type": "string"
          },
          "image_thumbnail_url": {
            "type": "string"
          },
          "video_duration": {
            "description": "in seconds",
            "type": "integer"
          }
        },
        "examples": []
      },
      "Promotion": {
        "title": "Promotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Promotion",
          "description": "API reference for the Promotion schema"
        },
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DiscountCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeGoodCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/BuyXGetYCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/VolumeBasedCouponPromotion"
              },
              {
                "$ref": "#/components/schemas/FreeShippingCouponPromotion"
              }
            ]
          },
          {
            "type": "object",
            "required": [
              "promotion_type",
              "can_be_used_with_other_promotion"
            ],
            "properties": {
              "promotion_type": {
                "enum": [
                  "discount",
                  "free-goods",
                  "free-shipping",
                  "buy-x-get-y",
                  "volume-based"
                ]
              },
              "can_be_used_with_other_promotion": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "PromotionType": {
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/PromotionType",
          "description": "API reference for the PromotionType schema"
        },
        "enum": [
          "discount",
          "free-goods",
          "free-shipping",
          "buy-x-get-y",
          "volume-based"
        ]
      },
      "SalesChannel": {
        "title": "SalesChannel",
        "type": "object",
        "required": [
          "id",
          "name",
          "active"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "readOnly": true
          },
          "kind": {
            "type": "string",
            "enum": [
              "storefront",
              "marketplace"
            ]
          },
          "active": {
            "type": "boolean",
            "readOnly": true
          },
          "sales_channel_type": {
            "description": "Observed values: `commercengine`, `web`, `pos`.",
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sales_channel_slug": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          }
        }
      },
      "SearchProduct": {
        "title": "SearchProduct",
        "description": "Payload for searching products.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SearchProduct",
          "description": "API reference for the SearchProduct schema"
        },
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "description": "String for searching products, considers the first ten words of any given search query.",
            "type": "string"
          },
          "page": {
            "description": "To request a specific page of results.",
            "type": "integer",
            "default": 1
          },
          "limit": {
            "description": "Maximum number of records returned for a page.",
            "type": "integer",
            "default": 25
          },
          "facets": {
            "description": "provide list of attributes for specific facets or * for all facets. All attributes supported in the filter parameter are also supported here.",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filter": {
            "description": "Filter expression(s) to narrow results. Omit for no filtering.\n\n**Syntax:** `attribute OPERATOR value`\n\n**Operators:**\n\n| Operator | Description | Example |\n|---|---|---|\n| `=` | Equal to | `product_type = physical` |\n| `!=` | Not equal to | `product_type != bundle` |\n| `>`, `>=`, `<`, `<=` | Comparison | `rating > 4` |\n| `TO` | Inclusive range (`>=` AND `<=`) | `pricing.selling_price 100 TO 500` |\n| `IN [...]` | Matches any value in the list | `product_type IN [physical,bundle]` |\n| `NOT IN [...]` | Excludes all values in the list | `product_type NOT IN [physical,bundle]` |\n| `EXISTS` | Attribute is present (even if `null` or empty) | `tags EXISTS` |\n| `NOT EXISTS` | Attribute is absent | `tags NOT EXISTS` |\n| `IS NULL` | Value is `null` | `variant_id IS NULL` |\n| `IS NOT NULL` | Value is not `null` | `variant_id IS NOT NULL` |\n| `IS EMPTY` | Value is `\"\"`, `[]`, or `{}` | `tags IS EMPTY` |\n| `IS NOT EMPTY` | Value is not empty | `tags IS NOT EMPTY` |\n| `AND` | Both conditions must match | `rating > 4 AND product_type = physical` |\n| `OR` | Either condition must match | `product_type = physical OR product_type = bundle` |\n| `NOT` | Negates a condition | `NOT product_type = bundle` |\n\n**Important rules:**\n- Operators are **case-sensitive** — must be uppercase (`AND`, not `and`).\n- String value comparison is **case-insensitive** — `product_type = Physical` matches `physical`.\n- Operator precedence: `NOT` > `AND` > `OR`. Use parentheses to override.\n- String values containing whitespace must be wrapped in single quotes.\n- `IN` takes comma-separated values in square brackets.\n- Maximum array nesting depth is **2 levels**.\n\n**Supported attributes:** `product_type`, `categories.name`, `attributes.key`, `pricing.listing_price`, `pricing.selling_price`, `pricing.tax_rate`, `product_id`, `variant_id`, `product_name`, `variant_name`, `tags`, `sku`, `stock_available`, `rating`\n\n**Combining conditions:**\n- **String:** Use `AND`/`OR` operators inline — `\"rating > 4 AND product_type = physical\"`\n- **Array of strings:** Conditions are combined with AND — `[\"rating > 4\", \"product_type = physical\"]`\n- **Nested arrays:** Inner arrays express OR, outer array expresses AND — `[\"product_type = physical\", [\"product_type = bundle\", \"rating > 4\"]]`",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                }
              }
            ]
          },
          "sort": {
            "description": "Sort results by attributes. Use `asc` for ascending order and `desc` for descending order.",
            "type": "array",
            "items": {
              "type": "string"
            },
            "examples": [
              "product_type:desc",
              "product_name:asc"
            ]
          }
        }
      },
      "SellerAccountStatus": {
        "title": "SellerAccountStatus",
        "type": "string",
        "enum": [
          "pending_approval",
          "approved",
          "rejected"
        ]
      },
      "SellerBasicDetail": {
        "title": "SellerBasicDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "$ref": "#/components/schemas/SellerBusinessType"
          },
          "tax_identification_number": {
            "type": "string"
          }
        }
      },
      "SellerBusinessType": {
        "title": "SellerBusinessType",
        "type": "string",
        "enum": [
          "sole_proprietorship",
          "private_limited",
          "public_listed",
          "public_limited",
          "state_owned",
          "charity",
          "individual"
        ]
      },
      "SellerInfo": {
        "title": "SellerInfo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SellerInfo",
          "description": "API reference for the SellerInfo schema"
        },
        "required": [
          "id",
          "trade_name",
          "legal_name",
          "business_type",
          "tax_identification_number"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "trade_name": {
            "type": "string"
          },
          "legal_name": {
            "type": "string"
          },
          "business_type": {
            "type": "string"
          },
          "tax_identification_number": {
            "type": "string"
          }
        },
        "examples": []
      },
      "SellerKycStatus": {
        "title": "SellerKycStatus",
        "type": "string",
        "enum": [
          "document_pending",
          "document_submitted",
          "approved",
          "rejected"
        ]
      },
      "Seo": {
        "title": "Seo",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Seo",
          "description": "API reference for the Seo schema"
        },
        "required": [
          "title",
          "description",
          "keywords"
        ],
        "properties": {
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "keywords": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Shipment": {
        "title": "Shipment",
        "description": "Shipment on an order. Shape depends on store type: `ShipmentStandard` for B2B/B2C, `ShipmentMarketplace` when marketplace fields are present.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ShipmentStandard"
          },
          {
            "$ref": "#/components/schemas/ShipmentMarketplace"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentAction": {
        "enum": [
          "create-shipment",
          "download-invoice",
          "download-shipping-label",
          "inventory-check",
          "return-replace",
          "update-manual",
          "update-shipment",
          "cancel-shipment",
          "cancel-and-refund-shipment",
          "replace-shipment",
          "approve-shipment",
          "reject-shipment"
        ]
      },
      "ShipmentActivity": {
        "title": "ShipmentActivity",
        "type": "object",
        "required": [
          "activity_type",
          "comment",
          "status",
          "user_type",
          "user_name",
          "details",
          "created_at",
          "modified_at"
        ],
        "properties": {
          "activity_type": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          },
          "status": {
            "enum": [
              "success",
              "failed"
            ]
          },
          "user_type": {
            "type": "string"
          },
          "user_name": {
            "type": "string"
          },
          "details": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "modified_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "ShipmentBox": {
        "title": "ShipmentBox",
        "type": "object",
        "properties": {
          "box_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_weight": {
            "type": [
              "number",
              "null"
            ]
          },
          "used_space": {
            "type": [
              "number",
              "null"
            ]
          },
          "box_name": {
            "type": "string"
          },
          "box_length": {
            "type": "number"
          },
          "box_width": {
            "type": "number"
          },
          "box_height": {
            "type": "number"
          },
          "box_weight": {
            "type": "number"
          },
          "items_count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "box_count": {
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentDetail": {
        "title": "ShipmentDetail",
        "type": "object",
        "required": [
          "order_number",
          "order_date",
          "order_status",
          "sales_channel",
          "payment_status",
          "shipment_detail",
          "allowed_actions"
        ],
        "properties": {
          "order_number": {
            "type": "string"
          },
          "order_date": {
            "type": "string",
            "format": "date-time"
          },
          "order_status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          },
          "payment_status": {
            "$ref": "#/components/schemas/PaymentStatus"
          },
          "customer_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "billing_business_name": {
            "description": "Business name on the billing address. `null` for B2C orders placed without business details.",
            "type": [
              "string",
              "null"
            ]
          },
          "shipment_detail": {
            "$ref": "#/components/schemas/Shipment"
          },
          "allowed_actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentAction"
            }
          },
          "customer_id": {
            "type": "string"
          },
          "sales_channel_type": {
            "description": "Type of the sales channel, repeated flat alongside `sales_channel`.",
            "type": "string"
          }
        }
      },
      "ShipmentInfo": {
        "title": "ShipmentInfo",
        "type": "object",
        "required": [
          "order_number",
          "order_status",
          "shipment_number",
          "warehouse_id",
          "warehouse_name",
          "status",
          "total_weight",
          "total_boxes",
          "shipment_items_count",
          "shipping_estimated_cost",
          "shipping_discount_amount",
          "shipping_amount",
          "shipping_tax_rate",
          "shipping_tax_amount",
          "shipping_amount_including_tax",
          "shipping_provider_id",
          "shipping_provider_name",
          "courier_company_id",
          "courier_company_name",
          "courier_company_image_url",
          "awb_no",
          "shipping_label_url",
          "eta_delivery",
          "estimated_delivery_date",
          "promised_delivery_date",
          "shipped_date",
          "delivered_date",
          "returned_date",
          "fulfillment_type",
          "slo",
          "cancellation_reason",
          "customer_id",
          "customer_name",
          "shipping_address_line1",
          "shipping_address_line2",
          "shipping_landmark",
          "shipping_pincode",
          "shipping_city",
          "shipping_state",
          "created_at",
          "modified_at"
        ],
        "properties": {
          "order_number": {
            "type": "string"
          },
          "order_status": {
            "$ref": "#/components/schemas/OrderStatus"
          },
          "shipment_number": {
            "type": "string"
          },
          "warehouse_id": {
            "type": "string"
          },
          "warehouse_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ShipmentStatus"
          },
          "total_weight": {
            "type": "number"
          },
          "total_boxes": {
            "type": [
              "integer",
              "null"
            ]
          },
          "shipment_items_count": {
            "type": "integer"
          },
          "shipping_estimated_cost": {
            "type": "number",
            "format": "double"
          },
          "shipping_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_rate": {
            "type": "number",
            "format": "double"
          },
          "shipping_tax_amount": {
            "type": "number",
            "format": "double"
          },
          "shipping_amount_including_tax": {
            "type": "number",
            "format": "double"
          },
          "shipping_provider_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_provider_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "courier_company_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "awb_no": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_label_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "eta_delivery": {
            "type": [
              "string",
              "null"
            ]
          },
          "estimated_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "promised_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "out_for_delivery_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipped_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "delivered_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "returned_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "fulfillment_type": {
            "enum": [
              "delivery",
              "collect-in-store"
            ]
          },
          "slo": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "expected_date": {
                "type": "string",
                "format": "datetime"
              },
              "actual_date": {
                "type": "string",
                "format": "datetime"
              },
              "difference": {
                "type": "number"
              },
              "slo_status": {
                "enum": [
                  "on-time",
                  "delay",
                  "early"
                ]
              }
            }
          },
          "cancellation_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "customer_id": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "billing_business_name": {
            "description": "Business name on the billing address. `null` for B2C orders placed without business details.",
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_address_line1": {
            "type": "string"
          },
          "shipping_address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "shipping_pincode": {
            "type": "string"
          },
          "shipping_city": {
            "type": "string"
          },
          "shipping_state": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "modified_at": {
            "type": "string"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentItem": {
        "title": "ShipmentItem",
        "description": "Shipment item model",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/ShipmentItem",
          "description": "API reference for the ShipmentItem schema"
        },
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string"
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "variant_id": {
            "type": "string"
          },
          "variant_name": {
            "type": "string"
          },
          "sku": {
            "type": "string"
          },
          "quantity": {
            "type": "integer"
          },
          "free_quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          }
        }
      },
      "ShipmentItemStandard": {
        "title": "ShipmentItemStandard",
        "description": "Line item on a shipment for B2B/B2C stores (no marketplace seller metadata).",
        "type": "object",
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "readOnly": true
          },
          "variant_id": {
            "description": "`null` for products without variants.",
            "type": [
              "string",
              "null"
            ]
          },
          "variant_name": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "product_image_url": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true
          },
          "sku": {
            "type": "string",
            "readOnly": true
          },
          "quantity": {
            "type": "integer"
          },
          "is_free_item": {
            "type": "boolean"
          },
          "free_quantity": {
            "type": "integer"
          },
          "seller_detail": {
            "type": [
              "object",
              "null"
            ]
          },
          "selling_price": {
            "type": "number",
            "format": "double"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentList": {
        "title": "ShipmentList",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "order_number": {
                "type": "string"
              },
              "sales_channel": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  }
                }
              },
              "reference_number": {
                "type": "string"
              },
              "sub_total": {
                "type": "number",
                "format": "double"
              },
              "sub_total_including_tax": {
                "type": "number",
                "format": "double"
              },
              "grand_total": {
                "type": "number",
                "format": "double"
              },
              "coupon_discount_amount": {
                "type": "number",
                "format": "double"
              },
              "promotion_discount_amount": {
                "type": "number",
                "format": "double"
              },
              "loyalty_point_redeemed": {
                "type": "number",
                "format": "double"
              },
              "seller_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "marketplace_listing": {
                "type": "array"
              },
              "packing": {
                "description": "Per-box packing summary. Empty until packing is assigned.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShipmentBox"
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentInfo"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentMarketplace": {
        "title": "ShipmentMarketplace",
        "description": "Shipment payload for marketplace stores, including seller and order amount breakdown fields.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentInfo"
          },
          {
            "type": "object",
            "properties": {
              "shipment_items": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AdminShipmentItem"
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AdminShipmentItem"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "is_free_item": {
                              "type": "boolean",
                              "readOnly": true
                            },
                            "selling_price_excluding_tax": {
                              "type": "number",
                              "format": "double",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "is_free_item"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentMarketplaceFields"
          },
          {
            "$ref": "#/components/schemas/ShipmentPackingAndProgression"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentMarketplaceFields": {
        "title": "ShipmentMarketplaceFields",
        "description": "Shipment fields returned for marketplace stores only.",
        "type": "object",
        "properties": {
          "reference_number": {
            "type": "string"
          },
          "sub_total": {
            "type": "number",
            "format": "double"
          },
          "sub_total_including_tax": {
            "type": "number",
            "format": "double"
          },
          "grand_total": {
            "type": "number",
            "format": "double"
          },
          "coupon_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "promotion_discount_amount": {
            "type": "number",
            "format": "double"
          },
          "loyalty_point_redeemed": {
            "type": "number",
            "format": "double"
          },
          "seller_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_detail": {
            "type": [
              "object",
              "null"
            ]
          },
          "marketplace_listing": {
            "type": "array"
          },
          "sales_channel": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "type"
            ]
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentPackingAndProgression": {
        "title": "ShipmentPackingAndProgression",
        "type": "object",
        "properties": {
          "packing": {
            "description": "Per-box packing summary. Empty until packing is assigned.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentBox"
            }
          },
          "progression": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShipmentProgression"
            }
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentProgression": {
        "title": "ShipmentProgression",
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ShipmentProgressionStatus"
          },
          "is_current": {
            "type": "boolean",
            "readOnly": true
          },
          "is_completed": {
            "type": "boolean",
            "readOnly": true
          },
          "completion_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        },
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentProgressionStatus": {
        "title": "ShipmentProgressionStatus",
        "description": "Milestone on a shipment's fixed four-step progression ladder. Display labels, not `ShipmentStatus` values: every shipment carries all four in this order, and `is_completed` / `is_current` say where it has reached.",
        "type": "string",
        "enum": [
          "Created",
          "Packed",
          "Shipped",
          "Delivered"
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentStandard": {
        "title": "ShipmentStandard",
        "description": "Shipment payload for B2B/B2C stores without marketplace-only fields.",
        "allOf": [
          {
            "$ref": "#/components/schemas/ShipmentInfo"
          },
          {
            "type": "object",
            "properties": {
              "shipment_items": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ShipmentItemStandard"
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ShipmentItemStandard"
                        },
                        {
                          "type": "object",
                          "properties": {
                            "is_free_item": {
                              "type": "boolean",
                              "readOnly": true
                            },
                            "selling_price_excluding_tax": {
                              "type": "number",
                              "format": "double",
                              "readOnly": true
                            }
                          },
                          "required": [
                            "is_free_item"
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          {
            "$ref": "#/components/schemas/ShipmentPackingAndProgression"
          }
        ],
        "x-tags": [
          "Shipping"
        ]
      },
      "ShipmentStatus": {
        "enum": [
          "unscheduled",
          "schedule_requested",
          "scheduled",
          "packed",
          "created",
          "shipped",
          "in_transit",
          "out_for_delivery",
          "delivery_attempted",
          "undelivered",
          "return_to_origin",
          "delivered",
          "cancelled",
          "lost",
          "sent_to_store",
          "processing",
          "ready_to_collect",
          "store_rejected"
        ]
      },
      "SingleSelectAttribute": {
        "title": "SingleSelectAttribute",
        "description": "Attribute for single-select values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SingleSelectAttribute",
          "description": "API reference for the SingleSelectAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "single-select"
          },
          "value": {
            "description": "For single-select attributes",
            "type": "string"
          }
        }
      },
      "SingleSelectOption": {
        "title": "SingleSelectOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/SingleSelectOption",
          "description": "API reference for the SingleSelectOption schema"
        },
        "required": [
          "name",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the associated option.",
            "type": "string"
          },
          "type": {
            "description": "The type of the associated option.",
            "const": "single-select"
          },
          "value": {
            "description": "The value of the associated option",
            "type": "string"
          }
        }
      },
      "TextAttribute": {
        "title": "TextAttribute",
        "description": "Attribute for text values",
        "type": "object",
        "readOnly": true,
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/TextAttribute",
          "description": "API reference for the TextAttribute schema"
        },
        "required": [
          "id",
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "example": "text"
          },
          "value": {
            "description": "For text attributes",
            "type": "string"
          }
        }
      },
      "UpdateCartItem": {
        "title": "UpdateCartItem",
        "description": "Schema for updating a cart item, including adding, removing, or adjusting the quantity of a product or variant.",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/UpdateCartItem",
          "description": "API reference for the UpdateCartItem schema"
        },
        "required": [
          "product_id",
          "variant_id",
          "quantity"
        ],
        "properties": {
          "product_id": {
            "description": "The ID of the product to update in the cart.",
            "type": "string",
            "examples": [
              "01H9XYZ12345ABCDE"
            ]
          },
          "variant_id": {
            "description": "The ID of the product variant, or null if the product has no variants.",
            "type": [
              "string",
              "null"
            ],
            "examples": [
              null
            ]
          },
          "quantity": {
            "description": "The quantity of the product to add to or update in the cart. Use `0` to remove the item from the cart.",
            "type": "integer",
            "examples": [
              1
            ],
            "minimum": 0
          }
        }
      },
      "UpiPayment": {
        "title": "UpiPayment",
        "description": "UPI Payment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/UpiPayment",
          "description": "API reference for the UpiPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "upi_id": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Variant": {
        "title": "ProductVariant",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/Variant",
          "description": "API reference for the Variant schema"
        },
        "required": [
          "id",
          "product_id",
          "sku",
          "slug",
          "name",
          "product_name",
          "short_description",
          "active",
          "stock_available",
          "on_promotion",
          "on_subscription",
          "is_default",
          "associated_options",
          "images",
          "videos",
          "pricing",
          "subscription",
          "promotion"
        ],
        "properties": {
          "id": {
            "description": "variant id",
            "type": "string"
          },
          "product_id": {
            "description": "product id",
            "type": "string"
          },
          "sku": {
            "description": "variant sku",
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "description": "variant name",
            "type": "string"
          },
          "product_name": {
            "description": "variant name",
            "type": "string"
          },
          "short_description": {
            "type": [
              "string",
              "null"
            ]
          },
          "active": {
            "type": "boolean",
            "readOnly": true
          },
          "stock_available": {
            "type": "boolean",
            "readOnly": true
          },
          "backorder": {
            "description": "Indicates whether the item is being fulfilled as a backorder. When true, the item is not currently in stock and will ship later once inventory is available. This may result in the order being split into multiple shipments, with delays for the backordered portion.",
            "type": "boolean"
          },
          "on_promotion": {
            "type": "boolean",
            "readOnly": true
          },
          "on_subscription": {
            "type": "boolean",
            "readOnly": true
          },
          "is_default": {
            "description": "Indicates whether a variant is marked as the default variant for a product",
            "type": "boolean",
            "readOnly": true
          },
          "associated_options": {
            "description": "This object contains multiple dynamic keys. Each key is a string derived from the attribute key, and the value is an object of the type `AssociatedOption`.",
            "$ref": "#/components/schemas/AssociatedOption"
          },
          "images": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductImage"
            }
          },
          "videos": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductVideo"
            }
          },
          "pricing": {
            "$ref": "#/components/schemas/ProductPricing"
          },
          "subscription": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductSubscription"
            }
          },
          "promotion": {
            "$ref": "#/components/schemas/ProductPromotion"
          },
          "inventory": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LotBatchDetail"
            }
          }
        },
        "examples": []
      },
      "VariantDetail": {
        "title": "VariantDetail",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VariantDetail",
          "description": "API reference for the VariantDetail schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/Variant"
          },
          {
            "type": "object",
            "required": [
              "product_type",
              "description",
              "category_ids",
              "tags",
              "reviews_rating_sum",
              "reviews_count",
              "hsn_code",
              "variant_options",
              "product_attributes",
              "variant_attributes",
              "shipping",
              "seo",
              "metadata"
            ],
            "properties": {
              "product_type": {
                "type": "string",
                "enum": [
                  "physical",
                  "digital",
                  "bundle"
                ],
                "examples": [
                  "physical"
                ]
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "category_ids": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "readOnly": true
              },
              "tags": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "string"
                },
                "readOnly": true
              },
              "reviews_rating_sum": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "reviews_count": {
                "type": "integer"
              },
              "hsn_code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "variant_options": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/VariantOption"
                }
              },
              "product_attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductAttribute"
                }
              },
              "variant_attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ProductAttribute"
                }
              },
              "shipping": {
                "$ref": "#/components/schemas/ProductShipping"
              },
              "seo": {
                "$ref": "#/components/schemas/Seo"
              },
              "metadata": {
                "type": [
                  "object",
                  "null"
                ],
                "additionalProperties": {
                  "type": "string"
                }
              }
            }
          }
        ],
        "examples": []
      },
      "VariantOption": {
        "title": "VariantOption",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VariantOption",
          "description": "API reference for the VariantOption schema"
        },
        "required": [
          "name",
          "key",
          "type",
          "value"
        ],
        "properties": {
          "name": {
            "description": "The name of the associated option.",
            "type": "string"
          },
          "key": {
            "description": "A lookup safe version of the name that is lowercased and spaces are replaced with underscores. For instance, if name is `Product Type`, key will be `product_type`",
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "single-select",
              "color"
            ]
          },
          "value": {
            "description": "When option_type is color, value will contain an array of objects like:\n```json\n[\n    {\n    \"name\": \"first_color\",\n    \"hexcode\": \"#000000\"\n    },\n    {\n    \"name\": \"second_color\",\n    \"hexcode\": \"#FFFFFF\"\n    }\n]\n```",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "object"
                }
              ]
            }
          }
        }
      },
      "VolumeBasedCouponPromotion": {
        "title": "VolumeBasedCouponPromotion",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedCouponPromotion",
          "description": "API reference for the VolumeBasedCouponPromotion schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/CouponPromotionCommonDetail"
          },
          {
            "type": "object",
            "required": [
              "details",
              "applies_to_product"
            ],
            "properties": {
              "details": {
                "$ref": "#/components/schemas/VolumeBasedRule"
              },
              "applies_to_product": {
                "enum": [
                  "product"
                ]
              }
            }
          }
        ]
      },
      "VolumeBasedPromotion": {
        "title": "VolumeBasedPromotion",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedPromotion",
          "description": "API reference for the VolumeBasedPromotion schema"
        },
        "required": [
          "promotion_type",
          "slabs"
        ],
        "properties": {
          "promotion_type": {
            "type": "string",
            "enum": [
              "discount",
              "volume-based",
              "fixed-price",
              "free-goods"
            ],
            "const": "volume-based",
            "readOnly": true
          },
          "slabs": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "quantity",
                "quantity_condition",
                "discount_percent"
              ],
              "properties": {
                "quantity": {
                  "type": "integer"
                },
                "quantity_condition": {
                  "description": "This key defines how the system will evaluate the quantity to determine if the promotion should be applied, based on the specified slab.",
                  "enum": [
                    "less",
                    "less-or-equal",
                    "greater",
                    "greater-or-equal"
                  ]
                },
                "discount_percent": {
                  "type": "number"
                }
              }
            }
          }
        }
      },
      "VolumeBasedRule": {
        "title": "VolumeBasedRule",
        "type": "object",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/VolumeBasedRule",
          "description": "API reference for the VolumeBasedRule schema"
        },
        "required": [
          "products",
          "maximum_discount_amount"
        ],
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "product_id",
                "variant_id",
                "slabs"
              ],
              "properties": {
                "product_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "variant_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "slabs": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "quantity",
                      "condition",
                      "discount_percent"
                    ],
                    "properties": {
                      "quantity": {
                        "type": "integer"
                      },
                      "condition": {
                        "enum": [
                          "less-or-equal",
                          "greater"
                        ]
                      },
                      "discount_percent": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          },
          "maximum_discount_amount": {
            "type": [
              "number",
              "null"
            ]
          }
        }
      },
      "WalletPayment": {
        "title": "WalletPayment",
        "externalDocs": {
          "url": "https://llm-docs.commercengine.io/storefront/schemas/WalletPayment",
          "description": "API reference for the WalletPayment schema"
        },
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentInfo"
          },
          {
            "type": "object",
            "properties": {
              "wallet_name": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Warehouse": {
        "title": "Warehouse",
        "description": "Validations:\n\n1) Either 'can_receive_stock' or 'accepts_returns' must be set to true.\n2) 'can_receive_stock' cannot be set to false while the warehouse has existing inventory.\n3) 'is_checkout_point' must be true when the warehouse type is 'retail-store'.\n4) If 'can_receive_stock' is false then 'can_ship_parcel' and 'can_collect' fields should be false.",
        "type": "object",
        "required": [
          "name",
          "warehouse_type",
          "city",
          "address_line1",
          "pincode",
          "state",
          "country",
          "contact_phone",
          "contact_email",
          "can_receive_stock",
          "can_ship_parcel",
          "can_collect",
          "is_checkout_point",
          "accepts_returns"
        ],
        "properties": {
          "id": {
            "description": "warehouse id",
            "type": "string",
            "readOnly": true
          },
          "name": {
            "description": "legal name",
            "type": "string"
          },
          "warehouse_type": {
            "enum": [
              "retail-store",
              "distribution-center"
            ]
          },
          "active": {
            "type": "boolean",
            "default": true
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": "string"
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": "string"
          },
          "country_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_phone": {
            "description": "10 digit number without country code.",
            "type": [
              "string",
              "null"
            ]
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          },
          "image_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "seller_warehouse_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "can_receive_stock": {
            "type": "boolean"
          },
          "can_ship_parcel": {
            "type": "boolean"
          },
          "can_collect": {
            "type": "boolean"
          },
          "is_checkout_point": {
            "description": "this field will be always true for warehouse_type = retail-store.",
            "type": "boolean"
          },
          "accepts_returns": {
            "type": "boolean"
          },
          "opening_hours": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OpeningHours"
              },
              {
                "type": "null"
              }
            ]
          },
          "channels": {
            "description": "channels associated with the warehouse",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WarehouseSalesChannel"
            },
            "readOnly": true
          }
        }
      },
      "WarehouseBasicDetail": {
        "title": "WarehouseBasicDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line1": {
            "type": [
              "string",
              "null"
            ]
          },
          "pincode": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "gstin": {
            "type": [
              "string",
              "null"
            ]
          },
          "address_line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "landmark": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "contact_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_default": {
            "type": "boolean"
          }
        },
        "x-tags": [
          "Catalog"
        ]
      },
      "WarehouseSalesChannel": {
        "title": "WarehouseSalesChannel",
        "allOf": [
          {
            "$ref": "#/components/schemas/SalesChannel"
          },
          {
            "type": "object",
            "properties": {
              "channel_type": {
                "description": "Observed values: `web`, `pos`, `internal`.",
                "type": "string"
              },
              "is_default": {
                "type": "boolean"
              },
              "domain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "app_platform": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "external_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "pos_vendor": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "store_id": {
                "type": "string"
              },
              "store_name": {
                "type": "string"
              },
              "marketplace_id": {
                "description": "Set only when `kind` is `marketplace`.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "marketplace": {
                "description": "`null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "slug": {
                        "type": "string"
                      },
                      "marketplace_type": {
                        "type": "string"
                      },
                      "store_id": {
                        "description": "The marketplace operator's store.",
                        "type": "string"
                      },
                      "sync_products": {
                        "type": "boolean"
                      },
                      "sync_inventory": {
                        "type": "boolean"
                      },
                      "sync_orders": {
                        "type": "boolean"
                      },
                      "required_credentials_params": {
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "created_at": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "modified_at": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "seller_account": {
                "description": "This store's seller account on the marketplace. `null` unless `kind` is `marketplace`.",
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/AdminSellerInfo"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "marketplace_id": {
                            "type": "string"
                          },
                          "marketplace_name": {
                            "type": "string"
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            }
          }
        ],
        "x-tags": [
          "Store"
        ]
      },
      "WarehouseWiseInventory": {
        "title": "WarehouseWiseInventory",
        "type": "object",
        "properties": {
          "lot_batch": {
            "type": [
              "string",
              "null"
            ]
          },
          "mfg_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "exp_date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "manufacturer": {
            "type": [
              "string",
              "null"
            ]
          },
          "warehouse_id": {
            "type": "string"
          },
          "warehouse": {
            "$ref": "#/components/schemas/WarehouseBasicDetail"
          },
          "received_quantity": {
            "type": "integer"
          },
          "reserved_quantity": {
            "type": "integer"
          },
          "sold_quantity": {
            "type": "integer"
          },
          "adjusted_quantity": {
            "type": "integer"
          },
          "stock_quantity": {
            "type": "integer"
          }
        },
        "x-tags": [
          "Catalog"
        ]
      }
    },
    "parameters": {
      "columnBasedFilters": {
        "name": "filters",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "example": "{\"condition\":\"AND\",\"filters\":[{\"type\":\"data\",\"field\":\"status\",\"operator\":\"equals\",\"value\":\"success\"}]}"
        },
        "description": "JSON object"
      },
      "CustomerGroupId": {
        "name": "x-customer-group-id",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string"
        },
        "description": "This param is used to determine product pricing, promotions, and subscription rates.  If a valid customer group id is provided, pricing details will be retrieved accordingly.  If no matching data is found for the specified customer group id, the system will fall back to the default customer group id.  If no data is found for the default group either, the highest applicable price will be returned."
      },
      "dataView": {
        "name": "view",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "enum": [
            "warehouse"
          ]
        },
        "description": "view to be used to display the data"
      },
      "DebugMode": {
        "name": "x-debug-mode",
        "in": "header",
        "required": false,
        "schema": {
          "type": "boolean"
        },
        "description": "This param is used to enable debug mode. If debug mode is enabled, the API will return OTP as well. This is only for development and testing purposes."
      },
      "pageLimit": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 25,
          "minimum": 1
        },
        "description": "no of rows per page"
      },
      "pageLimitParam": {
        "name": "limit",
        "in": "query",
        "description": "Number of results per page.",
        "required": false,
        "schema": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1
        }
      },
      "pageNumber": {
        "name": "page",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "default": 1,
          "minimum": 1
        },
        "description": "page number of pagination list"
      },
      "pageParam": {
        "name": "page",
        "in": "query",
        "description": "page number of pagination list",
        "required": false,
        "schema": {
          "type": "number",
          "minimum": 1
        }
      },
      "searchKeyword": {
        "name": "search",
        "in": "query",
        "description": "search keyword",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "sortByOptions": {
        "name": "sort_by",
        "in": "query",
        "required": false,
        "schema": {
          "description": "json string in format {'field_name':'asc', 'other_field_name':'desc', ...}",
          "type": "string"
        },
        "description": "JSON string format: {\"field1\":\"asc\", \"field2\":\"desc\"}"
      },
      "sortingParam": {
        "name": "sort_by",
        "in": "query",
        "description": "JSON string format: {\"field1\":\"asc\", \"field2\":\"desc\"}",
        "required": false,
        "schema": {
          "description": "json string in format {'field_name':'asc', 'other_field_name':'desc', ...}",
          "type": "string",
          "examples": [
            "{\"country\":\"asc\",\"city\":\"asc\",\"population\":\"desc\"}"
          ]
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "message",
                "success",
                "code"
              ],
              "properties": {
                "message": {
                  "type": "string",
                  "x-speakeasy-error-message": true
                },
                "success": {
                  "type": "boolean"
                },
                "code": {
                  "type": "string"
                },
                "errors": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "Requested resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "message",
                "success",
                "code"
              ],
              "properties": {
                "message": {
                  "type": "string",
                  "x-speakeasy-error-message": true
                },
                "success": {
                  "type": "boolean"
                },
                "code": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Not authorized for given operation on the Resource",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "message",
                "success",
                "code"
              ],
              "properties": {
                "message": {
                  "type": "string",
                  "examples": [
                    "Not authorized for given operation on the Resource."
                  ],
                  "x-speakeasy-error-message": true
                },
                "success": {
                  "type": "boolean",
                  "default": false
                },
                "code": {
                  "type": "string",
                  "examples": [
                    "unauthorized"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "Authorization": {
        "type": "http",
        "description": "Access token",
        "scheme": "bearer"
      },
      "X-Api-Key": {
        "type": "apiKey",
        "description": "API key for your store",
        "name": "X-Api-Key",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Authorization": []
    }
  ]
}