Late Delivery and Penalty (with Else)

latedeliveryandpenalty-else@0.1.0 Contract ^0.20.0 2b5900c2ebab3c13366d56e6b3aafcba7d587b7f8d79c1ecdf55490b252603b3

A sample Late Delivery And Penalty clause.

Download 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, "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,
"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{{#if forceMajeure}} except for Force Majeure cases,{{else}} even when Force Majeure occurs,{{/if}}
{{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",
    "contractId": "d19fa497-4b12-487b-99cf-4f29073e11d8",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Steve"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Dan"
    },
    "forceMajeure": true,
    "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"
}

Template Model

namespace org.accordproject.latedeliveryandpenalty

import org.accordproject.cicero.contract.* from https://models.accordproject.org/cicero/contract.cto
import org.accordproject.cicero.runtime.* from https://models.accordproject.org/cicero/runtime.cto
import org.accordproject.time.* from https://models.accordproject.org/v2.0/time.cto

/**
 * 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 AccordContract {
  /**
   * The buyer
   */
  o AccordParty buyer

  /**
   * The seller
   */
  o AccordParty seller

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

  /**
   * 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 Boolean forceMajeure

  /**
   * 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.cicero.contract.AccordContractState
{
    "$class": "org.accordproject.cicero.contract.AccordContractState",
    "stateId": "9aeca9f1-5a56-11ea-80ba-99d5d37a3522"
}

Request Types

Type Sample JSON
org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyRequest
{
    "$class": "org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyRequest",
    "forceMajeure": true,
    "agreedDelivery": "2020-02-28T13:17:40.110-05:00",
    "deliveredAt": "2020-02-28T13:17:40.110-05:00",
    "goodsValue": 61.245,
    "transactionId": "9aec82e0-5a56-11ea-80ba-99d5d37a3522",
    "timestamp": "2020-02-28T13:17:40.110-05:00"
}

Response Types

Type Sample JSON
org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyResponse
{
    "$class": "org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyResponse",
    "penalty": 71.649,
    "buyerMayTerminate": false,
    "transactionId": "9aeca9f0-5a56-11ea-80ba-99d5d37a3522",
    "timestamp": "2020-02-28T13:17:40.111-05:00"
}

Events Types

Type Sample JSON
org.accordproject.cicero.runtime.PaymentObligation
{
    "$class": "org.accordproject.cicero.runtime.PaymentObligation",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 227.208,
        "currencyCode": "ARS"
    },
    "description": "Nulla.",
    "contract": "resource:org.accordproject.latedeliveryandpenalty.LateDeliveryAndPenaltyContract#9443",
    "promisor": "resource:org.accordproject.cicero.contract.AccordParty#7890",
    "promisee": "resource:org.accordproject.cicero.contract.AccordParty#4871",
    "deadline": "2020-02-28T13:17:40.111-05:00",
    "eventId": "9aeca9f2-5a56-11ea-80ba-99d5d37a3522",
    "timestamp": "2020-02-28T13:17:40.111-05:00"
}

Technical Integration

Please refer to the Cicero documentation for details and examples of how to integrate a call to a Cicero template into your application.

View the Latest code for this template on GitHub.