@producerflow/producerflowapi 1.0.16 → 1.0.19

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
  *
@@ -1427,6 +1519,15 @@ export type UpdateProducerRequest_Producer = Message<"producerflow.producer.v1.U
1427
1519
  externalMetadata: {
1428
1520
  [key: string]: string;
1429
1521
  };
1522
+ /**
1523
+ * The onboarding status of the producer.
1524
+ * If provided, updates the producer's onboarding status.
1525
+ * If not provided, the onboarding status remains unchanged.
1526
+ * When set, the onboarding_status_updated_at timestamp is automatically updated.
1527
+ *
1528
+ * @generated from field: optional producerflow.producer.v1.OnboardingStatus onboarding_status = 15;
1529
+ */
1530
+ onboardingStatus?: OnboardingStatus;
1430
1531
  };
1431
1532
  /**
1432
1533
  * Describes the message producerflow.producer.v1.UpdateProducerRequest.Producer.
@@ -1542,6 +1643,18 @@ export type UpdateAgencyRequest_Agency = Message<"producerflow.producer.v1.Updat
1542
1643
  externalMetadata: {
1543
1644
  [key: string]: string;
1544
1645
  };
1646
+ /**
1647
+ * IVANS account information for electronic carrier communication.
1648
+ * This is optional and only used if the agency uses IVANS.
1649
+ *
1650
+ * Update behavior:
1651
+ * - If not provided (null): existing IVANS account is preserved unchanged
1652
+ * - If provided with all fields: IVANS account is created or completely replaced
1653
+ * - Partial updates are supported: only specified fields will be updated
1654
+ *
1655
+ * @generated from field: producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount ivans_account = 9;
1656
+ */
1657
+ ivansAccount?: UpdateAgencyRequest_Agency_IvansAccount;
1545
1658
  };
1546
1659
  /**
1547
1660
  * Describes the message producerflow.producer.v1.UpdateAgencyRequest.Agency.
@@ -1604,6 +1717,48 @@ export type UpdateAgencyRequest_Agency_Address = Message<"producerflow.producer.
1604
1717
  * Use `create(UpdateAgencyRequest_Agency_AddressSchema)` to create a new message.
1605
1718
  */
1606
1719
  export declare const UpdateAgencyRequest_Agency_AddressSchema: GenMessage<UpdateAgencyRequest_Agency_Address>;
1720
+ /**
1721
+ * IvansAccount contains IVANS (Insurance Value Added Network Services) account information.
1722
+ * IVANS is used for electronic communication between insurance agencies and carriers.
1723
+ *
1724
+ * @generated from message producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount
1725
+ */
1726
+ export type UpdateAgencyRequest_Agency_IvansAccount = Message<"producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount"> & {
1727
+ /**
1728
+ * Account number for the IVANS service.
1729
+ * If provided, must be non-empty.
1730
+ *
1731
+ * @generated from field: optional string account_number = 1;
1732
+ */
1733
+ accountNumber?: string;
1734
+ /**
1735
+ * Software used for IVANS communication (AMS - Agency Management System).
1736
+ * If provided, must be non-empty.
1737
+ *
1738
+ * @generated from field: optional string ams_software = 2;
1739
+ */
1740
+ amsSoftware?: string;
1741
+ /**
1742
+ * Version of the AMS software.
1743
+ * If provided, must be non-empty.
1744
+ *
1745
+ * @generated from field: optional string ams_version = 3;
1746
+ */
1747
+ amsVersion?: string;
1748
+ /**
1749
+ * Mailbox number for the IVANS service.
1750
+ * Used for routing electronic messages.
1751
+ * If provided, must be non-empty.
1752
+ *
1753
+ * @generated from field: optional string mailbox_number = 4;
1754
+ */
1755
+ mailboxNumber?: string;
1756
+ };
1757
+ /**
1758
+ * Describes the message producerflow.producer.v1.UpdateAgencyRequest.Agency.IvansAccount.
1759
+ * Use `create(UpdateAgencyRequest_Agency_IvansAccountSchema)` to create a new message.
1760
+ */
1761
+ export declare const UpdateAgencyRequest_Agency_IvansAccountSchema: GenMessage<UpdateAgencyRequest_Agency_IvansAccount>;
1607
1762
  /**
1608
1763
  * UpdateAgencyResponse is the empty response returned after successfully updating an agency.
1609
1764
  *
@@ -1771,6 +1926,23 @@ export type Agency = Message<"producerflow.producer.v1.Agency"> & {
1771
1926
  * @generated from field: bool is_sole_proprietor = 15;
1772
1927
  */
1773
1928
  isSoleProprietor: boolean;
1929
+ /**
1930
+ * The relationship of this agency with its organization.
1931
+ *
1932
+ * Indicates whether the agency is the main agency or a related agency within
1933
+ * an organization.
1934
+ * - MAIN: The primary agency that owns or manages the organization
1935
+ * - RELATED: An agency that is part of the organization but not the primary owner
1936
+ * - UNSPECIFIED: Agency does not belong to any organization
1937
+ *
1938
+ * This field is always populated based on the agency's actual organization
1939
+ * membership, regardless of how the agency was queried. If the agency belongs
1940
+ * to an organization, this will be MAIN or RELATED. If the agency is standalone
1941
+ * (not part of any organization), this will be UNSPECIFIED.
1942
+ *
1943
+ * @generated from field: optional producerflow.producer.v1.AgencyOrganizationRelationship organization_relationship = 16;
1944
+ */
1945
+ organizationRelationship?: AgencyOrganizationRelationship;
1774
1946
  };
1775
1947
  /**
1776
1948
  * Describes the message producerflow.producer.v1.Agency.
@@ -1791,12 +1963,11 @@ export type Agency_AgencyInfo = Message<"producerflow.producer.v1.Agency.AgencyI
1791
1963
  */
1792
1964
  onboardingId: string;
1793
1965
  /**
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.
1966
+ * Deprecated: Use the top-level `organization` field instead, which provides the full
1967
+ * organization object including id, name, external_id, and email.
1798
1968
  *
1799
- * @generated from field: string root_organization_id = 2;
1969
+ * @generated from field: string root_organization_id = 2 [deprecated = true];
1970
+ * @deprecated
1800
1971
  */
1801
1972
  rootOrganizationId: string;
1802
1973
  /**
@@ -1841,7 +2012,13 @@ export type Agency_AgencyInfo = Message<"producerflow.producer.v1.Agency.AgencyI
1841
2012
  website: string;
1842
2013
  /**
1843
2014
  * National Producer Number (NPN) of the agency.
1844
- * This is a unique identifier assigned by the National Association of Insurance Commissioners (NAIC).
2015
+ * A unique NAIC identifier assigned to business entities during the
2016
+ * licensing application process and stored in the NIPR Producer Database
2017
+ * (PDB).
2018
+ * Format: 1-10 digit numeric string.
2019
+ * Example: "1234567890"
2020
+ * Only present for standard agencies (not sole proprietors).
2021
+ * Reference: https://nipr.com
1845
2022
  *
1846
2023
  * @generated from field: string npn = 9;
1847
2024
  */
@@ -2104,9 +2281,13 @@ export type Agency_Principal = Message<"producerflow.producer.v1.Agency.Principa
2104
2281
  */
2105
2282
  email: string;
