---
openapi: 3.0.0
info:
  title: Benefits API
  description: "# Summary \nBenefits API will provide employee's benefits information for carrier assigned group number. It includes Member benefit enrollment, Member benefit updates and Member search capabilities.\n\n# Versioning  \nBenefits API uses url path prefixing to maintain different versions of the api. The format used is a 'v' followed by the version number. Current version is v3.\n\n# Status Codes \nStatus Code  | Description\n-------------|-------------\n200          | Ok.\n400          | Bad Request. See error response with message. \n401          | Not a valid API key or Unauthorized.  \n404          | Not Found. Either no API endpoint was found or there were no results for given parameters.\n500          | Internal Server Error.  \n\n# Authentication and Authorization \nBenefits API leverages Guardian's Authorization server to provide\n secure access using the JWT client credentials grant.\n"
  termsOfService: /terms-and-conditions
  contact:
    name: API Support
    email: API_Admin@glic.com
  version: v3
  x-logo:
    altText: Group Insurance logo
tags:
- name: Employee Enrollment
  description: Enroll Employee to Guardian Policy.
- name: Employee Inquiry
  description: Get Employee(s) details.
- name: Transmission Status
  description: Status of transaction
- name: transaction
  description: |
    <SchemaDefinition schemaRef="#/components/schemas/Transmission"/>
  x-displayName: Transaction
- name: transmission_response
  description: |
    <SchemaDefinition schemaRef="#/components/schemas/TransmissionResponse"/>
  x-displayName: Transmission Response
- name: transmission_status_request
  description: |
    <SchemaDefinition schemaRef="#/components/schemas/TransmissionStatusRequest"/>
  x-displayName: Transmission Status Request
- name: employee_details
  description: |
    <SchemaDefinition schemaRef="#/components/schemas/EmployeesDetails"/>
  x-displayName: Employee Details
paths:
  /v3/policies/{master-agreement-number}/employees:
    get:
      tags:
      - Employee Inquiry
      summary: Get list of Employee(s) under Guardian's Group Policy.
      description: Pull all active demographic and benefit elections for all employees and dependents.
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: true
        schema:
          maxLength: 8
          minLength: 8
          type: string
          example: "00123456"
      - name: CoverageInfoRequired
        in: query
        description: Possible values Y or N. Response will contain benefit information if field is set to Y. Blank will default to N.
        required: false
        style: form
        explode: true
        schema:
          maxLength: 1
          type: string
          example: "Y"
      - name: AsOfDate
        in: query
        description: Date as of employee list is generated. If left blank field will default to current date.
        required: false
        style: form
        explode: true
        schema:
          type: string
      - name: NextPageKey
        in: query
        description: For first request this field should be left blank. for subsequest requests on the same plan this field should contain next page key from response.
        required: false
        style: form
        explode: true
        schema:
          type: number
      - name: MaximumEmployeesPerPage
        in: query
        description: This field will be utilized for the client to request how many employee records should appear in the response. Max employee count should not be greater than 50.
        required: false
        style: form
        explode: true
        schema:
          maxLength: 3
          type: number
          example: 20
      responses:
        "200":
          description: Ok.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/EmployeesDetails'
        "400":
          description: Bad Request.
        "401":
          description: Not valid API Key.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
    post:
      tags:
      - Employee Enrollment
      summary: Enroll or update Employee / dependent benefits.
      description: Use this endpoint to enroll a new employee, update demographics and/or employment information of an existing employee, terminate an employee, reinstate a terminated employee, update an employee coverages by either electing or waiving, add a dependent, terminate a dependent, update dependent demographics, reinstate a terminated dependent.
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 8
          minLength: 8
          type: string
          example: "00123456"
      requestBody:
        description: Payload containing Employee data including dependents and benefits.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Transmission'
        required: true
      responses:
        "200":
          description: Ok.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/TransmissionResponse'
        "400":
          description: Bad Request.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/TransmissionResponse'
        "401":
          description: Not valid API Key or Unauthorized.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
  /v3/policies/{master-agreement-number}/employees/search:
    post:
      tags:
      - Employee Inquiry
      summary: Searching Employee(s) under Guardian's Policy.
      description: Search all active demographic and benefit elections for all employees and dependents for a specific group, bill group location or specific employee
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 8
          minLength: 8
          type: string
      requestBody:
        description: Request object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/employees_search_body'
        required: true
      responses:
        "200":
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transmission'
        "400":
          description: Bad Request.
        "401":
          description: Not valid API Key or Unauthorized.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
  /v3/policies/{master-agreement-number}/employees/transactionstatus/{transmissionguid}:
    get:
      tags:
      - Transmission Status
      summary: Provide status of enrollment / update transaction.
      description: Use to retreive status of enrollment / update transaction for given transmission guid.
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 8
          minLength: 8
          type: string
          example: "00123456"
      - name: transmissionguid
        in: path
        description: TransmissionGUID
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 50
          type: string
          example: BenAdminTransactionID
      responses:
        "200":
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransmissionResponse'
        "400":
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponses'
        "401":
          description: Not a valid API key or Unauthorized.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
  /v3/policies/{master-agreement-number}/employees/transactionstatus:
    post:
      tags:
      - Transmission Status
      summary: Provide status of enollment / update transaction.
      description: Use to retreive status of enrollment / update transaction based on search criteria.
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 8
          minLength: 8
          type: string
          example: "00123456"
      requestBody:
        description: Payload containing transmission details to retrieve status.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransmissionStatusRequest'
      responses:
        "200":
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransmissionResponses'
        "400":
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponses'
        "401":
          description: Not a valid API key or Unauthorized.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
  /v3/policies/{master-agreement-number}/employees/enrollment-complete:
    post:
      tags:
      - Employee Enrollment
      summary: Notification from BenAdmin indicating enrollment is complete .
      description: Enrollment Complete Notification.
      parameters:
      - name: master-agreement-number
        in: path
        description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number.
        required: true
        style: simple
        explode: false
        schema:
          maxLength: 8
          minLength: 8
          type: string
          example: "00123456"
      requestBody:
        description: Payload containing information on enrollment completion status .
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrollmentCompleteRequest'
      responses:
        "200":
          description: Ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrollmentCompleteResponse'
        "400":
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponses'
        "401":
          description: Not a valid API key or Unauthorized.
        "404":
          description: Not Found. Either no API endpoint was found or there were no results for given parameters.
        "500":
          description: Internal Server Error
        default:
          description: Internal Server Error
