Fragile Goods

Author: Accord Project

fragile-goods@0.14.0 Contract ^0.21.0 fabaff7454f7ef9444b78fb9995ffaad0dfefb226f634d094e2151adb7d77eef

This clause specifies penalties for shocks caused to a fragile package in transport.

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

Fragile Goods

This clause specifies penalties for shocks caused to a fragile package in transport.

Template Text

Liquidated Damages for Delayed Delivery.

In the event the EXW delivery date of the Equipment is delayed beyond the delivery schedule as indicated below, solely through the fault of "Dan" (the Seller), and unless the parties mutually agreed to an extension thereto, "Steve" (the Buyer) is entitled to claim liquidated damages in an amount equivalent to 200.00 USD. Prior to implementing the provisions of Article 16.4 pursuant to this section, Buyer agrees that it shall discuss with Seller alternate remedies in good faith.. . . .

The Equipment to be shipped to the Buyer shall be packed and shipped in accordance with the Specifications and if not specified therein.... Additionally the Equipment should have proper devices on it to record any shock during transportation as any instance of acceleration outside the bounds of -0.5g and 0.5g. Each shock shall reduce the Contract Price by 5.00 USD. Packing containing fragile materials should be so marked in bold stout letters. . . . .

Equipment Description, Contract Price and Delivery Schedule

Contract Price is 1000.00 USD per unit of Equipment. Delivery Schedule: no later than 10 seconds after initiation.

Liquidated Damages for Delayed Delivery.

In the event the EXW delivery date of the Equipment is delayed beyond the delivery schedule as indicated below, solely through the fault of "Dan" (the Seller), and unless the parties mutually agreed to an extension thereto, "Steve" (the Buyer) is entitled to claim liquidated damages in an amount equivalent to 200.00 USD. 
Prior to implementing the provisions of Article 16.4 pursuant to this section, Buyer agrees that it shall discuss with Seller alternate remedies in good faith.. . . . 

The Equipment to be shipped to the Buyer shall be packed and shipped in accordance with the Specifications and if not specified therein.... 
Additionally the Equipment should have proper devices on it to record any shock during transportation as any instance of acceleration outside the bounds of -0.5g and 0.5g. 
Each shock shall reduce the Contract Price by 5.00 USD. Packing containing fragile materials should be so marked in bold stout letters. . . . .

Equipment Description, Contract Price and Delivery Schedule

Contract Price is 1000.00 USD per unit of Equipment.
Delivery Schedule: no later than 10 seconds after initiation.
Liquidated Damages for Delayed Delivery.

In the event the EXW delivery date of the Equipment is delayed beyond the delivery schedule as indicated below, solely through the fault of {{seller}} (the Seller), and unless the parties mutually agreed to an extension thereto, {{buyer}} (the Buyer) is entitled to claim liquidated damages in an amount equivalent to {{lateDeliveryPenalty}}. 
Prior to implementing the provisions of Article 16.4 pursuant to this section, Buyer agrees that it shall discuss with Seller alternate remedies in good faith.. . . . 

The Equipment to be shipped to the Buyer shall be packed and shipped in accordance with the Specifications and if not specified therein.... 
Additionally the Equipment should have proper devices on it to record any shock during transportation as any instance of acceleration outside the bounds of {{accelerationMin}}g and {{accelerationMax}}g. 
Each shock shall reduce the Contract Price by {{accelerationBreachPenalty}}. Packing containing fragile materials should be so marked in bold stout letters. . . . .

Equipment Description, Contract Price and Delivery Schedule

Contract Price is {{deliveryPrice}} per unit of Equipment.
Delivery Schedule: no later than {{deliveryLimitDuration}} after initiation.
{
    "$class": "io.clause.demo.fragileGoods.FragileGoodsClause",
    "buyer": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Steve"
    },
    "seller": {
        "$class": "org.accordproject.cicero.contract.AccordParty",
        "partyId": "Dan"
    },
    "deliveryPrice": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 1000,
        "currencyCode": "USD"
    },
    "accelerationMin": -0.5,
    "accelerationMax": 0.5,
    "accelerationBreachPenalty": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 5,
        "currencyCode": "USD"
    },
    "deliveryLimitDuration": {
        "$class": "org.accordproject.time.Duration",
        "amount": 10,
        "unit": "seconds"
    },
    "lateDeliveryPenalty": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 200,
        "currencyCode": "USD"
    },
    "contractId": "1a0c41e6-fc2d-4dcd-900b-786753d1d644"
}

Template Model

namespace io.clause.demo.fragileGoods

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.Duration from https://models.accordproject.org/v2.0/time.cto
import org.accordproject.money.MonetaryAmount from https://models.accordproject.org/money.cto

/**
 * The status of a shipment
 */
enum ShipmentStatus {
  o CREATED
  o IN_TRANSIT
  o ARRIVED
}

transaction DeliveryUpdate extends Request {
  o DateTime startTime
  o DateTime finishTime optional
  o ShipmentStatus status
  o Double[] accelerometerReadings
}

transaction PayOut extends Response {
  o MonetaryAmount amount
}

/**
 * The template model
 */
asset FragileGoodsClause extends AccordContract {
  o AccordParty buyer
  o AccordParty seller
  o MonetaryAmount deliveryPrice
  o Double accelerationMin
  o Double accelerationMax
  o MonetaryAmount accelerationBreachPenalty
  o Duration deliveryLimitDuration
  o MonetaryAmount lateDeliveryPenalty
}

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": "658a2781-cd1d-11ea-920c-ade26666d144"
}

Request Types

Type Sample JSON
io.clause.demo.fragileGoods.DeliveryUpdate
{
    "$class": "io.clause.demo.fragileGoods.DeliveryUpdate",
    "startTime": "2020-07-23T15:47:52.951-04:00",
    "finishTime": "2020-07-23T15:47:52.951-04:00",
    "status": "ARRIVED",
    "accelerometerReadings": [
        101.592
    ],
    "transactionId": "658a0070-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:47:52.951-04:00"
}

Response Types

Type Sample JSON
io.clause.demo.fragileGoods.PayOut
{
    "$class": "io.clause.demo.fragileGoods.PayOut",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 137.913,
        "currencyCode": "KWD"
    },
    "transactionId": "658a2780-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:47:52.952-04:00"
}

Events Types

Type Sample JSON
org.accordproject.cicero.runtime.PaymentObligation
{
    "$class": "org.accordproject.cicero.runtime.PaymentObligation",
    "amount": {
        "$class": "org.accordproject.money.MonetaryAmount",
        "doubleValue": 141.727,
        "currencyCode": "CHW"
    },
    "description": "Ea incididunt fugiat.",
    "contract": "resource:io.clause.demo.fragileGoods.FragileGoodsClause#9565",
    "promisor": "resource:org.accordproject.cicero.contract.AccordParty#5299",
    "promisee": "resource:org.accordproject.cicero.contract.AccordParty#6529",
    "deadline": "2020-07-23T15:47:52.952-04:00",
    "eventId": "658a2782-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:47:52.952-04: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.