Mini-Late Delivery and Penalty

Author: Accord Project

minilatedeliveryandpenalty@0.5.0 Clause ^0.21.0 c133e535b4bfd38ce3ca96c04df9c0afbe27962fec575ceeff2fbad514b05611

A Late Delivery And Penalty Clause (Mini).

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

A Late Delivery And Penalty (Mini)

A Late Delivery And Penalty clause (Mini).

Template Text

Late Delivery and Penalty.

In case of delayed delivery of Goods, "Steve Seller" shall pay to "Betty Buyer" a penalty amounting to 10.5% of the total value of the Goods for every 2 days of delay. 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 of Goods, "Steve Seller" shall pay to
"Betty Buyer" a penalty amounting to 10.5% of the total
value of the Goods for every 2 days of delay. 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 of Goods, {{seller}} shall pay to
{{buyer}} a penalty amounting to {{penaltyPercentage}}% of the total
value of the Goods for every {{penaltyDuration}} of delay. If the
delay is more than {{maximumDelay}}, the Buyer is entitled to
terminate this Contract.
{
    "$class": "org.accordproject.minilatedeliveryandpenalty.MiniLateDeliveryClause",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Betty Buyer"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Steve Seller"
    },
    "penaltyDuration": {
        "$class": "org.accordproject.time.Duration",
        "amount": 2,
        "unit": "days"
    },
    "penaltyPercentage": 10.5,
    "maximumDelay": {
        "$class": "org.accordproject.time.Duration",
        "amount": 15,
        "unit": "days"
    },
    "clauseId": "690c75d1-c533-4f1a-9976-e5087cec139f"
}

Template Model

/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

namespace org.accordproject.minilatedeliveryandpenalty

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

/**
 * Data Model for the LateDeliveryAndPenalty template.
 */
asset MiniLateDeliveryClause extends AccordClause {
  o AccordParty buyer         // Party to the contract (buyer)
  o AccordParty seller        // Party to the contract (seller)
  o Duration penaltyDuration  // Length of time resulting in penalty
  o Double penaltyPercentage  // Penalty percentage
  o Duration maximumDelay     // Maximum delay before termination
}

/**
 * Defines a request for the clause
 */
transaction LateRequest extends Request {
  o DateTime agreedDelivery
  o DateTime deliveredAt
  o Double goodsValue
}

/**
 * Defines a response for the clause
 */
transaction LateResponse extends Response {
  o Double penalty
  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": "80c1ed80-cd1d-11ea-920c-ade26666d144"
}

Request Types

Type Sample JSON
org.accordproject.minilatedeliveryandpenalty.LateRequest
{
    "$class": "org.accordproject.minilatedeliveryandpenalty.LateRequest",
    "agreedDelivery": "2020-07-23T15:48:38.615-04:00",
    "deliveredAt": "2020-07-23T15:48:38.615-04:00",
    "goodsValue": 133.954,
    "transactionId": "80c1c670-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:48:38.615-04:00"
}

Response Types

Type Sample JSON
org.accordproject.minilatedeliveryandpenalty.LateResponse
{
    "$class": "org.accordproject.minilatedeliveryandpenalty.LateResponse",
    "penalty": 82.806,
    "buyerMayTerminate": true,
    "transactionId": "80c1c671-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:48:38.615-04:00"
}

Events Types

Type Sample JSON
org.accordproject.base.Event
{
    "abstract": "this is an abstract type"
}

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.