TransFollow Concepts

Freight Documents

TransFollow currently supports the following types of freight document:

  • WAYBILL_FRA (Lettre de voiture)
  • WAYBILL_ESP (Carta de porte)

A submitter, logged in with his TransFollow account, can create a freight document in a draft state and change it until it is complete. This draft version can only be edited by an account with submitter rights. Most fields in the freight document can be changed during this stage. Draft status may be skipped by creating a freight document in issued state.

Consignor, consignee and carrier are roles that are part of the freight document. They represent the legal parties on the freight document. The consignee actually becomes a legal party in the freight document when he receives the cargo, signs the freight document or files a claim. The place of taking over and place of delivery are never legal parties in the freight document. The place of taking over needs at least a countryCode when created as DRAFT and is mandatory. The countryCode will be immutable once it has been created. The carrier role within a freight document must have a valid email address. If a subsequent carrier is added, the same rule applies. The consignor and consignee roles must at least have a name. The TransFollow system does not enforce mandatory account information or even an email address for these roles. It is up to the submitter to decide what minimal role information is needed for their purposes and process.

During the creation process, the submitter is also allowed to add external references (transport orders, billing systems), supplements and attachments (general and goods) to a waybill. The attachments can be sealed, which means only the submitter, consignor and consignee are able to view them.

When the information is complete the freight document can be issued for processing. Once issued, the freight document can be used in the signing process. Amounts, weights, comments and approvals, etc. can be added or changed. The essential information, the roles, goods, etc. cannot be changed.

Freight document concepts

A waybill can be in a few different states: draft, issued, in transit and delivered are the most important ones. To get from issued to 'transit' an approved transfer from sender to carrier must have taken place. To get from 'in transit' to delivered an approved transfer from carrier to consignee or place of delivery must have taken place.

Freight documents are accessible as a structured entity that contains all other sub-entities and attributes.

TransFollow Approval

When signing the freight document, a party signs for all the freight document content that's available during signing. This includes all freight document fields, the goods being transported, and all available comments (as in: the comments which are available in the waybill at the device on which the signing takes place). Transfollow metadata is not part of the legal scope of the signature. This includes: references, ETA's and sealed attachments.

When the goods are transferred to another party (another carrier or the consignee), the other party signs for the waybill, including all its legally relevant content, conditions and comments made on it.

The signature will comply with the definition of an advanced electronic signature:

  • It is linked to the signatory in a unique way;
  • It is capable of identifying the signatory;
  • The signatory maintains control of all resources;
  • It is connected to the data in a way that any change can be detected afterwards.

Because of offline limitations the result of the signing process (the evidence) should be created, kept and synchronised on the device of the carrier. Therefore the carrier always has a device with the TransFollow App or on which the TransFollow App is integrated in the used application. In the case where two carriers exchange goods, the evidence should be created, kept and synchronised on the device of the party which gives the goods to the other party, because he or she should have the evidence of transferring the goods.

There are three types of approval, each with their own specific evidence:

  1. The TransFollow Approval can be used between all parties involved in a freight document. The evidence (proof of delivery) is an electronic signature.
  2. Sign on glass approval is available for the carrier when transferring the cargo to the consignee or when picking up the cargo at the consignor. The evidence is an image of a handwritten signature.

  3. Own approval is only available to the carrier. An Own approval process does not create any evidence.

At the creation of a freight document the submitter can choose which signing method(s) are allowed.

Approval concepts

User accounts

Users of the TransFollow platform must have an account which can be created on the portal. Currently only individual accounts are supported. For a user account the following details must be provided when registering:

  • name (mandatory);
  • email address (mandatory);
  • telephone number (optional);
  • password.

The email address must be unique over all active accounts and must be validated by sending an activation link.

A user can log in using his email address and password. The user can login using multiple clients simultaneously. When logged in the user can logout again. This logout is also client specific. If a user reset his password all sessions on all clients will be logged out.


Value Description
CLIENT Principal
CONSIGNOR Sends the goods
CONSIGNEE Receives the goods
CARRIER Transports the goods
SUBMITTER Submits the freight document to the system
SUBSEQUENTCARRIER Transports the goods (optional)
PLACEOFTAKINGOVER Sends the goods on behalf of the consignor
PLACEOFDELIVERY Receives the goods on behalf of the consignee (optional)


