User Tools

Site Tools


Sidebar

Welcome to DIDO WIKI

dido:public:s_cli:05_contents:02_prt:supply:03_theory:02_issue:02_ascc:start

3.2.2 Agricultural Supply Chain CoI (ASCC)

User Scenario: Supply Chain

As part of the OP, Sal downloads the DIDO Platform selected by the OPC (we refer to this as DIDO Platform O). The OPC have defined several Data Objects (DOs) that they are going to have on their DIDO. When a DO is deployed to a DIDO, it is referred to as a Smart Contract.

2.1 DO: Participant

Return to Top

Participant - A Participant is any person or operation that engages with the ASCC. A Participant can have many roles within the ASCC. For example, a producer can also be a handler, a driver, processor and a packer.

DEFINE Participant AS OBJECT
  { firstName TextType NOT NULL PII,
    middleName TextType NOT NULL PII,
    lastName  TextType NOT NULL PII,
    streetAddress TextType NOT NULL PII,
    mobilePhone TextType NOT NULL PII,
    taxPayerId  TextType NOT NULL PII
  };
 
DEFINE ORACLE VerifyParticipant SYNCHRONOUS AS
  ( participant Participant      IN,
    valid BooleanType            OUT,
    queryTimeStamp TimestampType OUT
  )
  { EXECUTE verificationPerson 
      ( participant Participant  IN,
        valid BooleanType        OUT,
        class TextType           OUT
      );
    queryTimeStamp TimestampType = CURRENT_TIME;
  };

2.2 DO: Role

Return to Top

Role - The role is the related to the activity the participant performs within the ASCC. As an example, on a small farm, the owner may participate in lots of roles from planting to harvest and even being a broker.

DEFINE TYPE RoleType AS ENUM
  WITH CONSTRAINTS
    { { 0,"Participant", "Any person or operation engaging with the ASCC" DEFAULT},
      { 1, "Cartage"},   "Any person or operation moving things from one geographical position to another"},
      { 2, "Handler"},   "Any person or operation coming in direct contact with the products"},
      { 3, "Processor",  "Any person or operation involved in converting the raw products into finished products"},
      { 4, "Packer",     "Any person or operation involved in the packing of the product into packages, boxes and pallets"},
      { 5, "Broker",     "Any person or operation engaged with the selling and buying of the products anywhere along the Supply Chain"},
      { 6, "Q&A",        "Any person or operation engaged in assessing the quality of the product" },
      { 7, "Packer",     "Any person or operation involved in packing of the product into packages, boxes and pallets" }
    }
  VALUE = DEFAULT;
 
DEFINE ROLE AS OBJECT
  { name TextType IS NOT NULL,
    description TextType IS NOT NULL,
    kindOfActivity ActivityType IS NOT NULL
  };

2.3 DO: Privileges

Return to Top

Privileges - The Privileges should not be confused with the Roles. Privileges grant permissions for accessing the DIDOs such as READ, UPDATE, UPLOAD, SEARCH, DELETE.

Privilege Type Description
READ Granting READ privilege allows the access to all the Read attributes or operations associated with the ASCC
UPDATE Granting UPDATE privilege allows the access to all the writable attributes or operations associated with the ASCC
UPLOAD Granting UPLOAD privilege allows for new content to be added to the ASCC record (i.e., images, invoices, Bill of Lading (BL or BoL), etc.
SEARCH Granting SEARCH privilege allows for the Read attributes or operations to be searched for particular strings. It only returns a TRUE or FALSE. All Personal Identifiable Information (PII) can be hidden from the search.
DELETE Granting DELETE privilege allows for the content of the Participant record to be marked as deleted OR optionally for the content to be burned by destroying the private key
MANAGE GRANT
  { Participant :
    { "id" : "0xDC25EF3F5B8A186998338A2ADA83795FBA2D695E",
      "by" : "0xDC25EF3F5B8A186998338A2ADA83795FBA2D695E",
      "Cartage" : "READ, UPDATE, UPLOAD"
    }
  }
MANAGE GRANT
  { Participant :
    { "id" : "0xDC25EF3F5B8A186998338A2ADA83795FBA2D695E",
      "by" : "0xDC25EF3F5B8A186998338A2ADA83795FBA2D695E",
      "Packer" : "SEARCH"
    }
  }

2.4 DO: Cartage

Return to Top

Cartage - The Cartage is the process of moving things from one geographical position to another. This includes the small delivery trucks that can be used at either end of the Supply Chain or the long and short haul trucks. This also covers the Drivers, however, each state has its own driver license classification1)

