{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://poseidat.org/schema/core/measurement/scale.json",
  "title": "Scale",
  "description": "A scale measurement that can be used in an entry",
  "properties": {
    "haul_date_start": {
      "description": "The datetime the haul started in UTC",
      "type": "string",
      "format": "date-time"
    },
    "haul_date_end": {
      "description": "The datetime the haul ended in UTC",
      "type": "string",
      "format": "date-time"
    },
    "haul_number": {
      "description": "The number of the haul the product was caught in",
      "type": "number"
    },
    "weight": {
      "description": "The weight of the product",
      "type": "number"
    },
    "category": {
      "description": "The category of the scaled product",
      "$ref": "https://poseidat.org/schema/enum/scale-category.json"
    },
    "product": {
      "description": "The type of the product, e.g. a type of fish",
      "type": "string",
      "maxLength": 3,
      "minLength": 3,
      "pattern": "^([A-Z]{3})$"
    },
    "processed": {
      "description": "Details of caught fish after it has been processed",
      "$ref": "https://poseidat.org/schema/core/fishing-catch-processed.json"
    }
  },
  "required": [
    "haul_number",
    "weight",
    "category",
    "product"
  ],
  "type": "object",
  "additionalProperties": false
}