components:
  schemas:
    EmployeesDetails:
      type: object
      properties:
        Transmission:
          $ref: '#/components/schemas/Transmission'
        PageResponse:
          $ref: '#/components/schemas/EmployeesDetails_PageResponse'
    TransmissionResponses:
      type: object
      properties:
        TransmissionResponse:
          type: array
          items:
            $ref: '#/components/schemas/TransmissionResponse'
    Transmission:
      required:
      - Carrier
      - CreationDateTime
      - Employer
      - ReceiverName
      - SchemaVersionIdentifier
      - SenderName
      - SenderPlatformName
      - TestProductionCode
      - TransmissionGUID
      - TransmissionTypeCode
      type: object
      properties:
        TransmissionGUID:
          type: string
          description: Global unique identifier created by the originator for this instance of the electronic transmission. This is Guardian's primary tracking key for the transmission.
          example: BenAdminTransactionID
        SenderName:
          type: string
          description: Name of the company sending electronic benefit records on behalf of a Guardian Client.
          example: BenAdminName
        SenderPlatformName:
          type: string
          description: Identifies the Benefit Administrator Partner's system that is providing the data for this data set.
          example: ClientName
        ReceiverName:
          type: string
          description: Name of the company receiving electronic benefit records.
          example: Guardian
        CreationDateTime:
          type: string
          description: UTC date and time the transmission was created.
          example: 2019-10-10 10:00:00 UTC
        TestProductionCode:
          $ref: '#/components/schemas/TestProduction'
        TransmissionTypeCode:
          $ref: '#/components/schemas/TransmissionType'
        SchemaVersionIdentifier:
          type: string
          description: Identifies the version of the standard that is being adhered to in this data set.
          example: 1.0.0
        Carrier:
          type: array
          items:
            $ref: '#/components/schemas/Carrier'
        Employer:
          type: array
          items:
            $ref: '#/components/schemas/Employer'
        Audit:
          $ref: '#/components/schemas/Audit'
      description: An instance of the electronically transmitted information, such as the Benefit Administrator, Insurance Carrier, version, etc.
    TestProduction:
      type: string
      description: Indicates the elements contained in this data set are production or test data.
      enum:
      - Test
      - Production
    TransmissionType:
      type: string
      description: The type of data contained within the data set.
      enum:
      - FullFile
      - ChangesOnly
      - ActivesOnly
    Carrier:
      required:
      - CarrierID
      - CarrierName
      type: object
      properties:
        CarrierID:
          type: string
          description: A unique identifier for each instance of a Carrier established within the context of a given transaction.
          example: CarrierID
        CarrierName:
          type: string
          description: The distinctive designation of the Carrier sending or receiving the data in this transmission.
          example: CarrierName
      description: An entity, such as an insurance company, sending or receiving the data in this transmission.
      example: Guardian
    Employer:
      required:
      - CarrierMasterAgreementNumber
      - Employee
      - EmployerName
      - EmployerPartyID
      type: object
      properties:
        EmployerPartyID:
          type: string
          description: A unique identifier for each instance of an Employer established within the context of a given transaction.
        FederalEmployerIdentificationNumber:
          type: string
          description: A nine-digit unique number assigned by the Internal Revenue Service (IRS) to businesses operating in the United States.
        CarrierMasterAgreementNumber:
          type: array
          items:
            $ref: '#/components/schemas/CarrierMasterAgreementNumber'
        EmployerName:
          type: string
          description: This is the name of the entity tied to the MasterAgreementNumber.
        EmployerAddress:
          $ref: '#/components/schemas/PostalAddress'
        CarrierOriginalEffectiveDate:
          type: string
          description: Date Carrier is effective for Benefits.
        Employee:
          type: array
          items:
            $ref: '#/components/schemas/Employee'
      description: An entity that employees people or is organized for a joint purpose.
    CarrierMasterAgreementNumber:
      required:
      - CarrierID
      - CarrierMasterAgreementNumberID
      - MasterAgreementNumber
      type: object
      properties:
        CarrierMasterAgreementNumberID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
        MasterAgreementNumber:
          type: string
          description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number. This may be the same as the policy number.
          example: "00123456"
        CarrierID:
          type: string
          description: A unique identifier for each instance of a Carrier established within the context of a given transaction.
      description: Carrier assigned group number. All individual policies or certificates at the group level would roll up to this master group number. This may be the same as the policy number.
    PostalAddress:
      required:
      - CityName
      - FirstLineAddress
      - PostalCode
      type: object
      properties:
        FirstLineAddress:
          type: string
          description: The first line of a formatted address - e.g., Street Number + Street Name, P.O. Box, etc.
          example: 7 Hanover Sq
        SecondLineAddress:
          type: string
          description: The second line of a formatted address
          example: 10th Floor
        ThirdLineAddress:
          type: string
          description: The third line of a formatted address that is sometimes used for things like 'care of'.
          example: Care of Guardian
        CityName:
          type: string
          description: The city where the address is located.
          example: New York City
        StateProvinceCode:
          $ref: '#/components/schemas/StateProvince'
        PostalCode:
          type: string
          description: The unique identifier used to associate postal deliveries. This may also be referred to as zip code or post code where the address is located.
          example: 10004-1234
        CountryCode:
          $ref: '#/components/schemas/Country'
      description: An address used for the delivery of letters and packages by an external mailing or packaging service, at a place where the recipient usually lives or works.
    StateProvince:
      type: string
      description: A short, alphabetic geographic abbreviation for the state or province within a country.
      enum:
      - AL
      - AK
      - AZ
      - AR
      - CA
      - CO
      - CT
      - DE
      - FL
      - GA
      - HI
      - ID
      - IL
      - IN
      - IA
      - KS
      - KY
      - LA
      - ME
      - MD
      - MA
      - MI
      - MN
      - MS
      - MO
      - MT
      - NE
      - NV
      - NH
      - NJ
      - NM
      - NY
      - NC
      - ND
      - OH
      - OK
      - OR
      - PA
      - RI
      - SC
      - SD
      - TN
      - TX
      - UT
      - VT
      - VA
      - WA
      - WV
      - WI
      - WY
      - DC
      - AS
      - GU
      - MP
      - PR
      - UM
      - VI
      - AB
      - BC
      - MB
      - NB
      - NL
      - NS
      - PE
      - QE
      - SU
      - NT
      - NU
      - YT
      - AG
      - BS
      - CM
      - CS
      - CH
      - CL
      - DF
      - DG
      - GT
      - GR
      - HG
      - JA
      - EM
      - NA
      - OA
      - PU
      - QT
      - QR
      - SL
      - SI
      - SO
      - TB
      - TM
      - TL
      - VE
      - YU
      - ZA
    Country:
      type: string
      description: A short alphabetic, geographical code for a country used for data processing and communications.
      enum:
      - USA
      - CA
      - OTH
      - US
      - MX
    Employee:
      required:
      - EmployeeBirthDate
      - EmployeeGenderCode
      - EmployeeMailingAddress
      - EmployeeName
      - EmployeePartyID
      - EmployeeSocialSecurityNumber
      type: object
      properties:
        EmployeePartyID:
          type: string
          description: A unique identifier for each instance of an Employee established within the context of a given transaction.
        EmployeeSocialSecurityNumber:
          type: string
          description: A numerical identifier assigned to U.S. citizens and some residents to track their income. Guardian mandatory field.
        EmployeeIdentifier:
          type: string
          description: Employer or Plan Sponsor Issued Identifier.
        EmployeeName:
          $ref: '#/components/schemas/StructuredPersonName'
        EmployeeGenderCode:
          $ref: '#/components/schemas/Gender'
        EmployeeBirthDate:
          type: string
          description: The date on which a person was born.
        MaritalStatusCode:
          $ref: '#/components/schemas/MaritalStatus'
        EmployeeTobaccoUseCode:
          $ref: '#/components/schemas/TobaccoUse'
        EmployeeHomePhone:
          type: string
          description: An entity's home communication point, as defined by the telecommunication services.  It includes voice telephone communication. Field will only be captured if mobile phone is blank or invalid.
        EmployeeWorkPhone:
          type: string
          description: An entity's work communication point, as defined by the telecommunication services.  It includes voice telephone communication. Field will only be captured if mobile phone and home phone is blank or invalid
        EmployeeMobilePhone:
          type: string
          description: An entity's mobile communication point, as defined by the telecommunication services.  It includes voice telephone communication.
        EmployeeMailingAddress:
          $ref: '#/components/schemas/PostalAddress'
        EmployeeHomeAddress:
          $ref: '#/components/schemas/PostalAddress'
        EmployeeWorkAddress:
          $ref: '#/components/schemas/PostalAddress'
        EmployeeEmail:
          type: string
          description: A message distributed by electronic means from one computer user to one or more recipients via a network.
          format: email
        EmployeeAlternateEmail:
          type: string
          description: A message distributed by electronic means from one computer user to one or more recipients via a network. Field will only be captured if employee_email is blank or invalid.
          format: email
        EmploymentInformation:
          $ref: '#/components/schemas/EmploymentInformation'
        EnrollmentInformation:
          type: array
          items:
            $ref: '#/components/schemas/EnrollmentInformation'
        Event:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        EmployeeEventID:
          type: array
          description: A unique identifier for each instance of an Employee Event established within the context of a given transaction.
          items:
            type: string
        Dependent:
          type: array
          items:
            $ref: '#/components/schemas/Dependent'
        OtherParty:
          type: array
          items:
            $ref: '#/components/schemas/OtherParty'
        BeneficiaryGroup:
          type: array
          items:
            $ref: '#/components/schemas/BeneficiaryGroup'
        EmployeeQuestion:
          type: array
          items:
            $ref: '#/components/schemas/Question'
        Producer:
          type: array
          items:
            $ref: '#/components/schemas/Producer'
        Coverage:
          type: array
          items:
            $ref: '#/components/schemas/Coverage'
      description: An individual who works part-time or full-time under a contract of employment, whether oral or written, express or implied, and has recognized rights and duties.
    StructuredPersonName:
      type: object
      properties:
        PrefixCode:
          $ref: '#/components/schemas/Prefix'
        FirstName:
          type: string
          description: The person's name normally preceding the last name and typically used to refer to the person in both formal and/or informal circumstances.
          example: John
        MiddleName:
          type: string
          description: The additional names given to a person, usually at birth, and which appear sequentially between the first name and last name.
          example: M
        LastName:
          type: string
          description: The part of a person's name arising from family identifications.
          example: Doe
        SuffixCode:
          $ref: '#/components/schemas/Suffix'
      description: The representation of a Person's name.
    Prefix:
      type: string
      description: A letter or group of letters that is added at the beginning of a Name - e.g., Mr., Mrs., Ms., etc. Not a Guardian utilized field, please send null.
      enum:
      - Ms
      - Mr
      - Mrs
      - Dr
      - Rev
    Suffix:
      type: string
      description: The titles, qualifications, or positions that follow the person's name when addressing her formally or professionally, usually when writing - e.g., Sr., Jr., etc. Not a Guardian utilized field, please send null.
      enum:
      - Jr
      - Sr
      - III
      - Other
      - II
      - IV
      - V
      - VI
      - MD
      - DDS
      - PHD
    Gender:
      type: string
      description: A designation of the sexes, generally the state of being female, male or undesignated.  It may also be that the state is unknown (i.e., not provided). NotSpecified and NonBinary will not be accepted as values for this field. Guardian mandatory field.
      enum:
      - Female
      - Male
      - NotSpecified
      - NonBinary
    MaritalStatus:
      type: string
      description: Any of several distinct options that describe a person's relationship with a significant other - e.g., married, single, divorced, and widowed are examples of civil status.
      enum:
      - Divorced
      - Married
      - Single
      - Widowed
      - DomesticPartner
      - LegallySeparated
      - Unknown
    TobaccoUse:
      type: string
      description: Identifies whether a person uses tobacco or not. Field is mandatory when group has coverage(s) with preferred rates.
      enum:
      - "Y"
      - "N"
    EmploymentInformation:
      required:
      - EmploymentStatusCode
      - EmploymentTypeCode
      - OriginalHireDate
      - WorkHoursFrequencyCode
      - WorkHoursQuantity
      type: object
      properties:
        OriginalHireDate:
          type: string
          description: Earliest possible date the employee became actively eligible for benefits with the employer.
        MostRecentHireDate:
          type: string
          description: The most recent date the Employee became actively eligible for benefits with the employer (e.g. changing from Part Time to Full Time). This field is mandatory if the Employee has had a previous start and end of benefit eligibility.
        AdjustedServiceDate:
          type: string
          description: Date employee is eligible for Benefits .Not a Guardian utilized field, please send null.
        OriginalEffectiveDate:
          type: string
          description: Date employee is effective for Benefits. Not a Guardian utilized field, please send null.
        ExemptCode:
          $ref: '#/components/schemas/Exempt'
        EmploymentTypeCode:
          $ref: '#/components/schemas/EmploymentType'
        EmploymentStatusCode:
          $ref: '#/components/schemas/EmploymentStatus'
        TerminationDate:
          type: string
          description: The last day worked by an employee.
        TerminationReasonCode:
          $ref: '#/components/schemas/TerminationReason'
        JobTitleText:
          type: string
          description: The position held by an employee.
        OccupationText:
          type: string
          description: A job or profession.
        WorkHoursQuantity:
          type: number
          description: Number of Scheduled hours worked. This needs to correlate with the WorkHoursFrequencyCode.
        WorkHoursFrequencyCode:
          $ref: '#/components/schemas/WorkHoursFrequency'
        WorkLocationText:
          type: string
          description: Group/Department Location Name for Billing Purposes. This field can contain a maximum of 8 characters. If more than 8 characters are submitted the field will be turncated to the first 8 characters. This field will determine how an employer's bill is sorted.
        PayrollDeductionFrequencyCode:
          $ref: '#/components/schemas/PayrollDeductionFrequency'
        PayrollFrequencyQuantity:
          type: integer
          description: Number of scheduled Pay Periods per year.
        SupervisorFullName:
          type: string
          description: The first and last name of the Employee's supervisor. Required, for Absence Management services.
        SupervisorEmailAddress:
          type: string
          description: The electronic address for the Employee's supervisor. Required, for Absence Management services.
        HumanResourcePartnerEmailAddress:
          type: string
          description: The electronic address for the employee's HR partner. Required, for Absence Management services.  Optional, for all other events and transactions.
        UnionIndicator:
          type: boolean
          description: Indicates whether the Employee is a member of the Union or not (Y or N). Not a Guardian utilized field, please send null.
        UnionLocalName:
          type: string
          description: The name of a locally-based group of workers with a charter from a national or international union. Not a Guardian utilized field, please send null.
        UnionLocalNumber:
          type: string
          description: The number for the locally-based group of workers with a charter from a national or international union. Not a Guardian utilized field, please send null.
        UnionMemberNumber:
          type: string
          description: An identifier for a person belonging to a Union Local. Not a Guardian utilized field, please send null.
        EmploymentIncome:
          type: array
          items:
            $ref: '#/components/schemas/EmploymentIncome'
        AnnualBenefitSalaryAmount:
          type: number
          description: The salary on which salary-based benefit amounts are established. Not a Guardian utilized field, please send null.
        EmploymentInformationUserDefinedCategory:
          type: array
          items:
            $ref: '#/components/schemas/EmploymentInformationUserDefinedCategory'
      description: Information about the employment arrangement between an Employer and Employee.
    Exempt:
      type: string
      description: Employee is exempt (not eligible) vs. nonexempt (eligible) from overtime.
      enum:
      - Exempt
      - Nonexempt
    EmploymentType:
      type: string
      description: Describes the Type of Employment for the employee.
      enum:
      - FullTime
      - PartTime
      - Seasonal
      - Contract
    EmploymentStatus:
      type: string
      description: Identifies the state of the member's employment (e.g. Active,Terminated, Leave, Retiree).
      enum:
      - Active
      - Cobra
      - Retiree
      - Terminated
      - LeaveOfAbsencePaid
      - LeaveOfAbsenceUnpaid
      - OnDI
      - MilitaryLeave
      - Pended
    TerminationReason:
      type: string
      description: Describes why the person's employment was terminated.
      enum:
      - Termination
      - Retirement
      - LeaveOfAbsence
      - Death
      - Other
      - Layoff
      - Medicare/Termination
      - Termination-NotCOBRAEligible
      - Termination-Relocation
      - Termination-Other Employment
      - Termination-Dissatisfaction
      - Termination-Invol.Separation
      - Termination-EligibleForRehire
      - Termination-Voluntary
      - Termination-Mutual
      - Termination-Declined
      - MilitaryLeave
      - Termination-PositionEliminated
      - Termination-Performance
      - LongTermDisability
      - ClientTermination-NotCOBRAEligible
      - Termination-IneligibleForRehire
      - Termination-SeveranceOption
      - DirectHire-NotCOBRAEligible
      - ContractEnded-NotCOBRAEligible
      - Seasonal-NotCOBRAEligible
      - Terminated- JobAbandonment
      - Terminated-NoCall/NoShow
      - Terminated-GrossMisconduct
    WorkHoursFrequency:
      type: string
      description: Mode in which Number of hours worked is calculated.Guardian mandatory field.
      enum:
      - Weekly
      - Monthly
      - Annual
    PayrollDeductionFrequency:
      type: string
      description: Number of scheduled Deductions per year.
      enum:
      - AnnualSalary
      - Monthly12PerYear
      - BiWeekly26PerYear
      - SemiMonthly21PerYear
      - SemiMonthly24PerYear
      - Weekly52PerYear
      - Weekly48PerYear
      - Quarterly
      - SemiAnnual
      - 9thly
      - 10thly
    EmploymentIncome:
      type: object
      properties:
        IncomeTypeCode:
          $ref: '#/components/schemas/IncomeType'
        IncomeAmount:
          type: number
          description: The actual dollar amount. Guardian mandatory field if the group has salary based benefits.
        IncomeModeCode:
          $ref: '#/components/schemas/ModeType'
        IncomeEffectiveDate:
          type: string
          description: Date the IncomeAmount became effective. The field will be defaulted to the transmission date if field is blank.
      description: Money that an individual receives in exchange for providing a good or service.
    IncomeType:
      type: string
      description: Describes the type of income - e.g., base salary, commission, bonus.
      enum:
      - Salary
      - AdditionalCompensation
      - Commission
      - Bonus
      - DifferentialPay
      - FrozenPay
      - TotalCompensation
    ModeType:
      type: string
      description: Frequency in which money is exchanged.Guardian mandatory field if the group has salary based benefits.
      enum:
      - Hourly
      - AnnualSalary
      - Monthly12PerYear
      - BiWeekly26PerYear
      - SemiMonthly24PerYear
      - SemiMonthly21PerYear
      - Weekly52PerYear
      - Weekly48PerYear
      - Quarterly
      - SemiAnnual
      - 9thly
      - 10thly
    EmploymentInformationUserDefinedCategory:
      required:
      - CategoryName
      type: object
      properties:
        CategoryName:
          type: string
          description: The name of the user defined data point associated with a given Employee's employment.
        CategoryValueString:
          type: string
          description: A contextual element for passing a string value for the user defined data.
      description: User defined field names that are agreed upon by sender/receiver during implementation
    EnrollmentInformation:
      required:
      - EnrollmentInformationID
      type: object
      properties:
        EnrollmentInformationID:
          type: string
          description: A unique identifier for each instance of an Enrollment established within the context of a given transaction.
        EnrollmentMethodCode:
          $ref: '#/components/schemas/EnrollmentMethod'
        ComprehensiveHealthBenefitIndicator:
          type: boolean
          description: Indicator to denote whether the member is a covered under a separate major medical plan denoted at the time of enrollment. Not a Guardian utilized field, please send null.
        EmployeeEnrollmentLocationAddress:
          $ref: '#/components/schemas/PostalAddress'
      description: The action of people making benefit elections as set forth by their Employer and Insurance Carrier.
    EnrollmentMethod:
      type: string
      description: List of ways members enroll into  the benefit.
      enum:
      - OneOnOne
      - CallCenter
      - InternetOrSelfService
      - HumanResources
      - Paper
      - Mobile
    Event:
      required:
      - EventDate
      - EventID
      - EventTypeCode
      - EventTypeReasonCode
      type: object
      properties:
        EventID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
        EventTypeCode:
          $ref: '#/components/schemas/EventType'
        EventTypeReasonCode:
          $ref: '#/components/schemas/EventTypeReason'
        EventDate:
          type: string
          description: The date on which a specific occurrence took place.
        TransactionDate:
          type: string
          description: Date the employee enrolled and saved their elections in the enrollment system.
        EnrollmentInformationID:
          type: string
          description: A unique identifier for each instance of an Enrollment established within the context of a given transaction. Requirements:- Situational, required if the Event is related to an Enrollment and EnrollmentInformation is provided within the Transmission. The EnrollmentInformationID must exist in the list of IDs from the Employee. EnrollmentInformation section of the schema.
      description: A thing that happens or takes place, especially one of importance - e.g., a universal reason for member enrollment such as new hire, annual enrollment, qualifying life event.
    EventType:
      type: string
      description: It describes the things that are happening / taking place that are of importance.
      enum:
      - Coverage
      - Employment
      - Demographic
    EventTypeReason:
      type: string
      description: A cause, explanation, or justification for an action or event.
      enum:
      - BenefitClassChangeSpecial
      - AdministrativeCorrection
      - ApprovedEvidenceOfInsurability
      - ApprovedPendedEnrollment
      - Cancellation
      - ChildNoLongerEligible
      - ClientTermination
      - COBRAActivation
      - COBRAEndCoverage
      - InitialEnrollment
      - LateEntrant
      - LossOfSpousesBenefitEligibility
      - New
      - NewHireEnrollment
      - NewRetireeEnrollment
      - NonPaymentOfContributions
      - OpenEnrollment
      - OtherNonCOBRALossOfCoverage
      - QualifyingLifeEventEnrollment
      - Reenrollment
      - Reinstatement
      - RejectedEvidenceOfInsurability
      - RetirementEndCoverage
      - Rollover
      - SpecialEnrollment
      - UnderwritingDecision
      - CoverageChange
      - VoluntaryCancel
      - AddressChange
      - BirthAdoption
      - Birthdate
      - ChangeToFullTimeStudent
      - ChildDeath
      - ChildRegainsEligibility
      - Death
      - DemographicChange
      - DivorceLegalSeparation
      - DomesticPartnerSeparation
      - Marriage
      - SpouseDeath
      - SurvivingChildEmployeeDeceased
      - SurvivingSpouseEmployeeDeceased
      - TobaccoChange
      - ZipLocationChange
      - CommenceFMLALeave
      - CommenceUnpaidLeaveOfAbsence
      - ExtendedLeave
      - IncreaseInHours
      - InterCompanyTransfer
      - Layoff
      - LossOfBenefitStatus
      - MilitaryLeaveOfAbsence
      - ReductionInHours
      - Rehire
      - Retirement
      - ReturnFromFMLALeave
      - ReturnFromMilitaryLeave
      - ReturnFromOtherUnpaidLeaveOfAbsence
      - IncreaseInCoverage
      - Suspension
      - ReductionInCoverage
      - Termination
      - LongTermDisability
      - TerminationNotCOBRAEligible
      - NewHire
      - Unknown
      - EmploymentTypeChange
      - OnStrike
      - Sabbatical
      - ShortTermDisability
    Dependent:
      required:
      - DependentBirthDate
      - DependentName
      - DependentPartyID
      - DependentRelationshipTypeCode
      type: object
      properties:
        DependentPartyID:
          type: string
          description: A unique identifier for each instance of a Dependent established within the context of a given transaction.
          example: Dep001
        DependentSocialSecurityNumber:
          type: string
          description: A numerical identifier assigned to U.S. citizens and some residents to track their income.
          example: "456789524"
        DependentIdentifier:
          type: string
          description: Employer or Plan Sponsor Issued Dependent Identifier.
          example: Dep01
        DependentName:
          $ref: '#/components/schemas/StructuredPersonName'
        DependentRelationshipTypeCode:
          $ref: '#/components/schemas/DependentRelationshipType'
        DependentGenderCode:
          $ref: '#/components/schemas/Gender'
        DependentBirthDate:
          type: string
          description: The date on which this instance of a Dependent was born.
          example: 2000-01-10
        DependentHomePhone:
          type: string
          description: An entity's home communication point, as defined by the telecommunication services. It includes voice telephone communication.
          example: "4567891233"
        DependentWorkPhone:
          type: string
          description: An entity's work communication point, as defined by the telecommunication services. It includes voice telephone communication.
          example: "4567891235"
        DependentMobilePhone:
          type: string
          description: An entity's mobile communication point, as defined by the telecommunication services.  It includes voice telephone             communication.
          example: "4567891234"
        DependentMailingAddress:
          $ref: '#/components/schemas/PostalAddress'
        DependentHomeEmail:
          type: string
          description: A message distributed by electronic means from one computer user to one or more recipients via a network.
          format: email
          example: john@gmail.com
        DisabilityIndicator:
          type: boolean
          description: A flag that indicates whether a Person according to a medical opinion is temporarily unable to engage in his or her professional activity, does not engage in it, and is not engaged in any other gainful employment.
          example: true
        StudentStatusCode:
          $ref: '#/components/schemas/StudentStatus'
        DependentTobaccoUseCode:
          $ref: '#/components/schemas/TobaccoUse'
        DependentEventID:
          type: array
          description: A unique identifier for each instance of a Dependent Event established within the context of a given transaction.
          items:
            type: string
            example: evt02
      description: Person who relies on another, especially a family member, for financial support.
    DependentRelationshipType:
      type: string
      description: Describes the relationship between the Employee and this instance of a Dependent. Other will not be accepted as a value for this field.
      enum:
      - Spouse
      - Child
      - Partner
      - Grandchild
    StudentStatus:
      type: string
      description: A person who is studying at a school or college. Field will only be updated at time of new enrollment or when adding a coverage.  Changes to the current status must be submitted through a yearly  notification sent to the employee, Guardian Anytime or Customer Service.
      enum:
      - FullTime
      - PartTime
      - NonStudent
    OtherParty:
      required:
      - OtherPartyID
      - OtherPartyRelationshipTypeCode
      - OtherPartyTypeCode
      type: object
      properties:
        OtherPartyID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
          example: othPartyID
        OtherPartyFederalEmployerIdentificationNumber:
          type: string
          description: A nine-digit unique number assigned by the Internal Revenue Service (IRS) to businesses operating in the United States.
          example: "852933741"
        OtherPartySocialSecurityNumber:
          type: string
          description: A numerical identifier assigned to U.S. citizens and some residents to track their income.
          example: "789456123"
        OtherPartyOrganizationName:
          type: string
          description: This is a representation of the organizational entity's name, when the Other Party is an organization.
          example: Organization Name
        OtherPartyPersonName:
          $ref: '#/components/schemas/StructuredPersonName'
        OtherPartyRelationshipTypeCode:
          $ref: '#/components/schemas/OtherPartyRelationshipType'
        OtherPartyTypeCode:
          $ref: '#/components/schemas/PartyType'
        OtherPartyGenderCode:
          $ref: '#/components/schemas/Gender'
        OtherPartyBirthDate:
          type: string
          description: The date on which a person was born.
          example: 2005-10-10
        OtherPartyHomePhone:
          type: string
          description: An entity's home communication point, as defined by the telecommunication services.  It includes voice telephone communication.
          example: "1456788965"
        OtherPartyWorkPhone:
          type: string
          description: An entity's work communication point, as defined by the telecommunication services.  It includes voice telephone communication.
          example: "1456788965"
        OtherPartyMobilePhone:
          type: string
          description: An entity's mobile communication point, as defined by the telecommunication services.  It includes voice telephone communication.
          example: "1456788965"
        OtherPartyMailingAddress:
          $ref: '#/components/schemas/PostalAddress'
        OtherPartyHomeAddress:
          $ref: '#/components/schemas/PostalAddress'
        OtherPartyHomeEmail:
          type: string
          description: A message distributed by electronic means from one computer user to one or more recipients via a network.
          example: john1@gmail.com
        OtherPartyWorkEmail:
          type: string
          description: A message distributed by electronic means from one computer user to one or more recipients via a network.
          example: john1@gmail.com
        OtherPartyEventID:
          type: array
          description: A unique identifier for each instance of an object established within the context of a given transaction.
          items:
            type: string
            example: evt03
      description: An organization or person associated with workplace benefit events/transactions for which limited information is available - i.e., a Trust, Charity, etc. Not a Guardian utilized array (if sent will not be used).
    OtherPartyRelationshipType:
      type: string
      description: Describes the type of relationship between two people (e.g., employee and dependent), two organizations, or a person and an organization.
      enum:
      - Child
      - Spouse
      - Sibling
      - Parent
      - Grandparent
      - Grandchild
      - Fiance
      - DomesticPartner
      - Friend
      - Other
      - Trust
      - Husband
      - Wife
      - Sister
      - Brother
      - Son
      - Daughter
      - Uncle
      - Aunt
      - MotherInLaw
      - FatherInLaw
      - CivilUnionPartner
      - Father
      - Mother
      - Estate
      - Charity
      - Cousin
      - OtherRelative
      - Self
      - ExSpouse
      - Employer
      - Girlfriend
      - Boyfriend
      - Stepdaughter
      - Stepson
      - Corporation
    PartyType:
      type: string
      description: The kind of party - can be person, estate, charity , trust etc.
      enum:
      - Person
      - Trust
      - Estate
      - Charity
      - Other
    BeneficiaryGroup:
      required:
      - Beneficiary
      - BeneficiaryGroupID
      type: object
      properties:
        BeneficiaryGroupID:
          type: string
          description: A unique identifier for each instance of a Beneficiary Group established within the context of a given transaction.
          example: BenGroupID
        Beneficiary:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/Beneficiary'
      description: A grouping of beneficiary parties which are then related to the benefits for which they have been named to derive some form of compensation from after certain parameters are met. Not a Guardian utilized array (if sent will not be used).
    Beneficiary:
      required:
      - BeneficiaryPartyID
      - BeneficiaryPartyTypeCode
      - BeneficiaryTypeCode
      type: object
      properties:
        BeneficiaryPartyID:
          type: string
          description: A unique identifier for each instance of a Beneficiary established within the context of a given transaction.
          example: BenPartyID
        BeneficiaryPartyTypeCode:
          $ref: '#/components/schemas/BeneficiaryPartyType'
        BeneficiaryPercent:
          type: string
          description: The percentage of benefits payable to the beneficiary.
        BeneficiaryTypeCode:
          $ref: '#/components/schemas/BeneficiaryType'
      description: The relationship between a given Employee and Beneficiary - i.e., the set of beneficiaries for the Employee that can be associated with coverages.
    BeneficiaryPartyType:
      type: string
      description: Identifies whether the Beneficiary Party is the Employee, Dependent, or Other Party.
      enum:
      - Employee
      - Dependent
      - OtherParty
    BeneficiaryType:
      type: string
      description: Whether the beneficiary is primary or secondary.
      enum:
      - Primary
      - Secondary
    Question:
      required:
      - QuestionID
      - QuestionIdentifier
      type: object
      properties:
        QuestionID:
          type: string
          description: A unique identifier for each instance of a Question established within the context of a given transaction.
          example: QuestionID
        QuestionIdentifier:
          type: string
          description: A unique identifier defined by the carrier with the actual question presented to the employee.
          example: Question
      description: A linguistic expression used to make a request for information.
    Producer:
      required:
      - ProducerPartyID
      type: object
      properties:
        ProducerPartyID:
          type: string
          description: A unique identifier created by the originator for this instance of the electronic transmission.
        ProducerFirstName:
          type: string
          description: The given first name of a Producer (also known as Enroller, Agent, Broker, etc.). Requirements - Optional - for all coverages, if an Enroller is involved during the Enrollment, then capture their Name per Product.
        ProducerLastName:
          type: string
          description: The surname of the Producer (also known as Enroller, Agent, Broker, etc.). Requirements - Optional - for all coverages, if an Enroller is involved during the Enrollment, then capture their Name per Product.
        CarrierProducerNumber:
          type: array
          items:
            $ref: '#/components/schemas/CarrierProducerNumber'
    CarrierProducerNumber:
      required:
      - CarrierID
      - CarrierProducerNumber
      - CarrierProducerNumberID
      type: object
      properties:
        CarrierProducerNumberID:
          type: string
          description: A unique identifier for each instance of a CarrierProducer established within the context of a given transaction.
        CarrierID:
          type: string
          description: A unique identifier for each instance of a CarrierProducer established within the context of a given transaction.
        CarrierProducerNumber:
          type: string
          description: A carrier-assigned identifier associated with the person or an organization that assists in the buying of or enrolling in insurance.
    Coverage:
      required:
      - BenefitPlanIdentifier
      - CoverageEffectiveDate
      - CoverageID
      - CoverageInsureds
      - GroupPolicyNumber
      type: object
      properties:
        CoverageID:
          type: string
          description: A unique identifier for each instance of a Coverage established within the context of a given transaction.
        GroupPolicyNumber:
          type: string
          description: An eight digit Carrier assigned group number with leading zeros. All individual policies or certificates at the group level would roll up to this master group number. This must match the CarrierMasterAgreementNumber.
          example: "00123456"
        IndividualPolicyNumber:
          type: string
          description: Carrier specific identifier indicating the benefit/product elected by the member (this could be associated to one benefit or many). Not a Guardian utilized field, please send null.
        ProductTypeCode:
          $ref: '#/components/schemas/ProductType'
        BenefitPlanIdentifier:
          type: string
          description: Guardian assigned identifier used to denote the benefit/product being elected by the member.
          example: LTC01A-0001
        BenefitClassIdentifier:
          type: string
          description: A 4 digit code used to denote a categorization of employees mutually agreed upon between the insurance carrier and the group with similar employment information that are all offered the same insurance plan configuration. Guardian Class Code.
          example: "0001"
        BenefitSubClassIdentifier:
          type: string
          description: A sub-categorization of employees mutually agreed upon between the insurance carrier and the group with similar employment information that are all offered the same insurance plan configuration.
        BillGroupIdentifier:
          type: string
          description: A 4 digit code assigned by the Carrier to identify a bill group for the employee. Guardian Disivion Code.
          example: "0000"
        BillSubGroupIdentifier:
          type: string
          description: An 8 character alpha-numeric client driven identifier used to split out sub sections of employees on the bill. Guardian will only capture the first 8 characters sent if the value exceeds 8 characters. Guardian Department Code.
          example: Union001
        ClaimGroupIdentifier:
          type: string
          description: Carrier assigned code to tie the coverage back to a claim group. Not a Guardian utilized field, please send null.
        ClaimSubGroupIdentifier:
          type: string
          description: Carrier assigned sub-group code that a member's policy is attached to. Not a Guardian utilized field, please send null.
        OriginalCoverageEffectiveDate:
          type: string
          description: Date the employee or dependent coverage initially begins.
        CoverageEffectiveDate:
          type: string
          description: Date the employee or dependent coverage initially enrolled or changed (e.g. enrollment, increase volume or benefit, decrease volume or benefit, tier change).
        CoverageTerminationDate:
          type: string
          description: The last date that the coverage is in effect.
        CoverageTierCode:
          $ref: '#/components/schemas/CoverageTier'
        BenefitCalculationMethodCode:
          $ref: '#/components/schemas/BenefitCalculationMethod'
        BenefitAmount:
          type: integer
          description: Value of the full elected benefit amount based on the defined plan rules for the enrolling person. Guardian mandatory field if Voluntary Life, Voluntary AD&D, Critical Illness, Voluntary Critical Illness, or Short Term Disability (flexible flat) is elected.
        BenefitFactor:
          type: number
          description: The approved benefit multiple or percentage factor, based on BenefitCalculationMethodCode.
        EmployeeContributionCode:
          $ref: '#/components/schemas/EmployeeContribution'
        EmployeePremiumContributionAmount:
          type: number
          description: The amount of product coverage premium contribution from the employee. Not a Guardian utilized field (if sent will not be used).
        EmployerPremiumContributionAmount:
          type: number
          description: The amount of product coverage premium contribution from the employer. Not a Guardian utilized field (if sent will not be used).
        TotalPlanPremiumAmount:
          type: number
          description: The total premium paid by both the employer and employee. Optional, Coverage Elections New, Change; Employment Status Change, Billing All Products. Not Required, Coverage Elections Termination, Evidence of Insurability Decision, Non Coverage Demographic-Only Changes,Miscellaneous Transactions All Products. Not a Guardian utilized field, please send null.
        BenefitEarningsAmount:
          type: number
          description: Insureds covered earnings. Need to include, as applicable,commissions, bonus, overtime or other compensation on top of basic annual earnings. If additional compensation is included need to confirm the time period used to calculate. Not a Guardian utilized field, please send null.
        BenefitEarningsEffectiveDate:
          type: string
          description: Commencement date of the change of the employee's earnings. Not a Guardian utilized field, please send null.
        BenefitModeQuantity:
          type: integer
          description: Commencement date of the change of the employee's earnings. Not a Guardian utilized field, please send null.
        PaymentMethodCode:
          $ref: '#/components/schemas/PaymentMethod'
        PremiumModeQuantity:
          type: integer
          description: The frequency of payment by a policy holder.
        PreTaxCode:
          $ref: '#/components/schemas/PreTax'
        IssueAgeQuantity:
          type: integer
          description: Age of the enrolling person when benefits initially became effective. Not a Guardian utilized field, please send null.
        TobaccoUseIndicator:
          type: boolean
          description: Denotes if the Employee and or Spouse is a tobacco user.
        TakeOverCoverageIndicator:
          type: boolean
          description: Taking a member's coverage from previous carrier. Not a Guardian utilized field.
        EnrollerProducerPartyID:
          type: string
          description: An unique identifier for each instance of an object established within the context of a given transaction. Not a Guardian utilized field, please send null.
        BeneficiaryGroupID:
          type: string
          description: A unique identifier for a person or organization who derives advantage from a given Benefit.Not a Guardian utilized field, please send null.
        CarrierID:
          type: string
          description: Name of the insurance company that is sending or receiving the data in this transmission. Not a Guardian utilized field (if sent will not be used).
        COBRAIndicator:
          type: boolean
          description: Indicator to denotes whether coverage is under COBRA.
          example: true
        ElectedCoverage:
          $ref: '#/components/schemas/ElectedCoverage'
        CoverageInsured:
          type: array
          description: A collection of insureds associated with their respective benefit plans, for example an Employee or a Dependent.
          items:
            $ref: '#/components/schemas/CoverageInsured'
        CoverageEventID:
          type: array
          description: EventID used to relate an Event to a Coverage.
          items:
            type: string
        CoverageQuestionAnswer:
          type: array
          items:
            $ref: '#/components/schemas/CoverageQuestionAnswer'
        CoverageDeduction:
          type: array
          description: A collection of the Employer defined deductions to be taken at time of claim. Not a Guardian utilized array (if sent will not be used).
          items:
            $ref: '#/components/schemas/CoverageDeduction'
        CoverageRider:
          type: array
          description: The collection of features that adds to or amends the coverage. Not a Guardian utilized array (if sent will not be used).
          items:
            $ref: '#/components/schemas/CoverageRider'
        CoverageCommissionSplit:
          type: array
          items:
            $ref: '#/components/schemas/CoverageCommissionSplit'
        SignatureDate:
          type: string
          description: The date the employee requested X coverage for Y benefit (e.g., I entered an enrollment for Spouse Life on 11/12 into the Ben Admin system or I signed a form enrolling in Life benefits on 11/13). Requirements- Situational, required if the date is captured by the benefit technology platform and it varies from the CoverageTransactionDate.
      description: The insurance products provided by Guardian with participation by the employee or their dependents.
    ProductType:
      type: string
      description: Universal identifier for a specific logical product group that may be elected by a member. Not a Guardian utilized field.
      enum:
      - Accident
      - AD&D
      - Cancer
      - CriticalIllness
      - Dental
      - Hospital
      - Life
      - LTD
      - STD
      - Vision
      - StateDI
    CoverageTier:
      type: string
      description: Universal level of coverage being elected by the employee (including dependents) or provided by the group based on the selected benefit plan type.
      enum:
      - Employee
      - EmployeeDependent
      - EmployeeSpouse
      - EmployeeChildren
      - EmployeeFamily
      - Employee2Dependents
      - SpouseOnly
      - SpouseDependent
      - SpouseChildren
      - ChildOnly
    BenefitCalculationMethod:
      type: string
      description: Describes how a monthly benefit is calculated; percentage of earnings, increments, or flat/incremental amount.
      enum:
      - FlatAmount
      - MultipleOfSalary
      - Percentage
    EmployeeContribution:
      type: string
      description: Indicates the employee contribution towards the product premium.
      enum:
      - EmployeePaid
      - EmployerPaid
      - EmployeePartial
    PaymentMethod:
      type: string
      description: The way in which the employee is funding the insurance plan.
      enum:
      - PayrollDeduction
      - DirectBill
    PreTax:
      type: string
      description: Indicates whether employee product premium is pre-tax or post-tax, based on IRS guidelines. Not a Guardian utilized field, please send null.
      enum:
      - PostTax
      - PreTax
    ElectedCoverage:
      type: object
      properties:
        ElectedCoverageTierCode:
          $ref: '#/components/schemas/CoverageTier'
        ElectedBenefitCalculationMethodCode:
          $ref: '#/components/schemas/BenefitCalculationMethod'
        ElectedBenefitAmount:
          type: number
          description: Value of coverage that has been elected based on the defined plan rules for the enrolling person.
        ElectedBenefitFactor:
          type: number
          description: The approved benefit multiple or percentage factor, based on BenefitCalculationMethod.
        ElectedEmployeeContributionCode:
          $ref: '#/components/schemas/EmployeeContribution'
        ElectedEmployeePremiumContributionAmount:
          type: number
          description: The amount of product coverage premium contribution from the employee.
          example: 10
        ElectedEmployerPremiumContributionAmount:
          type: number
          description: The amount of product coverage premium contribution from the employer.
          example: 5
        ElectedTotalPlanPremiumAmount:
          type: number
          description: |-
            The total premium paid by both the employer and employee.
            Optional, Coverage Elections New, Change; Employment Status Change, Billing All Products.
            Not Required, Coverage Elections Termination, Evidence of Insurability Decision, Non Coverage Demographic-Only Changes,Miscellaneous Transactions All Products.
          example: 15
        ElectedCoverageInsured:
          type: array
          description: A collection of insureds associated with their respective benefit plans, for example an Employee or a Dependent.
          items:
            $ref: '#/components/schemas/CoverageInsured'
        ElectedCoverageRider:
          type: array
          description: The collection of features that adds to or amends the coverage.
          items:
            $ref: '#/components/schemas/CoverageRider'
      description: Details about elected coverages.
    CoverageInsured:
      required:
      - InsuredCoverageEffectiveDate
      - InsuredPartyID
      - PrimaryInsuredIndicator
      type: object
      properties:
        InsuredPartyID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
        PrimaryInsuredIndicator:
          type: boolean
          description: A yes/no flag that indicates whether the Insured associated with the Benefit Plan is the primary insured.
        TobaccoUseIndicator:
          type: boolean
          description: Denotes if the  Employee and/or  Spouse is a tobacco user. All events and transactions - All Products - Situational (required for plans that are tobacco rated). Guardian will capture the tobacco use indicator under the Employee and Dependent Information.
        InsuredCoverageEffectiveDate:
          type: string
          description: Date the employee or dependent's current coverage is active due to initial or changed enrollment.
        InsuredCoverageTerminationDate:
          type: string
          description: The last date that the coverage is in effect for a given insured.
        Provider:
          $ref: '#/components/schemas/Provider'
      description: Associates a given Insured to their respective coverages, for example an Employee or a Dependent.
    Provider:
      type: object
      properties:
        ProviderIdentificationNumberText:
          type: string
          description: The actual identification number - e.g. 123-45-6789.
          example: 123-45-6789
        ExistingPatientIndicator:
          type: boolean
          description: Indicates whether the CoverageInsured is an existing patient of the provider.
          example: true
        ProviderName:
          type: string
          description: This is a representation of the provider entity's full name.
          example: ProviderName
      description: An entity that provides/supplies goods or services, such as dental,medical.
    CoverageRider:
      required:
      - CoverageRiderID
      - RiderIdentifier
      type: object
      properties:
        CoverageRiderID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
        RiderIdentifier:
          type: string
          description: Carrier specific identifier indicating what benefit option/rider elected by the member; i.e., identifier to distinguish between a Hi or Low plan or Gold vs. Platinum plan - further breakdown from the benefit plan type.
        RiderName:
          type: string
          description: Full name of the rider.
        CoverageTierCode:
          $ref: '#/components/schemas/CoverageTier'
        BenefitAmount:
          type: number
          description: Value of rider that has been elected based on the defined plan rules for the enrolling person.
        RiderUnitQuantity:
          type: number
          description: If rider is offered in incremental units of coverage, number (decimal) of units elected.
        RiderOptionIdentifier:
          type: string
          description: Carrier-defined field used to differentiate between different classes of rates.
        PreTaxCode:
          $ref: '#/components/schemas/PreTax'
        EmployeePremiumContributionAmount:
          type: number
          description: The amount of rider premium contribution from the employee.
        EmployerPremiumContributionAmount:
          type: number
          description: The amount of rider premium contribution from the employer.
      description: The feature that adds to or amends the coverage. Not a Guardian utilized array (if sent will not be used).
    CoverageQuestionAnswer:
      required:
      - QuestionID
      type: object
      properties:
        AnswerIndicator:
          type: boolean
          description: A true (affirmative) or false (negative) response to a question.
        AnswerText:
          type: string
          description: The actual textual response to a question.
        QuestionID:
          type: string
          description: A unique identifier created by the originator for this instance of the electronic transmission.
      description: A linguistic expression used to make a request for information, or the request made using such an expression, along with the response related to a given Benefit.
    CoverageDeduction:
      type: object
      properties:
        DeductionTypeCode:
          $ref: '#/components/schemas/DeductionType'
        DeductionAmount:
          type: number
          description: The amount to be withheld from the employee's DI claim payment.
        DeductionFrequencyCode:
          $ref: '#/components/schemas/PayrollDeductionFrequency'
      description: The Employer defined deductions to be taken at time of claim. Not a Guardian utilized array (if sent will not be used).
    DeductionType:
      type: string
      description: The type of deduction taken - e.g., Medical, 401K.
      enum:
      - Medical
      - 401(k)
      - StateIncomeTax
      - PAUnemploymentTax
      - LocalityTax
      - Dental
      - Life
      - PensionContribution1
      - PensionContribution2
      - StateIncomeTax2
      - StateIncomeTax3
      - FreeForm1
      - FreeForm2
      - FreeForm3
      - FreeForm4
      - FreeForm5
      - SupplementalLife
      - LegalServices
      - Health
      - Hospitalization
      - Disability
      - AccidentalDeath&Dismemberment
      - Vision
      - RemimbursementHealthcareExpenses
      - DependentCareAssistance
      - AdoptiveAssistance
      - Multiple401K
      - NJUmeploymentTax
      - AKUnemploymentTax
      - StateLeaveContribution
    CoverageCommissionSplit:
      type: object
      properties:
        CarrierProducerNumberID:
          type: string
          description: A unique identifier created by the originator for this instance of the electronic transmission. Not a Guardian utilized array (if sent will not be used).
        CompensationSplitPercent:
          type: number
          description: The premium percentages that are retained and allocated to producers in the form of commission. Not a Guardian utilized array (if sent will not be used).
    Audit:
      required:
      - CarrierQuantity
      type: object
      properties:
        AuditID:
          type: string
          description: A unique identifier created by the originator for this instance of the electronic transmission.
        CarrierQuantity:
          type: integer
          description: A count of Carrier records included in the electronic transmission.
          format: int32
        EmployerRecordQuantity:
          type: integer
          description: A count of Employer records included in the electronic transmission.
          format: int32
        EmployeeRecordQuantity:
          type: integer
          description: A count of Employee records included in the electronic transmission.
          format: int32
        DependentRecordQuantity:
          type: integer
          description: A count of Dependent records included in the electronic transmission.
          format: int32
        OtherPartyRecordQuantity:
          type: integer
          description: A count of Other Party records included in the electronic transmission.
        BeneficiaryGroupRecordQuantity:
          type: integer
          description: A count of Beneficiary Group records included in the electronic transmission.
        EventRecordQuantity:
          type: integer
          description: A count of Event records included in the electronic transmission.
        CoverageRecordQuantity:
          type: integer
          description: A count of Coverage records included in the electronic transmission.
          format: int32
        CoverageRiderRecordQuantity:
          type: integer
          description: A count of Coverage Rider records included in the electronic  transmission.
          format: int32
      description: An instance of auditable information provided to ensure accuracy and consistency of the exchanged information.
    TransmissionResponse:
      required:
      - TransmissionGUID
      - TransmissionStatusCode
      type: object
      properties:
        TransmissionGUID:
          type: string
          description: Global A unique identifier created by the originator for this instance of the electronic transmission.
          example: BenAdminTransactionID
        TransmissionStatusCode:
          type: string
          description: "Result associated with the entity. Result may say \"Success\" or \"Failure\", or \"Partial\" or \"In Progress\". Code representing status:\n  * Success - Transaction completed successfully\n  * Failure - Unable to process the transaction\n  * Partial - Transaction required manual review \n  * In Progress - Transaction is still in progress.\n"
          example: Success
        CreationDateTime:
          type: string
          description: UTC date and time the response was created.
          example: 2019-10-10 10:00:00 UTC
        TransactionDetail:
          type: array
          items:
            $ref: '#/components/schemas/TransactionDetails'
        TransactionRemark:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRemarks'
        Audit:
          $ref: '#/components/schemas/Audit'
      description: An instance of the electronically transmitted information, such as the Benefit Administrator, Insurance Carrier, version, etc.
    TransactionDetails:
      type: object
      properties:
        EmployerID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
          example: EmployerID
        EmployeeID:
          type: string
          description: A unique identifier for each instance of an object established within the context of a given transaction.
          example: EmployeeID
        TransactionRemark:
          type: array
          items:
            $ref: '#/components/schemas/TransactionRemarks'
      description: Container for success or error messages associated with processing the entity.
    TransactionRemarks:
      required:
      - EntityReferenceID
      type: object
      properties:
        EntityCode:
          type: string
          description: Entity enumeration is to identify the object in a record.
          example: Employee
          enum:
          - "00"
          - WQ
        EntityReferenceID:
          type: string
          description: A unique identifier generated by the requestor of the service for each object in the record.
          example: Employee
        FieldName:
          type: string
          description: Field Name is an actual element in the object.
          example: EmployeeIdentifier
        RemarkStatusCode:
          type: string
          description: A category describing the remark. For example 'Warning' or 'Error'.
          example: Warning
        MessageTypeCode:
          $ref: '#/components/schemas/BusinessErrorCategory'
        MessageText:
          type: string
          description: A message indicating what happened, or conveying information about the remark. For example, provider warning or error messages. To assist with troubleshooting please refer to [Warning and Error message](https://glic.sharepoint.com/:x:/r/sites/pls/newbusinessautomation/API-Worksite/_layouts/15/Doc.aspx?sourcedoc=%7BE6E7AA1A-748D-4246-8C0E-9A01529144FB%7D&file=API%20Benefit%20and%20Warning%20Messages.xlsx&action=default&mobileredirect=true) document.
          example: Employee enrolled in Guardian system
      description: There may be multiple result details, each indicating information about processing a specific entity.
    BusinessErrorCategory:
      type: string
      description: To identify the Business Error
      enum:
      - AuditQuantitiesDontMatch
      - CoverageExceedsGILimit
      - CoverageExceedsMaximum
      - CoverageIneligibleAge
      - CoverageIneligibleInsured
      - DependentsRequired
      - DuplicateSSN
      - DuplicateTransmission
      - EffectiveDateOutOfRange
      - EventExpected
      - IneligibleInsured
      - InsuredTierMismatch
      - InvalidAuditQuantity
      - InvalidBeneficiaryPercentTotal
      - InvalidBenefitAmount
      - InvalidCode
      - InvalidEmploymentContact
      - InvalidEmploymentInformation
      - InvalidEmploymentSchedule
      - InvalidFormData
      - InvalidFormLink
      - InvalidFormSignatureType
      - InvalidInsuredAge
      - InvalidMasterAgreementNumber
      - InvalidReceiver
      - InvalidSender
      - InvalidWorkSchedule
      - InvalidWorkState
      - MissingApplicationStatus
      - MissingCoverage
      - MissingEmploymentContact
      - MissingEmploymentInformation
      - MissingEmploymentSchedule
      - MissingForm
      - MissingFormSignature
      - MissingRequiredInsureds
      - MissingSituationalElement
      - MissingUnderwritingDecisionCode
      - MissingWorkSchedule
      - MissingWorkState
      - Other
      - SSNorEmployeeIdentifierRequired
      - SchemaNotSupported
      - UnableToCancelOrTerminateCoverage
      - UnableToProcessBeneficiaryChange
      - UnableToProcessCoverageDecrease
      - UnableToProcessCoverageIncrease
      - UnableToProcessDemographicChange
      - UnableToReinstateCoverage
      - UnknownCoverageOrApplicant
    ErrorResponses:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    Error:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          description: Code associated with the error
          example: "101"
        field_name:
          type: string
          description: Element that caused the error
          example: EmployeeID
        value:
          type: string
          description: Data received in the message
          example: 45786ERED
        message:
          type: string
          description: Error Message
          example: Please enter numbers only.
    TransmissionStatusRequest:
      type: object
      properties:
        TransmissionGUID:
          type: string
          description: Global Unique identifier created by the originator for this instance of the electronic transmission.
          example: BenAdminUnqiueTransactionID
        EmployeeSocialSecurityNumber:
          type: string
          description: A numerical identifier assigned to U.S. citizens and some residents to track their income.Guardian mandatory field.
          example: "456789524"
        EmployeeIdentifier:
          type: string
          description: Employer or Plan Sponsor Issued Identifier.
          example: EMP456789524
      description: Request parameters to retrive tranasction status
    EnrollmentCompleteRequest:
      required:
      - CompletedDate
      - TransmissionStatusRequestID
      type: object
      properties:
        TransmissionGUID:
          type: string
          description: Unique identifier created by the originator for this instance of the electronic transmission.
          example: BenAdminUnqiueTransactionID
        CompletedDate:
          type: string
          description: The date on which enrollment is completed.
          example: 2000-01-10
      description: Request parameters to submit enrollment complete.
    EnrollmentCompleteResponse:
      required:
      - Status
      - TransmissionStatusRequestID
      type: object
      properties:
        TransmissionGUID:
          type: string
          description: Unique identifier created by the originator for this instance of the electronic transmission.
          example: BenAdminUnqiueTransactionID
        Status:
          type: string
          description: Status of request.
          example: Success
      description: Response of enrollment complete request.
    v3policiesmasteragreementnumberemployeessearch_EmployeesIdentification:
      type: object
      properties:
        IdentificationNumberText:
          type: string
          description: Identification Number based on identification type
          example: "125159520"
        IdentificationTypeCode:
          type: string
          description: |
            Currently Guardian accepts  SSN / Member id (9 digit), First and Last name as identification type. This field will be expanded in future to include other types such as Drivers License number etc Code representing identification type:
              * SSN - Employee SSN or Member ID (9 digit)
              * FIRST_NAME - Employee first Name
              * LAST_NAME - Employee last name
              * Employer_Member_ID - Plan holder employee ID (5 to 15 chars)
              * Tax_Identification - Employee SSN or Member ID (9 digit)
          example: Employer_Member_ID
          enum:
          - SSN
          - Employer_Member_ID
          - Tax_Identification
          - FIRST_NAME
          - LAST_NAME
          - PMI
    employees_search_body:
      type: object
      properties:
        MasterAgreementNumber:
          type: string
          description: Guardian generated system assigned number which gives uniqueness to the Group / company. Required Field
          example: "00358028"
        BillGroupIdentification:
          type: string
          description: Guardian generated system assigned number which gives uniqueness to the division within Group/Company (eg HR, Corporate, Sales). Optional Field.
          example: "0001"
        CoverageInfoRequired:
          type: string
          description: Y or N value indicating if Benefit Plan and Benefit Coverages are required for each employee. Optional Field. Can be left blank.
          example: "Y"
        AsOfDate:
          type: string
          description: Date at which Employee Information is requested. MM/DD/YYYY format. Optional Field. If left blank employee list provided will be as of current date.
          example: 01/02/2019
        PageSize:
          type: integer
          description: Maximum number of members to be included one page.
          example: 20
        NextPageKey:
          type: string
          description: Next Page reference, Send in request to fetch next page.
        EmployeesIdentification:
          type: array
          description: Populate this array with specific employee(s) for whom enrollment status is desired.
          items:
            $ref: '#/components/schemas/v3policiesmasteragreementnumberemployeessearch_EmployeesIdentification'
    EmployeesDetails_PageResponse:
      type: object
      properties:
        TotalEmployeesInPage:
          type: string
          description: Total Employees in page
        NextPageKey:
          type: string
          description: Next Page Key
