Staging: carrier-integration-api main at 8eb88c7. Carriers do not see this version yet.
GLS/NXT OOH Platform Integration REST API

status

string · enum
Enum values:
ACTIVE
INACTIVE
MAINTENANCE
DECOMMISSIONED
INITIAL
PLANNED

compartment_size

string · enum
Enum values:
XXSMALL
XSMALL
SMALL
XMEDIUM
MEDIUM
LARGE
XLARGE
XXLARGE

Locker compartment size.

location

Details about the geographical location of the locker.
street
​string · required

The street name where the locker is located.

postalCode
​string · required

The postal code of the locker location.

city
​string · required

The city where the locker is located.

lon
​number · double · required

The longitude coordinate of the locker location.

lat
​number · double · required

The latitude coordinate of the locker location.

countryCode
​string · required

The ISO 3166-1 alpha-2 country code for the locker location.

streetNumber
​string

The street number of the locker location.

type
​string · enum

Optional location type indicating whether the locker is indoors or outdoors. Omitted when unspecified.

Enum values:
indoor
outdoor

features

Features available in the locker.
hasScreen
​boolean | null

Indicates if the locker has a screen.

hasPinPad
​boolean | null

Indicates if the locker has a PIN pad.

hasPinBarcodeReader
​boolean | null

Indicates if the locker has a barcode reader.

period

