Demand Forecast

Author: Accord Project

demandforecast@0.14.0 Clause ^0.21.0 f9e97a785fdb1cda51dd3020b901e9993da444a7929b60b5ddcdccd4559f7f41

A sample demandforecast clause.

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

Demand Forecast

A sample demand forecast clause.

Template Text

On or before the 04/02/2018, and thereafter on or before the last day of each calendar quarter, the Purchaser "PETER" shall send the Supplier "DAN" a Supply Forecast. The Supply Forecast will be a binding commitment on the Purchaser’s behalf to purchase during the first quarter included in each Supply Forecast at least 85% of the quantity of the listed Product.

On or before the 04/02/2018, and thereafter on or before the last day of each calendar quarter, the Purchaser "PETER" shall send the Supplier "DAN" a Supply Forecast. The Supply Forecast will be a binding commitment on the Purchaser’s behalf to purchase during the first quarter included in each Supply Forecast at least 85% of the quantity of the listed Product.
On or before the {{effectiveDate}}, and thereafter on or before the last day of each calendar quarter, the Purchaser {{purchaser}} shall send the Supplier {{supplier}} a Supply Forecast. The Supply Forecast will be a binding commitment on the Purchaser’s behalf to purchase during the first quarter included in each Supply Forecast at least {{minimumPercentage}}% of the quantity of the listed Product.
{
    "$class": "org.accordproject.demandforecast.DemandForecastClause",
    "purchaser": "PETER",
    "supplier": "DAN",
    "effectiveDate": "2018-04-02T00:00:00.000-04:00",
    "minimumPercentage": 85,
    "clauseId": "ba9907e3-a469-4e92-83c4-4441dfb7a3f5"
}

Template Model

namespace org.accordproject.demandforecast

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

asset DemandForecastClause extends AccordClause {
  o String purchaser
  o String supplier 
  o DateTime effectiveDate
  o Double minimumPercentage
}

/**
 * Defines the output data required by the template
 */
transaction ForecastRequest extends Request {
/**
 * How much is the forecast?
 */
  o Double supplyForecast
}

transaction BindingResponse extends Response {
/**
 * Amount must purchase.
 */
  o Double requiredPurchase
/**
 * Which year?
 */
  o Integer year
/**
 * Which quarter in this year?
 */
  o Integer quarter
}

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

Request Types

Type Sample JSON
org.accordproject.demandforecast.ForecastRequest
{
    "$class": "org.accordproject.demandforecast.ForecastRequest",
    "supplyForecast": 213.739,
    "transactionId": "575ed5c0-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:47:29.180-04:00"
}

Response Types

Type Sample JSON
org.accordproject.demandforecast.BindingResponse
{
    "$class": "org.accordproject.demandforecast.BindingResponse",
    "requiredPurchase": 2.514,
    "year": 55647,
    "quarter": 19444,
    "transactionId": "575ed5c1-cd1d-11ea-920c-ade26666d144",
    "timestamp": "2020-07-23T15:47:29.180-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.