openapi: 3.0.4
info:
  title: Producer Transaction
  version: v1
paths:
  /producertransaction/v1/order:
    post:
      tags:
        - ProducerTransaction
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
            example:
              tlq:
                juris: FL
                pType: I
                fType: A
                lType: M
                clientOrderNum: ClientOrderNumber
                userId: UserId
                filingMode: E
              data:
                firstName: FirstName
                lastName: LastName
                middleInitial: Mr.
                middleName: MiddleName
                taxId: '123456789'
                dateOfBirth: 09/04/1985
                niprNoReq: NPNCode
                currentResidenceAddress:
                  cResidenceAddress: Current residence addr 1
                  cResidenceAddress2: Current residence addr 2
                  cResidenceAddressCity: Current Residence City
                  cResidenceAddressState: NY
                  cResidenceAddressZip: 12345-6789
                  cResidencePhone: '5555555555'
                businessAddress:
                  businessAddressCity: Business City
                  businessAddressLine1: Business address line 1
                  businessAddressLine2: Business address line 2
                  businessAddressState: NY
                  businessAddressZip: 12345-6788
                  businessPhone: '5555555554'
                mailingAddress:
                  mailAddress1: Mailing address 1
                  mailAddress2: Mailing address 2
                  mailCity: Mailing city
                  mailState: NY
                  mailZip: 12345-6787
                insurerLicenseDetails:
                  insurersLicenseNumber: InsurersLicenseNumber
                  insLicState: NY
                insurerDetails:
                  insurerCity: Insurer city
                  insurerPhone: '5555555553'
                  insurerState: NY
                  insurerStreet1: Insurer street 1
                  insurerStreet2: Insurer street 2
                  insurerZip: 12345-6786
                licenseDetails:
                  licenseNumber: LicenseNumber
                  licenseState: NY
                feinNumber: '123456788'
                cityDomicile: Domicile city
                insStateDomicile: NY
                dateEffective: 31/12/2027
                naicNum: '12345'
                authorizedSignerDetails:
                  authorizedSignerFirstName: SignerFirstName
                  authorizedSignerLastName: SignerLastName
                  authorizedPersonCity: Signer city
                  authorizedPersonPhone: '5555555552'
                  authorizedPersonState: NY
                  authorizedPersonStreet1: Signer street
                  authorizedPersonTitle: Signer title
                  authorizedPersonZip: 12345-6786
                  authorizedSignerName: SignerName
                  authorizedSignerEmail: signer@email.com
                contactName: Contact name
                contactPhone: '5555555551'
                officerTitle: Officer title
                loa:
                  - AIRCRAFT
                  - HEALTH
                domicile:
                  insStateDomicile: State of incorporation
                companyCodeDetails:
                  companyCodeState: NY
                  companyCode: CompanyCode
                residentStateYN: 'Y'
                residentStateText: NY
                ltp: AGENT
                ltpText: NY
                pinStateFeeDetails:
                  pinStateFee: Fee amount
                  pinFeeState: NY
                sponsoringCompany: Sponsoring company name
                firmName: Agency Applicant's full company name
                trm: APPLICANT MOVED
                termReasonText: Termination reason
                termCauseYN: 'N'
                surplusLinesYn: 'Y'
                floridaResCty: AB
                floridaCountyCode: CD
                appCodeFl: '1234'
                costCenter1: Customer cost center 1
                costCenter2: Customer cost center 2
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
            example: "<CreateOrderInput xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <ACCT_ID_C>0</ACCT_ID_C>\r\n  <TLQ>\r\n    <JURIS>FL</JURIS>\r\n    <PTYPE>I</PTYPE>\r\n    <FTYPE>A</FTYPE>\r\n    <LTYPE>M</LTYPE>\r\n    <CLIENTORDERNUM>ClientOrderNumber</CLIENTORDERNUM>\r\n    <USERID>UserId</USERID>\r\n    <FILINGMODE>E</FILINGMODE>\r\n  </TLQ>\r\n  <DATA>\r\n    <FIRST_NAME>FirstName</FIRST_NAME>\r\n    <LAST_NAME>LastName</LAST_NAME>\r\n    <MIDDLE_INITIAL>Mr.</MIDDLE_INITIAL>\r\n    <MIDDLE_NAME>MiddleName</MIDDLE_NAME>\r\n    <TAX_ID>123456789</TAX_ID>\r\n    <DATE_OF_BIRTH>09/04/1985</DATE_OF_BIRTH>\r\n    <NIPR_NO_REQ>NPNCode</NIPR_NO_REQ>\r\n    <CURRENT_RESIDENCE_ADDRESS>\r\n      <CRESIDENCE_ADDRESS>Current residence addr 1</CRESIDENCE_ADDRESS>\r\n      <CRESIDENCE_ADDRESS2>Current residence addr 2</CRESIDENCE_ADDRESS2>\r\n      <CRESIDENCE_ADDRESS_CITY>Current Residence City</CRESIDENCE_ADDRESS_CITY>\r\n      <CRESIDENCE_ADDRESS_STATE>NY</CRESIDENCE_ADDRESS_STATE>\r\n      <CRESIDENCE_ADDRESS_ZIP>12345-6789</CRESIDENCE_ADDRESS_ZIP>\r\n      <CRESIDENCE_PHONE>5555555555</CRESIDENCE_PHONE>\r\n    </CURRENT_RESIDENCE_ADDRESS>\r\n    <BUSINESS_ADDRESS>\r\n      <BUSINESS_ADDRESS_CITY>Business City</BUSINESS_ADDRESS_CITY>\r\n      <BUSINESS_ADDRESS_LINE1>Business address line 1</BUSINESS_ADDRESS_LINE1>\r\n      <BUSINESS_ADDRESS_LINE2>Business address line 2</BUSINESS_ADDRESS_LINE2>\r\n      <BUSINESS_ADDRESS_STATE>NY</BUSINESS_ADDRESS_STATE>\r\n      <BUSINESS_ADDRESS_ZIP>12345-6788</BUSINESS_ADDRESS_ZIP>\r\n      <BUSINESS_PHONE>5555555554</BUSINESS_PHONE>\r\n    </BUSINESS_ADDRESS>\r\n    <MAILING_ADDRESS>\r\n      <MAIL_ADDRESS1>Mailing address 1</MAIL_ADDRESS1>\r\n      <MAIL_ADDRESS2>Mailing address 2</MAIL_ADDRESS2>\r\n      <MAIL_CITY>Mailing city</MAIL_CITY>\r\n      <MAIL_STATE>NY</MAIL_STATE>\r\n      <MAIL_ZIP>12345-6787</MAIL_ZIP>\r\n    </MAILING_ADDRESS>\r\n    <INSURER_LICENSE_DETAILS>\r\n      <INSURERS_LICENSE_NUMBER>InsurersLicenseNumber</INSURERS_LICENSE_NUMBER>\r\n      <INS_LIC_STATE>NY</INS_LIC_STATE>\r\n    </INSURER_LICENSE_DETAILS>\r\n    <INSURER_DETAILS>\r\n      <INSURER_CITY>Insurer city</INSURER_CITY>\r\n      <INSURER_PHONE>5555555553</INSURER_PHONE>\r\n      <INSURER_STATE>NY</INSURER_STATE>\r\n      <INSURER_STREET1>Insurer street 1</INSURER_STREET1>\r\n      <INSURER_STREET2>Insurer street 2</INSURER_STREET2>\r\n      <INSURER_ZIP>12345-6786</INSURER_ZIP>\r\n    </INSURER_DETAILS>\r\n    <LICENSE_DETAILS>\r\n      <LICENSE_NUMBER>LicenseNumber</LICENSE_NUMBER>\r\n      <LICENSE_STATE>NY</LICENSE_STATE>\r\n    </LICENSE_DETAILS>\r\n    <FEIN_NUMBER>123456788</FEIN_NUMBER>\r\n    <CITY_DOMICILE>Domicile city</CITY_DOMICILE>\r\n    <INS_STATE_DOMICILE>NY</INS_STATE_DOMICILE>\r\n    <DATE_EFFECTIVE>31/12/2027</DATE_EFFECTIVE>\r\n    <NAIC_NUM>12345</NAIC_NUM>\r\n    <AUTHORIZED_SIGNER_DETAILS>\r\n      <AUTHORIZED_SIGNER_FIRST_NAME>SignerFirstName</AUTHORIZED_SIGNER_FIRST_NAME>\r\n      <AUTHORIZED_SIGNER_LAST_NAME>SignerLastName</AUTHORIZED_SIGNER_LAST_NAME>\r\n      <AUTHORIZED_PERSON_CITY>Signer city</AUTHORIZED_PERSON_CITY>\r\n      <AUTHORIZED_PERSON_PHONE>5555555552</AUTHORIZED_PERSON_PHONE>\r\n      <AUTHORIZED_PERSON_STATE>NY</AUTHORIZED_PERSON_STATE>\r\n      <AUTHORIZED_PERSON_STREET1>Signer street</AUTHORIZED_PERSON_STREET1>\r\n      <AUTHORIZED_PERSON_TITLE>Signer title</AUTHORIZED_PERSON_TITLE>\r\n      <AUTHORIZED_PERSON_ZIP>12345-6786</AUTHORIZED_PERSON_ZIP>\r\n      <AUTHORIZED_SIGNER_NAME>SignerName</AUTHORIZED_SIGNER_NAME>\r\n      <AUTHORIZED_SIGNER_EMAIL>signer@email.com</AUTHORIZED_SIGNER_EMAIL>\r\n    </AUTHORIZED_SIGNER_DETAILS>\r\n    <CONTACT_NAME>Contact name</CONTACT_NAME>\r\n    <CONTACT_PHONE>5555555551</CONTACT_PHONE>\r\n    <OFFICER_TITLE>Officer title</OFFICER_TITLE>\r\n    <LOA>AIRCRAFT</LOA>\r\n    <LOA>HEALTH</LOA>\r\n    <DOMICILE>\r\n      <INS_STATE_DOMICILE>State of incorporation</INS_STATE_DOMICILE>\r\n    </DOMICILE>\r\n    <COMPANY_CODE_DETAILS>\r\n      <COMPANY_CODE_STATE>NY</COMPANY_CODE_STATE>\r\n      <COMPANY_CODE>CompanyCode</COMPANY_CODE>\r\n    </COMPANY_CODE_DETAILS>\r\n    <RESIDENT_STATE_YN>Y</RESIDENT_STATE_YN>\r\n    <RESIDENT_STATE_TEXT>NY</RESIDENT_STATE_TEXT>\r\n    <LTP>AGENT</LTP>\r\n    <LTP_TEXT>NY</LTP_TEXT>\r\n    <PIN_STATE_FEE_DETAILS>\r\n      <PIN_STATE_FEE>Fee amount</PIN_STATE_FEE>\r\n      <PIN_FEE_STATE>NY</PIN_FEE_STATE>\r\n    </PIN_STATE_FEE_DETAILS>\r\n    <SPONSORING_COMPANY>Sponsoring company name</SPONSORING_COMPANY>\r\n    <FIRM_NAME>Agency Applicant's full company name</FIRM_NAME>\r\n    <TRM>APPLICANT MOVED</TRM>\r\n    <TERM_REASON_TEXT>Termination reason</TERM_REASON_TEXT>\r\n    <TERM_CAUSE_YN>N</TERM_CAUSE_YN>\r\n    <SURPLUS_LINES_YN>Y</SURPLUS_LINES_YN>\r\n    <FLORIDA_RES_CTY>AB</FLORIDA_RES_CTY>\r\n    <FLORIDA_COUNTY_CODE>CD</FLORIDA_COUNTY_CODE>\r\n    <APP_CODE_FL>1234</APP_CODE_FL>\r\n    <COST_CENTER_1>Customer cost center 1</COST_CENTER_1>\r\n    <COST_CENTER_2>Customer cost center 2</COST_CENTER_2>\r\n  </DATA>\r\n</CreateOrderInput>"
      responses:
        '200':
          description: Existing Order was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
              example:
                order:
                  orderDetails:
                    clientOrderNumber: ClientOrderNumber
                    orderNumber: '111111'
                    orderSequence: '222222'
                    orderStatus: '24'
                    niprProcessed: 'Y'
                    modifiedDate: 20/12/2024
                  itemDetails:
                    item:
                      - itemNumber: '333333'
                        serviceType: Appointment
                        fType: A
                        taxId: '123456789'
                        juris: NY
                        modifiedDate: 20/12/2024
                        sponsoringCompany: Name of the Sponsoring Insurance Company
                        validationStatus: '17'
                        itemStatus: '24'
                        itemStatusDescription: Ready to send and Passed
                        itemComments: ''
                        loas:
                          - description: loa1
                            niprCode: NiprCode
                            effectiveDate: 20/12/2026
                            reason: The reason
                        validationMessages:
                          - Missing mandatory field LTP
                    target: Name of Applicant
                    addedDate: 20/12/2024
            application/xml:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
              example: "<CreateOrderOutput xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <ORDER>\r\n    <ORDER_DETAILS>\r\n      <CLIENTORDERNUM>ClientOrderNumber</CLIENTORDERNUM>\r\n      <ORDER_NUMBER>111111</ORDER_NUMBER>\r\n      <ORDER_SEQUENCE>222222</ORDER_SEQUENCE>\r\n      <ORDERSTATUS>24</ORDERSTATUS>\r\n      <NIPR_PROCESSED>Y</NIPR_PROCESSED>\r\n      <MODIFIED_DATE>20/12/2024</MODIFIED_DATE>\r\n    </ORDER_DETAILS>\r\n    <ITEM_DETAILS>\r\n      <ITEM>\r\n        <ITEM_NUMBER>333333</ITEM_NUMBER>\r\n        <SERVICE_TYPE>Appointment</SERVICE_TYPE>\r\n        <FTYPE>A</FTYPE>\r\n        <TAX_ID>123456789</TAX_ID>\r\n        <JURIS>NY</JURIS>\r\n        <MODIFFIED_DATE>20/12/2024</MODIFFIED_DATE>\r\n        <SPONSORING_COMPANY>Name of the Sponsoring Insurance Company</SPONSORING_COMPANY>\r\n        <VALIDATION_STATUS>17</VALIDATION_STATUS>\r\n        <ITEM_STATUS>24</ITEM_STATUS>\r\n        <ITEM_STATUS_DESCRIPTION>Ready to send and Passed</ITEM_STATUS_DESCRIPTION>\r\n        <ITEM_COMMENTS />\r\n        <LOAS>\r\n          <LOA>\r\n            <DESCRIPTION>loa1</DESCRIPTION>\r\n            <NIPR_CODE>NiprCode</NIPR_CODE>\r\n            <EFFECTIVE_DATE>20/12/2026</EFFECTIVE_DATE>\r\n            <REASON>The reason</REASON>\r\n          </LOA>\r\n        </LOAS>\r\n        <VALIDATION_MESSAGES>\r\n          <VALIDATION_MESSAGE>Missing mandatory field LTP</VALIDATION_MESSAGE>\r\n        </VALIDATION_MESSAGES>\r\n      </ITEM>\r\n      <TARGET>Name of Applicant</TARGET>\r\n      <ADDED_DATE>20/12/2024</ADDED_DATE>\r\n    </ITEM_DETAILS>\r\n  </ORDER>\r\n</CreateOrderOutput>"
        '201':
          description: New Order was created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
              example:
                order:
                  orderDetails:
                    clientOrderNumber: ClientOrderNumber
                    orderNumber: '111111'
                    orderSequence: '222222'
                    orderStatus: '24'
                    niprProcessed: 'Y'
                    modifiedDate: 20/12/2024
                  itemDetails:
                    item:
                      - itemNumber: '333333'
                        serviceType: Appointment
                        fType: A
                        taxId: '123456789'
                        juris: NY
                        modifiedDate: 20/12/2024
                        sponsoringCompany: Name of the Sponsoring Insurance Company
                        validationStatus: '17'
                        itemStatus: '24'
                        itemStatusDescription: Ready to send and Passed
                        itemComments: ''
                        loas:
                          - description: loa1
                            niprCode: NiprCode
                            effectiveDate: 20/12/2026
                            reason: The reason
                        validationMessages:
                          - Missing mandatory field LTP
                    target: Name of Applicant
                    addedDate: 20/12/2024
            application/xml:
              schema:
                $ref: '#/components/schemas/CreateOrderResponse'
              example: "<CreateOrderOutput xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <ORDER>\r\n    <ORDER_DETAILS>\r\n      <CLIENTORDERNUM>ClientOrderNumber</CLIENTORDERNUM>\r\n      <ORDER_NUMBER>111111</ORDER_NUMBER>\r\n      <ORDER_SEQUENCE>222222</ORDER_SEQUENCE>\r\n      <ORDERSTATUS>24</ORDERSTATUS>\r\n      <NIPR_PROCESSED>Y</NIPR_PROCESSED>\r\n      <MODIFIED_DATE>20/12/2024</MODIFIED_DATE>\r\n    </ORDER_DETAILS>\r\n    <ITEM_DETAILS>\r\n      <ITEM>\r\n        <ITEM_NUMBER>333333</ITEM_NUMBER>\r\n        <SERVICE_TYPE>Appointment</SERVICE_TYPE>\r\n        <FTYPE>A</FTYPE>\r\n        <TAX_ID>123456789</TAX_ID>\r\n        <JURIS>NY</JURIS>\r\n        <MODIFFIED_DATE>20/12/2024</MODIFFIED_DATE>\r\n        <SPONSORING_COMPANY>Name of the Sponsoring Insurance Company</SPONSORING_COMPANY>\r\n        <VALIDATION_STATUS>17</VALIDATION_STATUS>\r\n        <ITEM_STATUS>24</ITEM_STATUS>\r\n        <ITEM_STATUS_DESCRIPTION>Ready to send and Passed</ITEM_STATUS_DESCRIPTION>\r\n        <ITEM_COMMENTS />\r\n        <LOAS>\r\n          <LOA>\r\n            <DESCRIPTION>loa1</DESCRIPTION>\r\n            <NIPR_CODE>NiprCode</NIPR_CODE>\r\n            <EFFECTIVE_DATE>20/12/2026</EFFECTIVE_DATE>\r\n            <REASON>The reason</REASON>\r\n          </LOA>\r\n        </LOAS>\r\n        <VALIDATION_MESSAGES>\r\n          <VALIDATION_MESSAGE>Missing mandatory field LTP</VALIDATION_MESSAGE>\r\n        </VALIDATION_MESSAGES>\r\n      </ITEM>\r\n      <TARGET>Name of Applicant</TARGET>\r\n      <ADDED_DATE>20/12/2024</ADDED_DATE>\r\n    </ITEM_DETAILS>\r\n  </ORDER>\r\n</CreateOrderOutput>"
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '500':
          description: Internal Server Error
  /producertransaction/v1/order/status:
    get:
      tags:
        - ProducerTransaction
      parameters:
        - name: order_num
          in: query
          schema:
            maxLength: 20
            minLength: 0
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckOrderStatusResponse'
              example:
                order:
                  orderDetails:
                    clientOrderNumber: ClientOrderNumber
                    orderNumber: '111111'
                    orderSequence: '222222'
                    orderStatus: '24'
                    niprProcessed: 'Y'
                    modifiedDate: 20/12/2024
                  itemDetails:
                    item:
                      - itemNumber: '333333'
                        serviceType: Appointment
                        fType: A
                        taxId: '123456789'
                        juris: NY
                        modifiedDate: 20/12/2024
                        sponsoringCompany: Name of the Sponsoring Insurance Company
                        validationStatus: '17'
                        itemStatus: '24'
                        itemStatusDescription: Ready to send and Passed
                        itemComments: ''
                        loas:
                          - description: loa1
                            niprCode: NiprCode
                            effectiveDate: 20/12/2026
                            reason: The reason
                        validationMessages:
                          - Missing mandatory field LTP
                    target: Name of Applicant
                    addedDate: 20/12/2024
            application/xml:
              schema:
                $ref: '#/components/schemas/CheckOrderStatusResponse'
              example: "<CheckOrderStatusResponse xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n  <ORDER>\r\n    <ORDER_DETAILS>\r\n      <CLIENTORDERNUM>ClientOrderNumber</CLIENTORDERNUM>\r\n      <ORDER_NUMBER>111111</ORDER_NUMBER>\r\n      <ORDER_SEQUENCE>222222</ORDER_SEQUENCE>\r\n      <ORDERSTATUS>24</ORDERSTATUS>\r\n      <NIPR_PROCESSED>Y</NIPR_PROCESSED>\r\n      <MODIFIED_DATE>20/12/2024</MODIFIED_DATE>\r\n    </ORDER_DETAILS>\r\n    <ITEM_DETAILS>\r\n      <ITEM>\r\n        <ITEM_NUMBER>333333</ITEM_NUMBER>\r\n        <SERVICE_TYPE>Appointment</SERVICE_TYPE>\r\n        <FTYPE>A</FTYPE>\r\n        <TAX_ID>123456789</TAX_ID>\r\n        <JURIS>NY</JURIS>\r\n        <MODIFFIED_DATE>20/12/2024</MODIFFIED_DATE>\r\n        <SPONSORING_COMPANY>Name of the Sponsoring Insurance Company</SPONSORING_COMPANY>\r\n        <VALIDATION_STATUS>17</VALIDATION_STATUS>\r\n        <ITEM_STATUS>24</ITEM_STATUS>\r\n        <ITEM_STATUS_DESCRIPTION>Ready to send and Passed</ITEM_STATUS_DESCRIPTION>\r\n        <ITEM_COMMENTS />\r\n        <LOAS>\r\n          <LOA>\r\n            <DESCRIPTION>loa1</DESCRIPTION>\r\n            <NIPR_CODE>NiprCode</NIPR_CODE>\r\n            <EFFECTIVE_DATE>20/12/2026</EFFECTIVE_DATE>\r\n            <REASON>The reason</REASON>\r\n          </LOA>\r\n        </LOAS>\r\n        <VALIDATION_MESSAGES>\r\n          <VALIDATION_MESSAGE>Missing mandatory field LTP</VALIDATION_MESSAGE>\r\n        </VALIDATION_MESSAGES>\r\n      </ITEM>\r\n      <TARGET>Name of Applicant</TARGET>\r\n      <ADDED_DATE>20/12/2024</ADDED_DATE>\r\n    </ITEM_DETAILS>\r\n  </ORDER>\r\n</CheckOrderStatusResponse>"
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
        '500':
          description: Internal Server Error
