View on GitHub

easitrace

« Back to Contents

Movement Services | NLIS

Overview

The National Livestock Identification System (NLIS) is Australia’s livestock identification and tracing system. The MPaaS implementation provides comprehensive movement and identification management capabilities for cattle and sheep enterprises. NLIS enables secure tracking of livestock movements via a web service interface using SOAP/XML protocol.

Service ID: 6a341eb4-828a-472f-afef-5566671738a1 Service Tag: NLIS Service Name: National Livestock Identification System Countries: Australia Supported Species: Cattle, Sheep Property Type: Farm Property Identifier Format: PIC (Property Identification Code) Authentication Method: Property Username & Password


Transaction Types

Transaction Type Capability Description Species Support Key Fields Status
Move Off IMoveOffCapable Record livestock departure from a property Cattle, Sheep Departure Location (PIC), Destination Location (PIC), Departure Date, Serial Number, NVD Reference Core
Move On IMoveOnCapable Record livestock arrival at a property Cattle, Sheep Departure Location (PIC), Arrival Location (PIC), Departure Date, Arrival Date, Serial Number, NVD Reference Core
Death IDeathCapable Record livestock death event Cattle, Sheep Death Location (PIC), Death Date, Serial Number Core
Replace Tag IRetagCapable Replace animal RFID tag Cattle, Sheep Retag Date, Old RFID, New RFID Core

Field Keys Explanation

NLIS field keys use a fully-qualified namespace format: NLIS.<Domain>.<Field>. Each field has both a Specific Key (NLIS-prefixed) and a Generic Key (generic livestock domain). Both forms are accepted in transaction submissions.

Key Naming Convention

The system automatically maps between both formats during validation and processing.

Common Field Types

Type Format Example Validation
String Text 3SCAT039 No specific constraints
DateTime ISO 8601 2019-01-30T00:00:00 Format: YYYY-MM-DDTHH:MM:SS
RFID Space-separated numeric 982 123477466062 Format: NNN NNNNNNNNNNNN (12 digits)

Special Location Codes


Detailed Transaction Types

1. Move Off (Departure)

Records the departure of livestock from a property. Used for sales, transfers to other locations, or movement off a property.

Field Mapping

Specific Key Generic Key Data Type Required Description Validation
NLIS.Departure.Location Departure.Identifier String Yes PIC of departure property Regex: [0-9A-Z]{8}
NLIS.Destination.Location Destination.Identifier String Yes PIC of destination property Regex: [0-9A-Z]{8}
NLIS.Departure.Date Departure.Date DateTime Yes Date of departure Format: YYYY-MM-DD
NLIS.Movement.SerialNo SerialNumber String No Serial number reference Free text
NLIS.Movement.NvdReference Movement.MovementId String Conditional NVD number (required for sheep mobs) Free text
NLIS.Movement.Reference Movement.Reference String No Reference name Free text
NLIS.Movement.FreeText Free text field String No Additional comments Free text
NLIS.Movement.Comment Free text field String No Comment Free text
NLIS.Sheep.BredOnVendor Departure.HomeBred String No Bred on vendor PIC (sheep) Free text
NLIS.Sheep.TimeSincePurchase Destination.TimeSincePurchase String No Time since purchase (sheep) Free text

Example JSON Request

{
  "transactionType": "MOV-OFF",
  "speciesCode": "C",
  "transactionDate": "2019-01-30T09:00:00+10:00",
  "fields": {
    "NLIS.Departure.Location": "3SCAT039",
    "NLIS.Destination.Location": "3SCAT040",
    "NLIS.Departure.Date": "2019-01-30T00:00:00",
    "NLIS.Movement.SerialNo": "MOV001",
    "NLIS.Movement.NvdReference": "NVD12345"
  },
  "animals": [
    {
      "rfid": "982 123477466062"
    },
    {
      "rfid": "982 123477466063"
    }
  ]
}

Validation Rules

2. Move On (Arrival)

Records the arrival of livestock at a property. Used to confirm receipt of animals following a departure transaction.

Field Mapping

Specific Key Generic Key Data Type Required Description Validation
NLIS.Departure.Location Departure.Identifier String Yes PIC of original departure property Regex: [0-9A-Z]{8}
NLIS.Movement.Arrival.Location Destination.Identifier String Yes PIC of arrival (destination) property Regex: [0-9A-Z]{8}
NLIS.Departure.Date Departure.Date DateTime Yes Date of original departure Format: YYYY-MM-DD
NLIS.Movement.Arrival.Date Destination.ArrivalDate DateTime Yes Date of arrival at destination Format: YYYY-MM-DD
NLIS.Movement.SerialNo SerialNumber String No Serial number reference Free text
NLIS.Movement.NvdReference Movement.MovementId String Conditional NVD number (required for sheep mobs) Free text
NLIS.Movement.Reference Movement.Reference String No Reference name Free text
NLIS.Movement.FreeText Free text field String No Additional comments Free text
NLIS.Movement.Comment Free text field String No Comment Free text
NLIS.Sheep.BredOnVendor Departure.HomeBred String No Bred on vendor PIC (sheep) Free text
NLIS.Sheep.TimeSincePurchase Destination.TimeSincePurchase String No Time since purchase (sheep) Free text

Example JSON Request

{
  "transactionType": "MOV-ON",
  "speciesCode": "C",
  "transactionDate": "2019-01-30T14:30:00+10:00",
  "fields": {
    "NLIS.Departure.Location": "3SCAT039",
    "NLIS.Movement.Arrival.Location": "3SCAT040",
    "NLIS.Departure.Date": "2019-01-30T00:00:00",
    "NLIS.Movement.Arrival.Date": "2019-01-30T00:00:00",
    "NLIS.Movement.NvdReference": "NVD12345"
  },
  "animals": [
    {
      "rfid": "982 123477466062"
    },
    {
      "rfid": "982 123477466063"
    }
  ]
}