DEFINE TYPE TruckClassificationType AS ENUM
  WITH CONSTRAINTS
    { { 1, "Class 1", "GVWRs < 6,000 lbs" DEFAULT},
      { 2, "Class 2", "GVWRs 6,001 to 10,000 pounds" },
      { 3, "Class 3", "GVWRs 10,001 to 14,000 pounds" },
      { 4, "Class 4", "GVWRs 14,001 and 16,000 pounds" },
      { 5, "Class 5", "GVWRs 6,001 to 19,500 pounds" },
      { 6, "Class 6", "GVWRs 19,501 and 26,000 pounds" },
      { 7, "Class 7", "GVWRs 26,001 and 33,000 pounds (usually have three axles or more)" },
      { 8, "Class 8", "GVWRs over 33,001 pounds" },
    }
  VALUE = DEFAULT;
 
DEFINE TYPE CaDriversClassicationType AS ENUM
  WITH CONSTRAINTS
    { { 1, "Class A", DEFAULT},
      { 2, "Class B"},
      { 2, "Class C"},
      { 2, "Class M1"},
      { 2, "Class M2"},
  VALUE = DEFAULT;
 
DEFINE Truck AS OBJECT
  { vin           TextType,
    manufacturer  TextType,
    gvw           PositiveWholeNumber,
    numberOfAxels PositiveWholeNumber,
    dotNumber     TextType,
    mcNumber      TextType
  };
 
DEFINE ORACLE VerifyDriver SYNCHRONOUS AS
  ( driver Driver                IN,
    valid BooleanType            OUT,
    class TextType               OUT,
    queryTimeStamp TimestampType OUT
  )
  { EXECUTE verificationProcedure 
      ( driver Driver IN,
        valid BooleanType OUT,
        class TextType OUT
      );
    queryTimeStamp TimestampType = CURRENT_TIME;
  };
 
 
DEFINE Trailer AS OBJECT
  { vin           TextType,
    manufacturer  TextType,
    gvw           PositiveWholeNumber,
    numberOfAxels PositiveWholeNumber
  };
 
DEFINE Driver AS OBJECT
  { driverLicenseNumber TextType,
    stateOfIssue        TextType,
    dateOfBirth         DateTimeValue,
    expirationDate      DateTimeValue
  };

2.5 DO: Transport

Return to Top

Transport - Transportation vehicles should be clean and sanitary. Co-mingling of organic and non-organic fruits and vegetables is prohibited unless organic products are protected from contact with prohibited substances. See Bill of Lading (BL or BoL).

DEFINE TYPE TransportModeType AS ENUM
  WITH CONSTRAINTS
    { { 1, "Road", DEFAULT},
      { 2, "Rail"},
      { 3, "Air"},
      { 4, "Sea"},
      { 5, "Bicycle"},
      { 6, "Motorcycle"},
      { 7, "Horse"},
      { 8, "Other"},
  VALUE = DEFAULT;
 
DEFINE TYPE Incoterms AS ENUM
  WITH CONSTRAINTS
    { { 1, "EXW", "Ex Works", DEFAULT},
      { 2, "FCA", "Free Carrier"},
      { 3, "CPT", "Carriage Paid To"},
      { 4, "CIP", "Carriage and Insurance Paid To"},
      { 5, "DPU", "Delivered at Place Unloaded"},
      { 6, "DAP", "Delivered at Place"},
      { 7, "DDP", "Delivered Duty Paid"},
      { 8, "FAS", "Free Alongside Ship"},
      { 8, "FOB", "Free on Board"},
      { 8, "CFR", "Cost and Freight"},
      { 8, "CIF", "Cost, Insurance, and Freight"},
  VALUE = DEFAULT;
 
DEFINE TYPE KindsOfShippingUnits AS ENUM
  WITH CONSTRAINTS
    { { 1, "boxes", DEFAULT},
      { 2, "pallets"}
    }
DEFINE LineItemType AS OBJECT
  { lineItemNumber PositiveWholeNumber,
    description    TextType,
    kindsOfUnits   KindsOfShippingUnits,
    numberOfUnits  PositiveWholeNumber,
    weight         PositiveWholeNumber
  };
 
DEFINE BillOfLading AS OBJECT
  { transportCompanyName TextType,
    loadingSite          GeolocationType,
    destination          GeolocationType,
    mode                 TransportModeType,
    incoterms            Incoterms,
    lineItemType         LineItemType[]
  };
 
DEFINE DeliveryVehicle AS OBJECT
  { truck        Truck,
    trailer      Trailer,
    driver       Driver,
    billOfLading BillOfLading
  };

2.6 DO: Handler

Return to Top

Handler - Anyone who comes in direct contact with the products such as farm hands, warehouse workers, processors, packers, etc. Some Participants many not be handlers (i.e., the brokers).

2.7 DO: Storage

Return to Top

Storage - Storage is any place where the Supplies are kept while not being transported. For food, there are different kinds of Cold Storage based on what is being stored (i.e.,

2.8 DO: Processor

Return to Top Processor - The Processors are the people involved in converting the raw products into finished products. For example, for strawberries it might be the washers, de-stemmers, and initial quality control to remove damaged or bad fruit.

2.9 DO: Packer

Return to Top

Packer - These are the people involved in the packing of the product into packages, boxes and pallets

2.10 DO: Broker

Return to Top

Broker - These are the people that are engaged with the selling and buying of the products anywhere along the Supply Chain. The more the Supply Chain is added to a Value Chain, the fewer brokers that involved.

2.11 DO: Quality Assurance and Inspection

Return to Top

Quality Assurance and Inspection - These are people that are engaged in assessing the quality of the product. They are also responsible for grading the products (U.S. Grade A or U.S. Fancy, U.S. Grade B or U.S. Choice, U.S. Grade C or U.S. Standard, or substandard. 2)

2.12 DO: Retail Outlet Provider

Return to Top

Retail Outlet Provider - A Retail Outlet Provider person or establishment that sells the produce directly to the Human Consumers. Some examples are grocery stores, fruit stands, convenient stores, kiosks, etc.

2.13 DO: Discretionary Providers

Return to Top

Discretionary Providers - A Discretionary Providers are places where the products are sold as part of something else to the Human Consumers. Some examples are restaurants, ice-cream stores, etc.

2.14 DO: Human Consumer

Return to Top

Human Consumer - The Human Consumers are the people that actually buy the products and consume them.

2.15 DO: Processing Consumer

Return to Top

Processing Consumer - The Processing Consumers are people or establishments that buy the products and further process them into other products such as ice-cream products, jams, jellies, or candies.

1)
AAA, Types of Driver's Licenses, Accessed: 18 May 2021, https://drivinglaws.aaa.com/tag/types-of-drivers-licenses/
2)
U.S. Department of Agriculture, Grades of Frozen Strawberries, Accessed: 18 May 2021, https://www.ams.usda.gov/grades-standards/frozen-strawberries-grades-and-standards
dido/public/s_cli/05_contents/02_prt/supply/03_theory/02_issue/02_ascc/start.txt · Last modified: 2022/02/03 20:35 by 52.45.51.99
Translations of this page: