Demand Forecast

demandforecast@0.13.0 Clause ^0.20.0 f2a299886db889bc1239cb4512649a5555641d1df9337adc521ed9467e7cc074

A sample demandforecast clause.

Download 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",
    "clauseId": "ec82f8f4-2a6d-41af-bfda-f7d50c0e8142",
    "purchaser": "PETER",
    "supplier": "DAN",
    "effectiveDate": "2018-04-02T00:00:00.000-05:00",
    "minimumPercentage": 85
}

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": "50dcb441-42fa-11ea-8b78-dde257dbceb0"
}

Request Types

Type Sample JSON
org.accordproject.demandforecast.ForecastRequest
{
    "$class": "org.accordproject.demandforecast.ForecastRequest",
    "supplyForecast": 67.936,
    "transactionId": "50dc8d30-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:05.411-05:00"
}

Response Types

Type Sample JSON
org.accordproject.demandforecast.BindingResponse
{
    "$class": "org.accordproject.demandforecast.BindingResponse",
    "requiredPurchase": 16.846,
    "year": 40034,
    "quarter": 49254,
    "transactionId": "50dcb440-42fa-11ea-8b78-dde257dbceb0",
    "timestamp": "2020-01-29T19:49:05.412-05: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.