DeliveryRequestSubmission

The DeliveryRequestSubmission contains the information the user submits on the request. This information is both the form field data (contained in formFieldValues) and the files transferred (linked via attachedAnnotations).

Property Reference

Field Name Required Type Description Format

activeStatus

String

Is the submission active, or is it archived?

Enum: Active, Archived,

allClipsPreDeliveryStatus

String

Enum: TransferStarted, TransferCompleted, ProbeCompleted, TransferFailed, ProbeFailed, LinkCompleted, LinkFailed,

attachedAnnotations

Set of DeliveryRequestSubmissionAttachedAnnotation

autoValidatedAt

Date

date-time

autoValidationError

Object

autoValidationReport

Object

autoValidationStatus

String

Enum: Pending, Rejected, Accepted,

created

Date

The time when this resource was created

date-time

createdBy

String

The request or process that created this resource

creatorId

Long

The id of the user who created this resource

int64

deliveryError

Object

deliveryReport

Object

deliveryRequest

DeliveryRequest

deliveryRequestId

Long

int64

deliveryStatus

String

Enum: Pending, Delivered, Failed,

deliveryWorkflowId

String

formFieldValues

Object

id

Long

The id of this resource

int64

lastUpdated

Date

The time when this resource was last updated

date-time

modifiedBy

String

The request or process responsible for the last update of this resource

objectType

String

The data model type or class name of this resource

reviewStatus

String

Enum: Pending, Rejected, Accepted,

reviewedAt

Date

date-time

reviewer

User

skipReview

Boolean

skipValidation

Boolean

submissionComments

Set of DeliveryRequestSubmissionComment

submissionStatus

String

Enum: Open, Draft, AwaitingProbe, AwaitingAutoValidation, AwaitingDelivery, AwaitingReview, Accepted, Rejected, DraftFailed, DeliveryFailed,

submissionVersion

Long

int64

submittedAt

Date

date-time

submitter

User

version

Long

The version of this resource, used for Optimistic Locking

int64

formFieldValues

The DeliveryRequest contains a formFieldsDefinition. It is a FormFieldsDefinition, and defines the form that should be filled in on each DeliveryRequestSubmission. The filled in values should appear in the formFieldValues property of the DeliveryRequestSubmission. See also the section on FormFieldValues.

An example is given below, where two form fields are filled in. The first, shortDescription, is a simple STRING. The second one, castAndCrew, is a COMPOUND field consisting of three STRING fields of its own.

{
  "formFieldValues": {
    "shortDescription": {
      "value": "John gets to know the Doe family."
    },
    "castAndCrew": {
      "values": [
        {
          "name": {
            "value": "test"
          },
          "role": {
            "value": "ACTEUR"
          },
          "character": {}
        }
      ]
    }
  }
}

attachedAnnotations

A list of DeliveryRequestSubmissionAttachedAnnotation, representing the material attached to the submission.

submissionComments

Comments made on the submission.

submissionStatus

The status the DeliveryRequestSubmission is in. This field is not set explicitly, but it is calculated from other fields and events.

Delivery Request Life Cycle
State Description

Open

A submission starts in the Open state.

Draft

Whenever there is a change in the submission, the state turns to Draft.

AwaitingProbe

If the user submits the DeliveryRequestSubmission, the state turns to AwaitingProbe or AwaitingAutoValidation, depending on whether all attached clips have been probed, i.e., the technical metadata is available.

AwaitingAutoValidation

When all clips are probed, the state turns to AwaitingAutoValidation.

The transition towards AwaitingAutoValidation involves starting the DeliveryRequestSubmission workflow. The first step of the workflow is to validate the submission and attached clips.

AwaitingDelivery

If validation passes, the state of the submission transitions to Awaiting Delivery.

Actual delivery involves:

  • The workflow will then ensure all attached clips are present on the target delivery volume.

  • This involves downloading all material from Limecraft Flow if not yet present.

  • A sidecar containing technical metadata is published to the target volume.

  • A webhook is called containing the metadata of the submission, i.e., the form field values.

AwaitingReview

