Skip to main content

Objects

AccessCodeBooking

Access-Code booking.

Fields

NameDescription

id
UUID!

The ID of the access code booking.

code
String!

The code of the booking.

name
String!

The name of the booking.

description
String

The description of the booking. Has no effect on the created bookings.

expiresAt
Timestamp

The time, in UTC, when the access code automatically expires. If null, the access code will not automatically expire.

carrier
OrganisationReference!

The carrier of the booking.

area
Area!

The area of the booking.

space
Space!

The space of the booking.

vehicle
Vehicle!

The vehicle of the booking.

duration
Int!

The duration of the booking.

tasks
[AccessCodeTask!]!

The tasks of the booking.

fields
[FieldData!]!

Fields of the booking.

status
Status!

The status the booking should be placed in on creation. Cannot be of type Submitted, Cancelled or Exception.

headerLoads
[LoadQuantity!]!

The header loads of the booking.

AccessCodeLoad

Implements

Fields

NameDescription

id
UUID!

name
String!

description
String

duration
Int!

AccessCodeLoadQuantity

Fields

NameDescription

load
AccessCodeLoad!

quantity
Int!

AccessCodeTask

A task represents a core unit of work for a booking. A task has loads and booking options, and will be either incoming or outgoing. The onsite organisation must be referenced on the task, the offsite may be omitted. When a task is inbound, the receiver is the onsite, and the sender is the offsite. When a task is outbound, the sender is the onsite, and the receiver is the offsite.

Fields

NameDescription

sender
OrganisationReference

The assigned sender to the task. Incoming tasks do not require a sender. Outgoing tasks do.

receiver
OrganisationReference

The assigned receiver to the task. Outgoing tasks do not require a sender. Incoming tasks do.

direction
Direction!

The direction the task is going, inbound or outbound.

loads
[AccessCodeLoadQuantity!]!

A list of load quantities on the task.

bookingOptions
[BookingOption!]!

A list of booking options associated with the task.

createdTasks
[Task!]!

Tasks created through this access code task.

ActualLoad

Implements

Fields

NameDescription

id
UUID!

name
String!

description
String

duration
Int!

ActualLoadQuantity

Fields

NameDescription

load
ActualLoad!

quantity
Int!

Announcement

An announcement. Records of past announcements are stored in Mobiledock.

Fields

NameDescription

message
String!

The message that was sent.

subject
String!

The subject of the message.

sentAt
Timestamp!

When the message was sent, in UTC.

sentTo
[OrganisationReference!]!

Who the message was sent to.

sentBy
String!

Who the message was sent by.

Area

A logical area, within an organisation.

Organisations are subdivided into areas and spaces. Spaces can be assigned to areas, from whence they can be booked against. Areas are the level at which rulesets are defined and applied.

Fields

NameDescription

id
UUID!

The ID of the area.

enabled
Boolean!

Whether the area is enabled. If the area is disabled, no rules will apply and no bookings can be made under it.

name
String!

The name of the area. Must be unique per organisation.

description
String

The description of the area.

instructions
String

A set of instructions, to be displayed with a booking.

spaces
[Space!]

The spaces within the area.

rules
[Rule!]!

A list of rules as applied to the area.

rule
Rule

A single rule, by ID. Null if a rule with this ID is not present.

Arguments

NameDescription

id
UUID!

The ID of the rule

carrierGroups
[Group!]!

Groups associated as carrier groups to this area.

occupantGroups
[Group!]!

Groups associated as private occupant groups to this area.

publicOccupantGroups
[Group!]!

Groups associated as public occupant groups to this area.

offsiteGroups
[Group!]!

Groups associated as private offsite groups to this area.

publicOffsiteGroups
[Group!]!

Groups associated as public offsite groups to this area.

icon
Icon

The icon for this area. Mutually exclusive with logo

logo
Image

The logo for this area. Mutually exclusive with Icon

minimumMinutesInAdvance
Int!

The minimum time in advance a booking must be submitted by. If the requested time minus the current time is less than minimumMinutesInAdvance, the booking cannot be made.

In the circumstance where the area is not selected, the booking engine will consider minimumMinutesInAdvance, and will not automatically approve any booking to an area failing the above condition.

maximumMinutesInAdvance
Int!

The maximum time in advance a booking must be submitted by. If the requested time minus the current time is more than maximumMinutesInAdvance, the booking cannot be made.

In the circumstance where the area is not selected, the booking engine will consider maximumMinutesInAdvance, and will not automatically approve any booking to an area failing the above condition.

maximumMinutesInAdvance must be greater than minimumMinutesInAdvance.

maximumAutoApproveMinutes
Int

The maximum duration of a booking that will be automatically approved. If the duration of the booking is greater than this, it will not be auto approved to this area.

In the circumstance where the area is not selected, the booking engine will consider the duration of the booking in relation to each possible area, and maximumAutoApproveInMinutes. It will not automatically approve any booking failing this condition.

openTime
Timestamp

The opening date of the area. Bookings will not be accepted before this date, even for manual approval.

closeTime
Timestamp

The closing date of the area. Bookings will not be accepted after this date, even for manual approval. If null, the area will never close.

displayPin
Boolean!

Whether a booking's PIN code should be displayed on the booking. A booking's PIN code is a semi-unique code that is unique within 72 hours before or after the booking.

address
PhysicalAddress

optional address information

addressCoordinates
Coordinates

Location address geocoded

yardEnabled
Boolean!

Whether the area is treated as a yard or a live area.

AreaReference

A logical area, within an organisation.

Organisations are subdivided into areas and spaces. Spaces can be assigned to areas, from whence they can be booked against. Areas are the level at which rulesets are defined and applied.

An area reference contains a subset of the properties on an area.

Fields

NameDescription

id
UUID!

The ID of the area.

name
String!

The name of the area.

description
String

The description of the area.

instructions
String

A set of instructions, to be displayed with a booking.

icon
Icon

The icon for this area. Mutually exclusive with logo

logo
Image

The logo for this area. Mutually exclusive with Icon

displayPin
Boolean!

Whether a booking's PIN code should be displayed on the booking. A booking's PIN code is a semi-unique code that is unique within 72 hours before or after the booking.

address
PhysicalAddress

optional address information

yardEnabled
Boolean!

A flag indicating whether the area is treated as a yard.

AutoTransition

How a status should automatically transition to another status.

Fields

NameDescription

status
Status!

The status to change into.

minutes
Int!

How long after the relative time to wait before changing.

relativeTo
TransitionType!

The base time from which the change is relative to. Not applicable for Submitted or On Hold statuses.

addDuration
Boolean!

Whether to add the booking's duration Not applicable for Submitted or On Hold statuses.

BookableLocations

Locations you can book at, and their requisite details.

Fields

NameDescription

organisation
OrganisationReference!

A location you can book at.

areas
[AreaReference!]

A list of all the areas you can book at. Only present if the organisation requires you to select an area on creating a booking.

Booking

A booking.

Bookings are the core unit of work for carriers and locations. Bookings contain one or more tasks, which are the core unit of work for senders and receivers.

Fields

NameDescription

id
ID!

The ID of the booking, The ID will always be in the format of "MDB-XX-XXXX-XXXX" where the first two XX after MDB are the last two digits of the year the booking was created in.

pin
ID

The PIN code. Only a booking with a space has a PIN code. This code is guaranteed to be unique within 72 hours forward or backwards from the booking. Otherwise, no uniqueness is guaranteed.

carrier
OrganisationReference!

The carrier for the booking.

carrierCore
CoreDetails

Core details for the booking's carrier.

location
OrganisationReference!

The location for the booking.

area
AreaReference

The area of the booking. May be requested or actual, depending on the status of the booking. Null if the booking is submitted but no area has been provided.

space
SpaceReference

The space assigned to this booking. Will not be present if the booking hasn't been approved.

requestedTime
Timestamp!

The requested time of the booking.

bookedTime
Timestamp

The booked time of the booking. Will not be present if the booking hasn't been approved.

duration
Int!

The duration of the booking, in minutes.

vehicle
VehicleReference!

The vehicle on the booking.

actualLoad
[ActualLoadQuantity!]

The actual load of the booking. A location can set the actual load once the booking arrives.

tasks
[Task!]!

A list of tasks on the booking.

comments
[Comment!]!

A list of comments on the booking.

status
Status!

The present status of the booking.

bookingHistory
[History!]!

The history of a booking, ordered from earliest to latest.

fields
[FieldData!]!

The current fields on a booking.

bookingType
BookingType!

The type of the booking.

driver
Driver

Driver linked to the current booking.

reassignedFrom
ID

The booking that this booking was reassigned from, if any.

