Skip to main content

Interfaces

Condition

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

Implemented by

Fields

NameDescription

type
ConditionType!

The type of the condition. Each object type has an associated value.

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)

FieldData

Field data.

Implemented by

Fields

NameDescription

type
FieldType!

The type of field data captured.

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.

History

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

Implemented by

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.

LoadInterface

Implemented by

Fields

NameDescription

id
UUID!

name
String!

description
String

duration
Int!

RecurringBookingTime

An interface to support multiple different of time calculations.

Implemented by

Fields

NameDescription

nextScheduledTime
Timestamp

The next time the booking would be created.

Status

A booking status.

There are two categories of status - flow statuses and exception statuses. Flow statuses are statuses that may be visited in an ordinary booking flow. They generally have following statuses, and represent ordinary progression of a booking. Exception statuses represent a non-standard completion of a booking, such as a booking being cancelled.

Several core statuses exist. The Submitted and Approved statuses are the start of the booking, following into the user flow statuses. Completed is the ending of normal flow statuses. The Cancelled status is the only custom Exception status.

The On Hold status exists as a sort of 'holding ground' for bookings that need to be held and not progressed through the flow, but should not be cancelled.

Implemented by

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.