@producerflow/producerflowapi 1.0.16 → 1.0.21

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.
@@ -143,8 +143,10 @@ export type CreateAgencyOnboardingURLRequest_Agency = Message<"producerflow.prod
143
143
  tenantAgencyId: string;
144
144
  /**
145
145
  * DocuSign template id is the id of the docusign template used to send the contract to the agency
146
+ * Deprecated: Use signature_template_id instead. This field will be removed in a future version.
146
147
  *
147
- * @generated from field: string docusign_template_id = 4;
148
+ * @generated from field: string docusign_template_id = 4 [deprecated = true];
149
+ * @deprecated
148
150
  */
149
151
  docusignTemplateId: string;
150
152
  /**
@@ -182,7 +184,15 @@ export type CreateAgencyOnboardingURLRequest_Agency = Message<"producerflow.prod
182
184
  */
183
185
  website: string;
184
186
  /**
185
- * NPN of the agency. Note that if the entity type is Sole Proprietor the NPN will be ignored
187
+ * National Producer Number (NPN) of the agency.
188
+ * A unique NAIC identifier assigned to business entities during the
189
+ * licensing application process and stored in the NIPR Producer Database
190
+ * (PDB).
191
+ * Format: 1-10 digit numeric string.
192
+ * Example: "1234567890"
193
+ * Note: If the entity type is Sole Proprietor, the NPN will be ignored
194
+ * since sole proprietors use the principal's NPN.
195
+ * Reference: https://nipr.com
186
196
  *
187
197
  * @generated from field: string npn = 10;
188
198
  */
@@ -212,6 +222,14 @@ export type CreateAgencyOnboardingURLRequest_Agency = Message<"producerflow.prod
212
222
  * @generated from field: string organization_id = 15;
213
223
  */
214
224
  organizationId: string;
225
+ /**
226
+ * An optional signature template ID to be used to send the agency agreement through
227
+ * the configured e-signature provider (Docusign or Adobe Sign).
228
+ * The system will automatically detect the signature provider based on tenant configuration.
229
+ *
230
+ * @generated from field: optional string signature_template_id = 16;
231
+ */
232
+ signatureTemplateId?: string;
215
233
  /**
216
234
  * @generated from field: producerflow.producer.v1.CreateAgencyOnboardingURLRequest.Agency.Principal principal = 14;
217
235
  */
@@ -266,7 +284,12 @@ export type CreateAgencyOnboardingURLRequest_Agency_Principal = Message<"produce
266
284
  */
267
285
  phone: string;
268
286
  /**
269
- * NPN of the principal
287
+ * National Producer Number (NPN) of the principal.
288
+ * A unique NAIC identifier assigned to individuals during the licensing
289
+ * application process and stored in the NIPR Producer Database (PDB).
290
+ * Format: 1-10 digit numeric string.
291
+ * Example: "1234567890"
292
+ * Reference: https://nipr.com
270
293
  *
271
294
  * @generated from field: string npn = 7;
272
295
  */
@@ -328,6 +351,16 @@ export declare const CreateProducerOnboardingURLRequestSchema: GenMessage<Create
328
351
  */
329
352
  export type ProducerData = Message<"producerflow.producer.v1.ProducerData"> & {
330
353
  /**
354
+ * National Producer Number (NPN) of the producer.
355
+ * A unique NAIC identifier assigned to individuals during the licensing
356
+ * application process and stored in the NIPR Producer Database (PDB).
357
+ * Format: 1-10 digit numeric string.
358
+ * Example: "1234567890"
359
+ * If provided, must be between 1 and 10 characters.
360
+ * Note: NPN validation against NIPR occurs during onboarding, not during URL
361
+ * generation.
362
+ * Reference: https://nipr.com
363
+ *
331
364
  * @generated from field: optional string npn = 1;
332
365
  */
333
366
  npn?: string;
@@ -475,9 +508,17 @@ export type NewAgencyRequest_Agency = Message<"producerflow.producer.v1.NewAgenc
475
508
  */
476
509
  email: string;
477
510
  /**
478
- * National Producer Number for the agency
479
- * Required for ENTITY_TYPE_AGENCY if FEIN is not provided
480
- * Not allowed for ENTITY_TYPE_SOLE_PROPRIETOR
511
+ * National Producer Number (NPN) for the agency.
512
+ * A unique NAIC identifier assigned to business entities during the
513
+ * licensing application process and stored in the NIPR Producer Database
514
+ * (PDB).
515
+ * Format: 1-10 digit numeric string.
516
+ * Example: "1234567890"
517
+ * Required for ENTITY_TYPE_AGENCY if FEIN is not provided.
518
+ * Not allowed for ENTITY_TYPE_SOLE_PROPRIETOR (sole proprietors use the
519
+ * principal's NPN).
520
+ * Validated against NIPR's database via free NIPR NPN Lookup API.
521
+ * Reference: https://nipr.com
481
522
  *
482
523
  * @generated from field: string npn = 3;
483
524
  */
@@ -599,6 +640,13 @@ export type NewAgencyRequest_Agency = Message<"producerflow.producer.v1.NewAgenc
599
640
  tenantAdditionalQuestions: {
600
641
  [key: string]: string;
601
642
  };
643
+ /**
644
+ * IVANS account information for electronic carrier communication.
645
+ * This is optional and only used if the agency uses IVANS.
646
+ *
647
+ * @generated from field: producerflow.producer.v1.NewAgencyRequest.Agency.IvansAccount ivans_account = 23;
648
+ */
649
+ ivansAccount?: NewAgencyRequest_Agency_IvansAccount;
602
650
  };
603
651
  /**
604
652
  * Describes the message producerflow.producer.v1.NewAgencyRequest.Agency.
@@ -644,7 +692,13 @@ export type NewAgencyRequest_Agency_Principal = Message<"producerflow.producer.v
644
692
  */
645
693
  phone?: string;
646
694
  /**
647
- * The National Producer Number (NPN) of the principal.
695
+ * National Producer Number (NPN) of the principal.
696
+ * A unique NAIC identifier assigned to individuals during the licensing
697
+ * application process and stored in the NIPR Producer Database (PDB).
698
+ * Format: 1-10 digit numeric string.
699
+ * Example: "1234567890"
700
+ * Required. Validated against NIPR's database via free NIPR NPN Lookup API.
701
+ * Reference: https://nipr.com
648
702
  *
649
703
  * @generated from field: string npn = 5;
650
704
  */
@@ -919,6 +973,44 @@ export declare enum NewAgencyRequest_Agency_PointOfContact_CommunicationRole {
919
973
  * Describes the enum producerflow.producer.v1.NewAgencyRequest.Agency.PointOfContact.CommunicationRole.
920
974
  */
921
975
  export declare const NewAgencyRequest_Agency_PointOfContact_CommunicationRoleSchema: GenEnum<NewAgencyRequest_Agency_PointOfContact_CommunicationRole>;
976
+ /**
977
+ * IvansAccount contains IVANS (Insurance Value Added Network Services) account information.
978
+ * IVANS is used for electronic communication between insurance agencies and carriers.
979
+ *
980
+ * @generated from message producerflow.producer.v1.NewAgencyRequest.Agency.IvansAccount
981
+ */
982
+ export type NewAgencyRequest_Agency_IvansAccount = Message<"producerflow.producer.v1.NewAgencyRequest.Agency.IvansAccount"> & {
983
+ /**
984
+ * Account number for the IVANS service.
985
+ *
986
+ * @generated from field: string account_number = 1;
987
+ */
988
+ accountNumber: string;
989
+ /**
990
+ * Software used for IVANS communication (AMS - Agency Management System).
991
+ *
992
+ * @generated from field: string ams_software = 2;
993
+ */
994
+ amsSoftware: string;
995
+ /**
996
+ * Version of the AMS software.
997
+ *
998
+ * @generated from field: string ams_version = 3;
999
+ */
1000
+ amsVersion: string;
1001
+ /**
1002
+ * Mailbox number for the IVANS service.
1003
+ * Used for routing electronic messages.
1004
+ *
1005
+ * @generated from field: string mailbox_number = 4;
1006
+ */
1007
+ mailboxNumber: string;
1008
+ };
1009
+ /**
1010
+ * Describes the message producerflow.producer.v1.NewAgencyRequest.Agency.IvansAccount.
1011
+ * Use `create(NewAgencyRequest_Agency_IvansAccountSchema)` to create a new message.
1012
+ */
1013
+ export declare const NewAgencyRequest_Agency_IvansAccountSchema: GenMessage<NewAgencyRequest_Agency_IvansAccount>;
922
1014
  /**
923
1015
  * NewAgencyResponse contains the IDs of created resources after a successful agency creation
924
1016
  *
@@ -956,8 +1048,8 @@ export type NewAgencyResponse = Message<"producerflow.producer.v1.NewAgencyRespo
956
1048
  */
957
1049
  export declare const NewAgencyResponseSchema: GenMessage<NewAgencyResponse>;
958
1050
  /**
959
- * GetProducerRequest allows retrieving producer information through one of three
960
- * possible lookup methods: by ID, by NPN, or by email address.
1051
+ * GetProducerRequest allows retrieving producer information through one of four
1052
+ * possible lookup methods: by ID, by NPN, by email address, or by external ID.
961
1053
  *
962
1054
  * @generated from message producerflow.producer.v1.GetProducerRequest
963
1055
  */
@@ -991,6 +1083,14 @@ export type GetProducerRequest = Message<"producerflow.producer.v1.GetProducerRe
991
1083
  */
992
1084
  value: GetProducerRequest_EmailLookup;
993
1085
  case: "emailLookup";
1086
+ } | {
1087
+ /**
1088
+ * Look up producer by external ID set via SetExternalID.
1089
+ *
1090
+ * @generated from field: producerflow.producer.v1.GetProducerRequest.ExternalIDLookup external_id_lookup = 4;
1091
+ */
1092
+ value: GetProducerRequest_ExternalIDLookup;
1093
+ case: "externalIdLookup";
994
1094
  } | {
995
1095
  case: undefined;
996
1096
  value?: undefined;
@@ -1058,6 +1158,27 @@ export type GetProducerRequest_EmailLookup = Message<"producerflow.producer.v1.G
1058
1158
  * Use `create(GetProducerRequest_EmailLookupSchema)` to create a new message.
1059
1159
  */
1060
1160
  export declare const GetProducerRequest_EmailLookupSchema: GenMessage<GetProducerRequest_EmailLookup>;
1161
+ /**
1162
+ * ExternalIDLookup allows looking up a producer by the external identifier
1163
+ * previously set via the SetExternalID RPC.
1164
+ *
1165
+ * @generated from message producerflow.producer.v1.GetProducerRequest.ExternalIDLookup
1166
+ */
1167
+ export type GetProducerRequest_ExternalIDLookup = Message<"producerflow.producer.v1.GetProducerRequest.ExternalIDLookup"> & {
1168
+ /**
1169
+ * The external identifier associated with the producer in the tenant's system.
1170
+ * This corresponds to the value set via the SetExternalID RPC.
1171
+ * Must be a non-empty string with maximum 255 characters.
1172
+ *
1173
+ * @generated from field: string external_id = 1;
1174
+ */
1175
+ externalId: string;
1176
+ };
1177
+ /**
1178
+ * Describes the message producerflow.producer.v1.GetProducerRequest.ExternalIDLookup.
1179
+ * Use `create(GetProducerRequest_ExternalIDLookupSchema)` to create a new message.
1180
+ */
1181
+ export declare const GetProducerRequest_ExternalIDLookupSchema: GenMessage<GetProducerRequest_ExternalIDLookup>;
1061
1182
  /**
1062
1183
  * GetProducerResponse contains the producer information retrieved by the GetProducer RPC.
1063
1184
  *
@@ -1173,15 +1294,13 @@ export type GetAgencyResponse = Message<"producerflow.producer.v1.GetAgencyRespo
1173
1294
  */
1174
1295
  export declare const GetAgencyResponseSchema: GenMessage<GetAgencyResponse>;
1175
1296
  /**
1176
- * GetAgencyAndProducersRequest requests information about an agency and all associated producers.
1297
+ * Deprecated: Use GetAgencyRequest/GetAgencyProducersRequest instead.
1177
1298
  *
1178
1299
  * @generated from message producerflow.producer.v1.GetAgencyAndProducersRequest
1300
+ * @deprecated
1179
1301
  */
1180
1302
  export type GetAgencyAndProducersRequest = Message<"producerflow.producer.v1.GetAgencyAndProducersRequest"> & {
1181
1303
  /**
1182
- * The UUID of the agency to retrieve information for.
1183
- * Must be a valid UUID format.
1184
- *
1185
1304
  * @generated from field: string agency_id = 1;
1186
1305
  */
1187
1306
  agencyId: string;
@@ -1189,23 +1308,21 @@ export type GetAgencyAndProducersRequest = Message<"producerflow.producer.v1.Get
1189
1308
  /**
1190
1309
  * Describes the message producerflow.producer.v1.GetAgencyAndProducersRequest.
1191
1310
  * Use `create(GetAgencyAndProducersRequestSchema)` to create a new message.
1311
+ * @deprecated
1192
1312
  */
1193
1313
  export declare const GetAgencyAndProducersRequestSchema: GenMessage<GetAgencyAndProducersRequest>;
1194
1314
  /**
1195
- * GetAgencyAndProducersResponse contains the agency information and all associated producers.
1315
+ * Deprecated: Use GetAgencyResponse/GetAgencyProducersResponse instead.
1196
1316
  *
1197
1317
  * @generated from message producerflow.producer.v1.GetAgencyAndProducersResponse
1318
+ * @deprecated
1198
1319
  */
1199
1320
  export type GetAgencyAndProducersResponse = Message<"producerflow.producer.v1.GetAgencyAndProducersResponse"> & {
1200
1321
  /**
1201
- * Complete agency information including contact details, principal, and bank account.
1202
- *
1203
1322
  * @generated from field: producerflow.producer.v1.Agency agency = 1;
1204
1323
  */
1205
1324
  agency?: Agency;
1206
1325
  /**
1207
- * List of all producers associated with the specified agency.
1208
- *
1209
1326
  * @generated from field: repeated producerflow.producer.v1.Producer producers = 2;
1210
1327
  */
1211
1328
  producers: Producer[];
@@ -1213,8 +1330,60 @@ export type GetAgencyAndProducersResponse = Message<"producerflow.producer.v1.Ge
1213
1330
  /**
1214
1331
  * Describes the message producerflow.producer.v1.GetAgencyAndProducersResponse.
1215
1332
  * Use `create(GetAgencyAndProducersResponseSchema)` to create a new message.
1333
+ * @deprecated
1216
1334
  */
1217
1335
  export declare const GetAgencyAndProducersResponseSchema: GenMessage<GetAgencyAndProducersResponse>;
1336
+ /**
1337
+ * GetAgencyProducersRequest requests all producers associated with an agency.
1338
+ *
1339
+ * @generated from message producerflow.producer.v1.GetAgencyProducersRequest
1340
+ */
1341
+ export type GetAgencyProducersRequest = Message<"producerflow.producer.v1.GetAgencyProducersRequest"> & {
1342
+ /**
1343
+ * The UUID of the agency to retrieve producers for.
1344
+ * Must be a valid UUID format.
1345
+ *
1346
+ * @generated from field: string agency_id = 1;
1347
+ */
1348
+ agencyId: string;
1349
+ /**
1350
+ * Optional. Pagination parameters for controlling result set size and navigation.
1351
+ * If not provided, defaults to page_size=50. Maximum page_size is 200.
1352
+ *
1353
+ * @generated from field: producerflow.producer.v1.Pagination pagination = 2;
1354
+ */
1355
+ pagination?: Pagination;
1356
+ };
1357
+ /**
1358
+ * Describes the message producerflow.producer.v1.GetAgencyProducersRequest.
1359
+ * Use `create(GetAgencyProducersRequestSchema)` to create a new message.
1360
+ */
1361
+ export declare const GetAgencyProducersRequestSchema: GenMessage<GetAgencyProducersRequest>;
1362
+ /**
1363
+ * GetAgencyProducersResponse contains producers associated with the specified agency.
1364
+ *
1365
+ * @generated from message producerflow.producer.v1.GetAgencyProducersResponse
1366
+ */
1367
+ export type GetAgencyProducersResponse = Message<"producerflow.producer.v1.GetAgencyProducersResponse"> & {
1368
+ /**
1369
+ * List of producers for the current page.
1370
+ *
1371
+ * @generated from field: repeated producerflow.producer.v1.Producer producers = 1;
1372
+ */
1373
+ producers: Producer[];
1374
+ /**
1375
+ * Token for retrieving the next page of results.
1376
+ * Empty when there are no more results.
1377
+ *
1378
+ * @generated from field: string next_page_token = 2;
1379
+ */
1380
+ nextPageToken: string;
1381
+ };
1382
+ /**
1383
+ * Describes the message producerflow.producer.v1.GetAgencyProducersResponse.
1384
+ * Use `create(GetAgencyProducersResponseSchema)` to create a new message.
1385
+ */
1386
+ export declare const GetAgencyProducersResponseSchema: GenMessage<GetAgencyProducersResponse>;
1218
1387
  /**
1219
1388
  * GetAgencyFilesRequest requests URLs for files associated with an agency.
1220
1389
  *
@@ -1427,6 +1596,15 @@ export type UpdateProducerRequest_Producer = Message<"producerflow.producer.v1.U
1427
1596
  externalMetadata: {
1428
1597
  [key: string]: string;
1429
1598
  };
1599
+ /**
1600
+ * The onboarding status of the producer.
1601
+ * If provided, updates the producer's onboarding status.
1602
+ * If not provided, the onboarding status remains unchanged.
1603
+ * When set, the onboarding_status_updated_at timestamp is automatically updated.
1604
+ *
1605
+ * @generated from field: optional producerflow.producer.v1.OnboardingStatus onboarding_status = 15;
1606
+ */
1607
+ onboardingStatus?: OnboardingStatus;
1430
1608
  };
1431
1609
  /**
1432
1610
  * Describes the message producerflow.producer.v1.UpdateProducerRequest.Producer.
@@ -1542,6 +1720,18 @@ export type UpdateAgencyRequest_Agency = Message<"producerflow.producer.v1.Updat
1542
1720
  externalMetadata: {
1543
1721
  [key: string]: string;
1544
1722
  };
1723
+ /**
1724
+ * IVANS account information for electronic carrier communication.
1725
+ * This is optional and only used if the agency uses IVANS.
1726
+ *
1727
+ * Update behavior:
1728
+ * - If not provided (null): existing IVANS account is preserved unchanged
1729
+ * - If provided with all fields: IVANS account is created or completely replaced
1730
+ * - Partial updates are supported: only specified fields will be updated
1731
+ *
1732
+ * @generated from field: producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount ivans_account = 9;
1733
+ */
1734
+ ivansAccount?: UpdateAgencyRequest_Agency_IvansAccount;
1545
1735
  };
1546
1736
  /**
1547
1737
  * Describes the message producerflow.producer.v1.UpdateAgencyRequest.Agency.
@@ -1604,6 +1794,48 @@ export type UpdateAgencyRequest_Agency_Address = Message<"producerflow.producer.
1604
1794
  * Use `create(UpdateAgencyRequest_Agency_AddressSchema)` to create a new message.
1605
1795
  */
1606
1796
  export declare const UpdateAgencyRequest_Agency_AddressSchema: GenMessage<UpdateAgencyRequest_Agency_Address>;
1797
+ /**
1798
+ * IvansAccount contains IVANS (Insurance Value Added Network Services) account information.
1799
+ * IVANS is used for electronic communication between insurance agencies and carriers.
1800
+ *
1801
+ * @generated from message producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount
1802
+ */
1803
+ export type UpdateAgencyRequest_Agency_IvansAccount = Message<"producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount"> & {
1804
+ /**
1805
+ * Account number for the IVANS service.
1806
+ * If provided, must be non-empty.
1807
+ *
1808
+ * @generated from field: optional string account_number = 1;
1809
+ */
1810
+ accountNumber?: string;
1811
+ /**
1812
+ * Software used for IVANS communication (AMS - Agency Management System).
1813
+ * If provided, must be non-empty.
1814
+ *
1815
+ * @generated from field: optional string ams_software = 2;
1816
+ */
1817
+ amsSoftware?: string;
1818
+ /**
1819
+ * Version of the AMS software.
1820
+ * If provided, must be non-empty.
1821
+ *
1822
+ * @generated from field: optional string ams_version = 3;
1823
+ */
1824
+ amsVersion?: string;
1825
+ /**
1826
+ * Mailbox number for the IVANS service.
1827
+ * Used for routing electronic messages.
1828
+ * If provided, must be non-empty.
1829
+ *
1830
+ * @generated from field: optional string mailbox_number = 4;
1831
+ */
1832
+ mailboxNumber?: string;
1833
+ };
1834
+ /**
1835
+ * Describes the message producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount.
1836
+ * Use `create(UpdateAgencyRequest_Agency_IvansAccountSchema)` to create a new message.
1837
+ */
1838
+ export declare const UpdateAgencyRequest_Agency_IvansAccountSchema: GenMessage<UpdateAgencyRequest_Agency_IvansAccount>;
1607
1839
  /**
1608
1840
  * UpdateAgencyResponse is the empty response returned after successfully updating an agency.
1609
1841
  *
@@ -1771,6 +2003,23 @@ export type Agency = Message<"producerflow.producer.v1.Agency"> & {
1771
2003
  * @generated from field: bool is_sole_proprietor = 15;
1772
2004
  */
1773
2005
  isSoleProprietor: boolean;
2006
+ /**
2007
+ * The relationship of this agency with its organization.
2008
+ *
2009
+ * Indicates whether the agency is the main agency or a related agency within
2010
+ * an organization.
2011
+ * - MAIN: The primary agency that owns or manages the organization
2012
+ * - RELATED: An agency that is part of the organization but not the primary owner
2013
+ * - UNSPECIFIED: Agency does not belong to any organization
2014
+ *
2015
+ * This field is always populated based on the agency's actual organization
2016
+ * membership, regardless of how the agency was queried. If the agency belongs
2017
+ * to an organization, this will be MAIN or RELATED. If the agency is standalone
2018
+ * (not part of any organization), this will be UNSPECIFIED.
2019
+ *
2020
+ * @generated from field: optional producerflow.producer.v1.AgencyOrganizationRelationship organization_relationship = 16;
2021
+ */
2022
+ organizationRelationship?: AgencyOrganizationRelationship;
1774
2023
  };