reassignedTo
ID

The booking that this booking was reassigned to, if any.

createdAt
Timestamp!

The timestamp of booking creation (UTC)

modifiedAt
Timestamp!

The timestamp of the last booking event (UTC).

userSubscriptionStatus
Boolean

This flag indicates the notification subscription status of the user that is querying. A value of true indicates the user is subscribed. A value of false indicates the user has unsubscribed. A value of null indicates that there is no specific subscription status for this booking.

nextStatuses
[Status!]!

Return the statuses that the given booking can move to, when updated by the given organisation. This does not count booking status overrides.

Arguments

NameDescription

organisationId
UUID

headerLoads
[LoadQuantity!]!

A list of header loads defined for this booking

headerLoadsPlanned
[LoadQuantity!]!

A list of planned header loads defined for this booking

tasksPlanned
[PlannedTask!]!

A list of tasks initially planned before arrival. May differ from tasks if actuals were recorded during receipting.

subcarrier
OrganisationReference

Sub carrier if exists.

yardAssets
[YardAssetLink!]!

yard assets if exists

BookingError

An error on a booking validity check.

Fields

NameDescription

code
String!

A unique error code for a booking error. Guaranteed to be the same as any error code returned by create booking or available booking times/time ranges

message
String!

A friendlier message. This message should not be displayed to the user. It is intended for debugging. Qualify the error based on the code, and display a message on that.

BookingNotice

Fields

NameDescription

id
UUID!

heading
String!

message
String!

type
BookingNoticeType!

timeRange
PartialTimeRange!

BookingOption

A booking option represents some kind of property on the booking, or loads. For example, booking options may be used to represent the type of loads you have on board, e.g dangerous, cold, heavy, etc.

Fields

NameDescription

id
UUID!

The ID of the booking option.

name
String!

The name of the booking option. This cannot be changed after being set.

description
String

The description of the booking option.

BookingOptionCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'BookingOption'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

bookingOptions
[BookingOption!]!

The booking must specify at least one given booking option to match this condition.

BookingParameters

Booking parameters. This type contains all the specific information needed for creating a valid booking. Booking parameters are calculated from a combination of the booking organisation, carrier organisation location organisation, and (if area-on-create is set) area.

Fields

NameDescription

maximumAutoApproveMinutes
Int

The maximum duration of a booking that will be automatically approved. If the duration of the booking is greater than this, it will not be auto approved to this area.

If maximumAutoApproveMinutes is null, there is no maximum limit to duration for automatic approval.

openTime
Timestamp

The widest opening date. Bookings will not be accepted before this date, even for manual approval.

closeTime
Timestamp

The widest closing date. Bookings will not be accepted after this date, even for manual approval. If null, there is no closing date.

maximumMinutesInAdvance
Int!

The maximum time in advance a booking must be submitted by. If the requested time minus the current time is more than maximumMinutesInAdvance, the booking cannot be made.

If maximumMinutesInAdvance is null, there is no maximum time limit.

minimumMinutesInAdvance
Int!

The minimum time in advance a booking must be submitted by. If the requested time minus the current time is less than minimumMinutesInAdvance, the booking cannot be made.

offsites
[OrganisationReference!]!

A list of organisations that can be set by you as an offsite with the given parameters. Off-sites are organisations not located at the location. This includes the sender on inbound bookings, and the receiver on outbound bookings.

occupants
[OrganisationReference!]!

A list of organisations that can be set by you as an onsite with the given parameters. On-sites are organisations located at the location. This includes the receiver on inbound bookings, and the sender on outbound bookings.

loads
[LoadReference!]!

Loads available to be set on a booking.

vehicles
[VehicleReference!]!

Vehicles available to be set on a booking.

bookingOptions
[BookingOption!]!

Booking options available to be set on a booking.

capturePoints
[FieldCapturePoint!]!

Capture points relevant for booking submission. Any required capture points here must be specified.

manualApprovalPolicy
ManualApprovalPolicy!

The policy of whether bookings will be accepted for manual approval.

fallbackTimeRange
Int

When in fallback policy, the number of hours both before and after the requested time that there must be no available spaces for fallback mode to accept the booking for manual approval.

Returns null if the policy is not Fallback.

bookingInterval
Int!

The booking appointment interval. Bookings will always start on this subdivision of an hour. e.g with an interval of 15, a booking will be made on the hour, at 15 past, at 30 past, or at 45 past. An appointment interval must always divide 60 - therefore, the only valid values are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 and 60.

bookingHorizonDays
Int!

The number of days in advance that a user can request a booking for, either for automatic or manual approval.

BookingQuery

Booking search return type.

Fields

NameDescription

pageNumber
Int!

Page number fetched.

pageSize
Int!

Number of records fetched.

totalPages
Int!

Total number of pages for the current organisation based on the page size.

results
Int!

How many bookings are present in this search query, total.

bookings
[Booking!]!

The bookings returned in this batch.

BookingRange

A range of time where a booking is available.

Fields

NameDescription

begin
Timestamp!

The beginning of the time range, inclusive.

end
Timestamp!

The end of the time range, exclusive.

BookingRangeReason

Fields

NameDescription

times
[BookingRange!]!

ruleFailureMessages
[String!]!

BookingTime

A singular time slot, available for booking.

Fields

NameDescription

time
Timestamp!

A time slot available for booking.

BookingTimeReason

Fields

NameDescription

times
[BookingTime!]!

ruleFailureMessages
[String!]!

BookingYardAssetLinkedStatusFlows

Fields

NameDescription

yardAssetType
YardAssetType!

statusFlows
[YardAssetStatusFlow!]!

CapacityUnit

A capacity unit is a user-defined unit that can be used to capacity the throughput of a site.

Fields

NameDescription

id
UUID!

The ID of the capacity unit.

name
String!

The name of the capacity unit.

description
String

A description of the capacity unit.

capacityUnitLimits
[CapacityUnitLimit!]

Capacity limits related to the current capacity unit.

CapacityUnitLimit

Capacity unit limits

Fields

NameDescription

id
UUID!

The ID of the capacity unit limit.

type
CapacityUnitLimitType!

The type of limit.

weekdays
[Weekday!]

The days of the week that this limit applies to.

capacityUnit
CapacityUnit!

The capacity unit to set a limit for.

quantity
Int!

The quantity of capacity units that def

areas
[Area!]

The areas that this limit applies to

CapacityUnitQuantity

Units of a capacity unit for a type such as load and vehicle

Fields

NameDescription

capacityUnit
CapacityUnit!

The throttle unit.

quantity
Int!

The quantity of the capacity unit.

Comment

A comment.

Fields

NameDescription

user
String!

The name of the user who made the comment.

organisation
OrganisationReference!

The organisation of the user who made the comment.

timestamp
Timestamp!

The time the user made the comment.

content
String!

The comment.

Connection

A connection is a link between two organisations. Connections allow you to make bookings involving the other organisation.

Fields

NameDescription

id
UUID!

The ID of the connection.

organisation
OrganisationReference!

The organisation on the other side of this connection.

groups
[Group!]!

The groups in this connection.

creationDate
Timestamp!

The time this connection was created

lastBookingDate
Timestamp

The last time this connection was used to create a booking.

note
String!

A note associated with a connection

attributes
Object!

A key-value set of attributes, where both keys and values are strings.

suggestedConnections
[SuggestedGroup!]!

Organisations suggested for connection by the connected organisation.

core
CoreDetails

Core details of a connection.

contacts
[Contact!]!

Connection contacts

ConnectionCode

A connection code can be used to connect two organisations together.

Fields

NameDescription

id
UUID!

The ID of the invite.

code
String!

The access code of the invite. This needs to be shared with the potential other side of this connection.

creator
OrganisationReference!

The creator of this invite.

expiresAt
Timestamp

The time, in UTC, when the invite automatically expires. If null, the invite will not automatically expire.

uses
Int

How many uses this invite has. Uses left is uses - used. Null is unlimited.

used
Int!

How many times this invite has been used

groups
[Group!]!

The groups the consuming organisation will be added to.

ConnectionCodeDetails

A connection code can be used to connect two organisations together.

Fields

NameDescription

id
UUID!

The ID of the invite.

code
String!

The access code of the invite. This needs to be shared with the potential other side of this connection.

creator
OrganisationReference!

The creator of this invite.

ConnectionCondition

[Obsolete] This condition was never implemented but it is not going to be removed to avoid break customer integrations.

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Connection'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

connections
[Connection!]!

A connection listed here must be present on the booking as a carrier, sender, or receiver to satisfy this booking.

ConnectionRequest

A connection request.

Fields

NameDescription

id
UUID!