components:
  schemas:
    AuthorisedSignerDetails:
      type: object
      properties:
        authorizedSignerFirstName:
          maxLength: 80
          minLength: 0
          type: string
          description: Authorized Signer’s First Name
          nullable: true
        authorizedSignerLastName:
          maxLength: 80
          minLength: 0
          type: string
          description: Authorized Signer’s Last Name
          nullable: true
        authorizedPersonCity:
          maxLength: 60
          minLength: 0
          type: string
          description: Authorized Signer’s City
          nullable: true
        authorizedPersonPhone:
          maxLength: 12
          minLength: 0
          type: string
          description: 'Authorized Signer’s Phone Number (formats ##########)'
          format: tel
          nullable: true
        authorizedPersonState:
          maxLength: 2
          minLength: 2
          type: string
          description: Authorized Signer’s State (2-letter state code)
          nullable: true
        authorizedPersonStreet1:
          maxLength: 30
          minLength: 0
          type: string
          description: Authorized Signer’s Street Line 1
          nullable: true
        authorizedPersonTitle:
          maxLength: 80
          minLength: 0
          type: string
          description: Authorized Signer’s Title
          nullable: true
        authorizedPersonZip:
          maxLength: 12
          minLength: 0
          pattern: ([0-9]{5})?(-[0-9]{4})?
          type: string
          description: 'Authorized Signer’s Zip (formats ##### or #####-####)'
          nullable: true
        authorizedSignerName:
          maxLength: 80
          minLength: 0
          type: string
          description: Authorized Signer’s Full Name
          nullable: true
        authorizedSignerEmail:
          maxLength: 80
          minLength: 0
          type: string
          description: Authorized Signer’s Email Address
          format: email
          nullable: true
      additionalProperties: false
    BusinessAddress:
      type: object
      properties:
        businessAddressCity:
          maxLength: 30
          minLength: 0
          type: string
          description: Business City
          nullable: true
        businessAddressLine1:
          maxLength: 30
          minLength: 0
          type: string
          description: Business Address line 1
          nullable: true
        businessAddressLine2:
          maxLength: 30
          minLength: 0
          type: string
          description: Business Address line 2
          nullable: true
        businessAddressState:
          maxLength: 2
          minLength: 2
          type: string
          description: Business Address State
          nullable: true
        businessAddressZip:
          maxLength: 12
          minLength: 0
          pattern: ([0-9]{5})?(-[0-9]{4})?
          type: string
          description: 'Business Address Zip (formats ##### or #####-####)'
          nullable: true
        businessPhone:
          maxLength: 25
          minLength: 0
          type: string
          description: 'Business Phone Number (formats ##########)'
          format: tel
          nullable: true
      additionalProperties: false
    CheckOrderStatusResponse:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/Order'
      additionalProperties: false
    CompanyCodeDetails:
      type: object
      properties:
        companyCodeState:
          maxLength: 2
          minLength: 2
          type: string
          description: Insurer’s Company State Code (2-letter state code)
          nullable: true
        companyCode:
          maxLength: 20
          minLength: 0
          type: string
          description: Insurer’s Company Code
          nullable: true
      additionalProperties: false
    CreateOrderInputData:
      required:
        - firstName
        - lastName
        - taxId
      type: object
      properties:
        firstName:
          maxLength: 80
          minLength: 0
          type: string
          description: Individual’s First Name
        lastName:
          maxLength: 80
          minLength: 0
          type: string
          description: Individual’s Last Name
        middleInitial:
          maxLength: 3
          minLength: 0
          type: string
          description: Individual’s Middle Initial
          nullable: true
        middleName:
          maxLength: 30
          minLength: 0
          type: string
          description: Individual’s Middle Name
          nullable: true
        taxId:
          maxLength: 12
          minLength: 9
          pattern: ([0-9]+)
          type: string
          description: Applicant’s SSN or FEIN
        dateOfBirth:
          maxLength: 10
          minLength: 0
          type: string
          description: Individual’s date of birth
          nullable: true
        niprNoReq:
          maxLength: 10
          minLength: 0
          type: string
          description: 'Applicant’s NPN (National Producer Number) '
          nullable: true
        currentResidenceAddress:
          $ref: '#/components/schemas/CurrentResidenceAddress'
        businessAddress:
          $ref: '#/components/schemas/BusinessAddress'
        mailingAddress:
          $ref: '#/components/schemas/MailingAddress'
        insurerLicenseDetails:
          $ref: '#/components/schemas/InsurerLicenseDetails'
        insurerDetails:
          $ref: '#/components/schemas/InsurerDetails'
        licenseDetails:
          $ref: '#/components/schemas/LicenseDetails'
        feinNumber:
          maxLength: 80
          minLength: 9
          pattern: ([0-9]{9})
          type: string
          description: >-
            Sponsoring Company’s FEIN. *Required* if SponsoringCompany is
            provided
          nullable: true
        cityDomicile:
          maxLength: 80
          minLength: 0
          type: string
          description: Insurer’s City of Domicile (City of Incorporation)
          nullable: true
        insStateDomicile:
          maxLength: 2
          minLength: 2
          type: string
          description: Insurer’s Domicile State (State of Incorporation)
          nullable: true
        dateEffective:
          maxLength: 10
          minLength: 0
          type: string
          description: Effective Date of Appointment or Appointment Termination
          nullable: true
        naicNum:
          maxLength: 5
          minLength: 0
          pattern: ^[0-9]+$
          type: string
          description: Insurer’s NAIC Number. *Required* if SponsoringCompany is provided
          nullable: true
        authorizedSignerDetails:
          $ref: '#/components/schemas/AuthorisedSignerDetails'
        contactName:
          maxLength: 160
          minLength: 0
          type: string
          description: Name of Contact person at the Insurer
          nullable: true
        contactPhone:
          maxLength: 10
          minLength: 0
          type: string
          description: Insurer Contact Person’s Phone Number
          format: tel
          nullable: true
        officerTitle:
          maxLength: 80
          minLength: 0
          type: string
          description: Title of Owner/Officer of the Firm
          nullable: true
        loa:
          type: array
          items:
            type: string
          description: >-
            Possible multiple occurrence of Line of Authority in a single
            transaction
          nullable: true
        domicile:
          $ref: '#/components/schemas/Domicile'
        companyCodeDetails:
          $ref: '#/components/schemas/CompanyCodeDetails'
        residentStateYN:
          maxLength: 1
          minLength: 0
          type: string
          description: Is the filing state the Applicant’s resident state? (Y/N)
          nullable: true
        residentStateText:
          maxLength: 2
          minLength: 2
          type: string
          description: Agency Applicant’s Resident State Abbreviation (2-letter state code)
          nullable: true
        ltp:
          maxLength: 100
          minLength: 0
          type: string
          description: License Type
          nullable: true
        ltpText:
          maxLength: 2
          minLength: 0
          type: string
          description: Text License Type for State (2-letter state code)
          nullable: true
        pinStateFeeDetails:
          $ref: '#/components/schemas/PinStateFeeDetails'
        sponsoringCompany:
          maxLength: 150
          minLength: 0
          type: string
          description: Name of the Sponsoring Insurance Company
          nullable: true
        firmName:
          maxLength: 100
          minLength: 0
          type: string
          description: Agency Applicant’s Full Company Name
          nullable: true
        trm:
          maxLength: 100
          minLength: 0
          type: string
          description: Termination code
          nullable: true
        termReasonText:
          maxLength: 150
          minLength: 0
          type: string
          description: Text Description of the Termination Reason
          nullable: true
        termCauseYN:
          maxLength: 1
          minLength: 0
          type: string
          description: Is this termination “for cause?” (Y/N)
          nullable: true
        surplusLinesYn:
          maxLength: 1
          minLength: 0
          type: string
          description: Is the filing for Surplus Lines? (Y/N)
          nullable: true
        floridaResCty:
          maxLength: 2
          minLength: 0
          type: string
          description: Applicants County Code in Florida for non-residents
          nullable: true
        floridaCountyCode:
          maxLength: 2
          minLength: 0
          type: string
          description: Applicants County Code in Florida for residents
          nullable: true
        appCodeFl:
          maxLength: 4
          minLength: 0
          type: string
          description: Applicants class code in Florida
          nullable: true
        costCenter1:
          maxLength: 25
          minLength: 0
          type: string
          description: Customer specific cost center value (#1)
          nullable: true
        costCenter2:
          maxLength: 25
          minLength: 0
          type: string
          description: Customer specific cost center value (#2)
          nullable: true
      additionalProperties: false
    CreateOrderInputTlqData:
      required:
        - clientOrderNum
        - filingMode
        - fType
        - juris
        - lType
        - pType
        - userId
      type: object
      properties:
        juris:
          maxLength: 2
          minLength: 2
          type: string
          description: Filing State (Two-Letter State Code).
        pType:
          maxLength: 1
          minLength: 1
          type: string
          description: Producer Type (I-Individual, A-Agency).
        fType:
          maxLength: 1
          minLength: 1
          type: string
          description: Filing Type (A-Appointment, T-Appointment Termination).
        lType:
          maxLength: 1
          minLength: 1
          type: string
          description: LOA (License of Authority) Type (M - Major, L – Limited Lines).
        clientOrderNum:
          maxLength: 20
          minLength: 1
          pattern: '[a-zA-Z0-9]+'
          type: string
          description: >-
            Client Order Number is a unique reference number for each record
            that is sent by the client.
        userId:
          maxLength: 12
          minLength: 1
          type: string
          description: Xchange User ID assigned to Licensing Center users by RegEd.
        filingMode:
          maxLength: 1
          minLength: 1
          type: string
          description: Electronic or Paper Transaction Type (E-Electronic, P-Paper).
      additionalProperties: false
    CreateOrderRequest:
      required:
        - data
        - tlq
      type: object
      properties:
        tlq:
          $ref: '#/components/schemas/CreateOrderInputTlqData'
        data:
          $ref: '#/components/schemas/CreateOrderInputData'
      additionalProperties: false
    CreateOrderResponse:
      type: object
      properties:
        order:
          $ref: '#/components/schemas/Order'
      additionalProperties: false
    CurrentResidenceAddress:
      type: object
      properties:
        cResidenceAddress:
          maxLength: 30
          minLength: 0
          type: string
          description: Resident Address line 1
          nullable: true
        cResidenceAddress2:
          maxLength: 30
          minLength: 0
          type: string
          description: Resident Address line 2
          nullable: true
        cResidenceAddressCity:
          maxLength: 30
          minLength: 0
          type: string
          description: Resident Address City
          nullable: true
        cResidenceAddressState:
          maxLength: 2
          minLength: 2
          type: string
          description: Resident Address State (2-letter state code)
          nullable: true
        cResidenceAddressZip:
          maxLength: 12
          minLength: 0
          pattern: ([0-9]{5})?(-[0-9]{4})?
          type: string
          description: 'Resident Address Zip (formats ##### or #####-####)'
          nullable: true
        cResidencePhone:
          maxLength: 25
          minLength: 0
          type: string
          description: 'Resident Phone Number (formats ##########)'
          format: tel
          nullable: true
      additionalProperties: false
    Domicile:
      type: object
      properties:
        insStateDomicile:
          maxLength: 30
          minLength: 0
          type: string
          description: Insurer's Domicile State (State of Incorporation)
          nullable: true
      additionalProperties: false
    InsurerDetails:
      type: object
      properties:
        insurerCity:
          maxLength: 60
          minLength: 0
          type: string
          description: Insurer’s City
          nullable: true
        insurerPhone:
          maxLength: 25
          minLength: 0
          type: string
          description: 'Insurer’s Phone Number (formats ##########)'
          format: tel
          nullable: true
        insurerState:
          maxLength: 2
          minLength: 2
          type: string
          description: Insurer’s State (2-letter state code)
          nullable: true
        insurerStreet1:
          maxLength: 80
          minLength: 0
          type: string
          description: Insurer’s Street Line 1
          nullable: true
        insurerStreet2:
          maxLength: 80
          minLength: 0
          type: string
          description: Insurer’s Street Line 2
          nullable: true
        insurerZip:
          maxLength: 12
          minLength: 0
          pattern: ([0-9]{5})?(-[0-9]{4})?
          type: string
          description: 'Insurer’s Zip (formats ##### or #####-####)'
          nullable: true
      additionalProperties: false
    InsurerLicenseDetails:
      type: object
      properties:
        insurersLicenseNumber:
          maxLength: 30
          minLength: 0
          type: string
          description: Insurer’s State-Specific License Number
          nullable: true
        insLicState:
          maxLength: 2
          minLength: 2
          type: string
          description: Insurer’s License State (2-letter state code)
          nullable: true
      additionalProperties: false
    LicenseDetails:
      type: object
      properties:
        licenseNumber:
          maxLength: 30
          minLength: 0
          type: string
          description: Applicant’s State-Specific License Number
          nullable: true
        licenseState:
          maxLength: 2
          minLength: 2
          type: string
          description: Applicant’s License State (2-letter state code)
          nullable: true
      additionalProperties: false
    LoaItem:
      type: object
      properties:
        description:
          maxLength: 200
          minLength: 0
          type: string
          nullable: true
        niprCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
        effectiveDate:
          maxLength: 22
          minLength: 0
          type: string
          description: Effective Date of Appointment or Appointment Termination
          nullable: true
        reason:
          maxLength: 4000
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    MailingAddress:
      type: object
      properties:
        mailAddress1:
          maxLength: 30
          minLength: 0
          type: string
          description: Mail Address line 1
          nullable: true
        mailAddress2:
          maxLength: 30
          minLength: 0
          type: string
          description: Mail Address line 2
          nullable: true
        mailCity:
          maxLength: 30
          minLength: 0
          type: string
          description: Mail Address City
          nullable: true
        mailState:
          maxLength: 2
          minLength: 2
          type: string
          description: Mail Address State
          nullable: true
        mailZip:
          maxLength: 12
          minLength: 0
          pattern: ([0-9]{5})?(-[0-9]{4})?
          type: string
          description: 'Mail Address Zip (formats ##### or #####-####)'
          nullable: true
      additionalProperties: false
    Order:
      type: object
      properties:
        orderDetails:
          $ref: '#/components/schemas/OrderDetails'
        itemDetails:
          $ref: '#/components/schemas/OrderItemDetails'
      additionalProperties: false
    OrderDetails:
      type: object
      properties:
        clientOrderNumber:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            Client Order Number is a unique reference number for each record
            that is sent by the client.
          nullable: true
        orderNumber:
          maxLength: 30
          minLength: 0
          type: string
          description: Confirmation number generated by RegEd when order is created
          nullable: true
        orderSequence:
          maxLength: 30
          minLength: 0
          type: string
          description: Confirmation number generated by RegEd when order is created
          nullable: true
        orderStatus:
          maxLength: 50
          minLength: 0
          type: string
          description: Current Status of order. (17, 19, 23, 24, 25)
          nullable: true
        niprProcessed:
          maxLength: 1
          minLength: 0
          type: string
          description: Is order processed at NIPR? (Y/N)
          nullable: true
        modifiedDate:
          maxLength: 22
          minLength: 0
          type: string
          description: Date of last modification of Filing
          nullable: true
      additionalProperties: false
    OrderDetailsItem:
      type: object
      properties:
        itemNumber:
          maxLength: 10
          minLength: 0
          type: string
          description: A unique identifier for each record, generated by RegEd
          nullable: true
        serviceType:
          maxLength: 25
          minLength: 0
          type: string
          description: Service Type “Appointment” or “Appointment Termination”
          nullable: true
        fType:
          maxLength: 1
          minLength: 1
          type: string
          description: Filing Type (A-Appointment, T-Appointment Termination).
          nullable: true
        taxId:
          maxLength: 12
          minLength: 9
          pattern: ([0-9]+)
          type: string
          description: Applicant’s SSN
          nullable: true
        juris:
          maxLength: 2
          minLength: 2
          type: string
          description: Filing State (Two-Letter State Code).
          nullable: true
        modifiedDate:
          maxLength: 22
          minLength: 0
          type: string
          description: Date Order is Created
          nullable: true
        sponsoringCompany:
          maxLength: 150
          minLength: 0
          type: string
          description: Name of the Sponsoring Insurance Company
          nullable: true
        validationStatus:
          maxLength: 10
          minLength: 0
          type: string
          description: Validation Status of the Order
          nullable: true
        itemStatus:
          maxLength: 2
          minLength: 0
          type: string
          description: Numerical Status of an Item
          nullable: true
        itemStatusDescription:
          maxLength: 50
          minLength: 0
          type: string
          description: Description of Numerical Status of an Item
          nullable: true
        itemComments:
          maxLength: 2000
          minLength: 0
          type: string
          description: Comments from NIPR
          nullable: true
        loas:
          type: array
          items:
            $ref: '#/components/schemas/LoaItem'
          description: Possible multiple occurrence of Line of Authority
          nullable: true
        validationMessages:
          type: array
          items:
            type: string
          description: Description of missing mandatory fields.
          nullable: true
      additionalProperties: false
    OrderItemDetails:
      type: object
      properties:
        item:
          type: array
          items:
            $ref: '#/components/schemas/OrderDetailsItem'
          nullable: true
        target:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of Applicant
          nullable: true
        addedDate:
          maxLength: 22
          minLength: 0
          type: string
          description: Date Order is Created
          nullable: true
      additionalProperties: false
    PinStateFeeDetails:
      type: object
      properties:
        pinStateFee:
          maxLength: 20
          minLength: 0
          type: string
          description: License Fee Amount for State
          nullable: true
        pinFeeState:
          maxLength: 2
          minLength: 2
          type: string
          description: State for which License Fee is Charged (2-letter state code)
          nullable: true
      additionalProperties: false
