turbot 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. checksums.yaml +8 -8
  2. data/lib/turbot/version.rb +1 -1
  3. data/schema/schemas/company-schema.json +69 -21
  4. data/schema/schemas/financial-payment-schema.json +9 -4
  5. data/schema/schemas/includes/address.json +36 -13
  6. data/schema/schemas/includes/alternative_name.json +32 -9
  7. data/schema/schemas/includes/company-for-nesting.json +229 -0
  8. data/schema/schemas/includes/company.json +15 -6
  9. data/schema/schemas/includes/filing.json +48 -16
  10. data/schema/schemas/includes/financial-payment-data-object.json +73 -21
  11. data/schema/schemas/includes/identifier.json +18 -0
  12. data/schema/schemas/includes/industry_code.json +25 -12
  13. data/schema/schemas/includes/licence-data-object.json +40 -13
  14. data/schema/schemas/includes/officer.json +66 -46
  15. data/schema/schemas/includes/organisation.json +58 -0
  16. data/schema/schemas/includes/permission.json +46 -0
  17. data/schema/schemas/includes/person.json +62 -0
  18. data/schema/schemas/includes/person_name.json +71 -0
  19. data/schema/schemas/includes/previous_name.json +19 -9
  20. data/schema/schemas/includes/share-parcel-data.json +55 -40
  21. data/schema/schemas/includes/share-parcel.json +71 -56
  22. data/schema/schemas/includes/subsidiary-relationship-data.json +19 -8
  23. data/schema/schemas/includes/total-shares.json +13 -6
  24. data/schema/schemas/includes/unknown_entity_type.json +58 -0
  25. data/schema/schemas/licence-schema.json +155 -15
  26. data/schema/schemas/primary-data-schema.json +18 -15
  27. data/schema/schemas/share-parcel-schema.json +8 -7
  28. data/schema/schemas/simple-financial-payment-schema.json +49 -12
  29. data/schema/schemas/simple-licence-schema.json +23 -8
  30. data/schema/schemas/simple-subsidiary-schema.json +21 -8
  31. data/schema/schemas/subsidiary-relationship-schema.json +23 -4
  32. metadata +11 -4
@@ -1,60 +1,112 @@
1
1
  {
2
- "name": "Financial Payment Datum",
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "type": "object",
4
4
  "properties": {
5
- "data_type": { "enum": [ "financial_payment" ] },
5
+ "data_type": {
6
+ "enum": [
7
+ "financial_payment"
8
+ ]
9
+ },
6
10
  "source_url": {
7
- "type": "string"},
11
+ "type": "string"
12
+ },
8
13
  "confidence": {
9
- "type": "string"},
14
+ "type": "string"
15
+ },
10
16
  "properties": {
11
17
  "type": "object",
12
18
  "properties": {
13
19
  "value": {
14
20
  "description": "The amount transacted (e.g. 19.95)",
15
- "type": "string"},
21
+ "type": "string"
22
+ },
16
23
  "payee_name": {
17
24
  "description": "The name of the payee (the entity that received the money)",
18
- "type": "string"},
25
+ "type": "string"
26
+ },
19
27
  "currency": {
20
28
  "description": "The currency of the payment (three letter symbol, e.g. USD, GBP, EUR)",
21
- "type": "string"},
29
+ "type": "string"
30
+ },
22
31
  "date": {
23
32
  "description": "The date on which the payment was made",
24
- "type": "date"},
33
+ "type": "date"
34
+ },
25
35
  "transaction_number": {
26
36
  "description": "The unique identifier for the transaction, scoped to this bot",
27
- "type": "string"},
37
+ "type": "string"
38
+ },
28
39
  "jurisdiction": {
29
40
  "description": "The jurisdiction of the body that made the payment, eg. UK, France, Delaware, Manchester",
30
- "type": "string"},
41
+ "type": "string"
42
+ },
31
43
  "more_details_url": {
32
44
  "description": "A url from which more details can be seen (may be the same as the source_url)",
33
- "type": ["string",null]},
45
+ "type": [
46
+ "string",
47
+ null
48
+ ]
49
+ },
34
50
  "description": {
35
51
  "description": "The description of the transaction as given in the raw data",
36
- "type": ["string",null]},
52
+ "type": [
53
+ "string",
54
+ null
55
+ ]
56
+ },
37
57
  "expense_type": {
38
58
  "description": "The type of expense -- can be either capital, revenue (i.e. current expenditure) or null",
39
- "enum": ["capital","revenue",null]},
59
+ "enum": [
60
+ "capital",
61
+ "revenue",
62
+ null
63
+ ]
64
+ },
40
65
  "expense_area": {
41
66
  "description": "category (in words) of the expenditure",
42
- "type": ["string",null]},
67
+ "type": [
68
+ "string",
69
+ null
70
+ ]
71
+ },
43
72
  "entity_name": {
44
73
  "description": "The name of the government entity that made the payment, e.g. Environment Agency",
45
- "type": "string"},
74
+ "type": "string"
75
+ },
46
76
  "entity_uri": {
47
77
  "description": "A unique URL (ideally a dereferencable URI) for the government entity",
48
- "type": ["string",null]},
78
+ "type": [
79
+ "string",
80
+ null
81
+ ]
82
+ },
49
83
  "department_name": {
50
84
  "description": "The name of the government department which the entity belongs to (if relevant), e.g. Department of Health",
51
- "type": ["string",null]},
85
+ "type": [
86
+ "string",
87
+ null
88
+ ]
89
+ },
52
90
  "csv_line_number": {
53
91
  "description": "If the source for the data is a CSV file, you can optionally include the line number of the CSV from which this data was retrieved",
54
- "type": ["string",null]}
92
+ "type": [
93
+ "string",
94
+ null
95
+ ]
96
+ }
55
97
  },