The ID of the connection request.

organisation
OrganisationReference!

The organisation requesting the connection.

requesterName
String!

The name of the user who made this request.

requesterEmail
String!

The email of the user who made this request.

note
String

A user-provided note when the request is made.

requestDate
Timestamp!

Date when this request was sent.

ConnectionRequestOutgoing

A connection request that you have made.

Fields

NameDescription

organisation
OrganisationReference!

The organisation you have requested the connection from.

requester
Membership!

The member who made this request.

note
String

The note provided when the request was made.

requestDate
Timestamp!

Date when this request was sent.

Contact

A human contact.

See ContactInput for modification

Fields

NameDescription

id
UUID!

The ID of the contact.

name
String!

The name of the contact.

email
String

The email of the contact.

phone
String

The phone number of the contact.

description
String

The description of the contact.

Coordinates

A coordinates pair, with orientation and level.

Fields

NameDescription

latitude
Float!

The global latitude of the coordinates. Latitude can range from -90 to +90. Positive 90 represents a northern latitude, while -90 represents southern.

longitude
Float!

The global longitude of the coordinates. Longitude can range from -180 to +180. +180 represents eastern, while -180 represents western.

orientation
Int!

The direction in which the coordinates face. Orientation can range from 0 to 359.

level
String

The level or floor of the complex in which these coordinates are located

CoreDetails

The core details of a connection.

Fields

NameDescription

id
[String!]!

name
String

DaysOfWeekRecurrance

A weekly recurrance, based on days of the week and times on those days.

Implements

Fields

NameDescription

nextScheduledTime
Timestamp

The next time the booking would be created.

daysOfWeek
[Weekday!]!

The days of the week to create the booking.

times
[Time!]!

The times in the day the booking will be created on.

DirectionCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Direction'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

direction
Direction!

A booking must contain at least one task with the specified direction to match this condition.

Document

A document.

Documents store information of all type of documents. It can be fully or partialy served, base on the configuration given.

Fields

NameDescription

id
String!

The ID of the document will always be same as in the physical document

occupant
OrganisationReference

The occupant or onsite for the document.

offsite
OrganisationReference

The offsite for the document.

location
OrganisationReference

The location for the document.

carrier
OrganisationReference

The carrier for the document.

direction
Direction!

Represents the direction whether goods are intending to be brought in or taken out

loads
[LoadQuantity!]

Loads of this document

settings
DocumentSettings!

Configuration of this document

validDates
PartialTimeRange

Range of valid dates when this document is valid

preferredDates
PartialTimeRange

Range of preferred dates when this document is valid

bookingOptions
[BookingOption!]!

Booking Options of this document

description
String

Description of the document

attributes
Object!

Attributes for the document

updateDate
Timestamp

type
DocumentType

The document's type

status
DocumentStatus

The document's status

acknowledgements
[DocumentAcknowlegement!]!

acknowledgement status

bookings
[Booking!]!

List of bookings that use this document

DocumentAcknowlegement

Fields

NameDescription

id
UUID!

type
DocumentAcknowledgementType!

The type of acknowledgement.

acknowledgedAt
Timestamp!

The time that the document was acknowledged.

organisation
OrganisationReference!

The organisation that acknowledged the document.

user
UserReference

The user that acknowledged the document. If the document was acknowledged via API, this value will be null.

DocumentQuery

Fields

NameDescription

start
Int!

Number of documents to skip

pageSize
Int!

Number of records to be fetched

totalPages
Int!

Total number of pages

totalRecords
Int!

Total number of documents in current query

data
[Document!]!

Documents data

DocumentSettings

It is the parameters' configuration for a document. Every document must have set this settings.

Fields

NameDescription

mode
DocumentMode!

Regulates changes in the original document.

maxUses
Int

Number of times a document can be used in a booking.

DocumentStatus

A document's status.

Fields

NameDescription

id
UUID!

The ID of the status.

name
String!

The name of the status.

DocumentStatusCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'DocumentStatus'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

documentStatuses
[DocumentStatus!]!

A list of document statuses that this rule applies to. The rule will apply if the booking contains one or more document in one of these statuses.

DocumentType

A document's type.

Fields

NameDescription

id
UUID!

The ID of the type.

name
String!

The name of the type.

DocumentTypeCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'DocumentType'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

documentTypes
[DocumentType!]!

A list of document types that this rule applies to. The rule will apply if the booking contains one or more documents of these types.

Driver

Fields

NameDescription

id
UUID!

The user id of the driver

name
ID

Name will be null if the user has not yet completed sign up.

EntityClass

Fields

NameDescription

id
ID!

name
String!

EntityClassMap

Fields

NameDescription

loads
[EntityClass!]!

vehicles
[EntityClass!]!

ExceptionStatus

Exception status. See the Status interface for more details.

Implements

Fields

NameDescription

id
UUID!

The ID of the status.

name
String!

The name of the status. Status names are unique.

description
String

The description of the status.

type
StatusType!

The type of the status. Core statuses have special rules on modification, and can never be deleted. The Submitted status can have entry fields, but no exit fields. The Completed status can have entry fields, but no exit fields. The Approved status can have exit fields, but no entry fields.

carrierProgressable
Boolean!

Whether this status is available to the carrier. If true, the carrier or the location can move from any status to this status. If false, only the location can move to this status.

capturePoints
[FieldCapturePoint!]!

Fields that should be captured on transition into/out of the status.

colour
Colour!

The colour of the status to be displayed as.

highlighted
Boolean!

Flag indicating if value should be highlighted in display

linkedYardAssetStatusFlows
[BookingYardAssetLinkedStatusFlows!]!

Linked status flows for yard assets.

Field

A field is an extra, custom piece of data captured some time in a booking.

Fields

NameDescription

id
UUID!

The ID of the field.

label
String!

The label of the field.

description
String

The description of the field.

type
FieldType!

The type of data the field accepts.

regex
String

A regular expression to validate this field. Not applicable if options are defined. The choice you pick will not be validated against the regex. This regular expression will be executed in single-line mode, so '.' will match \n characters. Only applicable on String fields.

maxLength
Int!

The maximum length of this field. Not applicable if options are defined. The choice you pick will not be validated against the maximum length. Only applicable on String fields.

multiLine
Boolean!

Whether a string field should be displayed as multiple lines or not. Has no effect on processing the field, only display. Not applicable if options are defined. Only applicable on String fields.

options
[Option!]

A list of options, defining valid return values. If set, you can only submit any of the 'value' fields in any option when submitting the field. Only applicable on String fields.

capturePoints
[FieldCapturePoint!]!

A set of capture points to be captured relative to this status.

allowedFileTypes
[String!]

A list of approved file types that can be uploaded to this field. Only globally-approved file types can be included. Can only be set if type is 'Field'. If no value is provided, all globally-approved file types are allowed.

maxFileSize
Int

The maximum file size (in bytes) that can be uploaded to this field. This value cannot exceed the maximum file size approved for this organisation. Can only be set if type is 'Field'. If no value is provided, the maximum approved file size for the organisation will be used.

internal
Boolean!

If true, this field & corresponding data is visible only to the location.

passType
PassType

If its a pass type, get some info

autoPurgeValue
Boolean!

If true, values captured are automatically removed in accordance with organisation field data removal policy.

highlighted
Boolean!

If true, the field will be displayed with higher priority

customFileTypes
Boolean

If true, allowedFileTypes were specified.

FieldCapturePoint

A point in the status flow where a field should be captured.

Fields

NameDescription

required
Boolean!

Whether the field is required or not. If false, the field can be null or omitted. If true, the field must be supplied when updating, or the status change will be rejected.

position
FieldPosition!

What position on the status this field should be captured at. For Submitted, Completed and the exception statuses, it must be the entering position. For approved, it must be the exiting position.

status
Status!

The status this capture point is on.

field
Field!

The field this capture point captures.

FieldHistory

Changes to a booking's state is recorded in the booking history. The booking history is always sorted by the capture time.

FieldHistory captures an update of one or more fields. It may be present in conjunction with a status change, or on its own. A field's current value is equal to the latest field present in the history set.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

fields
[FieldData!]!

The fields captured in this event.

FieldReference

A field is an extra, custom piece of data captured some time in a booking.

This is a limited reference type. Check the Field type for more information.

Fields

NameDescription

id
UUID!

The ID of the field.

label
String!

The label of the field.

description
String

The description of the field.

type
FieldType!

The type of the field.

highlighted
Boolean!

If true, the field will be displayed with higher priority

File

File data.

Fields

NameDescription

id
UUID!

The unique identifier of the file.

name
String!

The name of the file.

mimeType
String!

