Skip to main content
POST
/
zones
/
scan
Scan Zone
curl --request POST \
  --url https://api.nuwebgroup.com/v1/zones/scan \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "uuid": "cee5481d-2de3-46eb-b5b6-ab99199f55bb",
  "barcodes": [
    "ABC123"
  ],
  "nfcIds": [
    "0x1234567890abcdef"
  ],
  "zoneId": "1",
  "scan": "in",
  "confirmed": true,
  "latitude": "51.51645100",
  "longitude": "-0.15260220",
  "ignoreAgeRestrictions": false,
  "ignoreCapacity": false
}
'
{
  "status": "valid",
  "attendance": 50,
  "capacity": 500,
  "barcode": "ABC123",
  "nfcId": null,
  "isGuest": false,
  "firstName": "John",
  "lastName": "Doe",
  "email": "[email protected]",
  "order": {
    "reference": "AB12345678"
  },
  "scansIn": 4,
  "scansOut": 3,
  "scansInMax": 4,
  "averageSecondsSpent": 1800,
  "accessToZones": [
    {
      "id": 1,
      "name": "Entry"
    },
    {
      "id": 1,
      "name": "Zone B"
    }
  ],
  "availableItems": [
    {
      "barcode": "ABC",
      "name": "Standard",
      "type": "ticket"
    },
    {
      "barcode": "DEF",
      "name": "Coconut",
      "type": "product"
    }
  ],
  "lastScannedIn": "2021-11-22T11:59:00.000000Z",
  "lastScannedOut": "2021-11-22T11:59:00.000000Z",
  "dateOfBirth": "1990-01-01",
  "dataCaptureQuestions": [
    {
      "id": -1,
      "question": "Customer Notes"
    },
    {
      "id": 123,
      "question": "Custom Ticket Data Capture Question 1"
    },
    {
      "id": 345,
      "question": "Custom Ticket Data Capture Question 2"
    }
  ],
  "dataCaptureAnswers": [
    {
      "id": -2,
      "answer": "Custom Ticket Label"
    },
    {
      "id": -1,
      "answer": "These are notes made against the customer"
    },
    {
      "id": 0,
      "answer": "1 x Product A (QA: A1, QB: A2),\\n1 x Product B"
    },
    {
      "id": 123,
      "answer": "Answer to custom ticket data capture question 1"
    },
    {
      "id": 345,
      "answer": "Answer to custom ticket data capture question 2"
    }
  ],
  "customerId": 1,
  "timeslot": {
    "id": null,
    "name": null
  }
}

Authorizations

Authorization
string
header
required

The 'Bearer' token can be obtained from the token management interface or via the login endpoint using your admin user credentials.

Body

application/json

Request body for scanning a ticket into a zone

uuid
string

Optional UUID to ensure items are not scanned multiple times. If a matching UUID is found, it is assumed that all tickets have already been scanned and the system will return the response from the previous successful scan with the matching UUID and not attempt to scan any of the tickets provided.

barcodes
any[]

The item barcode(s). Can accept multiple barcodes in a single request, however the scan is all-or-nothing so if one barcode is denied, none of the barcodes will be admitted. Barcodes will be ignored if an array of NFC ID's are given.

nfcIds
any[]

A list of NFC ID's that are currently paired with purchased tickets. When given, this will always take precedence over the barcodes attribute. Can accept multiple NFC ID's in a single request, however the scan is all-or-nothing so if one NFC ID is denied, none of the tickets associated with the given NFC ID's will be admitted.

zoneId
string

The ID of the zone that you are scanning in/out of.

disabledItems
object

A list of sale item IDs that should be considered 'disabled' for the purposes of scanning.

scan
enum<string>

The scan mode

Available options:
in,
out,
auto
confirmed
boolean

Specifies that the barcodes sent in this request are the final choice for scanning, thus skipping checks to see if any child items are also eligible to enter this zone. Only applicable to zones with 'precision scanning' enabled.

latitude
string

The latitude of the scanning device

longitude
string

The longitude of the scanning device

ignoreAgeRestrictions
string

Force the scan regardless of any age restrictions that may be set on the zone

ignoreCapacity
string

Force the scan regardless of the capacity that may be set on the zone

Response

Successful zone scan request.

status
enum<string>
Available options:
valid,
alreadyIn,
alreadyOut,
denied,
zoneClosed,
ageUnknown,
tooYoung,
tooOld,
full,
scansInExceeded,
requiresConfirmation
statusDetail
enum<string>
Available options:
historicBarcode,
itemDoesNotQualify,
outsideOfValidityPeriod,
orderLocked
attendance
integer
capacity
integer
barcode
string
nfcId
string
isGuest
boolean
firstName
string
lastName
string
email
string
order
object
scansIn
integer
scansOut
integer
scansInMax
integer
averageSecondsSpent
integer
accessToZones
any[]
availableItems
any[]
lastScannedIn
string
lastScannedOut
string
dateOfBirth
string
dataCaptureQuestions
any[]
dataCaptureAnswers
any[]
customerId
integer
timeslot
object