View on GitHub

easitrace

« Back to Contents

Movement Services | NAIT

Overview

NAIT (National Animal Identification and Tracing) is New Zealand’s livestock identification and tracing system for cattle and deer. The NAIT service implementation provides comprehensive support for animal registration, movement tracking, tag replacement, and death reporting across New Zealand farming properties.

Property Value
Service ID 097300bb-790d-4452-85b8-de642b20a984
Service Tag NAIT
Countries New Zealand
Property Types Farm
Supported Species Cattle, Deer
Property Identifier NAIT Location Number
Credentials Required Service Provider Username & Password

Transaction Types & Capabilities

The NAIT service supports the following transaction types and operations:

Transaction Type Create Update Delete Description
Movement (MoveOff) Animal movement OUT - sending animals from a property
Movement (MoveOn) Animal movement IN - receiving animals at a property
Register Initial animal registration with the NAIT system
Retag - Tag replacement for existing animals
Death Animal death reporting

Field Keys Namespace Reference: All field keys referenced in this document use the full namespace prefix NAIT.Domain.FieldName for clarity and consistency with the codebase.


Field Keys Explanation

Field keys are used to identify and access specific data fields within transactions. They are referenced using the namespace format: NAIT.Movement.Sending.Date, NAIT.Death.IsSlaughter, etc.

Field Key Categories

  1. Movement Fields - Identifiers for animal movement operations (sending and receiving locations, dates)
  2. Register Fields - Identifiers for animal registration (birthplace, production type, import/export)
  3. Retag Fields - Identifiers for tag replacement operations
  4. Death Fields - Identifiers for animal death reporting (slaughter status, disposal method)

Common Field Key Patterns


Movement - MOV-OFF (Sending Animals)

Capability: Sending animals OUT from a property to another location

Transaction Fields

Field Key Type Required Description Example
NAIT.Movement.Sending.Location NAIT Number Optional Sending NAIT location number (defaults to property identifier) 123456
NAIT.Movement.Receiving.Location NAIT Number Yes Receiving NAIT location number (destination) 987654
NAIT.Movement.Sending.Date DateTime Optional Date animals sent (defaults to transaction date) 2024-01-15T09:00:00+12:00
NAIT.Movement.PreviousDateSent DateTime Update Only Previous date sent (for updates) 2024-01-14T09:00:00+12:00
NAIT.Movement.UpdatedDateSent DateTime Update Only Updated date sent (for updates) 2024-01-15T10:00:00+12:00
NAIT.Movement.NaitTransactionIdentifier String Update/Delete Only NAIT transaction ID for tracking txn-12345-abcde

Animal Identifiers

Each animal in a MoveOff transaction must have:

JSON Request Example - Create

{
  "transactionType": "MOV-OFF",
  "transactionDate": "2024-01-15T09:00:00+12:00",
  "propertyIdentifier": "123456",
  "speciesCode": "C",
  "fields": {
    "NAIT.Movement.Receiving.Location": "987654",
    "NAIT.Movement.Sending.Date": "2024-01-15T09:00:00+12:00"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ123456/001/24"
    },
    {
      "rfid": "826 0543210 00601",
      "visualTag": "NZ123456/003/24"
    }
  ]
}

JSON Request Example - Update

{
  "transactionType": "UPDATEMOV-OFF",
  "transactionDate": "2024-01-15T10:30:00+12:00",
  "propertyIdentifier": "123456",
  "speciesCode": "C",
  "fields": {
    "NAIT.Movement.NaitTransactionIdentifier": "txn-12345-abcde",
    "NAIT.Movement.PreviousDateSent": "2024-01-15T09:00:00+12:00",
    "NAIT.Movement.UpdatedDateSent": "2024-01-15T10:30:00+12:00",
    "NAIT.Movement.Receiving.Location": "987654"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ123456/001/24"
    }
  ]
}

Movement - MOV-ON (Receiving Animals)

Capability: Receiving animals INTO a property from another location

Transaction Fields

Field Key Type Required Description Example
NAIT.Movement.Sending.Location NAIT Number Yes Sending NAIT location number (origin) 123456
NAIT.Movement.Receiving.Location NAIT Number Optional Receiving NAIT location number (defaults to property identifier) 987654
NAIT.Movement.Receiving.Date DateTime Optional Date animals received (defaults to transaction date) 2024-01-15T14:00:00+12:00
NAIT.Movement.PreviousDateReceived DateTime Update Only Previous date received (for updates) 2024-01-15T13:00:00+12:00
NAIT.Movement.UpdatedDateReceived DateTime Update Only Updated date received (for updates) 2024-01-15T14:30:00+12:00
NAIT.Movement.NaitTransactionIdentifier String Update/Delete Only NAIT transaction ID for tracking txn-67890-fghij

JSON Request Example - Create

{
  "transactionType": "MOV-ON",
  "transactionDate": "2024-01-15T14:00:00+12:00",
  "propertyIdentifier": "987654",
  "speciesCode": "D",
  "fields": {
    "NAIT.Movement.Sending.Location": "123456",
    "NAIT.Movement.Receiving.Date": "2024-01-15T14:00:00+12:00"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ123456/001/24"
    },
    {
      "rfid": "826 0543210 00601",
      "visualTag": "NZ123456/003/24"
    }
  ]
}

Register REG - (Animal Registration)

Capability: Initial registration of animals into the NAIT system

Transaction Fields

Field Key Type Required Species Description Example
NAIT.Register.BirthplaceLocation NAIT Number Optional Both NAIT number of birthplace location 111111
NAIT.Register.ProductionType Enumeration Yes Cattle Cattle: Beef, Dairy B or D
NAIT.Register.ProductionType Enumeration Yes Deer Deer: Venison, Breeding V or BR
NAIT.Register.Import.Origin Country Code Optional Both Country of origin (ISO 3-letter code) AUS, USA
NAIT.Register.Import.Date DateTime Optional Both Import date if animal imported 2024-01-01
NAIT.Register.Export.DestinationCountry Country Code Optional Both Export destination country AUS
NAIT.Register.Export.Date DateTime Optional Both Export date 2024-06-01
NAIT.Register.MissingDate DateTime Optional Both Date animal went missing 2024-03-15
NAIT.Register.FoundDate DateTime Optional Both Date missing animal was found 2024-03-20

Additional Animal Attributes

Beyond the transaction fields, each registered animal includes:

JSON Request Example - Create (Cattle)

{
  "transactionType": "REG",
  "transactionDate": "2024-01-15T09:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "C",
  "fields": {
    "NAIT.Register.BirthplaceLocation": "111111",
    "NAIT.Register.ProductionType": "D",
    "NAIT.Register.Import.Date": "2024-01-01",
    "NAIT.Register.Import.Origin": "AUS"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24",
      "birthDate": "2024-01-01T00:00:00",
      "breedCode": "HF",
      "sexCode": "f",
      "damOfficialId": "826 0543210 D001",
      "sireOfficialId": "826 0543210 S001"
    }
  ]
}

JSON Request Example - Create (Deer)

{
  "transactionDate": "2024-01-15T09:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "D",
  "fields": {
    "NAIT.Register.BirthplaceLocation": "111111",
    "NAIT.Register.ProductionType": "V"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24",
      "birthDate": "2024-01-01T00:00:00",
      "breedCode": "RD",
      "sexCode": "m"
    }
  ]
}

Retag RET (Tag Replacement)

Capability: Replace an existing RFID tag with a new one

Transaction Fields

Field Key Type Required Description Valid Values Example
NAIT.Retag.Reason Enumeration Yes Reason for tag replacement TL (Tag Lost), TD (Tag Damaged), WR (Wrong Tag Registered) TL
NAIT.Retag.CurrentLocation NAIT Number Optional Current location of animal NAIT location number 222222

Animal Requirements

Each animal in a Retag transaction must have:

JSON Request Example - Create

{
  "transactionType": "RET",
  "transactionDate": "2024-02-01T10:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "D",
  "fields": {
    "NAIT.Retag.Reason": "TL"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24",
      "replacementRfid": "826 0543210 00602"
    },
    {
      "rfid": "826 0543210 00601",
      "visualTag": "NZ222222/002/24",
      "replacementRfid": "826 0543210 00603"
    }
  ]
}

Delete RET-DEL (Undo Replacement)

To delete/undo a Retag operation:

