diff --git a/docs/credentials-with-issuer-dependent-terms.json b/docs/credentials-with-issuer-dependent-terms.json index a0565af2e..e77d375c6 100644 --- a/docs/credentials-with-issuer-dependent-terms.json +++ b/docs/credentials-with-issuer-dependent-terms.json @@ -195,6 +195,10 @@ "type": "FoodDefenseInspectionCredential", "count": 0 }, + { + "type": "FVSPImporterCredential", + "count": 2 + }, { "type": "FSMATransformingCTECredential", "count": 0 diff --git a/docs/openapi/components/schemas/credentials/FVSPImporterCredential.yml b/docs/openapi/components/schemas/credentials/FVSPImporterCredential.yml new file mode 100644 index 000000000..87d83f22b --- /dev/null +++ b/docs/openapi/components/schemas/credentials/FVSPImporterCredential.yml @@ -0,0 +1,325 @@ +$linkedData: + term: FSVPImporterCredential + '@id': https://w3id.org/traceability#FSVPImporterCredential +title: FSVP Importer Credential +tags: + - Agriculture +description: >- + This credential represents a secure digital record of the KDEs (Key Data Elements) + required by an importer when asserting compliance to the Foreign Supplier + Verification Program (FSVP) to meet the requirements of the Food Safety + Modernization Act (FSMA). + + Additional information about the Foreign Supplier Verification Program: + https://www.fda.gov/food/food-safety-modernization-act-fsma/fsma-final-rule-foreign-supplier-verification-programs-fsvp-importers-food-humans-and-animals + +type: object +properties: + '@context': + type: array + readOnly: true + const: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + default: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + items: + type: string + enum: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + type: + type: array + readOnly: true + const: + - VerifiableCredential + - FSVPImporterCredential + default: + - VerifiableCredential + - FSVPImporterCredential + items: + type: string + enum: + - VerifiableCredential + - FSVPImporterCredential + id: + type: string + name: + type: string + description: + type: string + issuanceDate: + type: string + expirationDate: + type: string + issuer: + $ref: ../common/Organization.yml + credentialSchema: + type: object + properties: + id: + title: Id + description: The URL of the schema file to be used to validate the shape of the JSON object + type: string + format: uri + example: https://w3id.org/traceability/openapi/components/schemas/credentials/FSVPImporterCredential.yml + default: https://w3id.org/traceability/openapi/components/schemas/credentials/FSVPImporterCredential.yml + readOnly: true + type: + title: Type + description: The type of validation to be run against the defined schema + const: OpenApiSpecificationValidator2022 + credentialSubject: + type: object + properties: + importer: + $ref: ../common/Organization.yml + importerDUNS: + type: string + title: DUNS number of importer + shipment: + $ref: ../common/AgricultureParcelDelivery.yml + fsvpAssertion: + title: Importer's assertion of FSVP compliance or exemption + type: string + enum: + - FSVP Compliant + - FSVP Exempt + - FSVP Exempt, product is for research and evaluation (R&E) + additionalProperties: false + required: + - importer + - importerDUNS + - shipment + - fsvpAssertion +additionalProperties: false +required: + - '@context' + - type + - id + - issuanceDate + - issuer + - credentialSubject +example: |- + { + "@context": [ + "https://www.w3.org/2018/credentials/v1", + "https://w3id.org/traceability/v1" + ], + "id": "https://example.com/credential/123", + "type": [ + "VerifiableCredential", + "FSVPImporterCredential" + ], + "name": "FSVP Importer Credential", + "issuanceDate": "2021-12-11T03:50:55Z", + "issuer": { + "id": "did:web:organization.example.com", + "type": [ + "Organization" + ] + }, + "credentialSubject": { + "importer": { + "type": [ + "Organization" + ], + "name": "Onwards A/S", + "location": { + "type": [ + "Place" + ], + "address": { + "type": [ + "PostalAddress" + ], + "streetAddress": "Sludevej 63", + "addressLocality": "Kgs. Lyngby", + "postalCode": "2800", + "addressCountry": "DK" + } + } + }, + "importerDUNS": "00-123-4567", + "shipment": { + "type": [ + "AgricultureParcelDelivery" + ], + "deliveryAddress": { + "type": [ + "PostalAddress" + ], + "name": "Bartell - Doyle", + "streetAddress": "84189 Roberts Route", + "addressLocality": "Kautzerstad", + "addressRegion": "Louisiana", + "postalCode": "37950-5855", + "addressCountry": "Mongolia" + }, + "originAddress": { + "type": [ + "PostalAddress" + ], + "name": "Marks, Runte and Bartell", + "streetAddress": "97696 Weissnat Pines", + "addressLocality": "Reynabury", + "addressRegion": "North Dakota", + "postalCode": "51361-9603", + "addressCountry": "Virgin Islands, U.S." + }, + "foreignPortExport": { + "type": [ + "Place" + ], + "globalLocationNumber": "4947538126450", + "geo": { + "type": [ + "GeoCoordinates" + ], + "latitude": "40.5464", + "longitude": "-37.6146" + }, + "address": { + "type": [ + "PostalAddress" + ], + "name": "Moen - Swift", + "streetAddress": "9746 Laron Gardens", + "addressLocality": "Port Flossie", + "addressRegion": "Hawaii", + "postalCode": "64687", + "addressCountry": "Djibouti" + }, + "unLocode": "DKCPH" + }, + "portOfEntry": { + "type": [ + "Place" + ], + "globalLocationNumber": "2184109798407", + "geo": { + "type": [ + "GeoCoordinates" + ], + "latitude": "38.8485", + "longitude": "-34.0883" + }, + "address": { + "type": [ + "PostalAddress" + ], + "name": "Mills, Daugherty and Nader", + "streetAddress": "39514 Kulas Terrace", + "addressLocality": "East Avis", + "addressRegion": "Utah", + "postalCode": "45553", + "addressCountry": "Northern Mariana Islands" + }, + "unLocode": "DKCPH" + }, + "deliveryMethod": "Truck transport", + "trackingNumber": "866440000109", + "expectedArrival": "2021-03-14", + "specialInstructions": "The package is top-heavy so handle with appropriate caution.", + "consignee": { + "type": [ + "Organization" + ], + "name": "Ace Foodstuffs", + "description": "Agricultural goods shipping & distribution", + "email": "Hipolito58@acefoodstuffs.org", + "phoneNumber": "+1-595-555-0996", + "faxNumber": "+1-643-555-2094" + }, + "agriculturePackage": [ + { + "type": [ + "AgriculturePackage" + ], + "packageName": "Avocados, Bulk", + "grade": "AA", + "responsibleParty": { + "type": [ + "Organization" + ], + "name": "Example Responsible Party Organization", + "email": "Chadrick_Gibson@example.com", + "phoneNumber": "+1-470-555-7721" + }, + "voicePickCode": "4642", + "harvestDate": "2021-03-14", + "labelImageUrl": "https://img.example.org/640/480/", + "labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "agricultureProduct": [ + { + "type": [ + "AgricultureProduct" + ], + "plu": "94225", + "product": { + "type": [ + "Product" + ], + "manufacturer": { + "type": [ + "Organization" + ], + "email": "Ashlee.Grady@example.net", + "phoneNumber": "+1-300-555-2516" + }, + "name": "Avocados", + "description": "Avocados, 4 pack boxes", + "weight": { + "type": [ + "QuantitativeValue" + ], + "unitCode": "hg/ha", + "value": "6960" + }, + "sku": "81055399441" + }, + "scientificName": "Persea americana", + "labelImageUrl": "https://img.example.org/033383401508/640/480/", + "labelImageHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + ] + } + ], + "shipper": { + "type": [ + "Organization" + ], + "name": "Green Fields", + "description": "Growing & packaging for high quality produce", + "email": "sales@greenfields.org", + "phoneNumber": "+1-474-555-8033" + }, + "purchaser": { + "type": [ + "Organization" + ], + "name": "Ace Foodstuffs", + "description": "Agricultural goods shipping & distribution", + "email": "Hipolito58@acefoodstuffs.org", + "phoneNumber": "+1-351-555-3356", + "faxNumber": "+1-744-555-3782" + }, + "carrier": { + "type": [ + "Organization" + ], + "email": "Adaline29@example.com", + "phoneNumber": "+1-853-555-5644" + }, + "broker": { + "type": [ + "Organization" + ], + "name": "Koch LLC", + "leiCode": "54321351219389121979" + } + }, + "fsvpAssertion": "FSVP Compliant" + } + } \ No newline at end of file