1775
2024
  /**
1776
2025
  * Describes the message producerflow.producer.v1.Agency.
@@ -1791,12 +2040,11 @@ export type Agency_AgencyInfo = Message<"producerflow.producer.v1.Agency.AgencyI
1791
2040
  */
1792
2041
  onboardingId: string;
1793
2042
  /**
1794
- * The organization ID represents the ID of the root organization that the agency belongs to.
1795
- * An example of a root organization is an Aggregator (Like AgencyHero) or an Agency Network.
1796
- * We currently don't support multiple levels of organizations or agencies.
1797
- * Agencies are not always part of an organization, so this field is optional.
2043
+ * Deprecated: Use the top-level `organization` field instead, which provides the full
2044
+ * organization object including id, name, external_id, and email.
1798
2045
  *
1799
- * @generated from field: string root_organization_id = 2;
2046
+ * @generated from field: string root_organization_id = 2 [deprecated = true];
2047
+ * @deprecated
1800
2048
  */
1801
2049
  rootOrganizationId: string;
1802
2050
  /**
@@ -1841,7 +2089,13 @@ export type Agency_AgencyInfo = Message<"producerflow.producer.v1.Agency.AgencyI
1841
2089
  website: string;
1842
2090
  /**
1843
2091
  * National Producer Number (NPN) of the agency.
1844
- * This is a unique identifier assigned by the National Association of Insurance Commissioners (NAIC).
2092
+ * A unique NAIC identifier assigned to business entities during the
2093
+ * licensing application process and stored in the NIPR Producer Database
2094
+ * (PDB).
2095
+ * Format: 1-10 digit numeric string.
2096
+ * Example: "1234567890"
2097
+ * Only present for standard agencies (not sole proprietors).
2098
+ * Reference: https://nipr.com
1845
2099
  *
1846
2100
  * @generated from field: string npn = 9;
1847
2101
  */
@@ -2104,9 +2358,13 @@ export type Agency_Principal = Message<"producerflow.producer.v1.Agency.Principa
2104
2358
  */
2105
2359
  email: string;
2106
2360
  /**
2107
- * The NPN of the principal. This is used to
2108
- * retrieve the license information
2109
- * of the principal from the NIPR API.
2361
+ * National Producer Number (NPN) of the principal.
2362
+ * A unique NAIC identifier assigned to individuals during the licensing
2363
+ * application process and stored in the NIPR Producer Database (PDB).
2364
+ * Format: 1-10 digit numeric string.
2365
+ * Example: "1234567890"
2366
+ * Used to retrieve license information from the NIPR API.
2367
+ * Reference: https://nipr.com
2110
2368
  *
2111
2369
  * @generated from field: string npn = 5;
2112
2370
  */
@@ -2125,6 +2383,16 @@ export type Agency_Principal = Message<"producerflow.producer.v1.Agency.Principa
2125
2383
  * @generated from field: producerflow.producer.v1.Agency.Address address = 8;
2126
2384
  */
2127
2385
  address?: Agency_Address;
2386
+ /**
2387
+ * tenant_additional_questions contains tenant-specific custom questions configured by
2388
+ * Producerflow and their corresponding responses. Keys are question identifiers or text,
2389
+ * values are the answers provided.
2390
+ *
2391
+ * @generated from field: map<string, string> tenant_additional_questions = 10;
2392
+ */
2393
+ tenantAdditionalQuestions: {
2394
+ [key: string]: string;
2395
+ };
2128
2396
  };
2129
2397
  /**
2130
2398
  * Describes the message producerflow.producer.v1.Agency.Principal.
@@ -2248,14 +2516,24 @@ export type Agency_NIPR = Message<"producerflow.producer.v1.Agency.NIPR"> & {
2248
2516
  */
2249
2517
  licenses: Agency_NIPR_License[];
2250
2518
  /**
2251
- * Regulatory information from NIPR
2519
+ * Regulatory information from NIPR.
2252
2520
  *
2253
2521
  * @generated from field: producerflow.producer.v1.Agency.NIPR.RegulatoryInfo regulatory_info = 4;
2254
2522
  */
2255
2523
  regulatoryInfo?: Agency_NIPR_RegulatoryInfo;
2256
2524
  /**
2257
- * List of carrier appointments held in NIPR.
2258
- * These represent relationships with insurance carriers.
2525
+ * List of carrier appointments held by the agency in NIPR.
2526
+ *
2527
+ * Each appointment represents authorization to sell a specific carrier's
2528
+ * products for a specific Line of Authority. An agency typically has
2529
+ * multiple appointments across different carriers and LOAs.
2530
+ *
2531
+ * Before allowing an agency to quote or sell a product:
2532
+ * 1. Verify they have an active appointment with that carrier
2533
+ * 2. Verify the appointment's LOA matches the product type
2534
+ * 3. Check the appointment renewal date hasn't passed
2535
+ *
2536
+ * This data is synchronized from NIPR and is read-only.
2259
2537
  *
2260
2538
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.Appointment appointments = 5;
2261
2539
  */
@@ -2285,7 +2563,13 @@ export type Agency_NIPR_Biographic = Message<"producerflow.producer.v1.Agency.NI
2285
2563
  */
2286
2564
  fein: string;
2287
2565
  /**
2288
- * National Producer Number.
2566
+ * National Producer Number (NPN) of the agency.
2567
+ * A unique NAIC identifier assigned to business entities during the
2568
+ * licensing application process and stored in the NIPR Producer Database
2569
+ * (PDB).
2570
+ * Format: 1-10 digit numeric string.
2571
+ * Example: "1234567890"
2572
+ * Reference: https://nipr.com
2289
2573
  *
2290
2574
  * @generated from field: string npn = 3;
2291
2575
  */
@@ -2394,19 +2678,28 @@ export declare const Agency_NIPR_AddressSchema: GenMessage<Agency_NIPR_Address>;
2394
2678
  */
2395
2679
  export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.License"> & {
2396
2680
  /**
2397
- * The license number assigned by the state regulatory authority.
2681
+ * The license number assigned by the state Department of Insurance (DOI).
2682
+ * Format varies by state (e.g., numeric, alphanumeric, or with prefixes).
2683
+ * Examples: "0A12345" (CA), "BR-1234567" (TX), "100012345" (FL)
2684
+ * This is a state-specific identifier, not globally unique across states.
2685
+ * Reference: Each state's DOI maintains its own licensing database.
2398
2686
  *
2399
2687
  * @generated from field: string license_number = 1;
2400
2688
  */
2401
2689
  licenseNumber: string;
2402
2690
  /**
2403
- * The state that issued the license.
2691
+ * The two-letter US state or territory code that issued the license.
2692
+ * Format: ISO 3166-2 subdivision code (e.g., "CA", "TX", "NY").
2404
2693
  *
2405
2694
  * @generated from field: string license_state = 2;
2406
2695
  */
2407
2696
  licenseState: string;
2408
2697
  /**
2409
2698
  * Indicates whether this is a resident or non-resident license.
2699
+ * Values: "Resident" (license in the producer's home/domicile state) or
2700
+ * "Non-Resident" (license in a state other than the home state).
2701
+ * A producer typically has one resident license and may hold multiple
2702
+ * non-resident licenses in other states where they conduct business.
2410
2703
  *
2411
2704
  * @generated from field: string residency_status = 3;
2412
2705
  */
@@ -2431,13 +2724,24 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2431
2724
  */
2432
2725
  expirationDate?: Timestamp;
2433
2726
  /**
2434
- * License class description.
2727
+ * License class description as defined by the state DOI.
2728
+ * Describes the broad category of insurance the license covers.
2729
+ * Common classes include:
2730
+ * - "Insurance Producer": General license to sell insurance
2731
+ * - "Limited Lines Producer": Restricted to specific product types
2732
+ * - "Surplus Lines Broker": Authorized for non-admitted carriers
2733
+ * - "Managing General Agent": Underwriting authority on behalf of insurers
2734
+ * - "Consultant": Licensed to provide insurance advice for a fee
2735
+ * Values vary by state as each DOI defines its own license classes.
2435
2736
  *
2436
2737
  * @generated from field: string license_class = 7;
2437
2738
  */
2438
2739
  licenseClass: string;
2439
2740
  /**
2440
- * License class code.
2741
+ * Numeric code corresponding to the license class.
2742
+ * This is the NIPR-standardized numeric identifier for the license class
2743
+ * description in the license_class field.
2744
+ * Used for programmatic comparisons rather than string matching.
2441
2745
  *
2442
2746
  * @generated from field: int32 license_class_code = 8;
2443
2747
  */
@@ -2481,7 +2785,12 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2481
2785
  */
2482
2786
  lastUpdatedOn?: Date;
2483
2787
  /**
2484
- * Lines of Authority associated with this license.
2788
+ * Lines of Authority (LOAs) associated with this license.
2789
+ *
2790
+ * These define what types of insurance the agency is authorized to
2791
+ * transact in this state. A single license typically has multiple LOAs.
2792
+ * Always check that the agency has an active LOA matching the product
2793
+ * type before allowing transactions.
2485
2794
  *
2486
2795
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority lines_of_authority = 12;
2487
2796
  */
@@ -2492,6 +2801,12 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2492
2801
  * @generated from field: string license_id = 13;
2493
2802
  */
2494
2803
  licenseId: string;
2804
+ /**
2805
+ * The designated home state for adjuster licenses (ADHS).
2806
+ *
2807
+ * @generated from field: string designated_home_state = 17;
2808
+ */
2809
+ designatedHomeState: string;
2495
2810
  };
2496
2811
  /**
2497
2812
  * Describes the message producerflow.producer.v1.Agency.NIPR.License.
@@ -2499,21 +2814,51 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2499
2814
  */