56
- "required": [ "value", "payee_name", "date","currency" ]
98
+ "required": [
99
+ "value",
100
+ "payee_name",
101
+ "date",
102
+ "currency"
103
+ ]
57
104
  }
58
105
  },
59
- "required": [ "data_type", "properties","source_url","confidence" ]
60
- }
106
+ "required": [
107
+ "data_type",
108
+ "properties",
109
+ "source_url",
110
+ "confidence"
111
+ ]
112
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "description": "An identifier for an entity (possibly other things, e.g. securities in the future). Examples are tax IDs, non-profit IDs, SEC CIK numbers, Federal Reserve RSSD id. The main requirements for an identifier is that they should be well-defined, and issued by a government or have statutory standing",
4
+ "type": "object",
5
+ "properties": {
6
+ "uid": {
7
+ "type": "string"
8
+ },
9
+ "identifier_system_code": {
10
+ "type": "string",
11
+ "description": "An identifier representing the identifier scheme. Some examples of this are us_fein (US Federal tax number), us_sec_cik (US Securities and Exchange Commission CIK), gb_ccew (Charity Commission of England & Wales), lei (Global Legal Entity Identifier Schems)"
12
+ }
13
+ },
14
+ "required": [
15
+ "code",
16
+ "code_scheme_id"
17
+ ]
18
+ }
@@ -1,16 +1,29 @@
1
1
  {
2
- "name": "IndustryCode",
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "description": "An industry code from a standard code list (e.g. NAICS 2007 or NACE 2)",
4
4
  "type": "object",
5
- "properties": { "name": { "type": "string" },
6
- "code": { "type": "string" },
7
- "code_scheme_id": {
8
- "type": "string",
9
- "description": "An identifier representing industry code scheme. At the moment these are eu_nace_2, uk_sic_2003, uk_sic_2007, us_naics_2002, us_naics_2007, be_nace_2008, dk_db_2007, nz_bic_2006, no_sic_2007, anz_sic_2006, nz_bic_2006, in_nic_2004_mca, ca_qc_cae, lu_nace_2. For other code schemes, or details of these, contact info@opencorporates.com"
10
- },
11
- "start_date": {"type":"string","format": "date"},
12
- "end_date": {"type":"string","format": "date"}
5
+ "properties": {
6
+ "name": {
7
+ "type": "string"
8
+ },
9
+ "code": {
10
+ "type": "string"
11
+ },
12
+ "code_scheme_id": {
13
+ "type": "string",
14
+ "description": "An identifier representing industry code scheme. At the moment these are eu_nace_2, uk_sic_2003, uk_sic_2007, us_naics_2002, us_naics_2007, be_nace_2008, dk_db_2007, nz_bic_2006, no_sic_2007, anz_sic_2006, nz_bic_2006, in_nic_2004_mca, ca_qc_cae, lu_nace_2. For other code schemes, or details of these, contact info@opencorporates.com"
15
+ },
16
+ "start_date": {
17
+ "type": "string",
18
+ "format": "date"
19
+ },
20
+ "end_date": {
21
+ "type": "string",
22
+ "format": "date"
23
+ }
13
24
  },
14
- "required": [ "code", "code_scheme_id" ]
15
- }
16
-
25
+ "required": [
26
+ "code",
27
+ "code_scheme_id"
28
+ ]
29
+ }
@@ -1,36 +1,63 @@
1
1
  {
2
- "name": "Licence Data",
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "type": "object",
4
4
  "properties": {
5
- "data_type": { "enum": [ "licence" ] },
5
+ "data_type": {
6
+ "enum": [
7
+ "licence"
8
+ ]
9
+ },
6
10
  "source_url": {
7
- "type": "string"},
11
+ "type": "string"
12
+ },
8
13
  "confidence": {
9
- "type": "string"},
14
+ "type": "string"
15
+ },
10
16
  "properties": {
11
17
  "type": "object",
12
18
  "properties": {
13
19
  "regulator": {
14
20
  "description": "The regulating body that issued the licence",
15
- "type": "string"},
21
+ "type": "string"
22
+ },
16
23
  "category": {
17
24
  "description": "The category of licence. Current possible values are: 'Financial','Business'",
18
- "enum": [ "Financial", "Business" ]},
25
+ "enum": [
26
+ "Financial",
27
+ "Business"
28
+ ]
29
+ },
19
30
  "jurisdiction_code": {
20
31
  "description": "The jurisdiction for which licence was issued",
21
- "type": "string"},
32
+ "type": "string"
33
+ },
22
34
  "licence_number": {
23
35
  "description": "Licence number or code (can be null)",
24
- "type": ["string",null]},
36
+ "type": [
37
+ "string",
38
+ null
39
+ ]
40
+ },
25
41
  "jurisdiction_classification": {
26
42
  "type": "array",
27
43
  "description": "The local classification given by the regulator",
28
- "minItems": 1},
44
+ "minItems": 1
45
+ },
29
46
  "oc_classification": {
30
- "type": "array"}
47
+ "type": "array"
48
+ }
31
49
  },