open
​string · pattern: ^([01]\d|2[0-3]):[0-… · required

Local opening time (inclusive)

close
​string · pattern: ^([01]\d|2[0-3]):[0-… · required

Local closing time (exclusive)

weekly_period

weekday
​string · enum · required
Enum values:
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY
​period[] · minItems: 1 · required

exception_period

A date range overriding the default weekly schedule. Conditional constraint (enforced server-side, not by the generated client): - Exactly one of `isClosed` (set to `true`) or `schedule` MUST be present. Sending both, neither, or `isClosed: false` is a contract violation.
startDate
​string · date · required
endDate
​string · date · required
isClosed
​boolean

Marker flag indicating the locker is fully inaccessible for this range. When present it MUST be true; otherwise omit the field entirely. Mutually exclusive with schedule.

​weekly_period[] · minItems: 1

Overrides for specific weekdays within the exception range. Mutually exclusive with isClosed — omit this field when isClosed is set.

opening_hours

Locker availability schedule. Conditional constraints (enforced server-side, not by the generated client): - If `accessMode` is `SCHEDULED`, `weeklySchedule` MUST be provided and non-empty. - If `accessMode` is `ALWAYS`, `weeklySchedule` MUST be omitted.
accessMode
​string · enum · required

General availability mode.

  • ALWAYS: locker is always accessible; weeklySchedule must be omitted.
  • SCHEDULED: locker follows weeklySchedule (and any exceptions).
Enum values:
ALWAYS
SCHEDULED
​weekly_period[] · minItems: 1

Default schedule per weekday. Required and non-empty when accessMode is SCHEDULED; must be omitted when accessMode is ALWAYS.

​exception_period[]

Overrides for specific dates (holidays, maintenance, seasonal hours). Ignored when accessMode is ALWAYS.

metadata

Metadata associated with the locker.
key
​string | null

The key of the metadata.

value
​string | null

The value of the metadata.

compartment

Details about the compartments available in the locker.
size
​string | null · enum

The size of the compartment. It is null when the stored size is not one of the known sizes.

Enum values:
XXSMALL
XSMALL
SMALL
XMEDIUM
MEDIUM
LARGE
XLARGE
XXLARGE
count
​integer

The number of compartments of this size available in the locker.

height
​integer

The height of the compartment in millimeters.

width
​integer

The width of the compartment in millimeters.

length
​integer

The length of the compartment in millimeters.

locker_response

uid
​string · required

The internal unique identifier assigned to the locker.

​object · required

The details of the locker on the Carrier's system.

​object · required

The details of the locker on the Provider's system.

​location · required

Details about the geographical location of the locker.

​

Features available in the locker. null when the locker has no feature data.

​opening_hours

Locker availability schedule.

Conditional constraints (enforced server-side, not by the generated client):

  • If accessMode is SCHEDULED, weeklySchedule MUST be provided and non-empty.
  • If accessMode is ALWAYS, weeklySchedule MUST be omitted.
​array | null

Additional metadata associated with the locker. null when the carrier locker has none.

ownedByCarrier
​string | null

Indicates which carrier owns the locker. null means the locker belongs to a 3rd party provider.

​array | null

A list of different compartment types available in the locker.

gateway_error

message
​string · required

A message describing the error.

request_id
​string

The identifier of the request at the API gateway. Include it when you report a problem.

carrier

The details of the locker on the Carrier's system.
lockerName
​string · required

The name assigned to the locker on the Carrier's system.

lockerId
​string · required

The identifier of the locker on the Carrier's system.

activationDate
​string · date-time

The date when the locker is to be activated for the carrier.

carrier_input

The carrier's details for the locker. Requests use these fields in addition to the shared carrier fields.
lockerName
​string · required

The name assigned to the locker on the Carrier's system.

lockerId
​string · required

The identifier of the locker on the Carrier's system.

activationDate
​string · date-time

The date when the locker is to be activated for the carrier.

mdmLockerId
​string

The identifier of the locker in the carrier's master data management system.

dropoffBarcodeId
​string

The barcode identifier a courier scans to drop off parcels at this locker.

checkoutLockerId
​string

The identifier of the locker in the carrier's checkout system.

provider

The details of the locker on the Provider's system.
name
​string · required

The name of the locker provider.

lockerModel
​string · required

The model of the locker provided by the provider.

lockerVersion
​string · required

The version of the locker model provided by the provider.

provider_input

The provider's details for the locker. Requests use these fields in addition to the shared provider fields.
name
​string · required

The name of the locker provider.

lockerModel
​string · required

The model of the locker provided by the provider.

lockerVersion
​string · required

The version of the locker model provided by the provider.

configurationName
​string · maxLength: 64 · pattern: ^[A-Za-z0-9_.-]{1,64…

The name of the provider configuration to use for this locker.

metadata_input

A metadata entry to set on the locker. Both fields are required.
key
​string · required

The key of the metadata.

value
​string · required

The value of the metadata.

group

Reference to a locker group to assign, identified by its type key and uid.
key
​string · required

The locker group type key. A locker may have at most one group per key.

uid
​string · required

The uid of the locker group.

create_input

​carrier_input · required

The carrier's details for the locker. Requests use these fields in addition to the shared carrier fields.

​provider_input · required

The provider's details for the locker. Requests use these fields in addition to the shared provider fields.

​location · required

Details about the geographical location of the locker.

​metadata_input[]

Additional metadata associated with the locker.

​features

Features available in the locker.

​group[]

Locker groups to assign, identified by key and uid; at most one per type key.

response_409

errorCode
​string

A code representing the type of error.

message
​string

A message describing the error.

provider_update_input

The provider fields a locker update can change.
configurationName
​string · maxLength: 64 · pattern: ^[A-Za-z0-9_.-]{1,64…

The name of the provider configuration to use for this locker.

update_input

​carrier_input

The carrier's details for the locker. Requests use these fields in addition to the shared carrier fields.

​location

Details about the geographical location of the locker.

​metadata_input[]

Additional metadata associated with the locker.

​features

Features available in the locker.

​group[]

Locker groups to assign, identified by key and uid; at most one per type key. Omit to leave current groups unchanged.

The provider fields a locker update can change.

update_status

lockerUid
​string · required

The unique identifier of the locker in the GLS/NXT Platform

status
​status · enum · required
Enum values:
ACTIVE
INACTIVE
MAINTENANCE
DECOMMISSIONED
INITIAL
PLANNED

locker_group_type

A locker group type from the global catalog.
key
​string · required

The unique key identifying the locker group type.

category
​string · required

The category the locker group type belongs to.

locker_group

A locker group owned by the carrier.
key
​string · required

The locker group type key. A locker may belong to at most one group per key.

category
​string · required

The category the locker group type belongs to.

name
​string · required

The name of the locker group.

uid
​string

The unique identifier of the locker group.

locker_group_create_request

Request to create a locker group.
typeKey
​string · required

The locker group type key from the global catalog.

name
​string · required

The name of the locker group.

locker_group_update_request

Request to update a locker group.
name
​string · required

The new name of the locker group.

locker_group_add_request

Request to assign lockers to a locker group.
lockerUids
​string[] · required

The UIDs of the lockers to assign to the group.

locker_group_add_response

The lockers that were assigned to the locker group.
lockersAdded
​string[] · required

The UIDs of the lockers that were assigned to the group.

locker_group_remove_request

Request to remove lockers from a locker group.
lockerUids
​string[] · required

The UIDs of the lockers to remove from the group.

locker_group_removed_response

The lockers that were removed from the locker group.
lockersRemoved
​string[] · required

The UIDs of the lockers that were removed from the group.

network

A network connecting a locker owner carrier with a tenant carrier.
uid
​integer · int64 · required

The unique identifier of the network.

ownedBy
​string · required

The carrier that owns the network.

tenant
​string · required

The carrier that is the tenant of the network.

autoShare
​boolean · required

When true, new lockers owned by this carrier are automatically added to the network.

network_locker

A locker within a network, including its status from the provider, carrier, and network perspectives.
lockerUid
​integer · int64 · required

The unique identifier of the locker.

providerName
​string · required

The name of the locker provider.

providerLockerStatus
​string · required

The current status of the locker on the provider's side.

lockerName
​string | null

The carrier-assigned name for the locker.

carrierLockerStatus
​string | null

The status of the locker for the carrier.

networkLockerStatus
​string | null

The status of the locker within the network.

carrierLockerId
​string | null

The carrier-specific locker identifier.

providerLockerId
​string | null

The provider-specific locker identifier.

network_locker_page

A paginated list of network lockers.
​network_locker[] · required

The list of network lockers for the current page.

pageNumber
​integer · int32 · required

The current page number (1-based).

pageSize
​integer · int32 · required

The number of items per page.

totalElements
​integer · int64 · required

The total number of lockers across all pages.

isLast
​boolean · required

Whether this is the last page.

network_locker_add_request

Request to add lockers to a network.
lockerUids
​integer[] · required

The list of locker UIDs to add to the network.

network_locker_remove_request

Request to remove lockers from a network.
lockerUids
​integer[] · required

The list of locker UIDs to remove from the network.

carrier_update

Optional carrier details to update for a network locker.
lockerName
​string

The name assigned to the locker on the Carrier's system.

lockerId
​string

The identifier of the locker on the Carrier's system.

activationDate
​string

The date when the locker is to be activated for the carrier.

network_locker_patch

Request to update the status of a locker within a network, optionally including carrier details.
networkLockerStatus
​string · required

The new status for the network locker.

​carrier_update

Optional carrier details to update for a network locker.

booking_type

string · enum
Enum values:
PRE_CHECK
BOOKING

The type of booking request.

shipment_type_input

string · enum
Enum values:
LAST_MILE
ALTERNATIVE_DELIVERY

The possible types of last-mile shipments accepted. Defaults to LAST_MILE when not present.

consignee

The details of the consignee.
name
​string | null
email
​string | null · email

dimensions

The dimensions of the parcel. A missing field counts as unknown, and the platform uses 10 mm for it.
depth
​integer | null · min: 1

Depth in mm

height
​integer | null · min: 1

Height in mm

width
​integer | null · min: 1

Width in mm

allocation_type

string · enum
Enum values:
HARD_RESERVATION
SOFT_RESERVATION

The allocation type of the shipment.

input_data

If you send `consignee`, send both `name` and `email` as strings, and no other fields. The platform rejects a consignee with a missing, null or unknown field.
eventType
​booking_type · enum · required

The type of booking request.

Enum values:
PRE_CHECK
BOOKING
lockerUid
​string · required

The unique identifier of the locker in the GLS/NXT Platform.

carrierParcelId
​string · required

The identifier of the parcel in the carrier's system.

​dimensions · required

The dimensions of the parcel. A missing field counts as unknown, and the platform uses 10 mm for it.

shipmentType
​shipment_type_input · enum

The possible types of last-mile shipments accepted. Defaults to LAST_MILE when not present.

Enum values:
LAST_MILE
ALTERNATIVE_DELIVERY
consignee
​consignee

The details of the consignee.

weight
​integer

Weight in grams

allocationType
​allocation_type · enum

The allocation type of the shipment.

Enum values:
HARD_RESERVATION
SOFT_RESERVATION
requiresAccessibleCompartment
​boolean

Indicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.

Default: false
secondaryShipmentId
​string

A secondary identifier for the shipment, separate from carrierParcelId.

codAmount
​integer · int64

Cash-on-delivery amount to collect, expressed in minor units (e.g. cents).

codCurrency
​string

ISO 4217 currency code for codAmount.

lockStatus
​string · enum

The lock state to apply to the parcel on booking. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.

Enum values:
LOCKED
UNLOCKED

input_data_response

status
​string · required

The status of the event processing.

message
​string · required

A message providing additional information about the event processing.

timestamp
​string · date-time · required

The timestamp when the event was processed.

parcel_input_error

error
​string · required

A message describing the error.

input_data_carrier_specific

If you send `consignee`, send both `name` and `email` as strings, and no other fields. The platform rejects a consignee with a missing, null or unknown field.
eventType
​booking_type · enum · required

The type of booking request.

Enum values:
PRE_CHECK
BOOKING
carrierLockerId
​string · required

The unique identifier of the locker in the Carrier Platform.

carrierParcelId
​string · required

The identifier of the parcel in the carrier's system.

​dimensions · required

The dimensions of the parcel. A missing field counts as unknown, and the platform uses 10 mm for it.

shipmentType
​shipment_type_input · enum

The possible types of last-mile shipments accepted. Defaults to LAST_MILE when not present.

Enum values:
LAST_MILE
ALTERNATIVE_DELIVERY
consignee
​consignee

The details of the consignee.

weight
​integer

Weight in grams

allocationType
​allocation_type · enum

The allocation type of the shipment.

Enum values:
HARD_RESERVATION
SOFT_RESERVATION
requiresAccessibleCompartment
​boolean

Indicates whether the parcel requires an accessible compartment. Defaults to false when not present or null.

Default: false
secondaryShipmentId
​string

A secondary identifier for the shipment, separate from carrierParcelId.

codAmount
​integer · int64

Cash-on-delivery amount to collect, expressed in minor units (e.g. cents).

codCurrency
​string

ISO 4217 currency code for codAmount.

lockStatus
​string · enum

The lock state to apply to the parcel on booking. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.

Enum values:
LOCKED
UNLOCKED

shipment_type

string · enum
Enum values:
LAST_MILE
ALTERNATIVE_DELIVERY
FIRST_MILE
RETURN

The type of shipment.

dimensions_status

string · enum
Enum values:
PARCEL_DIMENSIONS_EXCEED
PARCEL_DIMENSIONS_EXCEEDED
PARCEL_DIMENSIONS_OK
PARCEL_DIMENSIONS_UNKNOWN

The status of the parcel dimensions. The parcel API sends PARCEL_DIMENSIONS_EXCEEDED for a parcel that is too big; webhooks send PARCEL_DIMENSIONS_EXCEED.

shipment_status

string · enum
Enum values:
BOOKING_PRE_CHECK
BOOKING_REQUESTED
BOOKING_CREATED
BOOKING_CANCELLED
BOOKING_CANCELLATION_FAILED
BOOKING_EXPIRED
BOOKING_REJECTED_INVALID_LOCKER
BOOKING_REJECTED_PROVIDER_ERROR

The status of the shipment. LOCKED, UNLOCKED and CONSIGNEE_PAID are milestones in a parcel's events; they are never the parcel's shipmentStatus.

code

Access codes with valid until timestamp.
code
​string · required
validUntil
​string · date-time

Code validity in UTC timestamp ISO 8601 format.

access_codes

Access codes for the parcel
​code

The access code for the consignee collection

parcel_events

​object[]
timestamp
​string · date-time
eventType
​shipment_status · enum

The status of the shipment. LOCKED, UNLOCKED and CONSIGNEE_PAID are milestones in a parcel's events; they are never the parcel's shipmentStatus.

Enum values:
BOOKING_PRE_CHECK
BOOKING_REQUESTED
BOOKING_CREATED
BOOKING_CANCELLED
BOOKING_CANCELLATION_FAILED
BOOKING_EXPIRED
BOOKING_REJECTED_INVALID_LOCKER
BOOKING_REJECTED_PROVIDER_ERROR

signature

A Base64-encoded image representing the consignee's signature, captured upon parcel collection
imageBase64
​string
format
​string

parcel_response

shipmentUid
​string · required

The unique identifier of the parcel shipment in the GLS/NXT Platform

lockerUid
​string · required

The unique identifier of the locker in the GLS/NXT Platform

carrierParcelId
​string · required

The identifier of the parcel in the carrier's system

dimensionsStatus
​dimensions_status · enum · required

The status of the parcel dimensions. The parcel API sends PARCEL_DIMENSIONS_EXCEEDED for a parcel that is too big; webhooks send PARCEL_DIMENSIONS_EXCEED.

Enum values:
PARCEL_DIMENSIONS_EXCEED
PARCEL_DIMENSIONS_EXCEEDED
PARCEL_DIMENSIONS_OK
PARCEL_DIMENSIONS_UNKNOWN
shipmentStatus
​shipment_status · enum · required

The status of the shipment. LOCKED, UNLOCKED and CONSIGNEE_PAID are milestones in a parcel's events; they are never the parcel's shipmentStatus.

Enum values:
BOOKING_PRE_CHECK
BOOKING_REQUESTED
BOOKING_CREATED
BOOKING_CANCELLED
BOOKING_CANCELLATION_FAILED
BOOKING_EXPIRED
BOOKING_REJECTED_INVALID_LOCKER
BOOKING_REJECTED_PROVIDER_ERROR
isFinal
​boolean · required
consignee
​consignee · required

The details of the consignee.

requiresAccessibleCompartment
​boolean · required
carrierLockerId
​string | null

The identifier of the locker in the carrier's system

​

The type of shipment. null when the platform received no shipment type for the parcel.

accessCodes
​access_codes

Access codes for the parcel

​object[]
​

The allocation type of the shipment. null when the platform received no allocation type for the parcel.

providerName
​string | null

The name of the locker network provider

providerLockerId
​string | null

The identifier of the locker in the provider's system

shipmentSignature
​signature

A Base64-encoded image representing the consignee's signature, captured upon parcel collection

labelType
​string | null · enum

Label mode for the shipment. LABELLESS means no printed label is used and LABELED means a printed label is used.

Enum values:
LABELLESS
LABELED
referenceCode
​string | null

Reference code scanned by driver during pickup of the labelless parcel. This field is only relevant for LABELLESS shipments.

secondaryShipmentId
​string | null

A secondary identifier for the shipment, separate from carrierParcelId.

paymentStatus
​string | null · enum

The current cash-on-delivery payment status for the shipment, when applicable. Absent when the shipment carries no CoD payment.

Enum values:
EXPECTED
PAID
FAILED
codAmount
​integer | null · int64

Cash-on-delivery amount to collect, expressed in minor units (e.g. cents). Absent when the shipment carries no CoD payment.

codCurrency
​string | null

ISO 4217 currency code for codAmount. Absent when the shipment carries no CoD payment.

paymentType
​string | null · enum

The payment method used for a cash-on-delivery parcel, as reported by the locker provider. Absent when the shipment carries no CoD payment.

Enum values:
CARD
FLIK
lockStatus
​string | null · enum

The current provider lock state of the parcel, when known. LOCKED means the consignee cannot collect the parcel (e.g. a cash-on-delivery payment is still pending); UNLOCKED means it can be collected. Absent when the parcel carries no lock state.

Enum values:
LOCKED
UNLOCKED

sma_error

error
​string · required

A message describing the error.

parcel_page

A paginated list of parcels.
​parcel_response[] · required

The list of parcels for the current page.

pageNumber
​integer · int32 · required

The current page number (1-based).

pageSize
​integer · int32 · required

The number of items per page.

isLast
​boolean · required

Whether this is the last page.

parcel_lock_request

status
​string · enum · required

The lock state to apply. LOCKED blocks the consignee from collecting the parcel; UNLOCKED releases it for collection.

Enum values:
LOCKED
UNLOCKED
reason
​string · enum

Why the parcel is being locked. Optional. On LOCKED it defaults to CASH_ON_DELIVERY when omitted. On UNLOCKED it is ignored — the parcel's original lock reason determines how it is released.

Enum values:
CASH_ON_DELIVERY
POLICE_HOLD
OTHER

MockServiceError

message
​string · required

Error message.

mock_parcel_event

A Parcel Updates webhook body, unchanged. The fields below are the ones that the platform sends; see the Parcel Updates webhook for their meaning. This schema is documentation only. The mock does not check the stored body against it, and the tests check it only against sample bodies. The Parcel Updates webhook in the carrier-gateway specification is the contract.
carrierParcelId
​string · required
shipmentUid
​string
lockerUid
​string
carrierLockerId
​string | null
compartmentId
​string | null
compartmentSize
​string | null
mdmLocationId
​string | null
barcodeContent
​string | null
shipmentType
​string
dimensionsStatus
​string
shipmentStatus
​string | null
isFinal
​boolean | null
accessCodes
​object | null
consignee
​object | null
​array | null
allocationType
​string | null
carrierName
​string | null
providerName
​string | null
providerLockerId
​string | null
shipmentSignature
​object | null
requiresAccessibleCompartment
​boolean | null
labelType
​string | null
referenceCode
​string | null
secondaryShipmentId
​string | null
eventTimestamp
​string | null · date-time

mock_locker_event

A Locker Updates webhook body, unchanged. The fields below are the ones that the platform sends; see the Locker Updates webhook for their meaning. This schema is documentation only. The mock does not check the stored body against it, and the tests check it only against sample bodies. The Locker Updates webhook in the carrier-gateway specification is the contract.
eventTimestamp
​string · date-time · required
uid
​string · required
carrier
​object | null
provider
​object | null
location
​object | null
features
​object | null
openingHours
​object | null

Same structure as openingHours in the Locker Updates webhook.

​array | null
ownedByCarrier
​string | null
​array | null

mock_collection_event

A Collection Notification webhook body, unchanged. The fields below are the ones that the platform sends; see the Collection Notification webhook for their meaning. This schema is documentation only. The mock does not check the stored body against it, and the tests check it only against sample bodies. The Collection Notification webhook in the carrier-gateway specification is the contract.
lockerUid
​string · required
eventTimestamp
​string · date-time
carrierLockerId
​string | null
courierAccessCode
​string | null
​array | null

webhook_locker_carrier

The details of the locker on the Carrier's system.
lockerName
​string · required

The name assigned to the locker on the Carrier's system.

lockerId
​string · required

The identifier of the locker on the Carrier's system.

status
​string · enum · required

The status of the locker for the carrier. carrier-gateway sends INITIAL and PLANNED as INACTIVE.

Enum values:
ACTIVE
INACTIVE
MAINTENANCE
DECOMMISSIONED
activationDate
​string · date-time

The date when the locker is to be activated for the carrier.

webhook_locker_provider

The details of the locker on the Provider's system.
name
​string · required

The name of the locker provider.

lockerModel
​string · required

The model of the locker provided by the provider.

lockerVersion
​string · required

The version of the locker model provided by the provider.

lockerUid
​string · required

The unique identifier of the locker on the Provider's system.

status
​string · enum · required

The status of the locker returned by the provider. carrier-gateway sends PLANNED as INACTIVE.

Enum values:
ACTIVE
INACTIVE
lockerName
​string

The name of the locker on the Provider's system.

webhook_location

Details about the geographical location of the locker.
street
​string · required

The street name where the locker is located.

streetNumber
​string · required

The street number of the locker location. Empty when the locker has no street number.

postalCode
​string · required

The postal code of the locker location.

city
​string · required

The city where the locker is located.

lon
​number · double · required

The longitude coordinate of the locker location.

lat
​number · double · required

The latitude coordinate of the locker location.

countryCode
​string · required

The ISO 3166-1 alpha-2 country code for the locker location.

locationType
​string

Whether the locker is indoors or outdoors, for example indoor or outdoor. Absent when unspecified.

locationSubtype
​string

The kind of place where the locker is, for example GAS_STATION or RETAIL_SUPERMARKETS. Absent when unspecified.

webhook_locker_owner

The owner of the locker. Absent when the platform has no owner for the locker.
name
​string · required

The name of the owner, a carrier or a locker provider.

type
​string · enum · required

Whether the owner is a carrier or a locker provider.

Enum values:
CARRIER
PROVIDER

webhook_update_request

The locker data that carrier-gateway sends when a locker of the carrier is created or changes. carrier-gateway omits an optional field when it has no value; it never sends `null`.
uid
​string · required

The internal unique identifier assigned to the locker.

​webhook_locker_carrier · required

The details of the locker on the Carrier's system.

​webhook_locker_provider · required

The details of the locker on the Provider's system.

​webhook_location · required

Details about the geographical location of the locker.

​features · required

Features available in the locker.

​metadata[] · required

Additional metadata associated with the locker.

​compartment[] · required

A list of different compartment types available in the locker.

eventTimestamp
​string · date-time · required

The timestamp of the locker status update.

​opening_hours

Locker availability schedule.

Conditional constraints (enforced server-side, not by the generated client):

  • If accessMode is SCHEDULED, weeklySchedule MUST be provided and non-empty.
  • If accessMode is ALWAYS, weeklySchedule MUST be omitted.

The owner of the locker. Absent when the platform has no owner for the locker.

parcel_event

shipmentUid
​string · required

The unique identifier of the parcel shipment in the GLS/NXT Platform

lockerUid
​string · required

The unique identifier of the locker in the GLS/NXT Platform

carrierParcelId
​string · required

The identifier of the parcel in the carrier's system

carrierLockerId
​string · required

The identifier of the locker in the carrier's system

shipmentType
​shipment_type · enum · required

The type of shipment.

Enum values:
LAST_MILE
ALTERNATIVE_DELIVERY
FIRST_MILE
RETURN
dimensionsStatus
​dimensions_status · enum · required

The status of the parcel dimensions. The parcel API sends PARCEL_DIMENSIONS_EXCEEDED for a parcel that is too big; webhooks send PARCEL_DIMENSIONS_EXCEED.

Enum values:
PARCEL_DIMENSIONS_EXCEED
PARCEL_DIMENSIONS_EXCEEDED
PARCEL_DIMENSIONS_OK
PARCEL_DIMENSIONS_UNKNOWN
shipmentStatus
​shipment_status · enum · required

The status of the shipment. LOCKED, UNLOCKED and CONSIGNEE_PAID are milestones in a parcel's events; they are never the parcel's shipmentStatus.

Enum values:
BOOKING_PRE_CHECK
BOOKING_REQUESTED
BOOKING_CREATED
BOOKING_CANCELLED
BOOKING_CANCELLATION_FAILED
BOOKING_EXPIRED
BOOKING_REJECTED_INVALID_LOCKER
BOOKING_REJECTED_PROVIDER_ERROR
​object[] · required
carrierName
​string · required

The name of the carrier

eventTimestamp
​string · date-time · required

The timestamp of the parcel update

compartmentId
​string | null

The identifier of the compartment assigned to the parcel

compartmentSize
​string | null · enum

The size of the compartment assigned to the parcel

Enum values:
XXSMALL
XSMALL
SMALL
XMEDIUM
MEDIUM
LARGE
XLARGE
XXLARGE
mdmLocationId
​string | null

Specific to certain carriers only. The MDM location identifier associated with the parcel locker

barcodeContent
​string | null

Specific to certain carriers only. The barcode content associated with the parcel

accessCodes
​access_codes

Access codes for the parcel

consignee
​consignee

The details of the consignee.

allocationType
​allocation_type · enum

The allocation type of the shipment.

Enum values:
HARD_RESERVATION
SOFT_RESERVATION
providerName
​string | null

The name of the locker network provider

providerLockerId
​string | null

The identifier of the locker in the provider's system

shipmentSignature
​signature

A Base64-encoded image representing the consignee's signature, captured upon parcel collection

requireEasyAccess
​boolean

Whether the parcel needs an accessible compartment. Absent when the platform did not say.

labelType
​string | null · enum

Label mode for the shipment. LABELLESS means no printed label is used and LABELED means a printed label is used.

Enum values:
LABELLESS
LABELED
referenceCode
​string | null

Reference code scanned by driver during pickup of the labelless parcel. This field is only relevant for LABELLESS shipments.

secondaryShipmentId
​string | null

A secondary identifier for the shipment, separate from carrierParcelId.

lockStatus
​string | null · enum

The current provider lock state of the parcel, when known. LOCKED means the consignee cannot collect the parcel (e.g. a cash-on-delivery payment is still pending); UNLOCKED means it can be collected. Absent when the parcel carries no lock state.

Enum values:
LOCKED
UNLOCKED
codAmount
​integer | null · int64

The cash-on-delivery amount to collect from the consignee, in the currency's minor units (e.g. cents). Absent for parcels without cash-on-delivery.

codCurrency
​string | null

ISO 4217 currency code for codAmount. Absent when codAmount is absent.

paymentType
​string | null · enum

The method the consignee paid a cash-on-delivery parcel with, as reported by the locker provider. The value set is country-specific: Slovenia (GLS_SI) is the only country live with cash-on-delivery today and reports CARD or FLIK, and the enum is extended as further countries are enabled. Absent for parcels without cash-on-delivery, before the payment is made, and when the provider reported no method or one outside the agreed set.

Enum values:
CARD
FLIK

collection_events

eventTimestamp
​string · date-time · required

The timestamp of the collection event

lockerUid
​string · required

The unique identifier of the locker in the GLS/NXT Platform

carrierLockerId
​string · required

The unique identifier of the locker in the Carrier's system

​object[] · required
courierAccessCode
​string | null

Access code for the courier to collect parcels from locker. Access code rotates daily.