Returns the MIME type of the file.

size
Int!

Returns the size of the file in bytes.

creationDate
Timestamp!

The date when the file was created.

isLastVersion
Boolean

Display whether a file is the latest version based on the field and booking that was linked to

FileFieldData

File field data.

Implements

Fields

NameDescription

type
FieldType!

The type of field data captured. Will always be 'File'.

field
FieldReference!

The field.

value
String

The filename of the file, for backwards compatibility reasons.

file
File

The file object value.

valuePurged
Boolean!

If true, this value was automatically removed in accordance with organisation field data removal policy.

FlowStatus

Flow status. See the Status interface for more details.

Implements

Fields

NameDescription

id
UUID!

The ID of the status.

name
String!

The name of the status. Status names are unique.

description
String

The description of the status.

type
StatusType!

The type of the status. Core statuses have special rules on modification, and can never be deleted. The Submitted status can have entry fields, but no exit fields. The Completed status can have entry fields, but no exit fields. The Approved status can have exit fields, but no entry fields.

carrierProgressable
Boolean!

Whether this status is available to the carrier. If true, the carrier or the location can move from any status to this status. If false, only the location can move to this status.

capturePoints
[FieldCapturePoint!]!

Fields that should be captured on transition into/out of the status.

colour
Colour!

The colour of the status to be displayed as.

autoTransition
AutoTransition

The status's auto transition details. If the status has an automatic transition set up, the booking will automatically move into a different status after some time.

followsFrom
[FlowStatus!]!

A list of statuses the status can follow from. The Submitted status will always be empty.

subsequentStatuses
[FlowStatus!]!

A list of statuses this status can lead to. The Completed status will always be empty.

highlighted
Boolean!

Flag indicating if value should be highlighted in display

linkedYardAssetStatusFlows
[BookingYardAssetLinkedStatusFlows!]!

Linked status flows for yard assets.

Group

A group of connections. Groups are used to determine who can and cannot book at an area.

Fields

NameDescription

id
UUID!

The ID of the group.

name
String!

The name of the group.

description
String

The description of the group.

connections
[Connection!]!

The connections in the group.

locationInGroup
Boolean!

Whether the location is a member of the group.

suggested
Boolean!

Whether organisations in a group should be suggested to other organisations as suggested organisations to connect with.

hidden
Boolean!

Whether the group should be hidden from view of the user.

documentBaseOffsiteDefault
Boolean!

If enabled, base offsite organisations created on documents will be automatically placed in this group.

documentBaseOccupantDefault
Boolean!

If enabled, base occupant organisations created on documents will be automatically placed in this group.

documentBaseCarrierDefault
Boolean!

If enabled, base carrier organisations created on documents will be automatically placed in this group.

GroupCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Group'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

groups
[Group!]!

An organisation on the booking must be a member of a group listed to match this condition.

HeaderLoadHistory

Changes to a booking's state is recorded in the booking history. The booking history is always sorted by the capture time.

Header Load History records changes to a booking's header loads.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

headerLoads
[LoadQuantity!]!

headerLoadActuals
Boolean!

Icon

An area icon.

An icon will be displayed as a coloured shape of the given type, with the text overlaid on top, encompassed by the shape.

Fields

NameDescription

shape
Shape!

The shape of the icon.

shapeColour
Colour!

The colour of the shape.

textColour
Colour!

The colour of the text.

text
String!

The text on the shape.

Image

An image wrapper, be be expanded later

Fields

NameDescription

url
String!

url to an image

Load

A load represents an amount of something in a booking. Example loads include pallets, crates, or cartons. Each load on a booking has an associated quantity.

Implements

Fields

NameDescription

id
UUID!

The ID of the load type.

name
String!

The name of the load type. This cannot be changed after being set.

description
String

The description of the load type.

duration
Int!

The time needed to process one of this load, in seconds. This is used to calculate the booking duration.

capacityUnits
[CapacityUnitQuantity!]

Throttle unit quantities for the current load

class
EntityClass

The standard load entity (if any)

position
LoadBookingPosition!

If it's not provided, it defaults to Task.

LoadCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Load'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

loads
[Load!]!

A booking must contain at least one load specified here to match this condition.

LoadQuantity

A load and associated quantity.

Fields

NameDescription

load
LoadReference!

The load.

quantity
Int!

The quantity. This field must be validated depending on its parent class that invokes it. Currently, regular tasks are only allow to have values greater than zero, but documents are further allowed to have values greater than or equal to zero.

loadTag
String

Essential field to store specific information about the load.

LoadQuantityHist

A load and associated quantity for the Task Histories

Fields

NameDescription

load
LoadReference!

The load.

quantity
Int!

The quantity.

loadTag
String

The load tag.

LoadReference

A load represents an amount of something in a booking. Example loads include pallets, crates, or cartons. Each load on a booking has an associated quantity.

Fields

NameDescription

id
UUID!

The ID of the load type.

name
String!

The name of the load type. This cannot be changed after being set.

description
String

The description of the load type.

duration
Int!

The time needed to process one of this load, in seconds. This is used to calculate the booking duration.

class
EntityClass

The standard load entity (if any)

position
LoadBookingPosition!

If it's not provided, it defaults to Task.

LoadTagCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'LoadTag'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

loadTags
[String!]!

An array of dates load tags for which this rule should apply. The rule will apply if the load tag is present in one or more tasks.

Membership

A member of the organisation.

Fields

NameDescription

id
UUID!

The ID of the membership.

name
String!

The name of the member.

email
String!

The email address of the member.

owner
Boolean!

If this member is the owner of the organisation.

roles
[Role!]!

The roles this member has.

user
User!

User identifier linked to this membership

MembershipInvite

A pending invite to an organisation.

Fields

NameDescription

id
UUID!

The ID of the invite.

organisation
OrganisationReference!

The organisation the user was invited to.

email
String!

The email of the user.

roles
[Role!]!

The roles that will be granted to the user on join.

MobiledockError

An generic reusable error class

Fields

NameDescription

message
String!

The message of the error.

code
String!

The code of the error.

NotificationDeliverySetting

A setting for a single delivery type. Used with NotificationTypeSetting.

Fields

NameDescription

type
NotificationDeliveryType!

The delivery type.

enabled
Boolean!

Whether this notification will be delivered with this type.

NotificationTypeSetting

Notification settings for a single type of notification.

Fields

NameDescription

type
NotificationType!

The notification type.

deliveries
[NotificationDeliverySetting]!

A list of delivery types, and whether they're enabled for this notification type.

Option

An option for a field.

Fields

NameDescription

label
String!

The label of the option, to be displayed to the users.

value
String!

The value of the option. This value is the value that must be returned to the API when filling in an option. The value does not have to be the same as the label, but it's recommended to make it at least somewhat legible on its own, as it may be displayed if the choice is later removed.

Organisation

An organisation.

Fields

NameDescription

id
UUID!

The ID of the organisation.

name
String!

The name of the organisation.

description
String!

The description of the organisation.

address
PhysicalAddress

The address of the organisation.

timezone
String!

The timezone the organisation resides in.

contacts
[Contact!]!

A list of contacts for the organisation.

verificationRequest
VerificationRequest

The organisation's verification request.

locationEnabled
Boolean!

Whether location functionality is enabled for the organisation.

If location is disabled, the organisation cannot create areas or spaces, or participate in bookings as a location. This does not prevent them from participating in bookings as a sender, carrier, or receiver.

To enable location functionality, you must contact Mobiledock.

verified
Boolean!

Whether the organisation has been verified.

To become verified, you must contact Mobiledock.

public
Boolean!

Whether an organisation is visible in in searches and queries to non-joined members.

allowConnectionRequests
Boolean!

Whether people can request connections to the organisation.

Changing this to false does not cancel any current connection requests.

apiAccessEnabled
Boolean!

Whether API access is enabled for the organisation.

To enable API access, you must contact Mobiledock.

membership
Membership

Your membership with the organisation. Null if you're not a member.

This property is always null if you are querying with the organisation token.

members
[Membership!]

The members of the organisation.

member
Membership

A single member of the organisation. Null if ID not present.

Arguments

NameDescription

id
UUID!

roles
[Role!]

A list of roles.

role
Role

A single role.

Arguments

NameDescription

id
UUID!

outgoingMembershipInvites
[MembershipInvite!]!

A list of emails, of active email invites.

connections
[Connection!]!

All connections of the partner.

connection
Connection

A specific connection.

Arguments

NameDescription

id
UUID!

connectionCodes
[ConnectionCode!]!

Active connection invites. Each of these can be used to complete a connection with the partner, with the settings given here.

incomingConnectionRequests
[ConnectionRequest!]!