32
- "required": [ "jurisdiction_code", "jurisdiction_classification", "category" ]
50
+ "required": [
51
+ "jurisdiction_code",
52
+ "jurisdiction_classification",
53
+ "category"
54
+ ]
33
55
  }
34
56
  },
35
- "required": [ "data_type", "properties","source_url","confidence" ]
36
- }
57
+ "required": [
58
+ "data_type",
59
+ "properties",
60
+ "source_url",
61
+ "confidence"
62
+ ]
63
+ }
@@ -1,50 +1,70 @@
1
1
  {
2
- "name": "Officer",
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "description": "An officer (director, senior executive) of a company",
4
4
  "type": "object",
5
- "properties": { "name": { "type": "string", "minLength": 1 },
6
- "start_date": {
7
- "anyOf": [
8
- {"type":"string","format": "date"},
9
- {"type":"null"}
10
- ]
11
- },
12
- "end_date": {
13
- "anyOf": [
14
- {"type":"string","format": "date"},
15
- {"type":"null"}
16
- ]
17
- },
18
- "position": { "type": "string" },
19
- "other_attributes": {
20
- "type": "object",
21
- "properties": {
22
- "date_of_birth": {
23
- "type": "string",
24
- "format": "date"
25
- },
26
- "nationality": {
27
- "type": "string"
28
- },
29
- "person_uid": {
30
- "type": "string",
31
- "description": "a unique identifier given to the individual (as opposed to the officership)"
32
- },
33
- "address": {
34
- "type": "string"
35
- },
36
- "type": {
37
- "type": "string",
38
- "enum": ["Person", "Company"],
39
- "description": "The type of entity that is the officer (either 'Person' or 'Company')"
40
- }
41
- }
42
- },
43
- "uid": {
44
- "type": "string",
45
- "description": "a unique identifier given to the officership"
46
- }
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "minLength": 1
9
+ },
10
+ "start_date": {
11
+ "anyOf": [
12
+ {
13
+ "type": "string",
14
+ "format": "date"
15
+ },
16
+ {
17
+ "type": "null"
18
+ }
19
+ ]
20
+ },
21
+ "end_date": {
22
+ "anyOf": [
23
+ {
24
+ "type": "string",
25
+ "format": "date"
26
+ },
27
+ {
28
+ "type": "null"
29
+ }
30
+ ]
31
+ },
32
+ "position": {
33
+ "type": "string"
34
+ },
35
+ "uid": {
36
+ "type": "string",
37
+ "description": "a unique identifier given to the officership"
38
+ },
39
+ "other_attributes": {
40
+ "type": "object",
41
+ "properties": {
42
+ "date_of_birth": {
43
+ "type": "string",
44
+ "format": "date"
45
+ },
46
+ "nationality": {
47
+ "type": "string"
48
+ },
49
+ "person_uid": {
50
+ "type": "string",
51
+ "description": "a unique identifier given to the individual (as opposed to the officership)"
52
+ },
53
+ "address": {
54
+ "type": "string"
55
+ },
56
+ "type": {
57
+ "type": "string",
58
+ "enum": [
59
+ "Person",
60
+ "Company"
61
+ ],
62
+ "description": "The type of entity that is the officer (either 'Person' or 'Company')"
63
+ }
64
+ }
65
+ }
47
66
  },