Each role on a freight document has permissions that allows him to perform specific actions on a freight document. When a freight document is created each role retrieves a default set of permissions. The default permissions that belongs to a specific role can be delegated by the account that belongs to the role on a freight document. All default permissions are delegated except the permission to delegate itself. It is not possible to delegate specific permissions to another account.

Freight document Role Permissions

The following role permissions are defined:

Nr Permission Description
1 VIEW The account has permission to view a freight document
2 SUBMIT_APPROVAL The account has permission to submit an approval on a freight document
3 UPDATE The account has permission to update a freight document. The freight document can only be updated when in DRAFT status
4 ETA The account has permission to update the Estimated Time of Arrival (ETA) fields in a freight document and carrier roles
5 COMMENT The account has permission to add comments and associated attachments after the freight document status has changed to ISSUED
6 DELEGATE The account has permission to delegate his permissions to another account
7 VIEW_SEALED_ATTACHMENT The account has permission to view an attachment on a freight document which is sealed
8 CHANGE_STATUS The account has permission to change the status of a freight document
9 SUBMIT_APPROVAL_FOR_OTHER_PARTY The account has permission to submit approvals for another party

Default Permissions on freight document



Credits belong to a user account and can be ordered in the TransFollow portal and through TransFollow promotors. A credit is needed in order to ISSUE a freight document.

Previous Commits

Because a single freight document can be edited by multiple devices, and because sometimes a device can be used offline, it is essential that TransFollow can determine at a later moment which content a party has seen while signing or commenting on a freight document. We do this by maintaining a Previous Commits list.

How does this work? An example explains this best:

Carrier 1 has added 2 comments (comment1/comment2), changed the quality of a structured good (quality1), then an approval (approval1) and updated the status to transit.
Carrier 2 has added 2 comments (comment3/comment4), then an approval (approval2) and updated the status to delivered.

Because events are commited to the backend, we will call them commits from here on.

Say both carriers were offline when the commits occured. carrier 2 goes online first, 5 minutes later carrier 1. The order in which the commits arrive in the backend will be:

comment3 - comment4 - approval2 - delivered - comment1 - comment2 - quality1 - approval1 - transit.

This order is not the order in which the commits occured and it is not visible anymore that these commits have occured on 2 seperate devices. The mechanism TransFollow uses to solve this problem is called Previous Commits lists. Every commit that is sent to the backend has a previous commits list where the previous commits are summed up in the right order:

commit previous commits (functional) commitId (technical) previousCommits (technical)
comment3 10
comment4 comment3 12 10
approval2 comment3 comment4 15 10 12
delivered comment3 comment4 approval2 20 10 12 15
comment1 26
comment2 comment1 34 26
quality1 comment1 comment2 37 26 34
approval1 comment1 comment2 quality1 40 26 34 37
transit comment1 comment2 quality1 approval1 43 26 34 37 40

Note that for all approvals it is posible to reconstruct exactly what the sender/consignee signed for.

The following table provides an overview of which endpoints create commits:

endpoint type role previousCommits
in request
creates commitId for
freightdocuments POST submitter no updateStatus (DRAFT or ISSUED), Structured goods
freightdocuments/{id} PUT submitter no Structured goods (only in DRAFT)
freightdocuments/{id}/cancel POST submitter no updateStatus (CANCELLED)
freightdocuments/{id}/issue POST submitter no updateStatus (ISSUED)
freightdocuments/{id}/updatestatus POST carrier* yes updateStatus (TRANSIT or DELIVERED)
- - carrier* yes comment
- - carrier* yes Structured goods
- - carrier* yes License plates

* Or subsequent carriers

Any commit that is done in the backend will add to the existing previousCommits in the freight document. The previousCommits list of the freight document reflects the order in which commits have been received by the backend.

Estimated time of arrival (ETA) information

Carriers and subsequent carriers can share information about their ETA's with each other by updating the ETA fields on the freight document. The current ETA's only specify the pickup and delivery times at the beginning and end of a trip.