Agreements are used to record agreements between parties
An Agreement entity represents an agreement between parties. This could be anything from an informal agreement to a legal binding contract. The type of agreement is indicated by the agreementType property. The terms and conditions of the agreement can be attached with the AttachedTermsAndConditions relationship.
The ContractLink relationship links in the ExternalReference that identifies the location of an associated contract.
The AgreementItem relationship identifies an element (any Referenceable) that is a part of the agreement. For example, the Agreement may represent the End User License Agreement (EULA) for a user of a data product marketplace. The AgreementItem would link to each data product that the user has subscribed to. The properties of the AgreementItem fixes the details of the agreement with respect to the specific digital product.
The Agreement may detail specific responsibilities of the different parties. These parties are given actor (role) names in the agreement. These actors are identified by the AgreementActor relationship. The actorName attribute identifies the actor name described in the agreement.