{
  "$id": "https://raw.githubusercontent.com/ThreeSixtyGiving/standard/1.4.3/schema/360-giving-schema.json",
  "$schema": "http://json-schema.org/draft/2020-12/schema",
  "title": "360Giving Data Standard Schema",
  "type": "object",
  "$defs": {
    "currency": {
      "type": "string",
      "description": "The currency used in amounts. Use the three-letter currency code from [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) eg: Use GBP for Pounds Sterling.",
      "codelist": "currency.csv",
      "enum": [
        "ADP",
        "AED",
        "AFA",
        "AFN",
        "ALK",
        "ALL",
        "AMD",
        "ANG",
        "AOA",
        "AOK",
        "AON",
        "AOR",
        "ARA",
        "ARP",
        "ARS",
        "ARY",
        "ATS",
        "AUD",
        "AWG",
        "AYM",
        "AZM",
        "AZN",
        "BAD",
        "BAM",
        "BBD",
        "BDT",
        "BEC",
        "BEF",
        "BEL",
        "BGJ",
        "BGK",
        "BGL",
        "BGN",
        "BHD",
        "BIF",
        "BMD",
        "BND",
        "BOB",
        "BOP",
        "BOV",
        "BRB",
        "BRC",
        "BRE",
        "BRL",
        "BRN",
        "BRR",
        "BSD",
        "BTN",
        "BUK",
        "BWP",
        "BYB",
        "BYN",
        "BYR",
        "BZD",
        "CAD",
        "CDF",
        "CHC",
        "CHE",
        "CHF",
        "CHW",
        "CLF",
        "CLP",
        "CNY",
        "COP",
        "COU",
        "CRC",
        "CSD",
        "CSJ",
        "CSK",
        "CUC",
        "CUP",
        "CVE",
        "CYP",
        "CZK",
        "DDM",
        "DEM",
        "DJF",
        "DKK",
        "DOP",
        "DZD",
        "ECS",
        "ECV",
        "EEK",
        "EGP",
        "ERN",
        "ESA",
        "ESB",
        "ESP",
        "ETB",
        "EUR",
        "FIM",
        "FJD",
        "FKP",
        "FRF",
        "GBP",
        "GEK",
        "GEL",
        "GHC",
        "GHP",
        "GHS",
        "GIP",
        "GMD",
        "GNE",
        "GNF",
        "GNS",
        "GQE",
        "GRD",
        "GTQ",
        "GWE",
        "GWP",
        "GYD",
        "HKD",
        "HNL",
        "HRD",
        "HRK",
        "HTG",
        "HUF",
        "IDR",
        "IEP",
        "ILP",
        "ILR",
        "ILS",
        "INR",
        "IQD",
        "IRR",
        "ISJ",
        "ISK",
        "ITL",
        "JMD",
        "JOD",
        "JPY",
        "KES",
        "KGS",
        "KHR",
        "KMF",
        "KPW",
        "KRW",
        "KWD",
        "KYD",
        "KZT",
        "LAJ",
        "LAK",
        "LBP",
        "LKR",
        "LRD",
        "LSL",
        "LSM",
        "LTL",
        "LTT",
        "LUC",
        "LUF",
        "LUL",
        "LVL",
        "LVR",
        "LYD",
        "MAD",
        "MDL",
        "MGA",
        "MGF",
        "MKD",
        "MLF",
        "MMK",
        "MNT",
        "MOP",
        "MRO",
        "MRU",
        "MTL",
        "MTP",
        "MUR",
        "MVQ",
        "MVR",
        "MWK",
        "MXN",
        "MXP",
        "MXV",
        "MYR",
        "MZE",
        "MZM",
        "MZN",
        "NAD",
        "NGN",
        "NIC",
        "NIO",
        "NLG",
        "NOK",
        "NPR",
        "NZD",
        "OMR",
        "PAB",
        "PEH",
        "PEI",
        "PEN",
        "PES",
        "PGK",
        "PHP",
        "PKR",
        "PLN",
        "PLZ",
        "PTE",
        "PYG",
        "QAR",
        "RHD",
        "ROK",
        "ROL",
        "RON",
        "RSD",
        "RUB",
        "RUR",
        "RWF",
        "SAR",
        "SBD",
        "SCR",
        "SDD",
        "SDG",
        "SDP",
        "SEK",
        "SGD",
        "SHP",
        "SIT",
        "SKK",
        "SLL",
        "SOS",
        "SRD",
        "SRG",
        "SSP",
        "STD",
        "STN",
        "SUR",
        "SVC",
        "SYP",
        "SZL",
        "THB",
        "TJR",
        "TJS",
        "TMM",
        "TMT",
        "TND",
        "TOP",
        "TPE",
        "TRL",
        "TRY",
        "TTD",
        "TWD",
        "TZS",
        "UAH",
        "UAK",
        "UGS",
        "UGW",
        "UGX",
        "USD",
        "USN",
        "USS",
        "UYI",
        "UYN",
        "UYP",
        "UYU",
        "UZS",
        "VEB",
        "VEF",
        "VES",
        "VNC",
        "VND",
        "VUV",
        "WST",
        "XAF",
        "XAG",
        "XAU",
        "XBA",
        "XBB",
        "XBC",
        "XBD",
        "XCD",
        "XDR",
        "XEU",
        "XFO",
        "XFU",
        "XOF",
        "XPD",
        "XPF",
        "XPT",
        "XRE",
        "XSU",
        "XTS",
        "XUA",
        "XXX",
        "YDD",
        "YER",
        "YUD",
        "YUM",
        "YUN",
        "ZAL",
        "ZAR",
        "ZMK",
        "ZMW",
        "ZRN",
        "ZRZ",
        "ZWC",
        "ZWD",
        "ZWL",
        "ZWN",
        "ZWR"
      ],
      "title": "Currency"
    },
    "Transaction": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Identifier",
          "title": "Identifier"
        },
        "transactionDate": {
          "oneOf": [
            {
              "format": "date-time"
            },
            {
		"pattern": "^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
            }
          ],
          "type": "string",
          "description": "When did this transaction take place? The date should be written as YYYY-MM-DD, or in full date-time format.",
          "title": "Transaction Date"
        },
        "currency": {
          "$ref": "#/$defs/currency"
        },
        "value": {
          "type": "number",
          "description": "The total value of this transaction.",
          "title": "Value"
        },
        "valueDate": {
          "oneOf": [
            {
              "format": "date-time"
            },
            {
              "pattern": "^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
            }
          ],
          "type": [
            "string",
            "null"
          ],
          "description": "The date that this value was set (to allow historical currency conversion). The date should be written as YYYY-MM-DD, or in full date-time format.",
          "title": "Value Date"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of this transaction.",
          "title": "Description"
        },
        "provider": {
          "type": [
            "string",
            "null"
          ],
          "description": "The organisation identifier of the provider of transaction funds.",
          "title": "Provider"
        },
        "recipient": {
          "type": [
            "string",
            "null"
          ],
          "description": "The organisation identifier of the recipient of transaction funds.",
          "title": "Recipient"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was information about this transaction last updated? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "Documents": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "An identifier for this document.",
          "title": "Identifier"
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "description": "The document title",
          "title": "Title"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri",
          "description": "The URL of the document.",
          "title": "Web Address"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of the document",
          "title": "Description"
        },
        "documentType": {
          "type": [
            "string",
            "null"
          ],
          "description": "A document category. For example, 'Application Form', 'Photo' or 'Project Report'. In future, 360Giving will provide a codelist of document types.",
          "title": "Document Type"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "What was this information last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "Location": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Location identifier",
          "title": "Identifier"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "A name for this location.",
          "title": "Name"
        },	
        "countryCode": {
          "type": [
            "string",
            "null"
          ],
          "codelist": "countryCode.csv",
          "enum": [
            "AF",
            "AX",
            "AL",
            "DZ",
            "AS",
            "AD",
            "AO",
            "AI",
            "AQ",
            "AG",
            "AR",
            "AM",
            "AW",
            "AU",
            "AT",
            "AZ",
            "BS",
            "BH",
            "BD",
            "BB",
            "BY",
            "BE",
            "BZ",
            "BJ",
            "BM",
            "BT",
            "BO",
            "BQ",
            "BA",
            "BW",
            "BV",
            "BR",
            "IO",
            "BN",
            "BG",
            "BF",
            "BI",
            "KH",
            "CM",
            "CA",
            "CV",
            "KY",
            "CF",
            "TD",
            "CL",
            "CN",
            "CX",
            "CC",
            "CO",
            "KM",
            "CG",
            "CD",
            "CK",
            "CR",
            "CI",
            "HR",
            "CU",
            "CW",
            "CY",
            "CZ",
            "DK",
            "DJ",
            "DM",
            "DO",
            "EC",
            "EG",
            "SV",
            "GQ",
            "ER",
            "EE",
            "ET",
            "FK",
            "FO",
            "FJ",
            "FI",
            "FR",
            "GF",
            "PF",
            "TF",
            "GA",
            "GM",
            "GE",
            "DE",
            "GH",
            "GI",
            "GR",
            "GL",
            "GD",
            "GP",
            "GU",
            "GT",
            "GG",
            "GN",
            "GW",
            "GY",
            "HT",
            "HM",
            "VA",
            "HN",
            "HK",
            "HU",
            "IS",
            "IN",
            "ID",
            "IR",
            "IQ",
            "IE",
            "IM",
            "IL",
            "IT",
            "JM",
            "JP",
            "JE",
            "JO",
            "KZ",
            "KE",
            "KI",
            "KP",
            "KR",
            "KW",
            "KG",
            "LA",
            "LV",
            "LB",
            "LS",
            "LR",
            "LY",
            "LI",
            "LT",
            "LU",
            "MO",
            "MK",
            "MG",
            "MW",
            "MY",
            "MV",
            "ML",
            "MT",
            "MH",
            "MQ",
            "MR",
            "MU",
            "YT",
            "MX",
            "FM",
            "MD",
            "MC",
            "MN",
            "ME",
            "MS",
            "MA",
            "MZ",
            "MM",
            "NA",
            "NR",
            "NP",
            "NL",
            "NC",
            "NZ",
            "NI",
            "NE",
            "NG",
            "NU",
            "NF",
            "MP",
            "NO",
            "OM",
            "PK",
            "PW",
            "PS",
            "PA",
            "PG",
            "PY",
            "PE",
            "PH",
            "PN",
            "PL",
            "PT",
            "PR",
            "QA",
            "RE",
            "RO",
            "RU",
            "RW",
            "BL",
            "SH",
            "KN",
            "LC",
            "MF",
            "PM",
            "VC",
            "WS",
            "SM",
            "ST",
            "SA",
            "SN",
            "RS",
            "SC",
            "SL",
            "SG",
            "SX",
            "SK",
            "SI",
            "SB",
            "SO",
            "ZA",
            "GS",
            "SS",
            "ES",
            "LK",
            "SD",
            "SR",
            "SJ",
            "SZ",
            "SE",
            "CH",
            "SY",
            "TW",
            "TJ",
            "TZ",
            "TH",
            "TL",
            "TG",
            "TK",
            "TO",
            "TT",
            "TN",
            "TR",
            "TM",
            "TC",
            "TV",
            "UG",
            "UA",
            "AE",
            "GB",
            "US",
            "UM",
            "UY",
            "UZ",
            "VU",
            "VE",
            "VN",
            "VG",
            "VI",
            "WF",
            "EH",
            "YE",
            "ZM",
            "ZW"
          ],
          "description": "The 2-character ISO Country Code of the location of this activity. Taken from [ISO-3166-1-alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)",
          "title": "Country Code"
        },
        "latitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The latitude of a point location. Using [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System) standard, for example 51.501502",
          "title": "Latitude"
        },
        "longitude": {
          "type": [
            "number",
            "null"
          ],
          "description": "The longitude of a point location. Using [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System) standard, for example -0.175269",
          "title": "Longitude"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of this location. This could include details of the element of the activity that takes place here.",
          "title": "Description"
        },
        "geoCode": {
          "type": [
            "string",
            "null"
          ],
          "description": "A code referring to a geographical area, drawn from an established gazetteer such as the [ONS Register of Geographic Codes](https://en.wikipedia.org/wiki/ONS_coding_system) in the UK. For example, the code for a local authority ward, or parliamentary constituency.",
          "title": "Geographic Code"
        },
        "geoCodeType": {
          "type": [
            "string",
            "null"
          ],
          "description": "The type of Geographic Code (geoCode) used (e.g. Ward, Parliamentary Constituency etc.). This value for this field should be drawn from the [codelist of geographic code types](https://github.com/ThreeSixtyGiving/standard/tree/master/codelists/geoCodeType.csv).",
          "title": "Geographic Code Type"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was this location information last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "Classification": {
      "type": "object",
      "properties": {
        "vocabulary": {
          "type": "string",
          "description": "A vocabulary used for this classification.",
          "title": "Vocabulary"
        },
        "code": {
          "type": "string",
          "description": "A codelist value in the chosen vocabulary.",
          "title": "Code"
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "description": "The title of this classification.",
          "title": "Title"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of this classification.",
          "title": "Description"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri",
          "description": "A web link to more details of this classification.",
          "title": "URL"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was this grant classification information last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "GrantProgramme": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string",
          "description": "An identifier for this grant programme.",
          "title": "Code"
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "description": "The title of this grant programme.",
          "title": "Title"
        },
        "description": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of this grant programme.",
          "title": "Description"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "format": "uri",
          "description": "A web link to more details of this grant programme.",
          "title": "URL"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was the link between this grant and its grant programme last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "Person": {
      "type": "object",
      "required": [
        "id",
	"name"
      ],
      "properties": {
        "id": {
	  "type": "string",
	  "description": "A unique identifier which identifies the person in the dataset",
	  "title": "Identifier"
	},
	"name": {
	  "type": "string",
	  "description": "The Person's full name or a generic name such as \"Individual Recipient\" ",
	  "title": "Name"
	}
      }
    },
    "Organization": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "A globally unique identifier for this organisation. This is important to enable data on funders and recipients to be linked up across different grant-makers. The [Organisation Identifier Standard](https://standard.threesixtygiving.org/en/latest/technical/identifiers/#organisation-identifier) guidance explains how to create this ID, based either on the known company or charity number, or upon identifiers held in the grantmaker's internal systems.",
          "title": "Identifier"
        },
        "name": {
          "type": "string",
          "description": "Organisation name",
          "title": "Name"
        },
        "department": {
          "type": "string",
          "description": "The department or sub-unit of this organisation making or receiving the grant.",
          "title": "Department"
        },
        "contactName": {
          "type": "string",
          "description": "The contact person at this organisation.",
          "title": "Contact Name"
        },
        "charityNumber": {
          "type": "string",
          "description": "Registered charity number, if applicable.",
          "title": "Charity Number"
        },
        "companyNumber": {
          "type": "string",
          "description": "Registered UK company number, if applicable.",
          "title": "Company Number"
        },
        "streetAddress": {
          "type": "string",
          "description": "Organisation address building number and street name.",
          "title": "Street Address"
        },
        "addressLocality": {
          "type": "string",
          "description": "Organisation address city or town.",
          "title": "City"
        },
        "addressRegion": {
          "type": "string",
          "description": "Organisation address county",
          "title": "County"
        },
        "addressCountry": {
          "type": "string",
          "description": "Organisation address country",
          "title": "Country"
        },
        "postalCode": {
          "type": "string",
          "description": "Organisation address postal code.",
          "title": "Postal Code"
        },
        "telephone": {
          "type": "string",
          "description": "Contact phone number.",
          "title": "Phone Number"
        },
        "alternateName": {
          "type": "string",
          "description": "An alternative name for this organisation (e.g. trading name)",
          "title": "Alternate Name"
        },
        "email": {
          "type": "string",
          "description": "The email address for this organisation.",
          "title": "Email"
        },
        "description": {
          "type": "string",
          "description": "A short description of this organisation and its area of work",
          "title": "Description"
        },
        "organisationType": {
          "type": [
            "string",
            "null"
          ],
          "description": "A description of this organisation",
          "title": "Organisation Type"
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "A web address for the Organisation",
          "title": "Web Address"
        },
        "location": {
          "items": {
            "$ref": "#/$defs/Location"
          },
          "type": "array",
          "description": "Information about the location of the organisation.",
          "title": "Location"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was the organisation information for this grant last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    },
    "Event": {
      "type": "object",
      "title": "Event",
      "description": "An event in the life of the grant activity",
      "properties": {
        "title": {
          "type": "string",
          "title": "Title",
          "description": "The title of this event"
        },
        "startDate": {
          "oneOf": [
            {
              "format": "date-time"
            },
            {
		"pattern": "^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
            },
            {
              "pattern": "^[0-9]{4}(-(0[1-9]|1[012]))?$"
            }
          ],
          "type": "string",
          "description": "All events should have a start date. Dates must be in YYYY-MM-DD or date-time format. If the month or day are not available, these may be omitted.",
          "title": "Start Date"
        },
        "endDate": {
          "oneOf": [
            {
              "format": "date-time"
            },
            {
		    "pattern": "^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
            },
            {
              "pattern": "^[0-9]{4}(-(0[1-9]|1[012]))?$"
            }
          ],
          "type": "string",
          "description": "An end date for the grant. Dates must be in YYYY-MM-DD or date-time format. If the month or day are not available, these may be omitted.",
          "title": "End Date"
        },
        "duration": {
          "type": "number",
          "minimum": 0,
          "description": "The duration of the grant, in months. Must be in number format.",
          "title": "Duration (months)"
        },
        "description": {
          "type": "string",
          "description": "A description of this event",
          "title": "Description"
        },
        "dateModified": {
          "format": "date-time",
          "type": "string",
          "description": "When was information about this event last modified? A full date-time should be given. Usually this can be generated automatically by the software managing or exporting this data.",
          "title": "Last Modified"
        }
      }
    }
  },
  "oneOf": [
    {
      "required": [
        "id",
        "title",
        "description",
    	"currency",
        "amountAwarded",
        "awardDate",
        "recipientOrganization",
        "fundingOrganization"
      ]
    },
    {
      "required": [
        "id",
        "title",
        "description",
        "currency",
        "amountAwarded",
        "awardDate",
        "recipientIndividual",
        "fundingOrganization"
      ]
    }
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier for this grant. Made up of your 360Giving prefix, and an identifier from your records. See the [360Giving Grant identifier guidance](https://standard.threesixtygiving.org/en/latest/technical/identifiers/#grant-identifier) for details.",
      "title": "Identifier"
    },
    "title": {
      "type": "string",
      "description": "A title for this grant activity. This should be under 140 characters long.",
      "title": "Title"
    },
    "description": {
      "type": "string",
      "description": "A short description of this grant activity.",
      "title": "Description"
    },
    "currency": {
      "$ref": "#/$defs/currency"
    },
    "amountAppliedFor": {
      "type": "number",
      "description": "Total amount applied for in numbers (do not include commas or currency symbols such as \u00a3). If you have provided detailed transaction information on a separate table, this should equal the sum of all the application transactions for this grant.",
      "title": "Amount Applied For"
    },
    "amountAwarded": {
      "type": "number",
      "description": "Total amount awarded in numbers (do not include commas or currency symbols such as \u00a3). If you have provided detailed transaction information on a separate table, this should equal the sum of all the award transactions for this grant.",
      "title": "Amount Awarded"
    },
    "amountDisbursed": {
      "type": "number",
      "description": "Total amount disbursed (paid) to this grantee when this record was last updated (in numbers: do not include commas or currency symbols such as \u00a3)). If you have provided detailed transaction information on a separate table, this should equal the sum of all the disbursement transactions for this grant.",
      "title": "Amount Disbursed"
    },
    "awardDate": {
      "oneOf": [
        {
          "format": "date-time"
        },
        {
		"pattern": "^[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$"
        }
      ],
      "type": "string",
      "description": "When the decision to award this grant was made. The date must be written as YYYY-MM-DD, or in full date-time format.",
      "title": "Award Date"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "A URL (Web Address) where further information about this grant can be found. This could point to the website of the recipient organisation, or might link to further details on the funders website.",
      "title": "URL"
    },
    "plannedDates": {
      "items": {
        "$ref": "#/$defs/Event"
      },
      "type": "array",
      "title": "Planned Dates",
      "description": "When the recipient organisation intends this activity to take place. A date range can include a start date and duration in months, or a start and end date.",
      "rollUp": [
        "startDate",
        "endDate",
        "duration"
      ]
    },
    "actualDates": {
      "items": {
        "$ref": "#/$defs/Event"
      },
      "type": "array",
      "description": "When did this grant activity actually take place. Dates must be in YYYY-MM-DD or date-time format. A date range can include a start date and duration in months, or a start and end date.",
      "title": "Actual Dates"
    },
    "recipientIndividual": {
      "$ref": "#/$defs/Person",
      "title": "Recipient Ind",
      "description": "Details of the recipient of this grant to an individual."
    },
    "toIndividualsDetails": {
      "type": "object",
      "title": "To Individuals Details",
      "properties": {
        "primaryGrantReason": {
	  "type": "string",
	  "title": "Primary Grant Reason",
	  "description": "A code referring to the reason(s) for a grant to an individual. The value for this field should be drawn from the Grant to Individuals Reason codelist",
	  "codelist": "grantToIndividualsReason.csv",
	  "openCodelist": false
	},
	"secondaryGrantReason": {
	  "type": "string",
	  "title": "Secondary Grant Reason",
	  "description": "A code referring to the reason(s) for a grant to an individual. The value for this field should be drawn from the Grant to Individuals Reason codelist",
	  "codelist": "grantToIndividualsReason.csv",
	  "openCodelist": false
	},
	"grantPurpose": {
	  "type": "array",
	  "title": "Grant Purpose",
	  "description": "A code referring to the purpose(s) for a grant to an individual. The value(s) for this field should be drawn from the Grant to Individuals Purpose codelist",
	  "items": {
	    "type": "string",
	    "codelist": "grantToIndividualsPurpose.csv",
	    "openCodelist": false
	  }
	}
      }
    },
    "recipientOrganization": {
      "items": {
        "$ref": "#/$defs/Organization"
      },
      "minItems": 1,
      "type": "array",
      "title": "Recipient Org",
      "description": "Details of the recipient of this grant.",
      "rollUp": [
        "id",
        "name",
        "charityNumber",
        "companyNumber",
        "streetAddress",
        "addressLocality",
        "addressRegion",
        "postalCode",
        "addressCountry",
        "description",
        "url"
      ]
    },
    "beneficiaryLocation": {
      "items": {
        "$ref": "#/$defs/Location"
      },
      "type": "array",
      "title": "Beneficiary Location",
      "description": "Information about the location of beneficiaries. Further information about beneficiaries can be provided through classifications.",
      "rollUp": [
        "name",
        "countryCode",
        "latitude",
        "longitude",
        "geoCode",
        "geoCodeType"
      ]
    },
    "fundingOrganization": {
      "items": {
        "$ref": "#/$defs/Organization"
      },
      "minItems": 1,
      "type": "array",
      "description": "Details of the funder",
      "title": "Funding Org",
      "rollUp": [
        "id",
        "name",
        "department"
      ]
    },
    "grantProgramme": {
      "items": {
        "$ref": "#/$defs/GrantProgramme"
      },
      "type": "array",
      "description": "Information about the grant programme under which the grant was awarded",
      "title": "Grant Programme",
      "rollUp": [
        "code",
        "title",
        "url"
      ]
    },
    "fromOpenCall": {
      "type": "string",
      "enum": [
        "Yes",
        "No"
      ],
      "description": "Was this grant made as the result of an open call for applications? Values must be 'Yes' or 'No'",
      "title": "From An Open Call?"
    },
    "fundingType": {
      "items": {
        "$ref": "#/$defs/Classification"
      },
      "type": "array",
      "description": "Information about the type of funding provided by the grant",
      "title": "Funding Type"
    },
    "classifications": {
      "items": {
        "$ref": "#/$defs/Classification"
      },
      "type": "array",
      "description": "Information about a classification associated with the grant",
      "title": "Classifications"
    },
    "relatedDocument": {
      "items": {
        "$ref": "#/$defs/Documents"
      },
      "type": "array",
      "description": "Information about a document related to the grant",
      "title": "Related Document"
    },
    "applicationTransaction": {
      "items": {
        "$ref": "#/$defs/Transaction"
      },
      "type": "array",
      "description": "-"
    },
    "commitmentTransaction": {
      "items": {
        "$ref": "#/$defs/Transaction"
      },
      "type": "array",
      "description": "-"
    },
    "disbursementTransaction": {
      "items": {
        "$ref": "#/$defs/Transaction"
      },
      "type": "array",
      "description": "-"
    },
    "relatedActivity": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "The identifiers of any related activities (e.g. other grants given as part of a multi-grant project)",
      "title": "Related Activity"
    },
    "dateModified": {
      "format": "date-time",
      "type": "string",
      "description": "When was information on this grant last updated? A full date-time format must be given. Usually this can be generated automatically by the software managing or exporting this data.",
      "title": "Last Modified"
    },
    "dataSource": {
      "format": "uri",
      "type": [
        "string",
        "null"
      ],
      "description": "A web link pointing to the source of this data. This may be an original 360Giving data file, a file from which the data was converted, or an organisation website.",
      "title": "Data Source"
    },
    "regrantType": {
      "title": "For Regrant Type",
      "description": "A code referring to the type of regranting process that this grant represents. The value for this field should be drawn from the Regrant Type codelist",
      "type": "string",
      "codelist": "regrantType.csv",
      "openCodelist": false
    },
    "locationScope": {
	  "type": "string",
	  "title": "Location Scope",
	  "description": "A code referring to the location scope applicable to this grant. The value for this field should be drawn from the Location Scope codelist.",
	  "codelist": "locationScope.csv",
	  "openCodelist": false
    }
  }
}
