{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api.wm.com/schemas/service.json", "title": "Waste Management Service", "description": "Schema for a Waste Management service record associated with a customer account, covering collection type, materials, equipment, and pricing.", "type": "object", "required": ["serviceId", "status", "lineOfBusiness", "serviceName"], "properties": { "serviceId": { "type": "string", "description": "Unique identifier for the service." }, "status": { "type": "string", "enum": ["Active", "Suspended", "Cancelled"], "description": "Current status of the service." }, "occurrenceFrequency": { "type": "string", "description": "Service pickup frequency (e.g., Weekly, Bi-Weekly, Monthly)." }, "lineOfBusiness": { "type": "string", "enum": ["RESIDENTIAL", "COMMERCIAL", "ROLLOFF"], "description": "Line of business this service belongs to." }, "serviceName": { "type": "string", "description": "Human-readable name of the service." }, "material": { "type": "object", "description": "Hauling material details for this service.", "properties": { "materialCode": { "type": "string", "description": "Short code identifying the material type." }, "materialName": { "type": "string", "description": "Full name of the material (e.g., Municipal Solid Waste)." }, "specialHandling": { "type": "boolean", "description": "Whether this material requires special handling procedures." } } }, "equipment": { "type": "object", "description": "Container and equipment details for this service.", "properties": { "equipmentName": { "type": "string", "description": "Name of the equipment (e.g., 96 Gallon Cart)." }, "volume": { "type": "number", "description": "Container volume." }, "unitOfMeasure": { "type": "string", "description": "Unit for the volume (e.g., gallon, cubic yard)." }, "containerCount": { "type": "integer", "minimum": 1, "description": "Number of containers for this service." } } }, "pricing": { "type": "object", "description": "Pricing information for this service.", "properties": { "monthlyBaseCost": { "type": "number", "description": "Monthly base cost before fees and surcharges." }, "currency": { "type": "string", "default": "USD", "description": "Currency code for pricing (ISO 4217)." } } } } }