Connection invites requested of us.

outgoingConnectionRequests
[ConnectionRequestOutgoing!]!

Connection invites we have requested.

bookingInstructions
String

Instructions to be displayed on every booking at, and when booking at this location.

taskInstructions
String

Instructions to be displayed on the booking wizard, in relation to creating your tasks.

timeInstructions
String

Instructions to displayed on the Time Selection page of the booking process.

requireInstructionsAcknowledgement
Boolean!

Whether users must acknowledge instructions before proceeding with booking.

areas
[Area!]!

Areas for the organisation.

area
Area

A single area of the organisation. Null if ID not present.

Arguments

NameDescription

id
UUID!

spaces
[Space!]

Spaces for the organisation.

space
Space

A single space for the organisation. Null if not present.

Arguments

NameDescription

id
UUID!

groups
[Group!]!

Connection groups.

group
Group

A single connection group. Null of ID not present.

Arguments

NameDescription

id
UUID!

recurringBookings
[RecurringBooking]!

Recurring bookings.

recurringBooking
RecurringBooking

A recurring booking.

Arguments

NameDescription

id
UUID!

accessCodeBookings
[AccessCodeBooking!]!

Access Code bookings.

accessCodeBooking
AccessCodeBooking

A accessCode booking.

Arguments

NameDescription

id
UUID!

sentAnnouncements
[Announcement!]!

Sent announcements.

vehicleTypes
[Vehicle!]!

What vehicle types are available to be booked with.

loadTypes
[Load!]!

What load types are available to be booked with.

bookingOptionTypes
[BookingOption!]!

What bookingOption types are available to be booked with.

bookingInterval
Int!

The booking appointment interval. Bookings will always start on this subdivision of an hour. e.g with an interval of 15, a booking will be made on the hour, at 15 past, at 30 past, or at 45 past. An appointment interval must always divide 60 - therefore, the only valid values are: 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 and 60.

statuses
[Status!]!

The list of statuses the organisation follows. Every status flow starts at Submitted, proceeds to Approved, then through user-defined statuses, and finally to Completed.

status
Status

A specific status.

Arguments

NameDescription

id
UUID!

pickAreaOnCreateBooking
Boolean!

Whether you have to pick your area on booking creation or not. When true, you must include a area ID with the booking creation When false, you must not include an area ID with booking creation. An area will be assigned to you.

mandatoryOffsiteOnCreate
Boolean!

Whether the task offsite (sender for Inbound, receiver for Outbound) must be provided when a booking is created.

field
Field

A specific field for bookings and statuses. Null if ID not present.

Arguments

NameDescription

id
UUID!

fields
[Field!]!

All fields able to be filled for bookings or assigned to statuses.

permissions
[Permission!]!

A list of effective permissions available to you.

Works on both organisation tokens and user tokens.

tokenValidityLimit
Int

Range of time for what a user token is valid

document
Document

Retrieves an specific documents related to the current location.

Arguments

NameDescription

id
ID!

documentAtLocation
Document

Retrieves an specific documents related to the specified location.

Arguments

NameDescription

id
ID!

locationId
UUID!

documents
DocumentQuery

All documents or a specific one related to the this organisation as location. If filter is not provided, all documents will be fetched.

Arguments

NameDescription

filter
DocumentFilter

start
Int

count
Int

ordering
DocumentOrdering

The ordering method of the documents being returned.

ascending
Boolean

A flag indicating whether the documents are in ascending order by the ordering method. True indicates ascending order. False indicates descending order.

documentFeatureStatus
DocumentFeatureStatusView!

Configures the document's view mode for the booking's task.

driverMode
DriverMode!

Driver mode of the current location.

documentStatuses
[DocumentStatus!]!

Available document statuses at this organization.

documentTypes
[DocumentType!]!

Available document types at this organization.

logo
Image

company logo url

logoDarkBackground
Image

dark mode company logo url

files
[File!]!

All documents or a specific one related to the this organisation as location. If filter is not provided, all documents will be fetched.

Arguments

NameDescription

ordering
FileOrdering

attachmentFieldsEnabled
Boolean!

Whether attachment / file fields are enabled for this organisation.

maxFileSize
Int!

The maximum file size (in bytes) that can be uploaded to a field in this organisation.

usageLimit
Int!

The maximum size (in megabytes) of all files stored for this organisation.

currentUsage
Float

Current space taken (in megabytes) of the files stored fot this organisation

minimumBookingOptionsSelected
Int

The minumum number of booking options that may be selected on each task.

maximumBookingOptionsSelected
Int

The maximum number of booking options that may be selected on each task.

capacityUnits
[CapacityUnit!]

Throttle Units for the current organisation

bookingNotices
[BookingNotice!]!

shows all booking notices for the organisation

passTypes
[PassType!]!

Pass types

passes
PassQuery

List of passes for the specified passtype

Arguments

NameDescription

passTypeId
UUID!

start
Int

count
Int

features
OrganisationFeatures!

List of feature flags

taskDirectionMode
TaskDirectionMode!

Determines what direction tasks are permitted to be when creating a standard booking at this location.

yardMode
YardMode!

Determines if yard features are enabled at this location.

maximumTaskCount
Int

The maximum number of tasks that can be added without requiring manual review. If null, there is no limit.

fieldDataRemovalPolicy
Int

How often sensitive fields will be automatically purged in days

domain
String

The domain of the organisation.

industry
String

text version of the industry enum the org is linked to

addressCoordinates
Coordinates

Location address geocoded

manualApprovalPolicy
ManualApprovalPolicy!

The policy of whether bookings will be accepted for manual approval.

fallbackTimeRange
Int

When in fallback policy, the number of hours both before and after the requested time that there must be no available spaces for fallback mode to accept the booking for manual approval.

Returns null if the policy is not Fallback.

receiptingSettings
ReceiptingSettings

Returns null if receipting is not enabled for the organisation

bookingHorizonDays
Int!

The number of days in advance that a user can request a booking for, either for automatic or manual approval.

yardAssetTypes
[YardAssetType!]!

query yard types

yardAssetStatuses
[YardAssetStatus!]!

query yard statuses

yardAsset
YardAsset

Retrieves a specific yard asset related to the current location.

Arguments

NameDescription

id
UUID!

OrganisationCondition

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Organisation'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.)

organisations
[OrganisationReference!]!

An organisation on the booking must be a member of a group listed to match this condition.

OrganisationFeatures

Feature flags

Fields

NameDescription

documents
Boolean!

attachments
Boolean!

api
Boolean!

capacities
Boolean!

location
Boolean!

passes
Boolean!

receipting
Boolean!

accessCodeBooking
Boolean!

yard
Boolean!

OrganisationReference

An organisation reference. Contains a limited subset of the information from an organisation.

Fields

NameDescription

id
UUID!

The ID of the organisation.

name
String!

The name of the organisation.

description
String!

The description of the organisation.

address
PhysicalAddress

The address of the organisation.

timezone
String!

The timezone the organisation resides in.

contacts
[Contact!]!

A list of contacts for the organisation.

locationEnabled
Boolean!

Whether location functionality is enabled for the organisation.

If location is disabled, the organisation cannot create areas or spaces, or participate in bookings as a location. This does not prevent them from participating in bookings as a sender, carrier, or receiver.

To enable location functionality, you must contact Mobiledock.

verified
Boolean!

Whether the organisation has been verified.

To become verified, you must contact Mobiledock.

allowConnectionRequests
Boolean!

Whether people can request connections to the organisation.

Changing this to false does not cancel any current connection requests.

bookingInstructions
String

Instructions to be displayed on every booking at, and when booking at this location.

taskInstructions
String

Instructions to be displayed on the booking wizard, in relation to creating your tasks.

timeInstructions
String

Instructions to displayed on the Time Selection page of the booking process.

requireInstructionsAcknowledgement
Boolean!

Whether users must acknowledge instructions before proceeding with booking.

pickAreaOnCreateBooking
Boolean!

Whether you have to pick your area on booking creation or not. When true, you must include a area ID with the booking creation When false, you must not include an area ID with booking creation. An area will be assigned to you.

mandatoryOffsiteOnCreate
Boolean!

Whether the task offsite (sender for Inbound, receiver for Outbound) must be provided when a booking is created.

fields
[FieldReference!]!

All fields able to be filled for bookings or assigned to statuses for the other organsiation.

statuses
[StatusReference!]!

All statuses available for a booking at this location.

loads
[LoadReference!]!

All loads available for a booking at this location

bookingOptions
[BookingOption!]!

All booking options available for a booking at this location.

documentFeatureStatus
DocumentFeatureStatusView!

Configures the document's view mode for the booking's task.

driverMode
DriverMode!

Driver mode of the current location.

logoUrl
String

company logo url

logo
Image

company logo url

logoDarkBackground
Image

dark mode company logo url

maxFileSize
Int!

The maximum file size (in bytes) that can be uploaded to a field in this organisation.

minimumBookingOptionsSelected
Int

The minumum number of booking options that may be selected on each task.

maximumBookingOptionsSelected
Int

The maximum number of booking options that may be selected on each task.

maximumTaskCount
Int

The maximum number of tasks that can be added. If null, there is no limit.

bookingNotices
[BookingNotice!]!

only shows booking notices that intersect with a specified time range

Arguments

NameDescription

timeRange
TimeRange!

base
Boolean!

Whether the current org is a base organisation.

pass
Pass!

Look to see if pass matching all the criteria exists Pass can only be queried if the querying user is a member of an organisation connected to the location. Pass belongs to the parent org (eg location), pass.organisationid is the users org (eg carrier)

Arguments

NameDescription

organisationId
UUID!

passTypeId
UUID!

passId
ID!

taskDirectionMode
TaskDirectionMode!

Determines what direction tasks are permitted to be when creating a standard booking at this location.

yardMode
YardMode!

Determines if yard features are enabled at this location.

yardAssetTypes
[YardAssetTypeReference!]!

Yard asset types configured for this organisation.

domain
String

The domain of the organisation.

industry
String

text version of the industry enum the org is linked to

PartialTimeRange

Set dates when a document starts being valid as well as finishes its validity. Among the time window booking can be made.

Fields

NameDescription

begin
Timestamp

Date when a document starts being valid

end
Timestamp

Date when a document finishes being valid

Pass

Fields

NameDescription

id
ID!

attributes
Object!

Key / value string pairs of additional data that's relevant to the pass.

validity
PartialTimeRange

type
PassType!

url
String

createdAt
Timestamp!

modifiedAt
Timestamp!

PassFieldData

Pass field data.

Implements

Fields

NameDescription

type
FieldType!

The type of field data captured. Will always be 'Pass'.

field
FieldReference!

The field.

value
String

pass
Pass

The data from the field.

passValid
Boolean!

Whether or not the pass is valid as of the time of the scheduled/requested date. It is considered to be valid if there are no dates.

valuePurged
Boolean!

If true, this value was automatically removed in accordance with organisation field data removal policy.

PassQuery

Fields

NameDescription

start
Int!

Number of passes to skip

pageSize
Int!

Number of records to be fetched

totalPages
Int!

Total number of pages

totalRecords
Int!

Total number of passes in current query

data
[Pass!]!

Passes data

PassType

Fields

NameDescription

id
UUID!

External id of the passtype

name
String!

name of the passtype

key
String!

unique per org key for the passtype

url
String

unique per org key for the passtype

PermissionDetails

Details on permissions.

Fields

NameDescription

permission
Permission!

The permission.

unsafePermission
Boolean!

Whether the permission is classified as 'unsafe', and such if it can be assigned by safe-only membership modification.

PhysicalAddress

A physical location as an address.

See PhysicalAddressInput for modification.

Fields

NameDescription

address1
String!

The first line of an address, e.g Unit 2, 123 Example St

address2
String

The second line of an address, when necessary.

city
String!

The city or town the address is located within, e.g Melbourne

postal
String

A region specific postal identifier, such as a postal code or ZIP code.

region
String!

The state, province, or other region the address is located within.

country
String!

The country the address is located within.

PlannedTask

This definition is a clone of type Task. For more details, see type Task.

Fields

NameDescription

id
ID!

sender
OrganisationReference

senderCore
CoreDetails

receiver
OrganisationReference

receiverCore
CoreDetails

loads
[LoadQuantityHist!]!

bookingOptions
[BookingOption!]!

direction
Direction!

document
Document

PointBlockCondition

A condition for point blocks. Point block conditions can only ever appear on Block rules. Point block conditions should not be combined with Time conditions, as the result is rarely meaningful.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'PointBlock'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday) Point block conditions can never be not conditions.

pointBlockTimes
[Time!]!

A list of times the rule applies to. Times are interpreted in local time to the organisation. No special treatment is given to DST, so rules may in essence, apply twice in an hour, under particular circumstances.

ReceiptingSettings

Fields

NameDescription

autoOffsiteDocuments
[Document!]!

autoCarrierDocuments
[Document!]!

RecurringBooking

A recurring booking. Recurring bookings represent bookings that are automatically created by the system on a specified period. Recurring bookings don't go through the booking engine, and are created approved. Recurring bookings are created past the max booked time, so there is little chance of conflicting with manually created bookings.

If something would change that would render creating the recurring booking impossible, i.e

  • The connections between the location and the carrier, or any receivers, are removed.
  • The carrier or any receivers are removed from the appropiate groups.
  • Loads, bookingOptions, or vehicles are removed.
  • The area or space is removed.
  • The space is removed from the area. the booking is set to 'invalid', and no new bookings will be created.

Fields

NameDescription

id
UUID!

The ID of the recurring booking.

name
String!

The name of the recurring booking. Has no effect on the created bookings.

description
String

The description of the recurring booking. Has no effect on the created bookings.

invalid
Boolean!

Whether the booking is invalid. An invalid booking will not be created, and cannot be enabled. It must be updated to become valid again.

enabled
Boolean!

Whether the booking is enabled. Disabled bookings are not created.

time
RecurringBookingTime!

The time settings determining when the booking will be created.

startDate
Timestamp!

The time when this recurring booking will start, or started. No bookings will be automatically created before this date.

endDate
Timestamp

The time when this recurring booking will end. No bookings will be automatically created after this date.

carrier
OrganisationReference!

The carrier of the booking.

area
Area!

The area of the booking.

space
Space!

The space of the booking.

vehicle
Vehicle!

The vehicle of the booking.

duration
Int!

The duration of the booking.

tasks
[RecurringTask!]!

The tasks in this booking.

fields
[FieldData]!

Fields that will be submitted with this booking.

createdBookings
[Booking!]!

Bookings that have been created through this recurring booking.

status
Status

Custom Status, optional

headerLoads
[LoadQuantity!]!

Return header loads

RecurringLoad

Implements

Fields

NameDescription

id
UUID!

name
String!

description
String

duration
Int!

RecurringLoadQuantity

Fields

NameDescription

load
RecurringLoad!

quantity
Int!

RecurringTask

A task represents a core unit of work for a booking. A task has loads and booking options, and will be either incoming or outgoing. The onsite organisation must be referenced on the task, the offsite may be omitted. When a task is inbound, the receiver is the onsite, and the sender is the offsite. When a task is outbound, the sender is the onsite, and the receiver is the offsite.

Fields

NameDescription

sender
OrganisationReference

The assigned sender to the task. Incoming tasks do not require a sender. Outgoing tasks do.

receiver
OrganisationReference

The assigned receiver to the task. Outgoing tasks do not require a sender. Incoming tasks do.

direction
Direction!

The direction the task is going, inbound or outbound.

loads
[RecurringLoadQuantity!]!

A list of load quantities on the task.

bookingOptions
[BookingOption!]!

A list of booking options associated with the task.

createdTasks
[Task!]!

Tasks created through this recurring task.

RequestHistory

Changes to a booking's state is recorded in the booking history. The booking history is always sorted by the capture time. RequestHistory captures a new time request.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

requestedTime
Timestamp!

The requested date and time.

area
AreaReference

The area requested. Will only be present if the location required the selection of areas at time of request.

Role

A role is a collection of permissions that can be assigned to a user. Permissions therefore allow them to take actions.

Fields

NameDescription

id
UUID!

The ID of the role.

name
String!

The name of the role.

description
String

The description of the role.

defaultRole
Boolean!

Whether the role is a default role or a custom role.

Default roles cannot be deleted or modified.

permissions
[Permission!]!

A list of permissions assigned to this role.

members
[Membership!]!

A list of members assigned to this role.

Rule

A rule, as applied to an area. All the conditions in the rule are ANDed together. That is, every present condition needs to match for the rule to match.

The result of the rule is determined by the rule's type. If a rule with Allow matches a given space and time, the booking will be allocated If no rule with Allow matches any space or time, the booking will not be allocated. If a booking with Allow matches a given space and time but a rule with Block matches as well, the booking will not be allocated to that space and time.

The default for any space and time is blocked, so if no rules apply, the booking will be blocked.

Options inside a condition are treated as OR. If a condition has multiple values that could match, only one needs to match for the condition to be considered valid.

Fields

NameDescription

id
UUID!

The ID of a rule.

enabled
Boolean!

Whether the rule is active. If false, the rule won't apply.

name
String!

The name of the rule.

validateTasksIndividually
Boolean!

Whether certain conditions (load, product, groups) are applied on a per-task level rather than a whole-rule level.

If you have several conditions of these types, they must all match on the same task. It does not affect conditions of any other type.

description
String

The description of the rule.

reasonMessage
String

The public description of the rule. This will be displayed to users if the rule causes them to not find times.

type
RuleType!

The type of the rule.

Allow rules allow a booking if they match. Block rules block a booking, even if an allow rule matched.

conditions
[Condition!]!

A list of conditions applying to the rule. Every condition must be satisfied to satisfy the rule.

RuleDate

A date in a year.

Fields

NameDescription

month
Month!

The month of the year.

day
Int!

The day of the month.

RulesTest

Fields

NameDescription

success
Boolean!

capacityCheckFailed
Boolean!

startTimeAlignmentFailure
Boolean!

configurations
[RuleTestConfiguration!]!

RuleTestCondition

Fields

NameDescription

condition
Condition!

passed
Boolean!

RuleTestConfiguration

Fields

NameDescription

rule
Rule!

area
Area!

space
Space!

passed
Boolean!

outsideOfAreaOpenTimes
Boolean!

exceededMaximumBookingDuration
Boolean!

outsideOfMinMaxTimeInAdvance
Boolean!

bookingOverlap
Boolean!

conditions
[RuleTestCondition!]

RuleTime

A time period.

Fields

NameDescription

begin
Time!

The beginning of a period.

end
Time!

The end of a time period.

Space

A space - the smallest subdivision that can be booked against.

Spaces can support one or more bookings at a given time.

See SpaceInput for modification.

Fields

NameDescription

id
UUID!

The ID of the space.

name
String!

The name of the space.

maxBookings
Int!

The maximum number of bookings that can be in this space at any given time.

The booking engine will never assign more than this many bookings to a safe. Manual assignment may be used to overload a space.

capacity
Int!

The capacity of this space.

Every Load Type has a size. The booking engine will never add a booking to a space that would result in the total capacity exceeding the space's capacity. Manual assignment may be used to overload a space.

priority
Int!

The priority of a space.

A space with a higher priority will be booked over a space with a lower priority, when the spaces are both valid.

areas
[Area!]!

The areas this space is assigned to.

coordinates
Coordinates

The physical location of the space.

SpaceCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Space'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

spaces
[Space!]!

The booking will only be assigned to a space listed here, to satisfy this condition.

SpaceHistory

Changes to a booking's state is recorded in the booking history. The booking history is always sorted by the capture time.

SpaceHistory captures the assignment of a space and time.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

bookedTime
Timestamp!

The time the booking was assigned to.

bookedSpace
SpaceReference!

The space the booking was assigned to.

bookedArea
AreaReference!

The area the booking was assigned to.

automaticallyAssigned
Boolean!

Whether this space assignment was automatic or manual.

duration
Int!

The duration the booking was asssigned

SpaceReference

A space - the smallest subdivision that can be booked against.

Spaces can support one or more bookings at a given time.

See Space for more info.

Fields

NameDescription

id
UUID!

The ID of the space.

name
String!

The name of the space.

coordinates
Coordinates

The physical location of the space.

StatusHistory

Changes to a booking's state is recorded in the booking history. The booking history is always sorted by the capture time.

StatusHistory captures a status change.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

status
StatusReference!

The status transitioned into.

timeActioned
Timestamp

Time when a status event actually happened.

StatusReference

A booking status.

This is a simpler reference to statuses. Check the full Status interface for more information.

Fields

NameDescription

id
UUID!

The ID of the status.

name
String!

The name of the status. Status names are unique.

description
String

The description of the status.

type
StatusType!

The type of the status. Core statuses have special rules on modification, and can never be deleted. The Submitted status can have entry fields, but no exit fields. The Completed status can have entry fields, but no exit fields. The Approved status can have exit fields, but no entry fields.

carrierProgressable
Boolean!

Whether this status is available to the carrier. If true, the carrier or the location can move from any status to this status. If false, only the location can move to this status.

colour
Colour!

The colour of the status to be displayed as.

highlighted
Boolean!

Flag indicating if value should be highlighted in display

StringFieldData

String field data.

Implements

Fields

NameDescription

type
FieldType!

The type of field data captured. Will always be 'String'.

field
FieldReference!

The field.

value
String

The data from the field.

valuePurged
Boolean!

If true, this value was automatically removed in accordance with organisation field data removal policy.

SubcarrierHistory

Vehicle history captures.

Implements

Fields

NameDescription

id
UUID!

ID of the booking event.

time
Timestamp!

Timestamp of the event.

user
String

User who triggered the event. Null indicates an event triggered by Mobiledock.

organisation
OrganisationReference

Organisation of the user triggering the event. Null only when user is null.

subcarrier
OrganisationReference

Sub-carrier assigned during this event.

SuggestedGroup

A group of suggested connections.

Fields

NameDescription

name
String!

The name of the group.

description
String

The description of the group.

connections
[OrganisationReference!]!

The organisations suggested for connections in the group.

Task

A task represents a core unit of work for a booking. A task has loads and booking options, and will be either incoming or outgoing. The onsite organisation must be referenced on the task, the offsite may be omitted. When a task is inbound, the receiver is the onsite, and the sender is the offsite. When a task is outbound, the sender is the onsite, and the receiver is the offsite.

Fields

NameDescription

id
ID!

The ID of the task. The ID will always be in the format of "MDT-XX-XXXX-XXXX" where the first two XX after MDT are the last two digits of the year the task was created in.

sender
OrganisationReference

The assigned sender to the task. Incoming tasks do not require a sender. Outgoing tasks do.

senderCore
CoreDetails

Core details for this task's sender.

receiver
OrganisationReference

The assigned receiver to the task. Outgoing tasks do not require a sender. Incoming tasks do.

receiverCore
CoreDetails

Core details for this task's receiver.

loads
[LoadQuantity!]!

A list of load quantities on the task.

bookingOptions
[BookingOption!]!

A list of booking options associated with the task.

direction
Direction!

The direction the task is going, inbound or outbound.

document
Document

The document associated to this load

TaskBookingHistory

Implements

Fields

NameDescription

id
UUID!

time
Timestamp!

user
String

organisation
OrganisationReference

added
[TaskHistory!]

deleted
[TaskHistory!]

TaskHistory

Fields

NameDescription

id
ID!

sender
OrganisationReference

receiver
OrganisationReference

loads
[LoadQuantityHist!]!

bookingOptions
[BookingOption!]!

direction
Direction!

document
Document

state
StateType!

taskActuals
Boolean!

senderCore
CoreDetails

Core details for this task's sender.

receiverCore
CoreDetails

Core details for this task's receiver.

TimeCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Time'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

times
[RuleTime!]!

A list of times the rule applies to. Times are interpreted in local time to the organisation. No special treatment is given to DST, so rules may in essence, apply twice in an hour, under particular circumstances.

User

Your user account.

Fields

NameDescription

id
UUID!

User identifier

name
String!

Your name, as registered in Mobiledock

email
String!

Your email address, as registered in Mobiledock

language
String!

Your preferred language/locale for Mobiledock

timezone
String!

The timezone which all dates should be displayed in

notificationsBlocked
Boolean!

Whether notifications are disabled

autoSubscribeCreatedBookings
Boolean!

If enabled, the user will be automatically subscribed to changes in all bookings they create.

autoSubscribeParticipantBookings
Boolean!

If enabled, the user will be automatically subscribed to changes in all bookings they participate in.

autoSubscribeOrganisationBookings
Boolean!

If enabled, the user will be automatically subscribed to changes in all bookings for each organisation they are a member of.

UserReference

Fields

NameDescription

id
UUID!

name
String!

Vehicle

A vehicle represents the vehicle the booking will be using. Every booking must have exactly one vehicle, and the vehicle chosen determines how long the booking will take. Each vehicle also has a capacity. A booking will not be booked automatically into a space with too few capacity to contain the vehicle.

Fields

NameDescription

id
UUID!

The ID of the vehicle.

name
String!

The name of the vehicle. This cannot be changed after being set.

description
String

The description of the vehicle.

size
Int!

The size of the vehicle. A vehicle will only be booked into a space with the capacity to support it.

duration
Int!

The base duration a booking with this vehicle will take, in seconds. May be 0 or above.

class
EntityClass

The standard vehicle entity (if any)

capacityUnits
[CapacityUnitQuantity!]

Throttle unit quantities for the current vehicle

VehicleCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Vehicle'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

