{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-structure/public-api-additional-charge-structure.json", "name": "AdditionalCharge", "description": "Additional charge to apply. Exactly one of either flatCharge or percentageCharge should be provided.", "type": "object", "properties": { "chargeType": { "type": "string", "description": "The type of the additional charge.", "enum": [ "PACKAGING_CHARGE", "CONTAINER_DEPOSIT" ], "example": "PACKAGING_CHARGE" }, "flatCharge": { "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-money-schema.json" }, "percentageCharge": { "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-percentage-value-schema.json" }, "unitPriceAndCount": { "$ref": "https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/json-schema/public-api-unit-price-and-count-schema.json" } }, "required": [ "chargeType" ] }