Late Delivery and Penalty (with Optional)

Author: Accord Project

latedeliveryandpenalty-optional@0.2.0 Contract ^0.22.0 6b480b6fe5e31c8b425fa921c22ee6b78b2cc2b86a6878ba45af1639df3ee221

A sample Late Delivery And Penalty clause.

Download Archive Download Compiled Archive Open in Template Studio Open in VSCode Web

Late Delivery And Penalty

A sample Late Delivery And Penalty clause.

Template Text

Late Delivery and Penalty.

In case of delayed delivery except for Force Majeure cases in a 100 miles radius, "Dan" (the Seller) shall pay to "Steve" (the Buyer) for every 2 days of delay penalty amounting to 10.5% of the total value of the Equipment whose delivery has been delayed. Any fractional part of a days is to be considered a full days. The total amount of penalty shall not however, exceed 55% of the total value of the Equipment involved in late delivery. If the delay is more than 15 days, the Buyer is entitled to terminate this Contract.

## Late Delivery and Penalty.

In case of delayed delivery except for Force Majeure cases in a 100 miles radius,
"Dan" (the Seller) shall pay to "Steve" (the Buyer) for every 2 days
of delay penalty amounting to 10.5% of the total value of the Equipment
whose delivery has been delayed. Any fractional part of a days is to be
considered a full days. The total amount of penalty shall not however,
exceed 55% of the total value of the Equipment involved in late delivery.
If the delay is more than 15 days, the Buyer is entitled to terminate this Contract.
## Late Delivery and Penalty.

In case of delayed delivery{{#optional forceMajeure}} except for Force Majeure cases in a {{miles}} miles radius,{{/optional}}
{{seller}} (the Seller) shall pay to {{buyer}} (the Buyer) for every {{penaltyDuration}}
of delay penalty amounting to {{penaltyPercentage}}% of the total value of the Equipment
whose delivery has been delayed. Any fractional part of a {{fractionalPart}} is to be
considered a full {{fractionalPart}}. The total amount of penalty shall not however,
exceed {{capPercentage}}% of the total value of the Equipment involved in late delivery.
If the delay is more than {{termination}}, the Buyer is entitled to terminate this Contract.
{
    "$class": "org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyContract",
    "buyer": "resource:org.accordproject.party.Party#Steve",
    "seller": "resource:org.accordproject.party.Party#Dan",
    "forceMajeure": {
        "$class": "org.accordproject.latedeliveryandpenalty.Distance",
        "miles": 100
    },
    "penaltyDuration": {
        "$class": "org.accordproject.time.Duration",
        "amount": 2,
        "unit": "days"
    },
    "penaltyPercentage": 10.5,
    "capPercentage": 55,
    "termination": {
        "$class": "org.accordproject.time.Duration",
        "amount": 15,
        "unit": "days"
    },
    "fractionalPart": "days",
    "contractId": "70faf97c-a191-48ad-9fc0-cb9f6e1cd0f9",
    "$identifier": "70faf97c-a191-48ad-9fc0-cb9f6e1cd0f9"
}

Template Model

namespace org.accordproject.latedeliveryandpenalty

import org.accordproject.contract.* from https://models.accordproject.org/accordproject/contract.cto
import org.accordproject.party.* from https://models.accordproject.org/accordproject/party.cto
import org.accordproject.runtime.* from https://models.accordproject.org/accordproject/runtime.cto
import org.accordproject.obligation.* from https://models.accordproject.org/accordproject/obligation.cto
import org.accordproject.time.* from https://models.accordproject.org/time@0.2.0.cto

concept Distance{
  o Double miles
}

/**
 * Defines the data model for the LateDeliveryAndPenalty template.
 * This defines the structure of the abstract syntax tree that the parser for the template
 * must generate from input source text.
 */
asset LateDeliveryAndPenaltyContract extends Contract {
  /**
   * The buyer
   */
  --> Party buyer

  /**
   * The seller
   */
  --> Party seller

  /**
   * Does the clause include a force majeure provision?
   */
  o Distance forceMajeure optional

  /**
   * For every penaltyDuration that the goods are late
   */
  o Duration penaltyDuration

  /**
   * Seller pays the buyer penaltyPercentage % of the value of the goods
   */
  o Double penaltyPercentage

  /**
   * Up to capPercentage % of the value of the goods
   */
  o Double capPercentage

  /**
   * If the goods are >= termination late then the buyer may terminate the contract
   */
  o Duration termination

  /**
   * Fractional part of a ... is considered a whole ...
   */
  o TemporalUnit fractionalPart
}

/**
 * Defines the input data required by the template
 */
transaction LateDeliveryAndPenaltyRequest extends Request {

  /**
   * Are we in a force majeure situation? 
   */
  o Distance forceMajeure optional

  /**
   * What was the agreed delivery date for the goods?
   */
  o DateTime agreedDelivery

  /**
   * If the goods have been delivered, when where they delivered?
   */
  o DateTime deliveredAt optional

  /**
   * What is the value of the goods?
   */
  o Double goodsValue
}

/**
 * Defines the output data for the template
 */
transaction LateDeliveryAndPenaltyResponse extends Response {
  /**
   * The penalty to be paid by the seller
   */
  o Double penalty

  /**
   * Whether the buyer may terminate the contract 
   */
  o Boolean buyerMayTerminate
}

Model Dependencies

Template Logic

Find the full logic for this template on on GitHub.

State Types

Type Sample JSON
org.accordproject.runtime.State
{
    "$class": "org.accordproject.runtime.State",
    "$identifier": "845326b0-a77b-11eb-9770-7ddd576a12c2"
}

Request Types

Type Sample JSON
org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyRequest
{
    "$class": "org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyRequest",
    "forceMajeure": {
        "$class": "org.accordproject.latedeliveryandpenalty.Distance",
        "miles": 20.312
    },
    "agreedDelivery": "2021-04-27T13:10:50.779-04:00",
    "deliveredAt": "2021-04-27T13:10:50.779-04:00",
    "goodsValue": 37.262,
    "$timestamp": "2021-04-27T13:10:50.779-04:00"
}

Response Types

Type Sample JSON
org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyResponse
{
    "$class": "org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyResponse",
    "penalty": 67.172,
    "buyerMayTerminate": false,
    "$timestamp": "2021-04-27T13:10:50.779-04:00"
}

Events Types

Type Sample JSON
org.accordproject.obligation.PaymentObligation
{
    "$class": "org.accordproject.obligation.PaymentObligation",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 98.895,
        "currencyCode": "CAD"
    },
    "description": "Laborum pariatur laborum.",
    "$identifier": "845326b1-a77b-11eb-9770-7ddd576a12c2",
    "contract": "resource:org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyContract#3447",
    "promisor": "resource:org.accordproject.party.Party#9035",
    "promisee": "resource:org.accordproject.party.Party#7785",
    "deadline": "2021-04-27T13:10:50.779-04:00",
    "$timestamp": "2021-04-27T13:10:50.779-04:00"
}

Technical Integration

Please refer to the Accord Project documentation for how to use a template or integrate it within your application.

View the Latest code for this template on GitHub.