2106
2283
  /**
2107
- * The NPN of the principal. This is used to
2108
- * retrieve the license information
2109
- * of the principal from the NIPR API.
2284
+ * National Producer Number (NPN) of the principal.
2285
+ * A unique NAIC identifier assigned to individuals during the licensing
2286
+ * application process and stored in the NIPR Producer Database (PDB).
2287
+ * Format: 1-10 digit numeric string.
2288
+ * Example: "1234567890"
2289
+ * Used to retrieve license information from the NIPR API.
2290
+ * Reference: https://nipr.com
2110
2291
  *
2111
2292
  * @generated from field: string npn = 5;
2112
2293
  */
@@ -2125,6 +2306,16 @@ export type Agency_Principal = Message<"producerflow.producer.v1.Agency.Principa
2125
2306
  * @generated from field: producerflow.producer.v1.Agency.Address address = 8;
2126
2307
  */
2127
2308
  address?: Agency_Address;
2309
+ /**
2310
+ * tenant_additional_questions contains tenant-specific custom questions configured by
2311
+ * Producerflow and their corresponding responses. Keys are question identifiers or text,
2312
+ * values are the answers provided.
2313
+ *
2314
+ * @generated from field: map<string, string> tenant_additional_questions = 10;
2315
+ */
2316
+ tenantAdditionalQuestions: {
2317
+ [key: string]: string;
2318
+ };
2128
2319
  };
2129
2320
  /**
2130
2321
  * Describes the message producerflow.producer.v1.Agency.Principal.
@@ -2248,14 +2439,24 @@ export type Agency_NIPR = Message<"producerflow.producer.v1.Agency.NIPR"> & {
2248
2439
  */
2249
2440
  licenses: Agency_NIPR_License[];
2250
2441
  /**
2251
- * Regulatory information from NIPR
2442
+ * Regulatory information from NIPR.
2252
2443
  *
2253
2444
  * @generated from field: producerflow.producer.v1.Agency.NIPR.RegulatoryInfo regulatory_info = 4;
2254
2445
  */
2255
2446
  regulatoryInfo?: Agency_NIPR_RegulatoryInfo;
2256
2447
  /**
2257
- * List of carrier appointments held in NIPR.
2258
- * These represent relationships with insurance carriers.
2448
+ * List of carrier appointments held by the agency in NIPR.
2449
+ *
2450
+ * Each appointment represents authorization to sell a specific carrier's
2451
+ * products for a specific Line of Authority. An agency typically has
2452
+ * multiple appointments across different carriers and LOAs.
2453
+ *
2454
+ * Before allowing an agency to quote or sell a product:
2455
+ * 1. Verify they have an active appointment with that carrier
2456
+ * 2. Verify the appointment's LOA matches the product type
2457
+ * 3. Check the appointment renewal date hasn't passed
2458
+ *
2459
+ * This data is synchronized from NIPR and is read-only.
2259
2460
  *
2260
2461
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.Appointment appointments = 5;
2261
2462
  */
@@ -2285,7 +2486,13 @@ export type Agency_NIPR_Biographic = Message<"producerflow.producer.v1.Agency.NI
2285
2486
  */
2286
2487
  fein: string;
2287
2488
  /**
2288
- * National Producer Number.
2489
+ * National Producer Number (NPN) of the agency.
2490
+ * A unique NAIC identifier assigned to business entities during the
2491
+ * licensing application process and stored in the NIPR Producer Database
2492
+ * (PDB).
2493
+ * Format: 1-10 digit numeric string.
2494
+ * Example: "1234567890"
2495
+ * Reference: https://nipr.com
2289
2496
  *
2290
2497
  * @generated from field: string npn = 3;
2291
2498
  */
@@ -2394,19 +2601,28 @@ export declare const Agency_NIPR_AddressSchema: GenMessage<Agency_NIPR_Address>;
2394
2601
  */
2395
2602
  export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.License"> & {
2396
2603
  /**
2397
- * The license number assigned by the state regulatory authority.
2604
+ * The license number assigned by the state Department of Insurance (DOI).
2605
+ * Format varies by state (e.g., numeric, alphanumeric, or with prefixes).
2606
+ * Examples: "0A12345" (CA), "BR-1234567" (TX), "100012345" (FL)
2607
+ * This is a state-specific identifier, not globally unique across states.
2608
+ * Reference: Each state's DOI maintains its own licensing database.
2398
2609
  *
2399
2610
  * @generated from field: string license_number = 1;
2400
2611
  */
2401
2612
  licenseNumber: string;
2402
2613
  /**
2403
- * The state that issued the license.
2614
+ * The two-letter US state or territory code that issued the license.
2615
+ * Format: ISO 3166-2 subdivision code (e.g., "CA", "TX", "NY").
2404
2616
  *
2405
2617
  * @generated from field: string license_state = 2;
2406
2618
  */
2407
2619
  licenseState: string;
2408
2620
  /**
2409
2621
  * Indicates whether this is a resident or non-resident license.
2622
+ * Values: "Resident" (license in the producer's home/domicile state) or
2623
+ * "Non-Resident" (license in a state other than the home state).
2624
+ * A producer typically has one resident license and may hold multiple
2625
+ * non-resident licenses in other states where they conduct business.
2410
2626
  *
2411
2627
  * @generated from field: string residency_status = 3;
2412
2628
  */
@@ -2431,13 +2647,24 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2431
2647
  */
2432
2648
  expirationDate?: Timestamp;
2433
2649
  /**
2434
- * License class description.
2650
+ * License class description as defined by the state DOI.
2651
+ * Describes the broad category of insurance the license covers.
2652
+ * Common classes include:
2653
+ * - "Insurance Producer": General license to sell insurance
2654
+ * - "Limited Lines Producer": Restricted to specific product types
2655
+ * - "Surplus Lines Broker": Authorized for non-admitted carriers
2656
+ * - "Managing General Agent": Underwriting authority on behalf of insurers
2657
+ * - "Consultant": Licensed to provide insurance advice for a fee
2658
+ * Values vary by state as each DOI defines its own license classes.
2435
2659
  *
2436
2660
  * @generated from field: string license_class = 7;
2437
2661
  */
2438
2662
  licenseClass: string;
2439
2663
  /**
2440
- * License class code.
2664
+ * Numeric code corresponding to the license class.
2665
+ * This is the NIPR-standardized numeric identifier for the license class
2666
+ * description in the license_class field.
2667
+ * Used for programmatic comparisons rather than string matching.
2441
2668
  *
2442
2669
  * @generated from field: int32 license_class_code = 8;
2443
2670
  */
@@ -2481,7 +2708,12 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2481
2708
  */
2482
2709
  lastUpdatedOn?: Date;
2483
2710
  /**
2484
- * Lines of Authority associated with this license.
2711
+ * Lines of Authority (LOAs) associated with this license.
2712
+ *
2713
+ * These define what types of insurance the agency is authorized to
2714
+ * transact in this state. A single license typically has multiple LOAs.
2715
+ * Always check that the agency has an active LOA matching the product
2716
+ * type before allowing transactions.
2485
2717
  *
2486
2718
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority lines_of_authority = 12;
2487
2719
  */
@@ -2499,21 +2731,51 @@ export type Agency_NIPR_License = Message<"producerflow.producer.v1.Agency.NIPR.
2499
2731
  */
