Repository navigation
Expand file tree
/
Copy pathcompany_directory_types.go
More file actions
245 lines (220 loc) · 9.95 KB
/
Copy pathcompany_directory_types.go
File metadata and controls
245 lines (220 loc) · 9.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
package parseapi
// Company directory responses. National Company and CompanyDeep remain separate.
// CompanyProfileAddress is an address with its recorded role; role does not imply mailing validity or headquarters.
type CompanyProfileAddress struct {
_ [0]func()
Type string `json:"type"`
Street *string `json:"street,omitempty"`
City *string `json:"city,omitempty"`
State *string `json:"state,omitempty"`
Postal *string `json:"postal,omitempty"`
Country *string `json:"country,omitempty"`
}
// CompanyProfileListing is a reported exchange/symbol pair. No listings does not establish private ownership.
type CompanyProfileListing struct {
_ [0]func()
Exchange string `json:"exchange"`
Symbol string `json:"symbol"`
}
// CompanyProfileJurisdiction is the recorded registration jurisdiction, separate from address or operating location.
type CompanyProfileJurisdiction struct {
_ [0]func()
Country string `json:"country"`
State *string `json:"state,omitempty"`
}
// CompanyProfileWebsite is another associated hostname and its recorded URL, when known.
type CompanyProfileWebsite struct {
_ [0]func()
Domain string `json:"domain"`
URL *string `json:"url,omitempty"`
}
// CompanyProfileIdentifier is an authority-scoped identifier; values preserve leading zeros.
type CompanyProfileIdentifier struct {
_ [0]func()
Type string `json:"type"`
Authority string `json:"authority"`
Value string `json:"value"`
}
// CompanyProfileIndustry is a reported classification; type is an open scheme string.
type CompanyProfileIndustry struct {
_ [0]func()
Type string `json:"type"`
Code string `json:"code"`
Name *string `json:"name,omitempty"`
}
// CompanyProfileFounding holds the reported founding value and precision (year, month or day), distinct from incorporation.
type CompanyProfileFounding struct {
_ [0]func()
Value string `json:"value"`
// Open string; currently year, month or day. Preserve the source value without padding.
Precision string `json:"precision"`
}
// CompanyProfileEmployees is a reported workforce count at its explicit measurement date.
type CompanyProfileEmployees struct {
_ [0]func()
Count int64 `json:"count"`
AsOf string `json:"as_of"`
// Open string: headcount, full_time or full_time_equivalent. Nil on older responses.
Basis *string `json:"basis,omitempty"`
// Open string, currently legal_entity or consolidated_group.
Scope string `json:"scope"`
// Open string, currently reported.
Method string `json:"method"`
Approximate bool `json:"approximate"`
}
// CompanyProfileRegistrationLegalForm holds a register's open legal-form code and label.
type CompanyProfileRegistrationLegalForm struct {
_ [0]func()
Code string `json:"code"`
Name string `json:"name"`
}
// CompanyProfileRegistrationAddress preserves recorded principal-address components, not inferred ISO codes.
type CompanyProfileRegistrationAddress struct {
_ [0]func()
Kind string `json:"kind"`
Line1 *string `json:"line1"`
Line2 *string `json:"line2"`
City *string `json:"city"`
State *string `json:"state"`
Postal *string `json:"postal"`
CountryRaw *string `json:"country_raw"`
}
// CompanyProfileRegistration holds registry-scoped facts, not an operation or tax-exemption verdict.
type CompanyProfileRegistration struct {
_ [0]func()
Authority string `json:"authority"`
Number string `json:"number"`
Jurisdiction CompanyProfileJurisdiction `json:"jurisdiction"`
Role string `json:"role"`
LegalForm CompanyProfileRegistrationLegalForm `json:"legal_form"`
Status string `json:"status"`
// This register's reported entity-form date, not universal incorporation or founding.
FormationDate *string `json:"formation_date"`
Address *CompanyProfileRegistrationAddress `json:"address"`
}
// CompanyProfileSource provides attribution only for the named selected enrichment fields; observation is not a source update.
type CompanyProfileSource struct {
_ [0]func()
Type string `json:"type"`
URL string `json:"url"`
Fields []string `json:"fields"`
// Artifact observation timestamp.
ObservedAt string `json:"observed_at"`
// Explicit source update timestamp, or null. Measurement dates belong to employees.as_of.
UpdatedAt *string `json:"updated_at,omitempty"`
}
// CompanyProfilePhone is a selected public business number, not a reachability verdict.
type CompanyProfilePhone struct {
_ [0]func()
Number string `json:"number"`
Kind *string `json:"kind"`
}
// CompanyProfileEmail is a selected public business address, not a delivery verdict.
type CompanyProfileEmail struct {
_ [0]func()
Address string `json:"address"`
Kind *string `json:"kind"`
}
// CompanyProfileDomain is an associated domain and its recorded URL.
type CompanyProfileDomain = CompanyProfileWebsite
// CompanySocialProfile preserves the recorded account URL and nullable platform/handle.
type CompanySocialProfile struct {
_ [0]func()
Platform *string `json:"platform,omitempty"`
URL string `json:"url"`
Handle *string `json:"handle,omitempty"`
}
// CompanyPhoneNumber preserves a source-recorded number and purpose.
type CompanyPhoneNumber struct {
_ [0]func()
Number string `json:"number"`
Type *string `json:"type,omitempty"`
}
// CompanyEmailAddress preserves a source-recorded address and purpose.
type CompanyEmailAddress struct {
_ [0]func()
Address string `json:"address"`
Type *string `json:"type,omitempty"`
}
// CompanyProfileDeep holds optional directory detail. Every member may be missing or null; existing releases may omit enrichment fields.
type CompanyProfileDeep struct {
Domains []CompanyProfileDomain `json:"domains,omitempty"`
SocialProfiles []CompanySocialProfile `json:"social_profiles,omitempty"`
PhoneNumbers []CompanyPhoneNumber `json:"phone_numbers,omitempty"`
EmailAddresses []CompanyEmailAddress `json:"email_addresses,omitempty"`
_ [0]func()
LegalName *string `json:"legal_name,omitempty"`
Aliases []string `json:"aliases,omitempty"`
Jurisdiction *CompanyProfileJurisdiction `json:"jurisdiction,omitempty"`
// Recorded legal status; not an operating or compliance verdict.
Status *string `json:"status,omitempty"`
Websites []CompanyProfileWebsite `json:"websites,omitempty"`
Identifiers []CompanyProfileIdentifier `json:"identifiers,omitempty"`
Incorporated *string `json:"incorporated,omitempty"`
Addresses []CompanyProfileAddress `json:"addresses,omitempty"`
Industries []CompanyProfileIndustry `json:"industries,omitempty"`
Parent *string `json:"parent,omitempty"`
Description *string `json:"description,omitempty"`
// Reported asset URL; the client does not fetch or license the asset.
Logo *string `json:"logo,omitempty"`
// Selected company account URLs; an empty array does not prove no accounts exist.
Socials []string `json:"socials,omitempty"`
Phones []CompanyProfilePhone `json:"phones,omitempty"`
Emails []CompanyProfileEmail `json:"emails,omitempty"`
Founded *CompanyProfileFounding `json:"founded,omitempty"`
Employees *CompanyProfileEmployees `json:"employees,omitempty"`
Registrations []CompanyProfileRegistration `json:"registrations,omitempty"`
// Attribution for projected enrichment fields only, not the entire legal profile.
Sources []CompanyProfileSource `json:"sources,omitempty"`
}
// CompanyMatch holds search match evidence. Open strings permit future fields and identifier/listing namespaces.
type CompanyMatch struct {
_ [0]func()
Field *string `json:"field,omitempty"`
Value *string `json:"value,omitempty"`
Type *string `json:"type,omitempty"`
Authority *string `json:"authority,omitempty"`
Exchange *string `json:"exchange,omitempty"`
}
// CompanyProfile is a directory profile, distinct from national company-number validation.
type CompanyProfile struct {
_ [0]func()
ID string `json:"id"`
Name string `json:"name"`
Country *string `json:"country,omitempty"`
Website *string `json:"website,omitempty"`
Listings []CompanyProfileListing `json:"listings"`
Address *CompanyProfileAddress `json:"address,omitempty"`
Deep *CompanyProfileDeep `json:"deep,omitempty"`
}
// CompanyCandidate is a directory search profile with match evidence; a match is not proof of legal identity.
type CompanyCandidate struct {
_ [0]func()
ID string `json:"id"`
Name string `json:"name"`
Country *string `json:"country,omitempty"`
Website *string `json:"website,omitempty"`
Listings []CompanyProfileListing `json:"listings"`
Address *CompanyProfileAddress `json:"address,omitempty"`
Deep *CompanyProfileDeep `json:"deep,omitempty"`
Match CompanyMatch `json:"match"`
}
// CompanySearch is one page of company candidates. Reuse next with the same selector, filters and limit.
type CompanySearch struct {
_ [0]func()
Companies []CompanyCandidate `json:"companies"`
Next *string `json:"next,omitempty"`
}
// CompanyCoverage contains counts for this directory edition, not complete country or worldwide coverage.
type CompanyCoverage struct {
_ [0]func()
Scope string `json:"scope"`
Label string `json:"label"`
Description string `json:"description"`
SnapshotAt string `json:"snapshot_at"`
Companies int64 `json:"companies"`
Countries []string `json:"countries"`
WithWebsite int64 `json:"with_website"`
WithListings int64 `json:"with_listings"`
WithAddress int64 `json:"with_address"`
}