{
  "kind": "collectionType",
  "collectionName": "shipping_rates",
  "info": {
    "singularName": "shipping-rate",
    "pluralName": "shipping-rates",
    "displayName": "Shipping Rate",
    "description": "Shipping rates based on weight, price, or quantity"
  },
  "options": {
    "draftAndPublish": false
  },
  "pluginOptions": {
    "content-manager": {
      "visible": true
    },
    "content-api": {
      "visible": true
    }
  },
  "attributes": {
    "name": {
      "type": "string",
      "required": true,
      "description": "Rate name for admin reference"
    },
    "condition_type": {
      "type": "enumeration",
      "enum": ["weight", "price", "quantity", "volume", "dimension"],
      "required": true,
      "description": "What the rate is based on"
    },
    "min_value": {
      "type": "decimal",
      "required": true,
      "min": 0,
      "description": "Minimum value for this rate tier"
    },
    "max_value": {
      "type": "decimal",
      "required": false,
      "min": 0,
      "description": "Maximum value for this rate tier (null for unlimited)"
    },
    "rate": {
      "type": "decimal",
      "required": true,
      "min": 0,
      "description": "Shipping cost for this tier"
    },
    "currency": {
      "type": "string",
      "required": true,
      "default": "USD"
    },
    "shippingMethod": {
      "type": "relation",
      "relation": "manyToOne",
      "target": "plugin::webbycommerce.shipping-method",
      "required": false
    },
    "is_active": {
      "type": "boolean",
      "default": true,
      "required": true
    },
    "sort_order": {
      "type": "integer",
      "default": 0,
      "required": false
    }
  }
}