When delivery is finished, the state transitions to AwaitingReview. At this point a user with sufficient permissions can accept or reject the submission.

Accepted or Rejected

Depending on the action taken by the review user, the submissions ends up being Accepted or Rejected.

DraftFailed

An unexpected error occured with some of the material attached to the submission. The user can get out of this state by removing the material.

DeliveryFailed

An unexpected error occured during the transfer of the material. The user can get out of this state by reopening the request and trying again.

active DeliveryRequestSubmission

A DeliveryRequestSubmission is considered to be active if it has not reached one of the end states Accepted or Rejected.

Only when all other DeliveryRequestSubmission of a DeliveryRequest have reached the end state, or are archived, a new DeliveryRequestSubmission may be created.

Only one active submission is allowed for each Delivery Request.

There is one exception though, and that is if the allowMultipleSubmissions property of the DeliveryRequest is true.

submissionStatus in the Limecraft Flow User Interface

The Limecraft Flow User Interface will group some of the submissionStatus values together:

submissionStatus Status in the UI shown as

Accepted

Accepted

Rejected

Rejected

AwaitingReview

In Review

AwaitingProbe AwaitingDelivery AwaitingAutoValidation

Delivering

Open Draft

Open

DraftFailed

Draft Failed

DeliveryFailed

Delivery Failed

The following contains some screenshots of how the different states look in the Limecraft Flow User Interface.

Open (Open / Draft)

If you click an Open request in the listing:

listing open

it will open the request dialog:

dialog open

In the example above, the request asks us to upload visuals for the episode. We click “Choose file” and select some images to upload. The upload (transfers) will start. Under the hood, the DeliveryRequestSubmission is now in the Draft state.

dialog draft

dialog draft transferred

Delivering (AwaitingProbe / AwaitingDelivery / AwaitingAutoValidation)

Now we click “Submit for review”. This means as much as “we think we have provided the necessary data and files for this request”.

dialog submit

The button at the bottom right becomes blue and shows “Submitted | Delivering”. This means the files are being transferred to the intended location, their contents are being validated automatically and possibly other processes happen.

dialog delivering

If the DeliveryRequest has allowMultipleSubmissions=true (default is false), the user will see the "Create New" or "Modify" buttons at this stage, which allow them to create a new DeliveryRequestSubmission.
In Review (AwaitingReview), point of view of the supplier

After a while, the status changes to “Submitted | In Review”, which means a user with sufficient rights can now mark the request as “Approved”, or, in case the submitted data and files are not considered sufficient, “Rejected”.

If the DeliveryRequest has allowMultipleSubmissions=true (default is false), the user will see the "Create New" or "Modify" buttons at this stage, which allow them to create a new DeliveryRequestSubmission.

dialog in review

The supplier can do nothing but wait at this point.

In Review (AwaitingReview), point of view of the reviewer

If a user with 'review' rights takes a look at a DeliveryRequestSubmission which is awaiting review (AwaitingReview), this is what they see:

dialog in review broadcaster perspective

The reviewer has the option to approve or reject the submission.

Accepted

If the request is approved, it will look like this in the request listing:

listing accepted

It will look like this when opening the request:

dialog accepted

The user will have a "Create new" or "Modify" button, which is explained further in the "Rejected" section.

Rejected

If on the other hand, the request would be rejected, it will look like this in the request listing:

listing rejected

It would look like this when opening the request:

dialog rejected

Depending on the value of the continueFromPreviousSubmission field of the DeliveryRequest, the user will either see a "Create new" or a "Modify" button.

  • "Create new" will create a new, empty, submission

  • "Modify" will create a new submission which is a copy of this submission. The user can modify the submission to get it in an acceptable state.

DeliveryFailed

If the submissionStatus is DeliveryFailed, the UI will show an error message. A user with account manage permissions will see a link at the bottom to the delivery workflow, which will probably contain more information.

dialog delivery failed

The user will be able to Reopen the request, and try again.

DraftFailed

This would look similar to DeliveryFailed. The user would have no Reopen button, but would be able to remove material causing the DraftFailed to go back to Draft.