{
  "transactionType": "RET-DEL",
  "transactionDate": "2024-02-01T10:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "D",
  "fields": {
    "NAIT.Retag.Reason": "TL"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24",
      "replacementRfid": "826 0543210 00602"
    },
    {
      "rfid": "826 0543210 00601",
      "visualTag": "NZ222222/002/24",
      "replacementRfid": "826 0543210 00603"
    }
  ]
}

Death - DTH (Animal Death Reporting)

Capability: Report animal death, including slaughter records

Transaction Fields

Field Key Type Required Description Valid Values Example
NAIT.Death.IsSlaughter Boolean Optional Whether death is slaughter-related true, false true
NAIT.Death.DisposalMethod Enumeration Yes Method of carcass disposal A (Approved), B (Burial), C (Burning), O (Other), I (Incineration) A
NAIT.Death.ExternalReference String Optional External reference identifier Free text SR-12345
NAIT.Death.AnimalType Enumeration Optional Animal type C (Cattle), D (Deer) C
NAIT.Death.KillDate DateTime Optional Date of killing/slaughter ISO format 2024-01-15T09:00:00
NAIT.Death.SentFromLocation NAIT Number Optional Location animal sent from (for slaughter) NAIT number 123456
NAIT.Death.SlaughterLocation NAIT Number Optional Location of slaughter NAIT number 999999
NAIT.Death.CarcaseDiseaseStatus String Optional Disease status of carcass Free text Healthy
NAIT.Death.ExemptCategory String Optional Exemption category Free text N/A
NAIT.Death.NAITNumberCurrentLocation NAIT Number Optional Current location NAIT number NAIT number 222222

JSON Request Example - Create

{
  "transactionType": "DTH",
  "transactionDate": "2024-03-10T09:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "C",
  "fields": {
    "NAIT.Death.IsSlaughter": "false",
    "NAIT.Death.DisposalMethod": "B"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24"
    },
    {
      "rfid": "826 0543210 00601",
      "visualTag": "NZ222222/002/24"
    }
  ]
}

JSON Request Example - Create (Slaughter)

{
  "transactionType": "DTH",
  "transactionDate": "2024-03-10T09:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "C",
  "fields": {
    "NAIT.Death.IsSlaughter": "true",
    "NAIT.Death.DisposalMethod": "A",
    "NAIT.Death.KillDate": "2024-03-10T09:00:00+12:00",
    "NAIT.Death.SlaughterLocation": "999999"
  },
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24"
    }
  ]
}

Delete - DTH-DEL (Remove Death Record)

To delete/remove a death record:

{
  "transactionType": "DTH-DEL",
  "transactionDate": "2024-03-10T09:00:00+12:00",
  "propertyIdentifier": "222222",
  "speciesCode": "C",
  "fields": null,
  "animals": [
    {
      "rfid": "826 0543210 00600",
      "visualTag": "NZ222222/001/24"
    }
  ]
}

Species Support

NAIT supports the following livestock species:

Species Code Name Register Fields Movement Support Notes
C Cattle Production Type: Beef, Dairy Full (MoveOn, MoveOff, Death) Primary species for NAIT
D Deer Production Type: Venison, Breeding Full (MoveOn, MoveOff, Death) Growing NAIT participation

Breed Code Examples

Cattle Breeds:

Deer Breeds:


Property Identifier Format (NAIT Location Number)

Format Specification

Property Value
Kind NAIT
Description NAIT Number (NN) - unique identifier for livestock-keeping properties
Format Numeric only (integers)
Pattern ^[0-9]+$
Length 1-8 digits (typically 6-8)
Validation Must be numeric; no special characters or letters allowed

Examples

Usage

The NAIT location number is:


Authentication

Required Credentials

NAIT service requires two categories of authentication:

1. Property Authentication

The submitting farmer must have granted access for the NAIT property to the Service Provider (Rezare) to allow them to submit transations on their behalf.

2. Service Provider Authentication

Authenticates the software/system submitting the transaction.

POST https://test-api.easytrace.com/api/service-providers/credentials
Content-Type: application/json
X-ServiceProvider-API-Key: << API Key here >>

{
  "username": "<< Username here >>",
  "password": "<< Password here >>",
  "service": "NAIT"
}

Error Handling

Authentication failures typically return:


Implementation Notes

Transaction ID Management

Date/Time Handling

Animal Identifiers

Field Defaults

Several fields have default behaviors if not provided:

Validation Rules