View on GitHub

easitrace

« Back to Contents

Movement Services | NIFAIS

NIFAIS is the Movement Service for Cattle in Northern Ireland.

Overview

This document covers primarily the functions available through Easitrace for NIFAIS.
These include, but are not limited to:

Sections

Authentication
Movements

Authentication

Authentication for NIFAIS is handled differently to all other services with which EasiTrace communicates.
This is covered in significantly more detail in the NIFAIS Authentication Guide.

As of July 2020 the burden of authenticating with NIFAIS falls upon the caller of EasiTrace, this is due to changes in the GovGateway login system.
This means that the caller will need to provide a token in the body of each transaction submitted, as below:

{
  "reference": "<< Reference goes here >>",
  "transactionDate": "2019-01-31T22:26:47.075+00:00",
  "type": "MOV-OFF",
  "speciesCode": "C",
  "propertyIdentifier": "<< Herd Number goes here >>",
  "serviceAuthToken": "<< JWT Token goes here >>"
  "fields": {
    ...
  },
  "animals": [
    ...
  ]
}

Movements

Movements with NIFAIS follow a structured pattern. This essentially follows the following steps:

  1. Seller Records an “Intention to Move” (MOV-INTENT)
  2. Between the Movement Date and 7 days subsequent the Seller confirms the movement (MOV-OFF)
  3. The Buyer confirms the movement (MOV-ON)

Itention to Move

Movements Off for NIFAIS represent an “Intention to Move” and not a movement itself, which is a departure from how movements are handled for the other services supported by EasiTrace.
This is due to how NIFAIS handles movements, insofar as that unless the seller has confirmed an “Intention to Move” then no movement has taken place.
In order to record an intention to move the following fields are required by NIFAIS:

For animals provided as part of a movement off, only the Visual property is required for them, although it must be in the following format:
NB: Spaces are shown by ⋅, numbers by N.

UK⋅N⋅NNNNNN⋅NNNN⋅N

Example Transaction:

{
  "reference": "0100000",
  "transactionDate": "2020-08-28T00:00:00+12:00",
  "type": "MOV-INTENT",
  "speciesCode": "C",
 "propertyIdentifier": "310313",
  "serviceAuthToken": "",
  "fields": {
    "Destination.HerdNumber": "273345",
 	"Movement.MoveDate":"2023-08-24",
 	"Fci.Signature":"Fci signature",
 	"Fci.SignatureDate":"2023-08-24",
 	"Fci.ToSlaughter":"true",
 	"Fci.DescribeDiseases":"disease",
 	"Fci.DescribeSamples":"sample",
 	"Haulier.Signature":"Haulier Signature",
 	"Haulier.SignatureDate":"2023-08-24",
 	"Haulier.DepartureDate":"2023-08-24",
 	"Haulier.DriverName":"Driver Name",
 	"Haulier.JourneyDistanceOver65K": "true",
 	"Haulier.TransportName":"Transport Name",
 	"Haulier.MeansOfTransport":"Means Of Transport"
  },
  "animals": [
    {
      "visual":"UK 9 063463 0019 4",
			"hasFciDetails": true
    }
  ]
}

For more information about submitting Transactions see Submitting transactions.

Movements Off

unlike Deara, there is no Move Intent call and seller submit the move request directly.

Example Transaction (with Movement.Id):

{
	"reference": "0100000",
	"transactionDate": "2023-07-20",
	"type": "MOV-OFF",
	"speciesCode": "C",
	"propertyIdentifier": "555555",
	"ServiceTag": "NIFAIS",
	"serviceAuthToken": "",
	"fields": {
		"Destination.HerdNumber": "613394",
		"Movement.MoveDate": "2023-07-20",
		"Fci.Signature": "Fci signature",
		"Fci.SignatureDate": "2023-07-18",
		"Fci.ToSlaughter": "true",
		"Fci.DescribeDiseases": "disease",
		"Fci.DescribeSamples": "sample",
		"Haulier.Signature": "Haulier Signature",
		"Haulier.SignatureDate": "2023-07-18",
		"Haulier.DepartureDate": "2023-07-18",
		"Haulier.DriverName": "Driver Name",
		"Haulier.JourneyDistanceOver65K": "true",
		"Haulier.TransportName": "Transport Name",
		"Haulier.MeansOfTransport": "Means Of Transport"
	},
	"animals": [
		{
			"visual": "UK 9 555555 0305 6",
			"hasFciDetails": true
		}
	]
}

For animals provided as part of a movement off, only the Visual property is required for them, although it must be in the following format:
NB: Spaces are shown by ⋅, numbers by N.

UK⋅N⋅NNNNNN⋅NNNN⋅N

For more information about submitting Transactions see Submitting transactions.

Movements On

Movements On for NIFAIS represent a buyer “Confirmation of Move”.In order to record a movement on the following fields are required by NIFAIS:

For animals provided as part of a movement on, only the Visual property is required for them, although it must be in the following format:
NB: Spaces are shown by ⋅, numbers by N.

UK⋅N⋅NNNNNN⋅NNNN⋅N

Example Transaction:

{
	"reference": "0100000",
	"transactionDate": "2023-07-20T00:00:00+12:00",
	"type": "MOV-ON",
	"speciesCode": "C",
	"propertyIdentifier": "613394",
	"ServiceTag": "NIFAIS",
	"serviceAuthToken": "",
	"fields": {
		"Departure.HerdNumber": "555555",
		"Movement.Id": "E000390618",
		"Movement.ConfirmationNo": "P006759591",
		"Movement.MoveDate": "2023-07-20",
		"Fci.Signature": "Fci signature",
		"Fci.SignatureDate": "2023-07-18",
		"Fci.ToSlaughter": "true",
		"Fci.DescribeDiseases": "disease",
		"Fci.DescribeSamples": "sample",
		"Haulier.Signature": "Haulier Signature",
		"Haulier.SignatureDate": "2023-07-18",
		"Haulier.DepartureDate": "2023-07-18",
		"Haulier.DriverName": "Driver Name",
		"Haulier.JourneyDistanceOver65K": "true",
		"Haulier.TransportName": "Transport Name",
		"Haulier.MeansOfTransport": "Means Of Transport"
	},
	"animals": [
		{
			"visual": "UK 9 555555 0305 6",
			"hasFciDetails": true
		}
	]
}

Get Animal Details

In order to get animal details visual is required for each animal.

Example Transaction:

{
	"reference": "NIFAIS-GET-ANM",
	"transactionDate": "2023-06-29T21:30:00Z",
	"type": "ANM-DET",
	"speciesCode": "C",
	"propertyIdentifier": "273345",
	"ServiceTag": "NIFAIS",
	"serviceAuthToken": "",
	"animals": [
		{
			"visual": "UK 9 273345 0008 4"
		},
		{
			"visual": "UK 9 273345 0009 5"
		}
	]
}

For more information about submitting Transactions see Submitting transactions.