2500
2732
  export declare const Agency_NIPR_LicenseSchema: GenMessage<Agency_NIPR_License>;
2501
2733
  /**
2502
- * LineOfAuthority represents a specific type of insurance coverage
2503
- * that is authorized under this license.
2734
+ * LineOfAuthority (LOA) represents a specific type of insurance that an
2735
+ * agency is authorized to transact under this license.
2736
+ *
2737
+ * Each license can have multiple LOAs. For example, a license might
2738
+ * include:
2739
+ * - LIFE
2740
+ * - HEALTH
2741
+ * - ACCIDENT AND HEALTH
2742
+ * - PROPERTY AND CASUALTY
2743
+ * - VARIABLE LIFE AND VARIABLE ANNUITY
2744
+ *
2745
+ * LOA Compliance:
2746
+ * Before allowing an agency to sell a product, verify they have an
2747
+ * active LOA that matches the product type. For example, an agency with
2748
+ * only a LIFE LOA cannot sell Property & Casualty insurance.
2749
+ *
2750
+ * LOA names are standardized by NIPR but may vary slightly between states.
2504
2751
  *
2505
2752
  * @generated from message producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority
2506
2753
  */
2507
2754
  export type Agency_NIPR_License_LineOfAuthority = Message<"producerflow.producer.v1.Agency.NIPR.License.LineOfAuthority"> & {
2508
2755
  /**
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.
2756
+ * The Line of Authority name (e.g., "LIFE", "PROPERTY AND CASUALTY",
2757
+ * "HEALTH").
2758
+ *
2759
+ * Common LOA types:
2760
+ * - LIFE: Life insurance products
2761
+ * - HEALTH: Health insurance products
2762
+ * - ACCIDENT AND HEALTH: Combined accident and health coverage
2763
+ * - PROPERTY: Property insurance
2764
+ * - CASUALTY: Casualty insurance
2765
+ * - PROPERTY AND CASUALTY: Combined property and casualty
2766
+ * - VARIABLE LIFE AND VARIABLE ANNUITY: Variable products requiring
2767
+ * securities license
2768
+ * - PERSONAL LINES: Homeowners, auto, and personal umbrella policies
2769
+ * - COMMERCIAL LINES: Business insurance policies
2770
+ *
2771
+ * This is typically an uppercase string standardized by NIPR.
2511
2772
  *
2512
2773
  * @generated from field: string loa = 1;
2513
2774
  */
2514
2775
  loa: string;
2515
2776
  /**
2516
2777
  * Whether this Line of Authority is currently active.
2778
+ * Inactive LOAs cannot be used to transact that type of insurance.
2517
2779
  *
2518
2780
  * @generated from field: bool active = 2;
2519
2781
  */
@@ -2526,7 +2788,9 @@ export type Agency_NIPR_License_LineOfAuthority = Message<"producerflow.producer
2526
2788
  */
2527
2789
  issueDate?: Timestamp;
2528
2790
  /**
2529
- * The date when this Line of Authority was issued.
2791
+ * The date when this Line of Authority was first issued.
2792
+ * This helps track how long the agency has been authorized for this
2793
+ * insurance type.
2530
2794
  *
2531
2795
  * @generated from field: google.type.Date issued_on = 4;
2532
2796
  */
@@ -2574,8 +2838,13 @@ export declare enum Agency_NIPR_License_LicenseStatus {
2574
2838
  */
2575
2839
  export declare const Agency_NIPR_License_LicenseStatusSchema: GenEnum<Agency_NIPR_License_LicenseStatus>;
2576
2840
  /**
2577
- * RegulatoryInfo contains regulatory information,
2578
- * including any regulatory actions.
2841
+ * RegulatoryInfo contains regulatory information from NIPR, including any
2842
+ * formal regulatory actions taken against the agency by state Departments
2843
+ * of Insurance (DOIs) or other regulatory authorities.
2844
+ *
2845
+ * Regulatory actions are significant events that may affect an agency's
2846
+ * ability to conduct business. They should be reviewed during due diligence
2847
+ * and compliance checks.
2579
2848
  *
2580
2849
  * @generated from message producerflow.producer.v1.Agency.NIPR.RegulatoryInfo
2581
2850
  */
@@ -2583,6 +2852,7 @@ export type Agency_NIPR_RegulatoryInfo = Message<"producerflow.producer.v1.Agenc
2583
2852
  /**
2584
2853
  * List of regulatory actions across different states.
2585
2854
  * Each regulatory action includes the state code where it applies.
2855
+ * An empty list indicates no regulatory actions on record in NIPR.
2586
2856
  *
2587
2857
  * @generated from field: repeated producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction regulatory_actions = 1;
2588
2858
  */
@@ -2594,25 +2864,42 @@ export type Agency_NIPR_RegulatoryInfo = Message<"producerflow.producer.v1.Agenc
2594
2864
  */
2595
2865
  export declare const Agency_NIPR_RegulatoryInfoSchema: GenMessage<Agency_NIPR_RegulatoryInfo>;
2596
2866
  /**
2597
- * RegulatoryAction represents a regulatory action.
2867
+ * RegulatoryAction represents a formal regulatory action taken against
2868
+ * an agency by a state Department of Insurance or other regulatory body.
2869
+ *
2870
+ * Common types of regulatory actions include:
2871
+ * - License revocation or suspension
2872
+ * - Cease and desist orders
2873
+ * - Consent agreements
2874
+ * - Fines and monetary penalties
2875
+ * - Probationary periods
2876
+ * - Administrative actions for non-compliance
2877
+ *
2878
+ * These records are sourced from NIPR's PDB (Producer Database) and
2879
+ * reflect official regulatory proceedings.
2598
2880
  *
2599
2881
  * @generated from message producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction
2600
2882
  */
2601
2883
  export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.producer.v1.Agency.NIPR.RegulatoryInfo.RegulatoryAction"> & {
2602
2884
  /**
2603
- * Unique identifier for the regulatory action.
2885
+ * Unique identifier for the regulatory action in NIPR's system.
2604
2886
  *
2605
2887
  * @generated from field: string action_id = 1;
2606
2888
  */
2607
2889
  actionId: string;
2608
2890
  /**
2609
- * The state code where this regulatory action applies.
2891
+ * The two-letter state code of the regulatory authority that took
2892
+ * the action.
2893
+ * Format: US state code (e.g., "CA", "TX", "NY").
2610
2894
  *
2611
2895
  * @generated from field: string state_code = 2;
2612
2896
  */
2613
2897
  stateCode: string;
2614
2898
  /**
2615
- * The reason why the regulatory action was taken.
2899
+ * The reason or cause for the regulatory action.
2900
+ * Examples: "Misrepresentation", "Failure to Remit Premiums",
2901
+ * "Unfair Trade Practices", "Fraud", "Non-Compliance".
2902
+ * This is a free-text field as reasons are defined by each state DOI.
2616
2903
  *
2617
2904
  * @generated from field: string reason_for_action = 3;
2618
2905
  */
@@ -2624,37 +2911,46 @@ export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.
2624
2911
  */
2625
2912
  disposition: string;
2626
2913
  /**
2627
- * The date when the regulatory action was taken.
2914
+ * The date when the regulatory action was formally initiated or filed.
2628
2915
  *
2629
2916
  * @generated from field: google.protobuf.Timestamp date_of_action = 5;
2630
2917
  */
2631
2918
  dateOfAction?: Timestamp;
2632
2919
  /**
2633
- * The date when the regulatory action became effective.
2920
+ * The date when the regulatory action took effect.
2921
+ * This may differ from date_of_action if there was a delayed
2922
+ * effective date or appeal period.
2634
2923
  *
2635
2924
  * @generated from field: google.protobuf.Timestamp effective_date = 6;
2636
2925
  */
2637
2926
  effectiveDate?: Timestamp;
2638
2927
  /**
2639
- * The date when the entity entered into the regulatory action.
2928
+ * The date when the agency entered into or acknowledged the
2929
+ * regulatory action (e.g., signed a consent agreement).
2640
2930
  *
2641
2931
  * @generated from field: google.protobuf.Timestamp enter_date = 7;
2642
2932
  */
2643
2933
  enterDate?: Timestamp;
2644
2934
  /**
2645
- * Reference number for the regulatory action file.
2935
+ * Reference number for the regulatory action file maintained by the
2936
+ * state DOI. Can be used to look up additional details from the
2937
+ * state's records.
2646
2938
  *
2647
2939
  * @generated from field: string file_ref = 8;
2648
2940
  */
2649
2941
  fileRef: string;
2650
2942
  /**
2651
- * Any financial penalties associated with the regulatory action.
2943
+ * Any financial penalties, fines, or forfeitures associated with
2944
+ * the regulatory action.
2945
+ * Format: Free-text, typically a dollar amount (e.g., "$5,000.00").
2652
2946
  *
2653
2947
  * @generated from field: string penalty_fine_forfeiture = 9;
2654
2948
  */
2655
2949
  penaltyFineForfeiture: string;
2656
2950
  /**
2657
2951
  * Duration of any orders associated with the regulatory action.
2952
+ * Format: Free-text describing the time period (e.g., "12 months",
2953
+ * "Indefinite", "Until compliance").
2658
2954
  *
2659
2955
  * @generated from field: string length_of_order = 10;
2660
2956
  */
@@ -2666,48 +2962,92 @@ export type Agency_NIPR_RegulatoryInfo_RegulatoryAction = Message<"producerflow.
2666
2962
  */
2667
2963
  export declare const Agency_NIPR_RegulatoryInfo_RegulatoryActionSchema: GenMessage<Agency_NIPR_RegulatoryInfo_RegulatoryAction>;
2668
2964
  /**
2669
- * Appointment represents a relationship with an insurance carrier.
2965
+ * Appointment represents a formal relationship between an agency and an
2966
+ * insurance carrier, granting the agency authority to sell that carrier's
2967
+ * products. This data is sourced from NIPR's PDB (Producer Database).
2968
+ *
2969
+ * Appointment Lifecycle (status field values):
2970
+ * 1. APPOINTED: Agency is authorized to sell this carrier's products for
2971
+ * the specified Line of Authority
2972
+ * 2. TERMINATED: Appointment has ended (see termination_reason for details)
2973
+ *
2974
+ * Use Cases:
2975
+ * - Verify agency is appointed before allowing them to sell a carrier's
2976
+ * products
2977
+ * - Track which carriers an agency represents
2978
+ * - Monitor appointment renewal dates for compliance
2670
2979
  *
2671
2980
  * @generated from message producerflow.producer.v1.Agency.NIPR.Appointment
2672
2981
  */
2673
2982
  export type Agency_NIPR_Appointment = Message<"producerflow.producer.v1.Agency.NIPR.Appointment"> & {
2674
2983
  /**
2984
+ * Branch identifier for multi-branch agencies.
2985
+ * Links the appointment to a specific agency branch, if applicable.
2986
+ *
2675
2987
  * @generated from field: string branch_id = 1;
2676
2988
  */
2677
2989
  branchId: string;
2678
2990
  /**
2679
2991
  * Name of the insurance company for this appointment.
2992
+ * Examples: "State Farm", "Allstate", "Blue Cross Blue Shield"
2680
2993
  *
2681
2994
  * @generated from field: string company_name = 2;
2682
2995
  */
2683
2996
  companyName: string;
2684
2997
  /**
2685
- * Federal Employer Identification Number of the carrier.
2998
+ * Federal Employer Identification Number (FEIN) of the carrier.
2999
+ * Format: 9-digit number assigned by the IRS.
3000
+ * This uniquely identifies the carrier company for tax purposes.
2686
3001
  *
2687
3002
  * @generated from field: string fein = 3;
2688
3003
  */
2689
3004
  fein: string;
2690
3005
  /**
2691
- * Company code for the insurance carrier.
3006
+ * NAIC Company Code (CoCode) for the insurance carrier.
3007
+ * A unique identifier assigned by the National Association of Insurance
3008
+ * Commissioners (NAIC) for regulatory reporting.
3009
+ * Format: Typically a 5-digit numeric string.
3010
+ * Reference: https://naic.org
2692
3011
  *
2693
3012
  * @generated from field: string co_code = 4;
2694
3013
  */
2695
3014
  coCode: string;
2696
3015
  /**
2697
- * Line of authority for this appointment (e.g., Life, Property, Casualty).
2698
- * Indicates what types of insurance can be sold.
3016
+ * Line of Authority (LOA) for this appointment.
3017
+ * Indicates what type of insurance the agency can sell for this carrier.
3018
+ * A single carrier may have separate appointments for different LOAs.
3019
+ *
3020
+ * Common LOA values:
3021
+ * - "LIFE": Life insurance products
3022
+ * - "HEALTH": Health insurance products
3023
+ * - "PROPERTY": Property insurance
3024
+ * - "CASUALTY": Casualty insurance
3025
+ * - "PROPERTY AND CASUALTY": Combined P&C
3026
+ * - "VARIABLE LIFE AND VARIABLE ANNUITY": Variable products
3027
+ *
3028
+ * LOA names are standardized by NIPR but may vary slightly between states.
2699
3029
  *
2700
3030
  * @generated from field: string line_of_authority = 5;
2701
3031
  */
2702
3032
  lineOfAuthority: string;
2703
3033
  /**
2704
- * Code for the line of authority for this appointment.
3034
+ * Standardized code for the Line of Authority.
3035
+ * Used for programmatic matching rather than string comparison on the
3036
+ * line_of_authority description field.
2705
3037
  *
2706
3038
  * @generated from field: string loa_code = 6;
2707
3039
  */
2708
3040
  loaCode: string;
2709
3041
  /**
2710
- * Current status of the appointment (e.g., Active, Terminated).
3042
+ * Current status of the appointment as reported by NIPR.
3043
+ *
3044
+ * Values:
3045
+ * - "APPOINTED": Appointment is active; the agency can sell this
3046
+ * carrier's products for the specified Line of Authority
3047
+ * - "TERMINATED": Appointment has ended (see termination_reason for
3048
+ * details)
3049
+ *
3050
+ * Always check status is "APPOINTED" before allowing sales.
2711
3051
  *
2712
3052
  * @generated from field: string status = 7;
2713
3053
  */
@@ -2715,23 +3055,40 @@ export type Agency_NIPR_Appointment = Message<"producerflow.producer.v1.Agency.N
2715
3055
  /**
2716
3056
  * Reason for termination if the appointment has been terminated.
2717
3057
  *
3058
+ * Common termination reasons include:
3059
+ * - Voluntary termination by the agency
3060
+ * - Carrier-initiated termination
3061
+ * - Inadequate production
3062
+ * - Company merger or liquidation
3063
+ * - Regulatory or compliance issues
3064
+ *
3065
+ * This field is empty if the appointment is still active.
3066
+ * Reference: https://pdb.nipr.com/Gateway/ValidTerms
3067
+ *
2718
3068
  * @generated from field: string termination_reason = 8;
2719
3069
  */
2720
3070
  terminationReason: string;
2721
3071
  /**
2722
- * Date associated with the current status or reason.
3072
+ * Date when the status or termination reason became effective.
3073
+ * For terminated appointments, this is when the termination occurred.
3074
+ * For active appointments, this may indicate when the current status
3075
+ * was last confirmed.
2723
3076
  *
2724
3077
  * @generated from field: google.protobuf.Timestamp status_reason_date = 9;
2725
3078
  */
2726
3079
  statusReasonDate?: Timestamp;
2727
3080
  /**
2728
3081
  * Date when the appointment will renew.
3082
+ * Appointments typically renew annually. Monitor this date for upcoming
3083
+ * renewals to ensure continuous authorization.
2729
3084
  *
2730
3085
  * @generated from field: google.protobuf.Timestamp appointment_renewal_date = 10;
2731
3086
  */
2732
3087
  appointmentRenewalDate?: Timestamp;
2733
3088
  /**
2734
- * Additional affiliations or roles with the agency.
3089
+ * Additional affiliations or roles the agency has with the carrier.
3090
+ * This may include special designations, sub-agency relationships,
3091
+ * or other relationship details.
2735
3092
  *
2736
3093
  * @generated from field: string agency_affiliations = 11;
2737
3094
  */
@@ -2803,9 +3160,13 @@ export type Producer = Message<"producerflow.producer.v1.Producer"> & {
2803
3160
  */
2804
3161
  email: string;
2805
3162
  /**
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.
3163
+ * National Producer Number (NPN) of the producer.
3164
+ * A unique NAIC identifier assigned to individuals during the licensing
3165
+ * application process and stored in the NIPR Producer Database (PDB).
3166
+ * Format: 1-10 digit numeric string.
3167
+ * Example: "1234567890"
3168
+ * Used to retrieve license, appointment, and regulatory data from NIPR.
3169
+ * Reference: https://nipr.com
2809
3170
  *
2810
3171
  * @generated from field: string npn = 4;
2811
3172
  */
@@ -3042,14 +3403,18 @@ export declare const Producer_NIPRSchema: GenMessage<Producer_NIPR>;
3042
3403
  */
3043
3404
  export type Producer_NIPR_License = Message<"producerflow.producer.v1.Producer.NIPR.License"> & {
3044
3405
  /**
3045
- * The license number assigned by the state regulatory authority.
3406
+ * The license number assigned by the state Department of Insurance (DOI).
3407
+ * Format varies by state (e.g., numeric, alphanumeric, or with prefixes).
3408
+ * Examples: "0A12345" (CA), "BR-1234567" (TX), "100012345" (FL)
3409
+ * This is a state-specific identifier, not globally unique across states.
3410
+ * Reference: Each state's DOI maintains its own licensing database.
3046
3411
  *
3047
3412
  * @generated from field: string license_number = 1;
3048
3413
  */
3049
3414
  licenseNumber: string;
3050
3415
  /**
3051
- * The state that issued the license.
3052
- * Typically a two-letter state code.
3416
+ * The two-letter US state or territory code that issued the license.
3417
+ * Format: ISO 3166-2 subdivision code (e.g., "CA", "TX", "NY").
3053
3418
  *
3054
3419
  * @generated from field: string license_state = 2;
3055
3420
  */
@@ -3285,15 +3650,24 @@ export type Producer_NIPR_Biographic = Message<"producerflow.producer.v1.Produce
3285
3650
  */
3286
3651
  export declare const Producer_NIPR_BiographicSchema: GenMessage<Producer_NIPR_Biographic>;
3287
3652
  /**
3288
- * ProducerRegulatoryInfo contains regulatory information about a producer,
3289
- * including any regulatory actions taken against them.
3653
+ * ProducerRegulatoryInfo contains regulatory information about a producer
3654
+ * from NIPR, including any formal regulatory actions taken against them by
3655
+ * state Departments of Insurance (DOIs) or other regulatory authorities
3656
+ * (e.g., FINRA for securities-related licenses).
3657
+ *
3658
+ * Regulatory actions are significant events that may affect a producer's
3659
+ * ability to sell insurance. They should be reviewed during hiring,
3660
+ * contracting, and ongoing compliance monitoring.
3290
3661
  *
3291
3662
  * @generated from message producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo
3292
3663
  */
3293
3664
  export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo"> & {
3294
3665
  /**
3295
- * Map of regulatory actions by state.
3296
- * The key is the state code, and the value is the regulatory action.
3666
+ * Map of regulatory actions keyed by two-letter state code.
3667
+ * The key is the state code (e.g., "CA", "TX"), and the value is the
3668
+ * regulatory action for that state. A producer may have regulatory
3669
+ * actions in multiple states.
3670
+ * An empty map indicates no regulatory actions on record in NIPR.
3297
3671
  *
3298
3672
  * @generated from field: map<string, producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction> regulatory_actions_by_state = 1;
3299
3673
  */
@@ -3302,12 +3676,19 @@ export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.produce
3302
3676
  };
3303
3677
  /**
3304
3678
  * Clearance certification information for the producer.
3679
+ * Indicates whether the producer has obtained clearance from NIPR's
3680
+ * Clearance Certification process, which verifies the producer has no
3681
+ * outstanding regulatory issues across all states.
3305
3682
  *
3306
3683
  * @generated from field: string clearance_certification_info = 2;
3307
3684
  */
3308
3685
  clearanceCertificationInfo: string;
3309
3686
  /**
3310
3687
  * Details about NASD/FINRA examinations taken by the producer.
3688
+ * This includes securities-related examinations (e.g., Series 6,
3689
+ * Series 7, Series 63, Series 66) that may be required for selling
3690
+ * variable insurance products.
3691
+ * Reference: https://www.finra.org
3311
3692
  *
3312
3693
  * @generated from field: string nasd_exam_details = 3;
3313
3694
  */
@@ -3319,68 +3700,104 @@ export type Producer_NIPR_ProducerRegulatoryInfo = Message<"producerflow.produce
3319
3700
  */
3320
3701
  export declare const Producer_NIPR_ProducerRegulatoryInfoSchema: GenMessage<Producer_NIPR_ProducerRegulatoryInfo>;
3321
3702
  /**
3322
- * RegulatoryAction represents a regulatory action taken against a producer.
3703
+ * RegulatoryAction represents a formal regulatory action taken against
3704
+ * a producer by a state Department of Insurance, FINRA, or other
3705
+ * regulatory body.
3706
+ *
3707
+ * Common types of regulatory actions include:
3708
+ * - License revocation or suspension
3709
+ * - Cease and desist orders
3710
+ * - Consent agreements
3711
+ * - Fines and monetary penalties
3712
+ * - Probationary periods
3713
+ * - Administrative actions for non-compliance
3714
+ *
3715
+ * These records are sourced from NIPR's PDB (Producer Database) and
3716
+ * reflect official regulatory proceedings.
3323
3717
  *
3324
3718
  * @generated from message producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction
3325
3719
  */
3326
3720
  export type Producer_NIPR_ProducerRegulatoryInfo_RegulatoryAction = Message<"producerflow.producer.v1.Producer.NIPR.ProducerRegulatoryInfo.RegulatoryAction"> & {
3327
3721
  /**
3328
- * Unique identifier for the regulatory action.
3722
+ * Unique identifier for the regulatory action in NIPR's system.
3329
3723
  *
3330
3724
  * @generated from field: string action_id = 1;
3331
3725
  */
3332
3726
  actionId: string;
3333
3727
  /**
3334
3728
  * The regulatory body that originated the action.
3335
- * Typically a state insurance department or FINRA.
3729
+ * Examples: "California Department of Insurance", "FINRA",
3730
+ * "Texas Department of Insurance".
3731
+ * This identifies which authority initiated the regulatory proceeding.
3336
3732
  *
3337
3733
  * @generated from field: string origin_of_action = 2;
3338
3734
  */
3339
3735
  originOfAction: string;
3340
3736
  /**
3341
- * The reason why the regulatory action was taken.
3737
+ * The reason or cause for the regulatory action.
3738
+ * Examples: "Misrepresentation", "Failure to Remit Premiums",
3739
+ * "Unfair Trade Practices", "Fraud", "Non-Compliance".
3740
+ * This is a free-text field as reasons are defined by each regulatory
3741
+ * authority.
3342
3742
  *
3343
3743
  * @generated from field: string reason_for_action = 3;
3344
3744
  */
3345
3745
  reasonForAction: string;
3346
3746
  /**
3347
3747
  * The outcome or resolution of the regulatory action.
3748
+ * Common dispositions include:
3749
+ * - "Revoked": License permanently removed
3750
+ * - "Suspended": License temporarily inactive
3751
+ * - "Consent Agreement": Negotiated settlement
3752
+ * - "Probation": Conditional continued operation
3753
+ * - "Fine/Penalty": Monetary penalty imposed
3754
+ * - "Dismissed": Action was dropped or resolved favorably
3755
+ * - "Pending": Action is still being adjudicated
3348
3756
  *
3349
3757
  * @generated from field: string disposition = 4;
3350
3758
  */
3351
3759
  disposition: string;
3352
3760
  /**
3353
- * The date when the regulatory action was taken.
3761
+ * The date when the regulatory action was formally initiated or filed.
3354
3762
  *
3355
3763
  * @generated from field: google.protobuf.Timestamp date_of_action = 5;
3356
3764
  */
3357
3765
  dateOfAction?: Timestamp;
3358
3766
  /**
3359
- * The date when the regulatory action became effective.
3767
+ * The date when the regulatory action took effect.
3768
+ * This may differ from date_of_action if there was a delayed
3769
+ * effective date or appeal period.
3360
3770
  *
3361
3771
  * @generated from field: google.protobuf.Timestamp effective_date = 6;
3362
3772
  */
3363
3773
  effectiveDate?: Timestamp;
3364
3774
  /**
3365
- * The date when the producer entered into the regulatory action.
3775
+ * The date when the producer entered into or acknowledged the
3776
+ * regulatory action (e.g., signed a consent agreement).
3366
3777
  *
3367
3778
  * @generated from field: google.protobuf.Timestamp enter_date = 7;
3368
3779
  */
3369
3780
  enterDate?: Timestamp;
3370
3781
  /**
3371
- * Reference number for the regulatory action file.
3782
+ * Reference number for the regulatory action file maintained by the
3783
+ * regulatory authority. Can be used to look up additional details
3784
+ * from the authority's records.
3372
3785
  *
3373
3786
  * @generated from field: string file_ref = 8;
3374
3787
  */
3375
3788
  fileRef: string;
3376
3789
  /**
3377
- * Any financial penalties associated with the regulatory action.
3790
+ * Any financial penalties, fines, or forfeitures associated with
3791
+ * the regulatory action.
3792
+ * Format: Free-text, typically a dollar amount (e.g., "$5,000.00").
3378
3793
  *
3379
3794
  * @generated from field: string penalty_fine_forfeiture = 9;
3380
3795
  */
3381
3796
  penaltyFineForfeiture: string;
3382
3797
  /**
3383
3798
  * Duration of any orders associated with the regulatory action.
3799
+ * Format: Free-text describing the time period (e.g., "12 months",
3800
+ * "Indefinite", "Until compliance").
3384
3801
  *
3385
3802
  * @generated from field: string length_of_order = 10;
3386
3803
  */
@@ -3402,10 +3819,10 @@ export declare const Producer_NIPR_ProducerRegulatoryInfo_RegulatoryActionSchema
3402
3819
  * producer must also be appointed by each carrier whose products they want
3403
3820
  * to sell.
3404
3821
  *
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.)
3822
+ * Appointment Lifecycle (status field values):
3823
+ * 1. APPOINTED: Producer can sell this carrier's products
3824
+ * 2. TERMINATED: Appointment has ended (various reasons: producer left,
3825
+ * carrier terminated, etc.)
3409
3826
  *
3410
3827
  * Use Cases:
3411
3828
  * - Verify producer is appointed before allowing them to quote/sell a
@@ -3466,14 +3883,15 @@ export type Producer_NIPR_Appointment = Message<"producerflow.producer.v1.Produc
3466
3883
  */
3467
3884
  loaCode: string;
3468
3885
  /**
3469
- * Current status of the appointment.
3886
+ * Current status of the appointment as reported by NIPR.
3470
3887
  *
3471
- * Common values:
3472
- * - "Active": Producer can sell this carrier's products
3473
- * - "Terminated": Appointment has ended
3474
- * - "Pending": Appointment is being processed
3888
+ * Values:
3889
+ * - "APPOINTED": Appointment is active; the producer can sell this
3890
+ * carrier's products for the specified Line of Authority
3891
+ * - "TERMINATED": Appointment has ended (see termination_reason for
3892
+ * details)
3475
3893
  *
3476
- * Always check status is "Active" before allowing sales.
3894
+ * Always check status is "APPOINTED" before allowing sales.
3477
3895
  *
3478
3896
  * @generated from field: string status = 7;
3479
3897
  */
@@ -3627,12 +4045,16 @@ export type NewProducer = Message<"producerflow.producer.v1.NewProducer"> & {
3627
4045
  email: string;
3628
4046
  /**
3629
4047
  * National Producer Number (NPN) of the producer.
3630
- * Optional but strongly recommended for licensed producers.
3631
- * This unique identifier from NAIC enables:
4048
+ * A unique NAIC identifier assigned to individuals during the licensing
4049
+ * application process and stored in the NIPR Producer Database (PDB).
4050
+ * Format: 1-10 digit numeric string.
4051
+ * Example: "1234567890"
4052
+ * Optional but strongly recommended for licensed producers. Enables:
3632
4053
  * - NIPR data synchronization (licenses, appointments, regulatory actions)
3633
4054
  * - Carrier appointment verification
3634
4055
  * - Compliance tracking across states
3635
4056
  * If provided, must be valid in NIPR's database or creation will fail.
4057
+ * Reference: https://nipr.com
3636
4058
  *
3637
4059
  * @generated from field: string npn = 4;
3638
4060
  */
@@ -4029,7 +4451,13 @@ export type NewContact = Message<"producerflow.producer.v1.NewContact"> & {
4029
4451
  */
4030
4452
  tenantId: string;
4031
4453
  /**
4032
- * National Producer Number (NPN) of the contact.
4454
+ * National Producer Number (NPN) of the contact, if applicable.
4455
+ * A unique NAIC identifier assigned during the licensing application process
4456
+ * and stored in the NIPR Producer Database (PDB).
4457
+ * Format: 1-10 digit numeric string.
4458
+ * Example: "1234567890"
4459
+ * Only applicable for contacts who are licensed insurance professionals.
4460
+ * Reference: https://nipr.com
4033
4461
  *
4034
4462
  * @generated from field: optional string npn = 9;
4035
4463
  */
@@ -4190,6 +4618,12 @@ export type Contact = Message<"producerflow.producer.v1.Contact"> & {
4190
4618
  address?: Address;
4191
4619
  /**
4192
4620
  * National Producer Number (NPN) of the contact, if applicable.
4621
+ * A unique NAIC identifier assigned during the licensing application process
4622
+ * and stored in the NIPR Producer Database (PDB).
4623
+ * Format: 1-10 digit numeric string.
4624
+ * Example: "1234567890"
4625
+ * Only present for contacts who are licensed insurance professionals.
4626
+ * Reference: https://nipr.com
4193
4627
  *
4194
4628
  * @generated from field: string npn = 9;
4195
4629
  */
@@ -4456,21 +4890,27 @@ export type SetExternalIDResponse = Message<"producerflow.producer.v1.SetExterna
4456
4890
  */
4457
4891
  export declare const SetExternalIDResponseSchema: GenMessage<SetExternalIDResponse>;
4458
4892
  /**
4459
- * ValidateProducerNPNRequest is used to validate a producer's National Producer Number.
4893
+ * ValidateProducerNPNRequest is used to validate a producer's National Producer
4894
+ * Number (NPN) against the NIPR database.
4895
+ * This is a FREE operation using the NIPR NPN Lookup service.
4460
4896
  *
4461
4897
  * @generated from message producerflow.producer.v1.ValidateProducerNPNRequest
4462
4898
  */
4463
4899
  export type ValidateProducerNPNRequest = Message<"producerflow.producer.v1.ValidateProducerNPNRequest"> & {
4464
4900
  /**
4465
4901
  * The National Producer Number (NPN) to validate.
4902
+ * Format: 1-10 digit numeric string.
4903
+ * Example: "1234567890"
4466
4904
  * Required and must be non-empty.
4905
+ * Reference: https://nipr.com
4467
4906
  *
4468
4907
  * @generated from field: string npn = 1;
4469
4908
  */
4470
4909
  npn: string;
4471
4910
  /**
4472
- * Optional name of the producer to validate.
4473
- * If provided, the NPN will be validated against this name.
4911
+ * Optional name of the producer to validate against NIPR records.
4912
+ * If provided, both NPN existence and name match are verified.
4913
+ * If omitted, only NPN existence is verified.
4474
4914
  *
4475
4915
  * @generated from field: optional string name = 2;
4476
4916
  */
@@ -4489,7 +4929,8 @@ export declare const ValidateProducerNPNRequestSchema: GenMessage<ValidateProduc
4489
4929
  export type ValidateProducerNPNResponse = Message<"producerflow.producer.v1.ValidateProducerNPNResponse"> & {
4490
4930
  /**
4491
4931
  * Indicates whether the NPN is valid.
4492
- * True if the NPN exists and is valid, false otherwise.
4932
+ * True if the NPN exists in NIPR (and name matches, if provided).
4933
+ * False if the NPN does not exist or the name does not match.
4493
4934
  *
4494
4935
  * @generated from field: bool valid = 1;
4495
4936
  */
@@ -4501,14 +4942,19 @@ export type ValidateProducerNPNResponse = Message<"producerflow.producer.v1.Vali
4501
4942
  */
4502
4943
  export declare const ValidateProducerNPNResponseSchema: GenMessage<ValidateProducerNPNResponse>;
4503
4944
  /**
4504
- * ValidateAgencyNPNRequest is used to validate an agency's National Producer Number.
4945
+ * ValidateAgencyNPNRequest is used to validate an agency's National Producer
4946
+ * Number (NPN) against the NIPR database.
4947
+ * This is a FREE operation using the NIPR NPN Lookup service.
4505
4948
  *
4506
4949
  * @generated from message producerflow.producer.v1.ValidateAgencyNPNRequest
4507
4950
  */
4508
4951
  export type ValidateAgencyNPNRequest = Message<"producerflow.producer.v1.ValidateAgencyNPNRequest"> & {
4509
4952
  /**
4510
4953
  * The National Producer Number (NPN) to validate.
4954
+ * Format: 1-10 digit numeric string.
4955
+ * Example: "1234567890"
4511
4956
  * Required and must be non-empty.
4957
+ * Reference: https://nipr.com
4512
4958
  *
4513
4959
  * @generated from field: string npn = 1;
4514
4960
  */
@@ -4527,7 +4973,8 @@ export declare const ValidateAgencyNPNRequestSchema: GenMessage<ValidateAgencyNP
4527
4973
  export type ValidateAgencyNPNResponse = Message<"producerflow.producer.v1.ValidateAgencyNPNResponse"> & {
4528
4974
  /**
4529
4975
  * Indicates whether the NPN is valid.
4530
- * True if the NPN exists and is valid, false otherwise.
4976
+ * True if the NPN exists in NIPR's agency records.
4977
+ * False if the NPN does not exist.
4531
4978
  *
4532
4979
  * @generated from field: bool valid = 1;
4533
4980
  */
@@ -4539,14 +4986,18 @@ export type ValidateAgencyNPNResponse = Message<"producerflow.producer.v1.Valida
4539
4986
  */
4540
4987
  export declare const ValidateAgencyNPNResponseSchema: GenMessage<ValidateAgencyNPNResponse>;
4541
4988
  /**
4542
- * LookupNPNByFEINRequest is used to look up a producer's National Producer Number by their Federal Employer Identification Number (FEIN).
4989
+ * LookupNPNByFEINRequest is used to look up an agency's National Producer
4990
+ * Number (NPN) by their Federal Employer Identification Number (FEIN).
4991
+ * This is a FREE operation using the NIPR NPN Lookup service.
4543
4992
  *
4544
4993
  * @generated from message producerflow.producer.v1.LookupNPNByFEINRequest
4545
4994
  */
4546
4995
  export type LookupNPNByFEINRequest = Message<"producerflow.producer.v1.LookupNPNByFEINRequest"> & {
4547
4996
  /**
4548
4997
  * The Federal Employer Identification Number (FEIN) to look up.
4549
- * Required and must be exactly 9 characters.
4998
+ * Format: Exactly 9 digits, no dashes or spaces.
4999
+ * Example: "123456789"
5000
+ * This is the tax identification number assigned by the IRS.
4550
5001
  *
4551
5002
  * @generated from field: string fein = 1;
4552
5003
  */
@@ -4558,13 +5009,17 @@ export type LookupNPNByFEINRequest = Message<"producerflow.producer.v1.LookupNPN
4558
5009
  */
4559
5010
  export declare const LookupNPNByFEINRequestSchema: GenMessage<LookupNPNByFEINRequest>;
4560
5011
  /**
4561
- * LookupNPNByFEINResponse contains the National Producer Number (NPN) for the producer associated with the given FEIN.
5012
+ * LookupNPNByFEINResponse contains the National Producer Number (NPN)
5013
+ * for the agency associated with the given FEIN.
4562
5014
  *
4563
5015
  * @generated from message producerflow.producer.v1.LookupNPNByFEINResponse
4564
5016
  */
4565
5017
  export type LookupNPNByFEINResponse = Message<"producerflow.producer.v1.LookupNPNByFEINResponse"> & {
4566
5018
  /**
4567
- * The National Producer Number (NPN) for the producer.
5019
+ * The National Producer Number (NPN) found in NIPR for the given FEIN.
5020
+ * Format: 1-10 digit numeric string.
5021
+ * Example: "1234567890"
5022
+ * Empty string if no matching NPN was found.
4568
5023
  *
4569
5024
  * @generated from field: string npn = 1;
4570
5025
  */
@@ -4814,7 +5269,11 @@ export type AgencySummary = Message<"producerflow.producer.v1.AgencySummary"> &
4814
5269
  */
4815
5270
  phone: string;
4816
5271
  /**
4817
- * National Producer Number (NPN) assigned by NIPR.
5272
+ * National Producer Number (NPN) of the agency.
5273
+ * A unique NAIC identifier assigned to business entities during the
5274
+ * licensing application process and stored in the NIPR Producer Database
5275
+ * (PDB).
5276
+ * Format: 1-10 digit numeric string.
4818
5277
  * Only present for standard agencies (not sole proprietors).
4819
5278
  * Empty string if the agency doesn't have an NPN.
4820
5279
  *
@@ -4869,6 +5328,21 @@ export type AgencySummary = Message<"producerflow.producer.v1.AgencySummary"> &
4869
5328
  * @generated from field: string external_id = 11;
4870
5329
  */
4871
5330
  externalId: string;
5331
+ /**
5332
+ * The relationship of this agency with its organization.
5333
+ *
5334
+ * Indicates whether the agency is the main agency (primary owner) or a related
5335
+ * agency within an organization. This field reflects the agency's actual
5336
+ * organization membership, not the query context.
5337
+ *
5338
+ * Values:
5339
+ * - MAIN: The primary agency that owns or manages the organization
5340
+ * - RELATED: An agency that is part of the organization but not the primary owner
5341
+ * - UNSPECIFIED: Agency does not belong to any organization
5342
+ *
5343
+ * @generated from field: optional producerflow.producer.v1.AgencyOrganizationRelationship organization_relationship = 12;
5344
+ */
5345
+ organizationRelationship?: AgencyOrganizationRelationship;
4872
5346
  };
4873
5347
  /**
4874
5348
  * Describes the message producerflow.producer.v1.AgencySummary.
@@ -5845,6 +6319,41 @@ export declare enum AgencyType {
5845
6319
  * Describes the enum producerflow.producer.v1.AgencyType.
5846
6320
  */
5847
6321
  export declare const AgencyTypeSchema: GenEnum<AgencyType>;
6322
+ /**
6323
+ * AgencyOrganizationRelationship defines the relationship an agency has with an organization.
6324
+ *
6325
+ * If an agency belongs to an organization, this field indicates the type of relationship.
6326
+ * If an agency does not belong to any organization, this field will be UNSPECIFIED.
6327
+ *
6328
+ * @generated from enum producerflow.producer.v1.AgencyOrganizationRelationship
6329
+ */
6330
+ export declare enum AgencyOrganizationRelationship {
6331
+ /**
6332
+ * Default unspecified value.
6333
+ * Used when the agency does not belong to any organization.
6334
+ *
6335
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_UNSPECIFIED = 0;
6336
+ */
6337
+ UNSPECIFIED = 0,
6338
+ /**
6339
+ * The agency is the main/primary agency for the organization.
6340
+ * The main agency typically owns or manages the organization.
6341
+ *
6342
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_MAIN = 1;
6343
+ */
6344
+ MAIN = 1,
6345
+ /**
6346
+ * The agency is a related agency in the organization's network.
6347
+ * Related agencies are part of the organization but not the primary owner.
6348
+ *
6349
+ * @generated from enum value: AGENCY_ORGANIZATION_RELATIONSHIP_RELATED = 2;
6350
+ */
6351
+ RELATED = 2
6352
+ }
6353
+ /**
6354
+ * Describes the enum producerflow.producer.v1.AgencyOrganizationRelationship.
6355
+ */
6356
+ export declare const AgencyOrganizationRelationshipSchema: GenEnum<AgencyOrganizationRelationship>;
5848
6357
  /**
5849
6358
  * NIPRSyncState defines the synchronization state with the NIPR system.
5850
6359
  *
@@ -7078,6 +7587,12 @@ export declare const ProducerService: GenService<{
7078
7587
  * - Biographic information (name, DOB, state of domicile)
7079
7588
  * - Address by state
7080
7589
  *
7590
+ * Billing:
7591
+ * This operation makes external NIPR API calls that may result in charges:
7592
+ * - NPN validation lookup
7593
+ * - Producer license data sync (if producer is not already synced)
7594
+ * - PDB alerts subscription (if enabled for tenant)
7595
+ *
7081
7596
  * Preconditions:
7082
7597
  * - Producer must exist and belong to the authenticated tenant
7083
7598
  * - Producer must have a valid NPN registered in NIPR
@@ -7100,10 +7615,13 @@ export declare const ProducerService: GenService<{
7100
7615
  * Empty response on success.
7101
7616
  *
7102
7617
  * 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
7618
+ * - NOT_FOUND: Producer doesn't exist, doesn't belong to tenant, or NPN could
7619
+ * not be found in NIPR. If the NPN cannot be found, the error message will
7620
+ * be "producer NPN could not be found in NIPR".
7621
+ * - INVALID_ARGUMENT: Producer has no NPN.
7105
7622
  * - FAILED_PRECONDITION: Producer is already synced with NIPR (ACTIVE sync state)
7106
7623
  * - DEADLINE_EXCEEDED: NIPR sync took longer than 30 seconds
7624
+ * - INTERNAL: Unexpected error during NIPR lookup or sync process
7107
7625
  *
7108
7626
  *
7109
7627
  * @generated from rpc producerflow.producer.v1.ProducerService.SyncProducerWithNIPR
@@ -7127,6 +7645,13 @@ export declare const ProducerService: GenService<{
7127
7645
  * - Regulatory actions and disciplinary history
7128
7646
  * - Address history by state
7129
7647
  *
7648
+ * Billing:
7649
+ * This operation makes external NIPR API calls that may result in charges:
7650
+ * - NPN validation lookup
7651
+ * - Agency license data sync (if agency is not already synced)
7652
+ * - PDB alerts subscription (if enabled for tenant)
7653
+ * - When sync_all_producers is true: additional calls per producer (license sync + PDB alerts)
7654
+ *
7130
7655
  * Bulk Producer Sync:
7131
7656
  * When sync_all_producers is set to true, the system will also sync all
7132
7657
  * producers associated with the agency. This extends the timeout to 10