Validation Rules


3. Death

Records the death or slaughter of a livestock animal.

Field Mapping

Specific Key Generic Key Data Type Required Description Validation
NLIS.Death.Location Death.Location String Yes PIC of death location property Regex: [0-9A-Z]{8}
NLIS.Death.Date Death.Date DateTime Yes Date of death Format: YYYY-MM-DD
NLIS.Death.SerialNo SerialNumber String No Serial number reference Free text
NLIS.Death.Reference Movement.Reference String No Reference name Free text

Example JSON Request

{
  "transactionType": "DTH",
  "speciesCode": "C",
  "transactionDate": "2019-01-30T11:15:00+10:00",
  "fields": {
    "NLIS.Death.Location": "3SCAT039",
    "NLIS.Death.Date": "2019-01-30T00:00:00",
    "NLIS.Death.SerialNo": "DEATH001"
  },
  "animals": [
    {
      "rfid": "982 123477466062"
    }
  ]
}

Validation Rules


4. Replace Tag (Retag)

Records the replacement of an animal’s RFID tag due to damage, loss, or administrative requirements.

Field Mapping

Specific Key Generic Key Data Type Required Description Validation
NLIS.Retag.Date Retag.Date DateTime Yes Date of tag replacement Format: YYYY-MM-DD

Example JSON Request

{
  "transactionType": "RET",
  "speciesCode": "C",
  "transactionDate": "2019-01-30T10:45:00+10:00",
  "fields": {
    "NLIS.Retag.Date": "2019-01-30T00:00:00"
  },
  "animals": [
    {
      "rfid": "982 123477466062",
      "newRfid": "982 123477466063"
    }
  ]
}

Validation Rules


Species Support

Cattle (Code: C)

Supported Transactions:

Requirements:

Validation:

Sheep (Code: S)

Supported Transactions:

Requirements:

Validation:


Property Identifier Format (PIC)

The Property Identification Code (PIC) is an 8-character alphanumeric identifier used in Australia for property identification. NLIS uses PICs to identify source and destination properties for all livestock movements.

PIC Format Rules

PIC validation follows a specific pattern based on the first character:

First Char Format Example Description
3 3 + 4 letters + 3 digits 3SCAT039 Standard property code
V V + 3 letters + 4 digits VXYZ1234 Vendor property code
N N + 1 letter (A-K) + 6 digits NA123456 Network property
Q Q + 1 letter (A-K) + 2 letters + 3 digits QA12AB34 Special property type
S S + 1 letter (A-K) + 6 digits SA123456 Specific classification
M M + 1 letter (A-K) + 2 letters + 3 digits MA12AB34 Market property
W W + 1 letter (A-K) + 2 letters + 3 digits WA12AB34 Waterway property
T T + 1 letter (A-K) + 2 letters + 3 digits TA12AB34 Transit property
EUAB EUAB + 4 digits EUAB1234 EU property (export)
EUAY EUAY + 4 digits EUAY1234 EU property (alternative)

Emergency PICs

Emergency PICs follow the standard format with ‘Z’ as the second character for any valid first character:

Special PICs


Authentication

Credential Types

NLIS requires property-level authentication using:

Credential Type Required Description
Username String Yes Property operator username for NLIS system
Password String Yes Property operator password (encrypted in transmission)
Property Type String No Defaults to “F” (Farm); can be customized per property
Email String No Optional contact email for service provider

Authentication Validation

The system validates credentials by:

  1. User Credential Validation: Validates username/password against NLIS system
    • Sends GetEuPics query via SOAP to verify access
    • Returns true if credentials are valid
    • Returns false if “Invalid username or password” response received
    • Throws exception if system is in maintenance mode
  2. Property Validation: Validates property PIC format
    • Checks PIC matches one of the valid Australian property identifier patterns
    • Returns true only if PIC format is valid

Error Handling & Validation Messages

Validation Error Messages

Error Code Message Condition
InvalidDataValue “At least one tagged animal has to be provided” Cattle transaction without tagged animals
InvalidDataValue “At least one tagged or untagged animal has to be provided” Sheep transaction without any animals
InvalidDataValue “RFID must be provided for each animal” Tagged animal without RFID
InvalidDataValue “At least one untagged animal has to be provided” Sheep mob movement without untagged animals
ConditionViolation “Departure and Destination locations cannot be the same” Identical source and destination PICs
DuplicateAnimal “RFID must be unique for each animal” Duplicate RFIDs in transaction
InvalidDataFormat “Not a valid PIC format” Invalid property identifier

Service Errors

Error Type Description Action
ServiceSystemError “System is down for Maintenance” Retry later; system unavailable
InvalidCredentials “Invalid username or password” Verify credentials with NLIS provider
InvalidProperty “Property not found or not accessible” Verify PIC exists and is valid

Service Registry & Configuration

Transaction Flow Example

Move Off Transaction Flow

1. Client submits Move Off transaction with:
   - Departure PIC: 3SCAT039
   - Destination PIC: 3SCAT040
   - Animals with RFIDs
   
2. System validation:
   - Checks PIC formats valid
   - Verifies PICs are different
   - Validates RFIDs present (cattle)
   - Verifies date format
   
3. Packing:
   - Builds P2PTransfer SOAP message
   - Includes NLIS authentication headers
   - Serializes to XML
   
4. Transmission:
   - Sends via HTTPS to NLIS endpoint
   - Includes timestamp (date/time)
   
5. Response:
   - Returns success with transaction ID
   - Or returns NLIS error message
   
6. Error Handling:
   - Maps NLIS errors to standard codes
   - Returns to client

Additional Resources

External References