2500
2815
  export declare const Agency_NIPR_LicenseSchema: GenMessage<Agency_NIPR_License>;
2501
2816
  /**
2502
- * LineOfAuthority represents a specific type of insurance coverage
2503
- * that is authorized under this license.
2817
+ * LineOfAuthority (LOA) represents a specific type of insurance that an
2818
+ * agency is authorized to transact under this license.
2819
+ *
2820
+ * Each license can have multiple LOAs. For example, a license might
2821
+ * include:
2822
+ * - LIFE
2823
+ * - HEALTH
2824
+ * - ACCIDENT AND HEALTH
2825
+ * - PROPERTY AND CASUALTY
2826
+ * - VARIABLE LIFE AND VARIABLE ANNUITY
2827
+ *
2828
+ * LOA Compliance:
2829
+ * Before allowing an agency to sell a product, verify they have an
2830
+ * active LOA that matches the product type. For example, an agency with
2831
+ * only a LIFE LOA cannot sell Property & Casualty insurance.
2832
+ *
2833
+ * LOA names are standardized by NIPR but may vary slightly between states.
2504
2834
  *
2505
2835
  * @generated from message producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority
2506
2836
  */
2507
2837
  export type Agency_NIPR_License_LineOfAuthority = Message<"producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority"> & {
2508
2838
  /**
2509
- * The Line of Authority description (e.g., "Life", "Property and Casualty", "Health").
2510
- * This is typically an uppercase string that describes the insurance type.
2839
+ * The Line of Authority name (e.g., "LIFE", "PROPERTY AND CASUALTY",
2840
+ * "HEALTH").
2841
+ *
2842
+ * Common LOA types:
2843
+ * - LIFE: Life insurance products
2844
+ * - HEALTH: Health insurance products
2845
+ * - ACCIDENT AND HEALTH: Combined accident and health coverage
2846
+ * - PROPERTY: Property insurance
2847
+ * - CASUALTY: Casualty insurance
2848
+ * - PROPERTY AND CASUALTY: Combined property and casualty
2849
+ * - VARIABLE LIFE AND VARIABLE ANNUITY: Variable products requiring
2850
+ * securities license
2851
+ * - PERSONAL LINES: Homeowners, auto, and personal umbrella policies
2852
+ * - COMMERCIAL LINES: Business insurance policies
2853
+ *
2854
+ * This is typically an uppercase string standardized by NIPR.
2511
2855
  *
2512
2856
  * @generated from field: string loa = 1;
2513
2857
  */
2514
2858
  loa: string;
2515
2859
  /**
2516
2860
  * Whether this Line of Authority is currently active.
2861
+ * Inactive LOAs cannot be used to transact that type of insurance.
2517
2862
  *
2518
2863
  * @generated from field: bool active = 2;
2519
2864
  */
@@ -2526,7 +2871,9 @@ export type Agency_NIPR_License_LineOfAuthority = Message<"producerflow.producer
2526
2871
  */
2527
2872
  issueDate?: Timestamp;
2528
2873
  /**
2529
- * The date when this Line of Authority was issued.
2874
+ * The date when this Line of Authority was first issued.
2875
+ * This helps track how long the agency has been authorized for this
2876
+ * insurance type.
2530
2877
  *
2531
2878
  * @generated from field: google.type.Date issued_on = 4;
2532
2879
  */
@@ -2574,8 +2921,13 @@ export declare enum Agency_NIPR_License_LicenseStatus {
2574
2921
  */
2575
2922
  export declare const Agency_NIPR_License_LicenseStatusSchema: GenEnum<Agency_NIPR_License_LicenseStatus>;
2576
2923
  /**
2577
- * RegulatoryInfo contains regulatory information,
2578
- * including any regulatory actions.
2924
+ * RegulatoryInfo contains regulatory information from NIPR, including any
2925
+ * formal regulatory actions taken against the agency by state Departments
2926
+ * of Insurance (DOIs) or other regulatory authorities.
2927
+ *
2928
+ * Regulatory actions are significant events that may affect an agency's
2929
+ * ability to conduct business. They should be reviewed during due diligence
2930
+ * and compliance checks.
2579
2931
  *
2580
2932
  * @generated from message producerflow.producer.v1.Agency.NIPR.RegulatoryInfo
2581
2933
  */
@@ -2583,6 +2935,7 @@ export type Agency_NIPR_RegulatoryInfo = Message<"producerflow.producer.v1.Agenc
2583
2935
  /**
2584
2936
  * List of regulatory actions across different states.
2585
2937
  * Each regulatory action includes the state code where it applies.
2938
+ * An empty list indicates no regulatory actions on record in NIPR.
2586
2939
  *
2587
2940
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction regulatory_actions = 1;
2588
2941
  */
@@ -2594,25 +2947,42 @@ export type Agency_NIPR_RegulatoryInfo = Message<"producerflow.producer.v1.Agenc
2594
2947
  */
2595
2948
  export declare const Agency_NIPR_RegulatoryInfoSchema: GenMessage<Agency_NIPR_RegulatoryInfo>;
2596
2949
  /**
2597
- * RegulatoryAction represents a regulatory action.
2950
+ * RegulatoryAction represents a formal regulatory action taken against
2951
+ * an agency by a state Department of Insurance or other regulatory body.
2952
+ *
2953
+ * Common types of regulatory actions include:
2954
+ * - License revocation or suspension
2955
+ * - Cease and desist orders
2956
+ * - Consent agreements
2957
+ * - Fines and monetary penalties
2958
+ * - Probationary periods
2959
+ * - Administrative actions for non-compliance
2960
+ *
2961
+ * These records are sourced from NIPR's PDB (Producer Database) and
2962
+ * reflect official regulatory proceedings.
2598
2963
  *
2599
2964
  * @generated from message producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction
2600
2965
  */
2601
2966
  export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction"> & {
2602
2967
  /**
2603
- * Unique identifier for the regulatory action.
2968
+ * Unique identifier for the regulatory action in NIPR's system.
2604
2969
  *
2605
2970
  * @generated from field: string action_id = 1;
2606
2971
  */
2607
2972
  actionId: string;
2608
2973
  /**
2609
- * The state code where this regulatory action applies.
2974
+ * The two-letter state code of the regulatory authority that took
2975
+ * the action.
2976
+ * Format: US state code (e.g., "CA", "TX", "NY").
2610
2977
  *
2611
2978
  * @generated from field: string state_code = 2;
2612
2979
  */
2613
2980
  stateCode: string;
2614
2981
  /**
2615
- * The reason why the regulatory action was taken.
2982
+ * The reason or cause for the regulatory action.
2983
+ * Examples: "Misrepresentation", "Failure to Remit Premiums",
2984
+ * "Unfair Trade Practices", "Fraud", "Non-Compliance".
2985
+ * This is a free-text field as reasons are defined by each state DOI.
2616
2986
  *
2617
2987
  * @generated from field: string reason_for_action = 3;
2618
2988
  */
@@ -2624,37 +2994,46 @@ export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.
2624
2994
  */
2625
2995
  disposition: string;
2626
2996
  /**
2627
- * The date when the regulatory action was taken.
2997
+ * The date when the regulatory action was formally initiated or filed.
2628
2998
  *
2629
2999
  * @generated from field: google.protobuf.Timestamp date_of_action = 5;
2630
3000
  */
2631
3001
  dateOfAction?: Timestamp;
2632
3002
  /**
2633
- * The date when the regulatory action became effective.
3003
+ * The date when the regulatory action took effect.
3004
+ * This may differ from date_of_action if there was a delayed
3005
+ * effective date or appeal period.
2634
3006
  *
2635
3007
  * @generated from field: google.protobuf.Timestamp effective_date = 6;
2636
3008
  */
2637
3009
  effectiveDate?: Timestamp;
2638
3010
  /**
2639
- * The date when the entity entered into the regulatory action.
3011
+ * The date when the agency entered into or acknowledged the
3012
+ * regulatory action (e.g., signed a consent agreement).
2640
3013
  *
2641
3014
  * @generated from field: google.protobuf.Timestamp enter_date = 7;
2642
3015
  */
2643
3016
  enterDate?: Timestamp;
2644
3017
  /**
2645
- * Reference number for the regulatory action file.
3018
+ * Reference number for the regulatory action file maintained by the
3019
+ * state DOI. Can be used to look up additional details from the
3020
+ * state's records.
2646
3021
  *
2647
3022
  * @generated from field: string file_ref = 8;
2648
3023
  */
2649
3024
  fileRef: string;
2650
3025
  /**
2651
- * Any financial penalties associated with the regulatory action.
3026
+ * Any financial penalties, fines, or forfeitures associated with
3027
+ * the regulatory action.
3028
+ * Format: Free-text, typically a dollar amount (e.g., "$5,000.00").
2652
3029
  *
2653
3030
  * @generated from field: string penalty_fine_forfeiture = 9;
2654
3031
  */
2655
3032
  penaltyFineForfeiture: string;
2656
3033
  /**
2657
3034
  * Duration of any orders associated with the regulatory action.
3035
+ * Format: Free-text describing the time period (e.g., "12 months",
3036
+ * "Indefinite", "Until compliance").
2658
3037
  *
2659
3038
  * @generated from field: string length_of_order = 10;
2660
3039
  */
@@ -2666,48 +3045,92 @@ export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.
2666
3045
  */
2667
3046
  export declare const Agency_NIPR_RegulatoryInfo_RegulatoryActionSchema: GenMessage<Agency_NIPR_RegulatoryInfo_RegulatoryAction>;
2668
3047
  /**
2669
- * Appointment represents a relationship with an insurance carrier.
3048
+ * Appointment represents a formal relationship between an agency and an
3049
+ * insurance carrier, granting the agency authority to sell that carrier's
3050
+ * products. This data is sourced from NIPR's PDB (Producer Database).
3051
+ *
3052
+ * Appointment Lifecycle (status field values):
3053
+ * 1. APPOINTED: Agency is authorized to sell this carrier's products for
3054
+ * the specified Line of Authority
3055
+ * 2. TERMINATED: Appointment has ended (see termination_reason for details)
3056
+ *
3057
+ * Use Cases:
3058
+ * - Verify agency is appointed before allowing them to sell a carrier's
3059
+ * products
3060
+ * - Track which carriers an agency represents
3061
+ * - Monitor appointment renewal dates for compliance
2670
3062
  *
2671
3063
  * @generated from message producerflow.producer.v1.Agency.NIPR.Appointment
2672
3064
  */
2673
3065
  export type Agency_NIPR_Appointment = Message<"producerflow.producer.v1.Agency.NIPR.Appointment"> & {
2674
3066
  /**
3067
+ * Branch identifier for multi-branch agencies.
3068
+ * Links the appointment to a specific agency branch, if applicable.
3069
+ *
2675
3070
  * @generated from field: string branch_id = 1;
2676
3071
  */
2677
3072
  branchId: string;
2678
3073
  /**
2679
3074
  * Name of the insurance company for this appointment.
3075
+ * Examples: "State Farm", "Allstate", "Blue Cross Blue Shield"
2680
3076
  *
2681
3077
  * @generated from field: string company_name = 2;
2682
3078
  */
2683
3079
  companyName: string;
2684
3080
  /**
2685
- * Federal Employer Identification Number of the carrier.
3081
+ * Federal Employer Identification Number (FEIN) of the carrier.
3082
+ * Format: 9-digit number assigned by the IRS.
3083
+ * This uniquely identifies the carrier company for tax purposes.
2686
3084
  *
2687
3085
  * @generated from field: string fein = 3;
2688
3086
  */
2689
3087
  fein: string;
2690
3088
  /**
2691
- * Company code for the insurance carrier.
3089
+ * NAIC Company Code (CoCode) for the insurance carrier.
3090
+ * A unique identifier assigned by the National Association of Insurance
3091
+ * Commissioners (NAIC) for regulatory reporting.
3092
+ * Format: Typically a 5-digit numeric string.
3093
+ * Reference: https://naic.org
2692
3094
  *
2693
3095
  * @generated from field: string co_code = 4;
2694
3096
  */
2695
3097
  coCode: string;
2696
3098
  /**
2697
- * Line of authority for this appointment (e.g., Life, Property, Casualty).
2698
- * Indicates what types of insurance can be sold.
3099
+ * Line of Authority (LOA) for this appointment.
3100
+ * Indicates what type of insurance the agency can sell for this carrier.
3101
+ * A single carrier may have separate appointments for different LOAs.
3102
+ *
3103
+ * Common LOA values:
3104
+ * - "LIFE": Life insurance products
3105
+ * - "HEALTH": Health insurance products
3106
+ * - "PROPERTY": Property insurance
3107
+ * - "CASUALTY": Casualty insurance
3108
+ * - "PROPERTY AND CASUALTY": Combined P&C
3109
+ * - "VARIABLE LIFE AND VARIABLE ANNUITY": Variable products
3110
+ *
3111
+ * LOA names are standardized by NIPR but may vary slightly between states.
2699
3112
  *
2700
3113
  * @generated from field: string line_of_authority = 5;
2701
3114
  */
2702
3115
  lineOfAuthority: string;
2703
3116
  /**
2704
- * Code for the line of authority for this appointment.
3117
+ * Standardized code for the Line of Authority.
3118
+ * Used for programmatic matching rather than string comparison on the
3119
+ * line_of_authority description field.
2705
3120
  *
2706
3121
  * @generated from field: string loa_code = 6;
2707
3122
  */
2708
3123
  loaCode: string;
2709
3124
  /**
2710
- * Current status of the appointment (e.g., Active, Terminated).
3125
+ * Current status of the appointment as reported by NIPR.
3126
+ *
3127
+ * Values:
3128
+ * - "APPOINTED": Appointment is active; the agency can sell this
3129
+ * carrier's products for the specified Line of Authority
3130
+ * - "TERMINATED": Appointment has ended (see termination_reason for
3131
+ * details)
3132
+ *
3133
+ * Always check status is "APPOINTED" before allowing sales.
2711
3134
  *
2712
3135
  * @generated from field: string status = 7;
2713
3136
  */
@@ -2715,23 +3138,40 @@ export type Agency_NIPR_Appointment = Message<"producerflow.producer.v1.Agency.N
2715
3138
  /**
2716
3139
  * Reason for termination if the appointment has been terminated.
2717
3140
  *
3141
+ * Common termination reasons include:
3142
+ * - Voluntary termination by the agency
3143
+ * - Carrier-initiated termination
3144
+ * - Inadequate production
3145
+ * - Company merger or liquidation
3146
+ * - Regulatory or compliance issues
3147
+ *
3148
+ * This field is empty if the appointment is still active.
3149
+ * Reference: https://pdb.nipr.com/Gateway/ValidTerms
3150
+ *
2718
3151
  * @generated from field: string termination_reason = 8;
2719
3152
  */
2720
3153
  terminationReason: string;
2721
3154
  /**
2722
- * Date associated with the current status or reason.
3155
+ * Date when the status or termination reason became effective.
3156
+ * For terminated appointments, this is when the termination occurred.
3157
+ * For active appointments, this may indicate when the current status
3158
+ * was last confirmed.
2723
3159
  *
2724
3160
  * @generated from field: google.protobuf.Timestamp status_reason_date = 9;
2725
3161
  */
2726
3162
  statusReasonDate?: Timestamp;
2727
3163
  /**
2728
3164
  * Date when the appointment will renew.
3165
+ * Appointments typically renew annually. Monitor this date for upcoming
3166
+ * renewals to ensure continuous authorization.
2729
3167
  *
2730
3168
  * @generated from field: google.protobuf.Timestamp appointment_renewal_date = 10;
2731
3169
  */
2732
3170
  appointmentRenewalDate?: Timestamp;
2733
3171
  /**
2734
- * Additional affiliations or roles with the agency.
3172
+ * Additional affiliations or roles the agency has with the carrier.
3173
+ * This may include special designations, sub-agency relationships,
3174
+ * or other relationship details.
2735
3175
  *
2736
3176
  * @generated from field: string agency_affiliations = 11;
2737
3177
  */
@@ -2803,9 +3243,13 @@ export type Producer = Message<"producerflow.producer.v1.Producer"> & {
2803
3243
  */
2804
3244
  email: string;
2805
3245
  /**
2806
- * The National Producer Number (NPN) of the producer.
2807
- * This is used to retrieve license information from the NIPR API.
2808
- * Must be non-empty.
3246
+ * National Producer Number (NPN) of the producer.
3247
+ * A unique NAIC identifier assigned to individuals during the licensing
3248
+ * application process and stored in the NIPR Producer Database (PDB).
3249
+ * Format: 1-10 digit numeric string.
3250
+ * Example: "1234567890"
3251
+ * Used to retrieve license, appointment, and regulatory data from NIPR.
3252
+ * Reference: https://nipr.com
2809
3253
  *
2810
3254
  * @generated from field: string npn = 4;
2811
3255
  */
@@ -3042,14 +3486,18 @@ export declare const Producer_NIPRSchema: GenMessage<Producer_NIPR>;
3042
3486
  */
3043
3487
  export type Producer_NIPR_License = Message<"producerflow.producer.v1.Producer.NIPR.License"> & {
3044
3488
  /**
3045
- * The license number assigned by the state regulatory authority.
3489
+ * The license number assigned by the state Department of Insurance (DOI).
3490
+ * Format varies by state (e.g., numeric, alphanumeric, or with prefixes).
3491
+ * Examples: "0A12345" (CA), "BR-1234567" (TX), "100012345" (FL)
3492
+ * This is a state-specific identifier, not globally unique across states.
3493
+ * Reference: Each state's DOI maintains its own licensing database.
3046
3494
  *
3047
3495
  * @generated from field: string license_number = 1;
3048
3496
  */
3049
3497
  licenseNumber: string;
3050
3498
  /**
3051
- * The state that issued the license.
3052
- * Typically a two-letter state code.
3499
+ * The two-letter US state or territory code that issued the license.
3500
+ * Format: ISO 3166-2 subdivision code (e.g., "CA", "TX", "NY").
3053
3501
  *
3054
3502
  * @generated from field: string license_state = 2;
3055
3503
  */
@@ -3109,6 +3557,12 @@ export type Producer_NIPR_License = Message<"producerflow.producer.v1.Producer.N
3109
3557
  * @generated from field: string license_id = 9;
3110
3558
  */
3111
3559
  licenseId: string;
3560
+ /**
3561
+ * The designated home state for adjuster licenses (ADHS).
3562
+ *
3563
+ * @generated from field: string designated_home_state = 11;
3564
+ */
3565
+ designatedHomeState: string;
3112
3566
  };
3113
3567
  /**
3114
3568
  * Describes the message producerflow.producer.v1.Producer.NIPR.License.
@@ -3260,22 +3714,27 @@ export type Producer_NIPR_Biographic = Message<"producerflow.producer.v1.Produce
3260
3714
  */
3261
3715
  dateOfBirth?: Timestamp;
3262
3716
  /**
3263
- * Federal Employer Identification Number if the producer is a business entity.
3717
+ * Deprecated: producers in ProducerFlow are always individuals. NIPR does not
3718
+ * return FEIN for individual agents; this field will always be empty.
3264
3719
  *
3265
- * @generated from field: string fein = 7;
3720
+ * @generated from field: string fein = 7 [deprecated = true];
3721
+ * @deprecated
3266
3722
  */
3267
3723
  fein: string;
3268
3724
  /**
3269
- * Company name if the producer is a business entity.
3725
+ * Deprecated: producers in ProducerFlow are always individuals. NIPR does not
3726
+ * return a company name for individual agents; this field will always be empty.
3270
3727
  *
3271
- * @generated from field: string company_name = 8;
3728
+ * @generated from field: string company_name = 8 [deprecated = true];
3729
+ * @deprecated
3272
3730
  */
3273
3731
  companyName: string;
3274
3732
  /**
3275
- * State of domicile (resident state) for the producer.
3276
- * This is the state where the producer is primarily located.
3733
+ * Deprecated: producers in ProducerFlow are always individuals. NIPR does not
3734
+ * return state of domicile for individual agents; this field will always be empty.
3277
3735
  *
3278
- * @generated from field: string state_domicile = 9;
3736
+ * @generated from field: string state_domicile = 9 [deprecated = true];
3737
+ * @deprecated
3279
3738
  */
3280
3739
  stateDomicile: string;
3281
3740
  };
@@ -3285,15 +3744,24 @@ export type Producer_NIPR_Biographic = Message<"producerflow.producer.v1.Produce
3285
3744
  */
3286
3745
  export declare const Producer_NIPR_BiographicSchema: GenMessage<Producer_NIPR_Biographic>;
3287
3746
  /**
3288
- * ProducerRegulatoryInfo contains regulatory information about a producer,
3289
- * including any regulatory actions taken against them.
3747
+ * ProducerRegulatoryInfo contains regulatory information about a producer
3748
+ * from NIPR, including any formal regulatory actions taken against them by
3749
+ * state Departments of Insurance (DOIs) or other regulatory authorities
3750
+ * (e.g., FINRA for securities-related licenses).
3751
+ *
3752
+ * Regulatory actions are significant events that may affect a producer's
3753
+ * ability to sell insurance. They should be reviewed during hiring,
3754
+ * contracting, and ongoing compliance monitoring.
3290
3755
  *
3291
3756
  * @generated from message producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo
3292
3757
  */
3293
3758
  export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo"> & {
3294
3759
  /**
3295
- * Map of regulatory actions by state.
3296
- * The key is the state code, and the value is the regulatory action.
3760
+ * Map of regulatory actions keyed by two-letter state code.
3761
+ * The key is the state code (e.g., "CA", "TX"), and the value is the
3762
+ * regulatory action for that state. A producer may have regulatory
3763
+ * actions in multiple states.
3764
+ * An empty map indicates no regulatory actions on record in NIPR.
3297
3765
  *
3298
3766
  * @generated from field: map<string, producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction> regulatory_actions_by_state = 1;
3299
3767
  */
@@ -3302,12 +3770,19 @@ export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.produce
3302
3770
  };
3303
3771
  /**
3304
3772
  * Clearance certification information for the producer.
3773
+ * Indicates whether the producer has obtained clearance from NIPR's
3774
+ * Clearance Certification process, which verifies the producer has no
3775
+ * outstanding regulatory issues across all states.
3305
3776
  *
3306
3777
  * @generated from field: string clearance_certification_info = 2;
3307
3778
  */
3308
3779
  clearanceCertificationInfo: string;
3309
3780
  /**
3310
3781
  * Details about NASD/FINRA examinations taken by the producer.
3782
+ * This includes securities-related examinations (e.g., Series 6,
3783
+ * Series 7, Series 63, Series 66) that may be required for selling
3784
+ * variable insurance products.
3785
+ * Reference: https://www.finra.org
3311
3786
  *
3312
3787
  * @generated from field: string nasd_exam_details = 3;
3313
3788
  */
@@ -3319,68 +3794,104 @@ export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.produce
3319
3794
  */
3320
3795
  export declare const Producer_NIPR_ProducerRegulatoryInfoSchema: GenMessage<Producer_NIPR_ProducerRegulatoryInfo>;
3321
3796
  /**
3322
- * RegulatoryAction represents a regulatory action taken against a producer.
3797
+ * RegulatoryAction represents a formal regulatory action taken against
3798
+ * a producer by a state Department of Insurance, FINRA, or other
3799
+ * regulatory body.
3800
+ *
3801
+ * Common types of regulatory actions include:
3802
+ * - License revocation or suspension
3803
+ * - Cease and desist orders
3804
+ * - Consent agreements
3805
+ * - Fines and monetary penalties
3806
+ * - Probationary periods
3807
+ * - Administrative actions for non-compliance
3808
+ *
3809
+ * These records are sourced from NIPR's PDB (Producer Database) and
3810
+ * reflect official regulatory proceedings.
3323
3811
  *
3324
3812
  * @generated from message producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction
3325
3813
  */
3326
3814
  export type Producer_NIPR_ProducerRegulatoryInfo_RegulatoryAction = Message<"producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction"> & {
3327
3815
  /**
3328
- * Unique identifier for the regulatory action.
3816
+ * Unique identifier for the regulatory action in NIPR's system.
3329
3817
  *
3330
3818
  * @generated from field: string action_id = 1;
3331
3819
  */
3332
3820
  actionId: string;
3333
3821
  /**
3334
3822
  * The regulatory body that originated the action.
3335
- * Typically a state insurance department or FINRA.
3823
+ * Examples: "California Department of Insurance", "FINRA",
3824
+ * "Texas Department of Insurance".
3825
+ * This identifies which authority initiated the regulatory proceeding.
3336
3826
  *
3337
3827
  * @generated from field: string origin_of_action = 2;
3338
3828
  */
3339
3829
  originOfAction: string;
3340
3830
  /**
3341
- * The reason why the regulatory action was taken.
3831
+ * The reason or cause for the regulatory action.
3832
+ * Examples: "Misrepresentation", "Failure to Remit Premiums",
3833
+ * "Unfair Trade Practices", "Fraud", "Non-Compliance".
3834
+ * This is a free-text field as reasons are defined by each regulatory
3835
+ * authority.
3342
3836
  *
3343
3837
  * @generated from field: string reason_for_action = 3;
3344
3838
  */
3345
3839
  reasonForAction: string;
3346
3840
  /**
3347
3841
  * The outcome or resolution of the regulatory action.
3842
+ * Common dispositions include:
3843
+ * - "Revoked": License permanently removed
3844
+ * - "Suspended": License temporarily inactive
3845
+ * - "Consent Agreement": Negotiated settlement
3846
+ * - "Probation": Conditional continued operation
3847
+ * - "Fine/Penalty": Monetary penalty imposed
3848
+ * - "Dismissed": Action was dropped or resolved favorably
3849
+ * - "Pending": Action is still being adjudicated
3348
3850
  *
3349
3851
  * @generated from field: string disposition = 4;
3350
3852
  */
3351
3853
  disposition: string;
3352
3854
  /**
3353
- * The date when the regulatory action was taken.
3855
+ * The date when the regulatory action was formally initiated or filed.
3354
3856
  *
3355
3857
  * @generated from field: google.protobuf.Timestamp date_of_action = 5;
3356
3858
  */
3357
3859
  dateOfAction?: Timestamp;
3358
3860
  /**
3359
- * The date when the regulatory action became effective.
3861
+ * The date when the regulatory action took effect.
3862
+ * This may differ from date_of_action if there was a delayed
3863
+ * effective date or appeal period.
3360
3864
  *
3361
3865
  * @generated from field: google.protobuf.Timestamp effective_date = 6;
3362
3866
  */
3363
3867
  effectiveDate?: Timestamp;
3364
3868
  /**
3365
- * The date when the producer entered into the regulatory action.
3869
+ * The date when the producer entered into or acknowledged the
3870
+ * regulatory action (e.g., signed a consent agreement).
3366
3871
  *
3367
3872
  * @generated from field: google.protobuf.Timestamp enter_date = 7;
3368
3873
  */
3369
3874
  enterDate?: Timestamp;
3370
3875
  /**
3371
- * Reference number for the regulatory action file.
3876
+ * Reference number for the regulatory action file maintained by the
3877
+ * regulatory authority. Can be used to look up additional details
3878
+ * from the authority's records.
3372
3879
  *
3373
3880
  * @generated from field: string file_ref = 8;
3374
3881
  */
3375
3882
  fileRef: string;
3376
3883
  /**
3377
- * Any financial penalties associated with the regulatory action.
3884
+ * Any financial penalties, fines, or forfeitures associated with
3885
+ * the regulatory action.
3886
+ * Format: Free-text, typically a dollar amount (e.g., "$5,000.00").
3378
3887
  *
3379
3888
  * @generated from field: string penalty_fine_forfeiture = 9;
3380
3889
  */
3381
3890
  penaltyFineForfeiture: string;
3382
3891
  /**
3383
3892
  * Duration of any orders associated with the regulatory action.
3893
+ * Format: Free-text describing the time period (e.g., "12 months",
3894
+ * "Indefinite", "Until compliance").
3384
3895
  *
3385
3896
  * @generated from field: string length_of_order = 10;
3386
3897
  */
@@ -3402,10 +3913,10 @@ export declare const Producer_NIPR_ProducerRegulatoryInfo_RegulatoryActionSchema
3402
3913
  * producer must also be appointed by each carrier whose products they want
3403
3914
  * to sell.
3404
3915
  *
3405
- * Appointment Lifecycle:
3406
- * 1. Active: Producer can sell this carrier's products
3407
- * 2. Terminated: Appointment ended (various reasons: producer left, carrier
3408
- * terminated, etc.)
3916
+ * Appointment Lifecycle (status field values):
3917
+ * 1. APPOINTED: Producer can sell this carrier's products
3918
+ * 2. TERMINATED: Appointment has ended (various reasons: producer left,
3919
+ * carrier terminated, etc.)
3409
3920
  *
3410
3921
  * Use Cases:
3411
3922
  * - Verify producer is appointed before allowing them to quote/sell a
@@ -3466,14 +3977,15 @@ export type Producer_NIPR_Appointment = Message<"producerflow.producer.v1.Produc
3466
3977
  */
3467
3978
  loaCode: string;
3468
3979
  /**
3469
- * Current status of the appointment.
3980
+ * Current status of the appointment as reported by NIPR.
3470
3981
  *
3471
- * Common values:
3472
- * - "Active": Producer can sell this carrier's products
3473
- * - "Terminated": Appointment has ended
3474
- * - "Pending": Appointment is being processed
3982
+ * Values:
3983
+ * - "APPOINTED": Appointment is active; the producer can sell this
3984
+ * carrier's products for the specified Line of Authority
3985
+ * - "TERMINATED": Appointment has ended (see termination_reason for
3986
+ * details)
3475
3987
  *
3476
- * Always check status is "Active" before allowing sales.
3988
+ * Always check status is "APPOINTED" before allowing sales.
3477
3989
  *
3478
3990
  * @generated from field: string status = 7;
3479
3991
  */
@@ -3627,12 +4139,16 @@ export type NewProducer = Message<"producerflow.producer.v1.NewProducer"> & {
3627
4139
  email: string;
3628
4140
  /**
3629
4141
  * National Producer Number (NPN) of the producer.
3630
- * Optional but strongly recommended for licensed producers.
3631
- * This unique identifier from NAIC enables:
4142
+ * A unique NAIC identifier assigned to individuals during the licensing
4143
+ * application process and stored in the NIPR Producer Database (PDB).
4144
+ * Format: 1-10 digit numeric string.
4145
+ * Example: "1234567890"
4146
+ * Optional but strongly recommended for licensed producers. Enables:
3632
4147
  * - NIPR data synchronization (licenses, appointments, regulatory actions)
3633
4148
  * - Carrier appointment verification
3634
4149
  * - Compliance tracking across states
3635
4150
  * If provided, must be valid in NIPR's database or creation will fail.
4151
+ * Reference: https://nipr.com
3636
4152
  *
3637
4153
  * @generated from field: string npn = 4;
3638
4154
  */
@@ -4029,7 +4545,13 @@ export type NewContact = Message<"producerflow.producer.v1.NewContact"> & {
4029
4545
  */
4030
4546
  tenantId: string;
4031
4547
  /**
4032
- * National Producer Number (NPN) of the contact.
4548
+ * National Producer Number (NPN) of the contact, if applicable.
4549
+ * A unique NAIC identifier assigned during the licensing application process
4550
+ * and stored in the NIPR Producer Database (PDB).
4551
+ * Format: 1-10 digit numeric string.
4552
+ * Example: "1234567890"
4553
+ * Only applicable for contacts who are licensed insurance professionals.
4554
+ * Reference: https://nipr.com
4033
4555
  *
4034
4556
  * @generated from field: optional string npn = 9;
4035
4557
  */
@@ -4190,6 +4712,12 @@ export type Contact = Message<"producerflow.producer.v1.Contact"> & {
4190
4712
  address?: Address;
4191
4713
  /**
4192
4714
  * National Producer Number (NPN) of the contact, if applicable.
4715
+ * A unique NAIC identifier assigned during the licensing application process
4716
+ * and stored in the NIPR Producer Database (PDB).
4717
+ * Format: 1-10 digit numeric string.
4718
+ * Example: "1234567890"
4719
+ * Only present for contacts who are licensed insurance professionals.
4720
+ * Reference: https://nipr.com
4193
4721
  *
4194
4722
  * @generated from field: string npn = 9;
4195
4723
  */
@@ -4456,21 +4984,27 @@ export type SetExternalIDResponse = Message<"producerflow.producer.v1.SetExterna
4456
4984
  */
4457
4985
  export declare const SetExternalIDResponseSchema: GenMessage<SetExternalIDResponse>;
4458
4986
  /**
4459
- * ValidateProducerNPNRequest is used to validate a producer's National Producer Number.
4987
+ * ValidateProducerNPNRequest is used to validate a producer's National Producer
4988
+ * Number (NPN) against the NIPR database.
4989
+ * This is a FREE operation using the NIPR NPN Lookup service.
4460
4990
  *
4461
4991
  * @generated from message producerflow.producer.v1.ValidateProducerNPNRequest
4462
4992
  */
4463
4993
  export type ValidateProducerNPNRequest = Message<"producerflow.producer.v1.ValidateProducerNPNRequest"> & {
4464
4994
  /**
4465
4995
  * The National Producer Number (NPN) to validate.
4996
+ * Format: 1-10 digit numeric string.
4997
+ * Example: "1234567890"
4466
4998
  * Required and must be non-empty.
4999
+ * Reference: https://nipr.com
4467
5000
  *
4468
5001
  * @generated from field: string npn = 1;
4469
5002
  */
4470
5003
  npn: string;
4471
5004
  /**
4472
- * Optional name of the producer to validate.
4473
- * If provided, the NPN will be validated against this name.
5005
+ * Optional name of the producer to validate against NIPR records.
5006
+ * If provided, both NPN existence and name match are verified.
5007
+ * If omitted, only NPN existence is verified.
4474
5008
  *
4475
5009
  * @generated from field: optional string name = 2;
4476
5010
  */
@@ -4489,7 +5023,8 @@ export declare const ValidateProducerNPNRequestSchema: GenMessage<ValidateProduc
4489
5023
  export type ValidateProducerNPNResponse = Message<"producerflow.producer.v1.ValidateProducerNPNResponse"> & {
4490
5024
  /**
4491
5025
  * Indicates whether the NPN is valid.
4492
- * True if the NPN exists and is valid, false otherwise.
5026
+ * True if the NPN exists in NIPR (and name matches, if provided).
5027
+ * False if the NPN does not exist or the name does not match.
4493
5028
  *
4494
5029
  * @generated from field: bool valid = 1;
4495
5030
  */
@@ -4501,14 +5036,19 @@ export type ValidateProducerNPNResponse = Message<"producerflow.producer.v1.Vali
4501
5036
  */
4502
5037
  export declare const ValidateProducerNPNResponseSchema: GenMessage<ValidateProducerNPNResponse>;
4503
5038
  /**
4504
- * ValidateAgencyNPNRequest is used to validate an agency's National Producer Number.
5039
+ * ValidateAgencyNPNRequest is used to validate an agency's National Producer
5040
+ * Number (NPN) against the NIPR database.
5041
+ * This is a FREE operation using the NIPR NPN Lookup service.
4505
5042
  *
4506
5043
  * @generated from message producerflow.producer.v1.ValidateAgencyNPNRequest
4507
5044
  */
4508
5045
  export type ValidateAgencyNPNRequest = Message<"producerflow.producer.v1.ValidateAgencyNPNRequest"> & {
4509
5046
  /**
4510
5047
  * The National Producer Number (NPN) to validate.
5048
+ * Format: 1-10 digit numeric string.
5049
+ * Example: "1234567890"
4511
5050
  * Required and must be non-empty.
5051
+ * Reference: https://nipr.com
4512
5052
  *
4513
5053
  * @generated from field: string npn = 1;
4514
5054
  */
@@ -4527,7 +5067,8 @@ export declare const ValidateAgencyNPNRequestSchema: GenMessage<ValidateAgencyNP
4527
5067
  export type ValidateAgencyNPNResponse = Message<"producerflow.producer.v1.ValidateAgencyNPNResponse"> & {
4528
5068
  /**
4529
5069
  * Indicates whether the NPN is valid.
4530
- * True if the NPN exists and is valid, false otherwise.
5070
+ * True if the NPN exists in NIPR's agency records.
5071
+ * False if the NPN does not exist.
4531
5072
  *
4532
5073
  * @generated from field: bool valid = 1;
4533
5074
  */
@@ -4539,14 +5080,18 @@ export type ValidateAgencyNPNResponse = Message<"producerflow.producer.v1.Valida
4539
5080
  */
4540
5081
  export declare const ValidateAgencyNPNResponseSchema: GenMessage<ValidateAgencyNPNResponse>;
4541
5082
  /**
4542
- * LookupNPNByFEINRequest is used to look up a producer's National Producer Number by their Federal Employer Identification Number (FEIN).
5083
+ * LookupNPNByFEINRequest is used to look up an agency's National Producer
5084
+ * Number (NPN) by their Federal Employer Identification Number (FEIN).
5085
+ * This is a FREE operation using the NIPR NPN Lookup service.
4543
5086
  *
4544
5087
  * @generated from message producerflow.producer.v1.LookupNPNByFEINRequest
4545
5088
  */
4546
5089
  export type LookupNPNByFEINRequest = Message<"producerflow.producer.v1.LookupNPNByFEINRequest"> & {
4547
5090
  /**
4548
5091
  * The Federal Employer Identification Number (FEIN) to look up.
4549
- * Required and must be exactly 9 characters.
5092
+ * Format: Exactly 9 digits, no dashes or spaces.
5093
+ * Example: "123456789"
5094
+ * This is the tax identification number assigned by the IRS.
4550
5095
  *
4551
5096
  * @generated from field: string fein = 1;
4552
5097
  */
@@ -4558,13 +5103,17 @@ export type LookupNPNByFEINRequest = Message<"producerflow.producer.v1.LookupNPN
4558
5103
  */
4559
5104
  export declare const LookupNPNByFEINRequestSchema: GenMessage<LookupNPNByFEINRequest>;
4560
5105
  /**
4561
- * LookupNPNByFEINResponse contains the National Producer Number (NPN) for the producer associated with the given FEIN.
5106
+ * LookupNPNByFEINResponse contains the National Producer Number (NPN)
5107
+ * for the agency associated with the given FEIN.
4562
5108
  *
4563
5109
  * @generated from message producerflow.producer.v1.LookupNPNByFEINResponse
4564
5110
  */
4565
5111
  export type LookupNPNByFEINResponse = Message<"producerflow.producer.v1.LookupNPNByFEINResponse"> & {
4566
5112
  /**
4567
- * The National Producer Number (NPN) for the producer.
5113
+ * The National Producer Number (NPN) found in NIPR for the given FEIN.
5114
+ * Format: 1-10 digit numeric string.
5115
+ * Example: "1234567890"
5116
+ * Empty string if no matching NPN was found.
4568
5117
  *
4569
5118
  * @generated from field: string npn = 1;
4570
5119
  */
@@ -4814,7 +5363,11 @@ export type AgencySummary = Message<"producerflow.producer.v1.AgencySummary"> &
4814
5363
  */
4815
5364
  phone: string;
4816
5365
  /**
4817
- * National Producer Number (NPN) assigned by NIPR.
5366
+ * National Producer Number (NPN) of the agency.
5367
+ * A unique NAIC identifier assigned to business entities during the
5368
+ * licensing application process and stored in the NIPR Producer Database
5369
+ * (PDB).
5370
+ * Format: 1-10 digit numeric string.
4818
5371
  * Only present for standard agencies (not sole proprietors).
4819
5372
  * Empty string if the agency doesn't have an NPN.
4820
5373
  *
@@ -4869,6 +5422,21 @@ export type AgencySummary = Message<"producerflow.producer.v1.AgencySummary"> &
4869
5422
  * @generated from field: string external_id = 11;
4870
5423
  */
4871
5424
  externalId: string;
5425
+ /**
5426
+ * The relationship of this agency with its organization.
5427
+ *
5428
+ * Indicates whether the agency is the main agency (primary owner) or a related
5429
+ * agency within an organization. This field reflects the agency's actual
5430
+ * organization membership, not the query context.
5431
+ *
5432
+ * Values:
5433
+ * - MAIN: The primary agency that owns or manages the organization
5434
+ * - RELATED: An agency that is part of the organization but not the primary owner
5435
+ * - UNSPECIFIED: Agency does not belong to any organization
5436
+ *
5437
+ * @generated from field: optional producerflow.producer.v1.AgencyOrganizationRelationship organization_relationship = 12;
5438
+ */
5439
+ organizationRelationship?: AgencyOrganizationRelationship;
4872
5440
  };
4873
5441
  /**
4874
5442
  * Describes the message producerflow.producer.v1.AgencySummary.
@@ -4947,6 +5515,22 @@ export type ListAgenciesRequest = Message<"producerflow.producer.v1.ListAgencies
4947
5515
  * @generated from field: repeated producerflow.producer.v1.NIPRSyncState nipr_sync_statuses = 6;
4948
5516
  */
4949
5517
  niprSyncStatuses: NIPRSyncState[];
5518
+ /**
5519
+ * Optional. Filter by resident license state.
5520
+ * Returns agencies whose resident license is in the selected state(s).
5521
+ * Multiple states can be specified (OR logic within this filter).
5522
+ *
5523
+ * @generated from field: repeated string resident_states = 7;
5524
+ */
5525
+ residentStates: string[];
5526
+ /**
5527
+ * Optional. Filter by any active license state.
5528
+ * Returns agencies that hold any active license (resident or non-resident) in the selected state(s).
5529
+ * Multiple states can be specified (OR logic within this filter).
5530
+ *
5531
+ * @generated from field: repeated string licensed_states = 8;
5532
+ */
5533
+ licensedStates: string[];
4950
5534
  };
4951
5535
  /**
4952
5536
  * Describes the message producerflow.producer.v1.ListAgenciesRequest.
@@ -5845,6 +6429,41 @@ export declare enum AgencyType {
5845
6429
  * Describes the enum producerflow.producer.v1.AgencyType.
5846
6430
  */
5847
6431
  export declare const AgencyTypeSchema: GenEnum<AgencyType>;
6432
+ /**
6433
+ * AgencyOrganizationRelationship defines the relationship an agency has with an organization.
6434
+ *
6435
+ * If an agency belongs to an organization, this field indicates the type of relationship.
6436
+ * If an agency does not belong to any organization, this field will be UNSPECIFIED.
6437
+ *
6438
+ * @generated from enum producerflow.producer.v1.AgencyOrganizationRelationship
6439
+ */
6440
+ export declare enum AgencyOrganizationRelationship {
6441
+ /**
6442
+ * Default unspecified value.
6443
+ * Used when the agency does not belong to any organization.
6444
+ *
6445
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_UNSPECIFIED = 0;
6446
+ */
6447
+ UNSPECIFIED = 0,
6448
+ /**
6449
+ * The agency is the main/primary agency for the organization.
6450
+ * The main agency typically owns or manages the organization.
6451
+ *
6452
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_MAIN = 1;
6453
+ */
6454
+ MAIN = 1,
6455
+ /**
6456
+ * The agency is a related agency in the organization's network.
6457
+ * Related agencies are part of the organization but not the primary owner.
6458
+ *
6459
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_RELATED = 2;
6460
+ */
6461
+ RELATED = 2
6462
+ }
6463
+ /**
6464
+ * Describes the enum producerflow.producer.v1.AgencyOrganizationRelationship.
6465
+ */
6466
+ export declare const AgencyOrganizationRelationshipSchema: GenEnum<AgencyOrganizationRelationship>;
5848
6467
  /**
5849
6468
  * NIPRSyncState defines the synchronization state with the NIPR system.
5850
6469
  *
@@ -5880,7 +6499,19 @@ export declare enum NIPRSyncState {
5880
6499
  *
5881
6500
  * @generated from enum value: NIPR_SYNC_STATE_DISABLED = 4;
5882
6501
  */
5883
- NIPR_SYNC_STATE_DISABLED = 4
6502
+ NIPR_SYNC_STATE_DISABLED = 4,
6503
+ /**
6504
+ * Synchronization is in progress.
6505
+ *
6506
+ * @generated from enum value: NIPR_SYNC_STATE_IN_PROGRESS = 5;
6507
+ */
6508
+ NIPR_SYNC_STATE_IN_PROGRESS = 5,
6509
+ /**
6510
+ * Synchronization is being stopped.
6511
+ *
6512
+ * @generated from enum value: NIPR_SYNC_STATE_STOPPING = 6;
6513
+ */
6514
+ NIPR_SYNC_STATE_STOPPING = 6
5884
6515
  }
5885
6516
  /**
5886
6517
  * Describes the enum producerflow.producer.v1.NIPRSyncState.
@@ -6410,36 +7041,55 @@ export declare const ProducerService: GenService<{
6410
7041
  output: typeof NewProducersResponseSchema;
6411
7042
  };
6412
7043
  /**
7044
+ * Deprecated: Use GetAgency and GetAgencyProducers instead.
7045
+ *
6413
7046
  * GetAgencyAndProducers retrieves complete information for an agency and all
6414
- * its producers.
6415
- *
6416
- * This endpoint returns comprehensive agency details including:
6417
- * - Agency contact information and business details
6418
- * - Principal producer information
6419
- * - Bank account for commission payments
6420
- * - Errors & Omissions insurance details
6421
- * - Business hours and contact points
6422
- * - NIPR synchronized data (licenses, appointments, regulatory actions, addresses)
6423
- * - All associated producers with their NIPR data
6424
- * - Agency locations
7047
+ * its producers. This endpoint is deprecated because it returns too much data
7048
+ * in a single call. Use GetAgency to retrieve agency details and
7049
+ * GetAgencyProducers to retrieve the list of producers separately.
7050
+ *
7051
+ * Common Error Codes:
7052
+ * - NOT_FOUND: Agency doesn't exist or doesn't belong to tenant
7053
+ *
7054
+ *
7055
+ * @generated from rpc producerflow.producer.v1.ProducerService.GetAgencyAndProducers
7056
+ * @deprecated
7057
+ */
7058
+ getAgencyAndProducers: {
7059
+ methodKind: "unary";
7060
+ input: typeof GetAgencyAndProducersRequestSchema;
7061
+ output: typeof GetAgencyAndProducersResponseSchema;
7062
+ };
7063
+ /**
7064
+ * GetAgencyProducers retrieves all producers associated with a specific agency.
7065
+ *
7066
+ * This is a lighter-weight alternative to GetAgencyAndProducers that returns
7067
+ * only the producer data without the full agency details. Use this when you
7068
+ * only need producer information.
7069
+ *
7070
+ * Each producer includes:
7071
+ * - Basic information (name, email, phone, NPN)
7072
+ * - NIPR data (licenses with LOAs, appointments, biographic data) if synced
7073
+ * - Location assignments
7074
+ * - Onboarding status (if enabled for the tenant)
6425
7075
  *
6426
7076
  * Validation Rules:
6427
7077
  * Proto validation (format checks):
6428
7078
  * - agency_id: Required, must be a valid UUID format
6429
7079
  *
6430
7080
  * Returns:
6431
- * Agency object with complete NIPR data and list of all associated producers.
7081
+ * List of all producers associated with the specified agency.
6432
7082
  *
6433
7083
  * Common Error Codes:
6434
7084
  * - NOT_FOUND: Agency doesn't exist or doesn't belong to tenant
6435
7085
  *
6436
7086
  *
6437
- * @generated from rpc producerflow.producer.v1.ProducerService.GetAgencyAndProducers
7087
+ * @generated from rpc producerflow.producer.v1.ProducerService.GetAgencyProducers
6438
7088
  */
6439
- getAgencyAndProducers: {
7089
+ getAgencyProducers: {
6440
7090
  methodKind: "unary";
6441
- input: typeof GetAgencyAndProducersRequestSchema;
6442
- output: typeof GetAgencyAndProducersResponseSchema;
7091
+ input: typeof GetAgencyProducersRequestSchema;
7092
+ output: typeof GetAgencyProducersResponseSchema;
6443
7093
  };
6444
7094
  /**
6445
7095
  * GetAgency retrieves detailed information about a specific agency.
@@ -6478,10 +7128,11 @@ export declare const ProducerService: GenService<{
6478
7128
  /**
6479
7129
  * GetProducer retrieves detailed information about a specific producer.
6480
7130
  *
6481
- * Supports three lookup methods:
7131
+ * Supports four lookup methods:
6482
7132
  * - By producer ID (UUID)
6483
7133
  * - By NPN (National Producer Number)
6484
7134
  * - By email address
7135
+ * - By external ID (tenant-defined identifier set via SetExternalID)
6485
7136
  *
6486
7137
  * The response includes:
6487
7138
  * - Producer contact information (name, email, phone, address)
@@ -6499,6 +7150,7 @@ export declare const ProducerService: GenService<{
6499
7150
  * - producer_id_lookup.producer_id: Must be a valid UUID format
6500
7151
  * - npn_lookup.producer_npn: Must be non-empty string
6501
7152
  * - email_lookup.email: Must be a valid email format
7153
+ * - external_id_lookup.external_id: Must be a non-empty string, max 255 characters
6502
7154
  *
6503
7155
  * Returns:
6504
7156
  * Complete producer information including all NIPR data.
@@ -6506,8 +7158,6 @@ export declare const ProducerService: GenService<{
6506
7158
  * Common Error Codes:
6507
7159
  * - NOT_FOUND: Producer doesn't exist or doesn't belong to tenant, or
6508
7160
  * associated agency not found
6509
- * - UNIMPLEMENTED: Lookup method not supported (only producer_id, npn, and email
6510
- * lookups are implemented)
6511
7161
  *
6512
7162
  *
6513
7163
  * @generated from rpc producerflow.producer.v1.ProducerService.GetProducer
@@ -7078,6 +7728,12 @@ export declare const ProducerService: GenService<{
7078
7728
  * - Biographic information (name, DOB, state of domicile)
7079
7729
  * - Address by state
7080
7730
  *
7731
+ * Billing:
7732
+ * This operation makes external NIPR API calls that may result in charges:
7733
+ * - NPN validation lookup
7734
+ * - Producer license data sync (if producer is not already synced)
7735
+ * - PDB alerts subscription (if enabled for tenant)
7736
+ *
7081
7737
  * Preconditions:
7082
7738
  * - Producer must exist and belong to the authenticated tenant
7083
7739
  * - Producer must have a valid NPN registered in NIPR
@@ -7100,10 +7756,13 @@ export declare const ProducerService: GenService<{
7100
7756
  * Empty response on success.
7101
7757
  *
7102
7758
  * Common Error Codes:
7103
- * - NOT_FOUND: Producer doesn't exist or doesn't belong to tenant
7104
- * - INVALID_ARGUMENT: Producer has no NPN or NPN is not registered in NIPR
7759
+ * - NOT_FOUND: Producer doesn't exist, doesn't belong to tenant, or NPN could
7760
+ * not be found in NIPR. If the NPN cannot be found, the error message will
7761
+ * be "producer NPN could not be found in NIPR".
7762
+ * - INVALID_ARGUMENT: Producer has no NPN.
7105
7763
  * - FAILED_PRECONDITION: Producer is already synced with NIPR (ACTIVE sync state)
7106
7764
  * - DEADLINE_EXCEEDED: NIPR sync took longer than 30 seconds
7765
+ * - INTERNAL: Unexpected error during NIPR lookup or sync process
7107
7766
  *
7108
7767
  *
7109
7768
  * @generated from rpc producerflow.producer.v1.ProducerService.SyncProducerWithNIPR
@@ -7127,6 +7786,13 @@ export declare const ProducerService: GenService<{
7127
7786
  * - Regulatory actions and disciplinary history
7128
7787
  * - Address history by state
7129
7788
  *
7789
+ * Billing:
7790
+ * This operation makes external NIPR API calls that may result in charges:
7791
+ * - NPN validation lookup
7792
+ * - Agency license data sync (if agency is not already synced)
7793
+ * - PDB alerts subscription (if enabled for tenant)
7794
+ * - When sync_all_producers is true: additional calls per producer (license sync + PDB alerts)
7795
+ *
7130
7796
  * Bulk Producer Sync:
7131
7797
  * When sync_all_producers is set to true, the system will also sync all
7132
7798
  * producers associated with the agency. This extends the timeout to 10
@@ -7354,8 +8020,9 @@ export declare const ProducerService: GenService<{
7354
8020
  * This ordering guarantee allows you to map request entries to their created IDs.
7355
8021
  *
7356
8022
  * Common Error Codes:
7357
- * - INVALID_ARGUMENT: Missing agency_id, no locations provided, duplicate
7358
- * location names, or location with name already exists in agency
8023
+ * - INVALID_ARGUMENT: Missing agency_id, no locations provided, or duplicate
8024
+ * location names within the request
8025
+ * - ALREADY_EXISTS: A location with the same name already exists in the agency
7359
8026
  * - NOT_FOUND: Agency doesn't exist or doesn't belong to tenant
7360
8027
  *
7361
8028
  *