vehicles
[Vehicle!]!

A booking must have a vehicle set that appears here to satisfy this condition.

VehicleHistory

Vehicle history captures.

Implements

Fields

NameDescription

id
UUID!

The ID of the booking event.

time
Timestamp!

The time this event was captured.

user
String

The name of the user who caused this event. May be null, which represents an event caused by Mobiledock itself. If user is null but organisation has a value, then the event was caused by an organisation token.

organisation
OrganisationReference

The organisation of the user who caused this event. Will only be null when user is null.

vehicle
VehicleReference!

Vehicle capture in this history

VehicleReference

A vehicle represents the vehicle the booking will be using. Every booking must have exactly one vehicle, and the vehicle chosen determines how long the booking will take. Each vehicle also has a capacity. A booking will not be booked automatically into a space with too few capacity to contain the vehicle.

Fields

NameDescription

id
UUID!

The ID of the vehicle.

name
String!

The name of the vehicle. This cannot be changed after being set.

description
String

The description of the vehicle.

size
Int!

The size of the vehicle. A vehicle will only be booked into a space with the capacity to support it.

duration
Int!

The base duration a booking with this vehicle will take, in seconds. May be 0 or above.

class
EntityClass

The standard vehicle entity (if any)

VerificationRequest

A request to Mobiledock for your organisation to be verified.

Fields

NameDescription

country
String!

The country the organisation resides in.

companyCode
String!

The provided 'company code'. A 'company code' is a term for some unambiguous identifier for the organisation. This can include, for instance, a business number.

comments
[VerifyComment!]!

The comments made on the verification request. Ordered by creation date.

VerifyComment

A comment left on a verification request.

Fields

NameDescription

name
String

The name of the user who wrote the comment.

bySupport
Boolean!

True if this comment was made by Mobiledock Support.

timestamp
Timestamp!

When the comment was made.

content
String!

The content of the comment.

WeekCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Week'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

weekdays
[Weekday!]!

A list of weekdays the rule applies to. The rule will only apply on that given weekday, every week.

YardAsset

Represents an individual yard asset, such as a specific container or trailer.

Fields

NameDescription

id
UUID!

externalId
ID

type
YardAssetType!

position
YardAssetPosition

timeAssignment
YardAssetTimeAssignment

status
YardAssetStatus!

inboundBooking
Booking

outboundBooking
Booking

createdAt
Timestamp!

modifiedAt
Timestamp!

organisation
OrganisationReference!

tasks
[Task!]!

history
[YardAssetChangeEvent!]!

inboundTimeRange
PartialTimeRange

outboundTimeRange
PartialTimeRange

YardAssetChangeEvent

Fields

NameDescription

id
UUID!

user
UserReference

organisation
OrganisationReference

timestamp
Timestamp!

changes
[YardAssetChange!]!

YardAssetIDChange

Fields

NameDescription

old
String

new
String

YardAssetInboundBookingChange

Fields

NameDescription

old
Booking

new
Booking

YardAssetInboundTimeRangeChange

Fields

NameDescription

old
PartialTimeRange

new
PartialTimeRange!

A single-direction representation of a YardAsset

Fields

NameDescription

id
UUID!

externalId
ID

type
YardAssetTypeReference!

status
YardAssetStatus!

createdAt
Timestamp!

modifiedAt
Timestamp!

organisation
OrganisationReference!

direction
Direction!

tasks
[Task!]!

The tasks that correspond to the YardAssetLink direction

YardAssetOutboundBookingChange

Fields

NameDescription

old
Booking

new
Booking

YardAssetOutboundTimeRangeChange

Fields

NameDescription

old
PartialTimeRange

new
PartialTimeRange!

YardAssetPosition

Fields

NameDescription

space
SpaceReference!

The space that the asset is assigned to.

area
AreaReference!

The area that the asset is assigned to.

YardAssetPositionChange

Fields

NameDescription

old
YardAssetPosition

new
YardAssetPosition

YardAssetQuery

YardAsset search return type.

Fields

NameDescription

pageNumber
Int!

Page number fetched.

pageSize
Int!

Number of records fetched.

totalPages
Int!

Total number of pages for the current organisation based on the page size.

results
Int!

How many bookings are present in this search query, total.

yardAssets
[YardAsset!]!

The yardassets returned in this batch.

YardAssetStatus

Represents a yard asset status.

Fields

NameDescription

id
UUID!

name
String!

colour
Colour!

core
Boolean!

type
YardAssetStatusType!

YardAssetStatusChange

Fields

NameDescription

old
YardAssetStatus

new
YardAssetStatus!

YardAssetStatusFlow

Represents a defined transition from one status to another.

Fields

NameDescription

beginStatus
YardAssetStatus!

endStatus
YardAssetStatus!

YardAssetTaskHistory

The purpose of this type of task is to only be used to read yard asset task changes. As the yard asset task implementation removes task when tasks are updated or deleted from the live task table, the current TaskModel resolver does not fit for resolving the properties then. Currently booking tasks are stored in the life table forever. But this is an exact copy of the Task type

Fields

NameDescription

id
ID!

The ID of the task. The ID will always be in the format of "MDT-XX-XXXX-XXXX" where the first two XX after MDT are the last two digits of the year the task was created in.

sender
OrganisationReference

The assigned sender to the task. Incoming tasks do not require a sender. Outgoing tasks do.

senderCore
CoreDetails

Core details for this task's sender.

receiver
OrganisationReference

The assigned receiver to the task. Outgoing tasks do not require a sender. Incoming tasks do.

receiverCore
CoreDetails

Core details for this task's receiver.

loads
[LoadQuantity!]!

A list of load quantities on the task.

bookingOptions
[BookingOption!]!

A list of booking options associated with the task.

direction
Direction!

The direction the task is going, inbound or outbound.

document
Document

The document associated to this load

YardAssetTasksChange

Fields

NameDescription

old
[YardAssetTaskHistory!]

new
[YardAssetTaskHistory!]!

YardAssetTimeAssignment

Represents an assignment of a yard asset to a space for a set period of time.

Fields

NameDescription

beginTime
Timestamp!

endTime
Timestamp!

duration
Int!

Duration of the assignment, in minutes

YardAssetTimeAssignmentChange

Fields

NameDescription

old
YardAssetTimeAssignment

new
YardAssetTimeAssignment

YardAssetType

Represents a configurable type of yard asset such as a container or trailer.

Fields

NameDescription

id
UUID!

key
String!

name
String!

defaultStandingTime
Int!

The default assigned duration, in seconds

ignoreInboundContentsDuration
Boolean!

ignoreOutboundContentsDuration
Boolean!

allowInboundAssetCreation
Boolean!

allowOutboundAssetCreation
Boolean!

allowInboundAnonymousAssetCreation
Boolean!

allowOutboundAnonymousAssetCreation
Boolean!

allowInboundAssetConnection
Boolean!

allowOutboundAssetConnection
Boolean!

inboundBookingDuration
Int!

The inbound booking duration, in seconds

outboundBookingDuration
Int!

The outbound booking duration, in seconds

statusFlows
[YardAssetStatusFlow!]!

The list of all acceptable status transitions for a given yard asset type.

YardAssetTypeChange

Fields

NameDescription

old
YardAssetType

new
YardAssetType!

YardAssetTypeCondition

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'YardAssetType'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.)

yardAssetTypes
[YardAssetTypeReference!]!

A yard asset type on the booking must be a member of a group listed to match this condition.

YardAssetTypeReference

A subset of YardAssetType

Fields

NameDescription

id
UUID!

key
String!

name
String!

defaultStandingTime
Int!

ignoreInboundContentsDuration
Boolean!

ignoreOutboundContentsDuration
Boolean!

allowInboundAssetCreation
Boolean!

allowOutboundAssetCreation
Boolean!

allowInboundAnonymousAssetCreation
Boolean!

allowOutboundAnonymousAssetCreation
Boolean!

allowInboundAssetConnection
Boolean!

allowOutboundAssetConnection
Boolean!

inboundBookingDuration
Int!

outboundBookingDuration
Int!

YearCondition

A condition represents some state that must be matched by a booking, to match the condition.

Implements

Fields

NameDescription

type
ConditionType!

Type will always be 'Year'

not
Boolean!

Whether the condition is a 'not' condition. Not conditions are inverse: A regular condition will pass when the condition matches (right day, time, load present, etc.) While a not condition will pass only when the condition does not match (e.g a not condition on 'Tuesday' will match any day that isn't Tuesday)

days
[RuleDate!]!

The booking must occur on a specific day specified here for this condition to apply. These dates will be calculated relative to local time for the location. This rule will repeat yearly.