48
- "required": [ "name" ]
49
- }
50
-
67
+ "required": [
68
+ "name"
69
+ ]
70
+ }
@@ -0,0 +1,58 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "description": "An entity which is a distinct organisation, but is not a company nor an individual. Examples include governments and governmental entities (e.g. Multilateral Devoelpment Banks, Government Departments, municipalities, etc), and also membership organisations",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "description": "Name of the entity",
9
+ "minLength": 1
10
+ },
11
+ "jurisdiction": {
12
+ "type": "string",
13
+ "description": "Name of the jurisdiction in which the entity is incorporated/domiciled (use global for global entities, e.g. UN)"
14
+ },
15
+ "website": {
16
+ "type": "string",
17
+ "minLength": 5
18
+ },
19
+ "telephone_number": {
20
+ "type": "string",
21
+ "minLength": 4
22
+ },
23
+ "fax_number": {
24
+ "type": "string",
25
+ "minLength": 4
26
+ },
27
+ "registered_address": {
28
+ "$ref": "address.json"
29
+ },
30
+ "headquarters_address": {
31
+ "$ref": "address.json"
32
+ },
33
+ "mailing_address": {
34
+ "$ref": "address.json"
35
+ },
36
+ "industry_codes": {
37
+ "type": "array",
38
+ "items": {
39
+ "$ref": "industry_code.json"
40
+ }
41
+ },
42
+ "previous_names": {
43
+ "type": "array",
44
+ "items": {
45
+ "$ref": "previous_name.json"
46
+ }
47
+ },
48
+ "alternative_names": {
49
+ "type": "array",
50
+ "items": {
51
+ "$ref": "alternative_name.json"
52
+ }
53
+ }
54
+ },
55
+ "required": [
56
+ "name"
57
+ ]
58
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "oneOf": [
4
+ {
5
+ "type": [
6
+ "string",
7
+ "null"
8
+ ],
9
+ "minLength": 2
10
+ },
11
+ {
12
+ "name": "Permission",
13
+ "description": "A permission issued by a government or regulatory body to an entity to do something. This may be fine grained,e.g. to sell liquor, to accept customer deposits, or broader, e.g to operate as a bank, a restaurant. It may also be permission to do something physical, such as explore for oil in a given area, or mine for iron ore",
14
+ "type": "object",
15
+ "properties": {
16
+ "activity_name": {
17
+ "type": "string"
18
+ },
19
+ "activity_id": {
20
+ "type": "string"
21
+ },
22
+ "permission_type": {
23
+ "enum": [
24
+ "operating",
25
+ "exploration",
26
+ "exploitation"
27
+ ],
28
+ "description": "types of permission, such as 'operating', 'exploration', 'exploitation'"
29
+ },
30
+ "restrictions": {
31
+ "type": "array",
32
+ "description": "conditions or restrictions on the permissions",
33
+ "items": {
34
+ "type": "string"
35
+ }
36
+ },
37
+ "other_attributes": {
38
+ "type": "object"
39
+ }
40
+ },
41
+ "required": [
42
+ "activity_name"
43
+ ]
44
+ }
45
+ ]
46
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "description": "A person, for example, referenced in some other context, e.g. director of a company, shareholder, licence-holder, lobbyist. This should be used only if the person is the subject of the datum",
4
+ "type": "object",
5
+ "properties": {
6
+ "name": {
7
+ "$ref": "person_name.json"
8
+ },
9
+ "jurisdiction": {
10
+ "type": "string",
11
+ "description": "Name of the jurisdiction in which the entity is based"
12
+ },
13
+ "company": {
14
+ "description": "Company the person is representing. NB If the licence holder is a company, and the individual is a just a contact, then use the company-schema for the entity. This is where the individual themselves are the licence holder",
15
+ "$ref": "company-for-nesting.json"
16
+ },
17
+ "relationship_with_company": {
18
+ "enum": [
19
+ "employee",
20
+ "director",
21
+ "shareholder",
22
+ null
23
+ ]
24
+ },
25
+ "website": {
26
+ "type": "string",
27
+ "minLength": 5
28
+ },
29
+ "telephone_number": {
30
+ "type": "string",
31
+ "minLength": 4
32
+ },
33
+ "fax_number": {
34
+ "type": "string",
35
+ "minLength": 4
36
+ },
37
+ "registered_address": {
38
+ "$ref": "address.json"
39
+ },
40
+ "headquarters_address": {
41
+ "$ref": "address.json"
42
+ },
43
+ "mailing_address": {
44
+ "$ref": "address.json"
45
+ },
46
+ "industry_codes": {
47
+ "type": "array",
48
+ "items": {
49
+ "$ref": "industry_code.json"
50
+ }
51
+ },
52
+ "alternative_names": {
53
+ "type": "array",
54
+ "items": {
55
+ "$ref": "alternative_name.json"
56
+ }
57
+ }
58
+ },
59
+ "required": [
60
+ "name"
61
+ ]
62
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "oneOf": [
4
+ {
5
+ "type": [
6
+ "string",
7
+ "null"
8
+ ],
9
+ "minLength": 2
10
+ },
11
+ {
12
+ "description": "The name of a person as an object",
13
+ "type": "object",
14
+ "properties": {
15
+ "given_name": {
16
+ "type": [
17
+ "string",
18
+ "null"
19
+ ],
20
+ "description": "The given name (often first name) of a person, as opposed to their family name. Following FOAF practice, this is preferred to first_name",
21
+ "minLength": 1
22
+ },
23
+ "family_name": {
24
+ "type": [
25
+ "string",
26
+ "null"
27
+ ],
28
+ "description": "The family name (often last name) of a person, as opposed to their family name. Following FOAF practice, this is preferred to last_name",
29
+ "minLength": 1
30
+ },
31
+ "first_name": {
32
+ "type": [
33
+ "string",
34
+ "null"
35
+ ],
36
+ "minLength": 1
37
+ },
38
+ "middle_name": {
39
+ "type": [
40
+ "string",
41
+ "null"
42
+ ],
43
+ "minLength": 1
44
+ },
45
+ "last_name": {
46
+ "type": [
47
+ "string",
48
+ "null"
49
+ ],
50
+ "minLength": 1
51
+ },
52
+ "title": {
53
+ "type": [
54
+ "string",
55
+ "null"
56
+ ],
57
+ "description": "Title such as Mr, Ms, Dr etc",
58
+ "minLength": 1
59
+ },
60
+ "suffixes": {
61
+ "type": [
62
+ "string",
63
+ "null"
64
+ ],
65
+ "description": "Any suffixes, including degrees, honours (OBE), ordinals (John Smith Jr, Bill Jones II) etc",
66
+ "minLength": 1
67
+ }
68
+ }
69
+ }
70
+ ]
71
+ }
@@ -1,14 +1,24 @@
1
1
  {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
2
3
  "name": "PreviousName",
3
4
  "description": "A previous name of a company",
4
5
  "type": "object",
5
- "properties": { "company_name": { "type": "string", "minLength": 1 },
6
- "con_date": {
7
- "type": "date",
8
- "description": "The end (conversion) date of the name"
9
- },
10
- "start_date": {"type":"string","format": "date"}
6
+ "properties": {
7
+ "company_name": {
8
+ "type": "string",
9
+ "minLength": 1
10
+ },
11
+ "con_date": {
12
+ "type": "string",
13
+ "format": "date",
14
+ "description": "The end (conversion) date of the name"
15
+ },
16
+ "start_date": {
17
+ "type": "string",
18
+ "format": "date"
19
+ }
11
20
  },
12
- "required": [ "company_name" ]
13
- }
14
-
21
+ "required": [
22
+ "company_name"
23
+ ]
24
+ }