{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://publicschema.org/AnimalMovement.schema.json",
  "title": "AnimalMovement",
  "description": "The transfer of one or more animals from an origin facility to a destination facility, possibly through transit facilities, recorded as one event. A movement alone does not establish a residence period or a change of keeper or owner.",
  "type": "object",
  "properties": {
    "identifiers": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "https://publicschema.org/Identifier.schema.json"
          },
          {
            "type": "string",
            "description": "URI or identifier reference"
          }
        ],
        "description": "Identifiers carried by this entity, such as national ID numbers, program IDs, or identifiers asserted by an identity document."
      }
    },
    "moved_animals": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "https://publicschema.org/IndividualAnimal.schema.json"
          },
          {
            "type": "string",
            "description": "URI or identifier reference"
          }
        ],
        "description": "Individually identified animals known to have moved. The list can be incomplete; members of the source group are not added without evidence that they moved."
      }
    },
    "movement_source_group": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/AnimalGroup.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The animal group from which the moved animals came. It does not mean that the whole group or every known member moved."
    },
    "moved_animal_count": {
      "type": "integer",
      "description": "The number of animals dispatched in the movement, including animals that are not individually identified. It is not an observation of the source group's size and does not determine that group's remaining inventory.",
      "minimum": 1
    },
    "movement_origin_site": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/agri/AgriculturalFacility.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The agricultural facility from which the animals departed. A holding's economic identity or an owner's or keeper's address does not identify the departure premises."
    },
    "movement_destination_site": {
      "oneOf": [
        {
          "$ref": "https://publicschema.org/agri/AgriculturalFacility.schema.json"
        },
        {
          "type": "string",
          "description": "URI or identifier reference"
        }
      ],
      "description": "The agricultural facility to which the animals moved. Arrival does not by itself establish a residence period or a change of responsibility."
    },
    "movement_transit_sites": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "https://publicschema.org/agri/AgriculturalFacility.schema.json"
          },
          {
            "type": "string",
            "description": "URI or identifier reference"
          }
        ],
        "description": "Agricultural facilities through which the animals passed during the movement, in no stated order. They do not assert arrival dates or residence periods."
      }
    },
    "movement_departure_date": {
      "type": "string",
      "format": "date",
      "description": "The date on which the animals left the origin facility, distinct from the time the movement was recorded."
    },
    "movement_arrival_date": {
      "type": "string",
      "format": "date",
      "description": "The date on which the animals arrived at the destination facility."
    },
    "recorded_at": {
      "type": "string",
      "format": "date-time",
      "description": "The date and time the statement or event was entered into its source record. It can differ from when the fact took effect."
    }
  }
}
