Agreements

process various business processes related with contracts and agreements. It is a secured controller

APIDescription
POST api/Office/Agreements/employee/{employeeId}/enrollmentAgreement

If the agreement form has not been created, then it will be created; required values will be filled in with employee profile, employee's dependents' information and employee's bank information

GET api/Office/Agreements/employee/{employeeId}/enrollmentAgreement

Retrieve an enrollment agreement for a given employee

POST api/Office/Agreements/company/{companyPlanId}/enrollmentAgreement

If the agreement form has not been created, then it will be created; required values will be filled in with CC plan profile, registration cost and company information

CustomCarePlans

Process various business processes related with Company-Plan domain. It is a secured controller

APIDescription
POST api/Office/CustomCarePlans

Create a new customcare plan or update an existing plan

MarketingActivities

Controller to process various business processes related to Marketing activity

APIDescription
GET api/MarketingActivities/{activityCode}/employee/preferences

Returns marketing activity preferences for a given employee

GET api/MarketingActivities/{activityCode}/company/preferences

Returns marketing activity preferences for a given company

POST api/MarketingActivities/{activityCode}/employee/optout

Register an employee's preference to not participate in a given marketing activity

POST api/MarketingActivities/{activityCode}/company/optout

Register a company's preference to not participate in a given marketing activity

POST api/MarketingActivities/{activityCode}/employee/candoitlater

Register an employee's preference to participate in a given marketing activity later on

POST api/MarketingActivities/{activityCode}/company/candoitlater

Register a company's preference to participate in a given marketing activity later on

Leads

Controller to process various business processes related to the Lead objects in crm. It is a secured controller and needs a valid token

APIDescription
POST api/Crm/Leads

Create a new Lead in CRM

POST api/Crm/Leads/SavingsReport

Generates a savings report and emails that report

Account

Account controller handles requrest made specific to accout services such as login, forgot password, reset password etc. A few methods are public, however, others are secured

APIDescription
POST api/Account/ChangePassword

Change password

GET api/Account/users?username={username}

Determine whether a given username is valid

ClaimCalculations

It has various helper methods related with claim processing. It is a secured controller.

APIDescription
GET api/Office/ClaimCalculations/CalculateClaimProcessingTax/{claimAmount}/{companyId}

Calculate claim processing tax for a given claim amout and for a given company

GET api/Office/ClaimCalculations/CalculateClaimProcessingTax/{claimAmount}/{adminFee}/{province}

Calculate claim processing tax for a given claim amout, for a given admin fee and for a given province

GET api/Office/ClaimCalculations/CalculateOnlineClaimTotals/{claimAmount}/{companyId}

Calculates various claim properties such as sub total, taxes, fees and grand total etc.

POST api/Office/ClaimCalculations/openclaim

Thread safe new claim that has claim code added; this claim can be used for any purpose. The method saves this claim to the database before returning its identifier (pk); therefore, the subscriber of this method should query the database again and update the claim as per the requirements

OfficeDependants

Controller to process various business processes related to the dependant object. It is a secured controller and needs a valid token

APIDescription
GET api/Office/Dependants/Id/{dependantId}/ClaimLimit

Retrieve value of claim limit for a given dependant

Companies

Process various business processes related with companies. It is a secured controller

APIDescription
GET api/Office/Companies/{companyId}/RspWalletReportForEmployees

Generate Rsp wallet report for employees

GET api/Office/Companies/{superCompanyId}/RspWalletReportForSuperCompanyEmployees

Generate Rsp wallet report for super copmany employees

GET api/Office/Companies/{companyCode}/OnlineAccountActivityReport

Generate a report showing deposits and withdrawals related with a given company's online account

GET api/Office/Companies/{companyCode}/OnlineAccountActivityReport/{fromDate}/{toDate}

Generate a report showing deposits and withdrawals related with a given company's online account

GET api/Office/Companies/{companyId}/DSAIReport

Generate a report showing a list of employees using DSAI plan for a given company

GET api/Office/Companies/{companyId}/TICReport

Generate a report showing a list of employees using Travel (TMM) plan for a given company

GET api/Office/Companies/{companyId}/CIReport

Generate a report showing a list of employees using critical illness (CI) plan for a given company

GET api/Office/Companies/{companyId}/LIReport

Generate a report showing a list of employees using life insurance (LI) plan for a given company

GET api/Office/Companies/{companyId}/LTDReport

Generate a report showing a list of employees using long term disability (LTD) plan for a given company

GET api/Office/Companies/{companyId}/ADDReport

Generate a report showing a list of employees using accidental death (ADD) plan for a given company

GET api/Office/Companies/{companyCode}/PremiumCollectionSummaryReport/{year}/{month}/{reportFormat}

Generate a report on monthly premium payments for a given company, year and month

GET api/Office/Companies/{superCompanyId}/SuperCompanyEmployeeTerminationReport

Generate a report for super company showing a list of employees of all of the divisions with their inactivation/termination date and benefit cancellation date

LTDPlans

Controller to process various business processes related with Accounts domain for back office

APIDescription
POST api/Office/LTDPlans/Setup/AdvanceSelection/{startDate}

Renew LTD plan for a given list of employees and dependants

GET api/Office/LTDPlans/SetupInfo/{companyCode}

Generate a list of employees with dependants who can potentially renew LTD plan

Agents

process various business processes related with agent/broker domain. It is a secured controller

APIDescription
GET api/Office/Agents/{agentCode}/{year}/t4a/pdf

Retrieve a T4A slip for a given agent/broker for a given financial year

GET api/Office/Agents/{agentId}/agentcompaniesreport

Generate a csv report that shows a list of companies and company details associated with a given agent

GET api/Office/Agents/{agentId}/agentactivityreport/{from}/{to}

Generate a padf report that shows claims generated by the clients of a given agent

EmployeeClaimsQueueItems

Controller to interact with items in the claims queue

APIDescription
GET api/Office/EmployeeClaimsQueueItems/QueueDocument/{documentId}

Retrieves a document matching to a given database primary key (Id).The object being returnd consists byte array representing the document. It also has a property to specify the type of the file such as pdf, png and jpg etc. As this API returns a JSON, the byte array will be converted to its equivallent of base64 string

POST api/Office/EmployeeClaimsQueueItems/QueueDocument/SubscribeDefender

Validates a new event subscription or investigates malware scan for a given claims queue document

POST api/Office/EmployeeClaimsQueueItems/{employeesClaimQueueId}/validateclaimsqueuereceipt

Validates a claims queue receipt by comparing the claimed amount, benefit type, patient name and posting date with the receipt amount, benefit type, patient name and posting date.

Periods

Handle process related to the accounting periods

APIDescription
GET api/Periods/CurrentPeriod

Retrieve the current period

OfficeEmployees

Controller to process various business processes related to the employee object. It is a secured controller and needs a valid token

APIDescription
GET api/Office/Employees/Id/{employeeId}/ClaimLimit

Retrieve value of claim limit for a given employee

Announcements

Hanldles announcements related operations

APIDescription
GET api/Announcements/ForEntity/{entityType}

Get annoucements by entity type. Entity type can be one of the following values: "Company", "Employee", "Agent"

GET api/Announcements/ForReasonCode/{reasonCode}

Get a list of annoucements for a given reason code

Employees

Controller for the Employee domain. It is a secure controller and needs a valid token

APIDescription
GET api/Employees

Get the details of the logged in user.

GET api/Employee

Get the details of the logged in user.

GET api/Employees/Dependents

Get the details of the dependents of logged in employee

GET api/Employees/EligibleExpenses

Gets types of eligible expenses an employee can claim

GET api/Employees/EligibleExpenses/{type}

Gets types of eligible expenses an employee can claim based on benefit type

Surveys

Controller to process various business processes related to Survey

APIDescription
POST api/Surveys/NetPromoterSurvey/Employee

Collect a response to Net Promoter Survey of a logged in Employee

POST api/Surveys/NetPromoterSurvey/Company

Collect a response to Net Promoter Survey of a logged in Company

GET api/Surveys/NetPromoterSurvey/Employee/SurveyStatus

Find out whether a logged in employee can take net promoter survey and whether this survey is required

GET api/Surveys/NetPromoterSurvey/Company/SurveyStatus

Find out whether a logged in company can take net promoter survey and whether this survey is required

POST api/Surveys/NetPromoterSurvey/Employee/OptOutFromSurvey

Logged in employee can opt out from Net promoter survey

POST api/Surveys/NetPromoterSurvey/Company/OptOutFromSurvey

Logged in company can opt out from Net promoter survey

TICPlans

Controller to process various business processes related with Accounts domain for back office

APIDescription
POST api/Office/TICPlans/Setup/{companyCode}/{startDate}

Renew TIC plan from a given start date

POST api/Office/TICPlans/Setup/AdvanceSelection/{startDate}

Renew TIC plan for a given list of employees and dependants

GET api/Office/TICPlans/SetupInfo/{companyCode}

Generate a list of employees with dependants who can potentially renew TIC plan

Accounts

Controller to process various business processes related with Accounts domain for back office

APIDescription
GET api/Office/Accounts/CalculateTopupRequirement/{companyId}

Calculates top up requirements for a given company

MobileApps

A controller to get information related with mobile apps such as min version supported

APIDescription
GET api/MobileApps/appversion/min/{platform}

Get minimum version supported by CustomCare client facing mobile app

GET api/MobileApps/appversion/latest/{platform}

Get latest version supported by CustomCare client facing mobile app

GET api/MobileApps/appversion/allsupportedversions/{platform}

Get all supported versions by BeneFitsMyWay client facing mobile app

LifePlans

Controller to process various business processes related with Accounts domain for back office

APIDescription
POST api/Office/LifePlans/Setup/AdvanceSelection/{startDate}

Renew TIC plan for a given list of employees and dependants

GET api/Office/LifePlans/SetupInfo/{companyCode}

Generate a list of employees with dependants who can potentially renew Life insurance plan

Registrations

Control which executes new registration. New registration involves setting up a new company, collecting payments and performing relevant business processes such as sending emails to notify admiinstrations about the new registrations

APIDescription
POST api/Registrations

Complete a new registration

Claims

Controller for the Claim domain. It is a secure controller and needs a valid token

APIDescription
GET api/Claims/Employee/Count

Gets a count of all the claims, except deleted, for a logged in user. Useful to create a grid with pagination

GET api/Claims/Employee/DateRange/Count/{from}/{to}

Gets a count of all the claims, except deleted, posted witin a given date range for a logged in user. Useful to create a grid with pagination.

GET api/Claims/Employee/{skip}/{take}

Gets a list of all the claims, except deleted, for a logged in user. Use skip and take for the pagination. If pagination is not provided then returns up to 50 records. You may user /Employee/Count to determine total number of records to set up a pagination

GET api/Claims/Employee/DateRange/{from}/{to}/{skip}/{take}

Gets a list of all the claims, except deleted, posted within a given date range, for a logged in user. Use skip and take for the pagination. If pagination is not provided then the action returns up to 50 records. You may use /Employee/DateRange/Count action to determine total number of records to set up a pagination.

GET api/Claims/QueueDocument/{claimId}

Retrieves a list list of documents or images attached to a given claim. If the claim was not made online, then this action would return an empty list

EmployeeClaimsQueues

Controller to submit online claims. It is a secure controller and needs a valid token

APIDescription
PUT api/EmployeeClaimsQueues

Submit a claim queue by providing claim amount and required attachments. Request should be multpart/form-data.One part must be a claim amount and other parts can be image payload. Reccommended file formats: PNG, JPEG adn PDF.

GET api/EmployeeClaimsQueues/Employee/{skip}/{take}?from={from}&to={to}

Returns a list of claims queues related to the logged in employee or client. It is a secure method and needs a valid token. It is a deprecated API. Use an API with ClaimType parameter.

GET api/EmployeeClaimsQueues/{planType}/Employee/{skip}/{take}?from={from}&to={to}

Returns a list of claims queues related to the logged in employee or client. It is a secure method and needs a valid token

GET api/EmployeeClaimsQueues/{planType}/Employee/Count

Returns a count of the claims queues related to the logged in employee or client. It is a secure method and needs a valid token

GET api/EmployeeClaimsQueues/{employeeClaimQueueId}/QueueDocuments

Retrieves a list list of documents or images attached to a given claim queue.

GET api/EmployeeClaimsQueues/QueueDocument/{documentId}

Retrieves a document matching to a given database primary key (Id).The object being returnd consists byte array representing the document. It also has a property to specify the type of the file such as pdf, png and jpg etc. As this API returns a JSON, the byte array will be converted to its equivallent of base64 string

Notifications

A controller to manage devices and push notifications

APIDescription
PUT api/Notifications/DeviceInstallation

Create or update mobile device installation for the push notifications

DELETE api/Notifications/DeviceInstallation/{deviceNotificationPlatform}

Remove device installation for the push notifications

POST api/Notifications/TestNotification/Employee/{username}

Send a test notification to a given user

ADDPlans

Controller to process various business processes related with AD and D plans

APIDescription
POST api/Office/ADDPlans/Setup/AdvanceSelection/{startDate}

Renew AD and D plan for a given list of employees and dependants

GET api/Office/ADDPlans/SetupInfo/{companyCode}

Generate a list of employees with dependants who can potentially renew AD and D plan

Dashboard

Controller to provide required data for the dashboard

APIDescription
GET api/Crm/Dashboard/ClaimsSummary

Get the details of the aggregated claim values such as total amount of claim and # of claims

GET api/Crm/Dashboard/BrokerSummary

Get top 10 brokers for the last month

GET api/Crm/Dashboard/RegistrationSummary

Get registration details for the current year and the previous year

GET api/Crm/Dashboard/RegistrationReferralSummary

Get count of various referrals for the registrations. The count is based on the registration made during last 4 weeks

GET api/Crm/Dashboard/InsuredSalesSummary

Get insured sales for the current year and the previous year

GET api/Crm/Dashboard/LeadComparison

Get a list of lead comparison. Lead-comparison compares actual leads generated with the goals set. The list shows values for 4 weeks including the current week.

GET api/Crm/Dashboard/AllInsuredSalesComparison

Get a list of all types of insured sales comparison. The comparison is between actual and goals set

GET api/Crm/Dashboard/AllInsuredSalesComparisonWeekly

Get a list of all types of insured sales comparison for the last 4 weeks. The comparison is between actual and goals set

GET api/Crm/Dashboard/TicInsuredSalesComparison

Get a list of TIC (travel) types of insured sales comparison. The comparison is between actual and goals set

GET api/Crm/Dashboard/TicInsuredSalesComparisonWeekly

Get a list of TIC (travel) types of insured sales comparison for the last 4 weeks. The comparison is between actual and goals set

GET api/Crm/Dashboard/CiInsuredSalesComparison

Get a list of CI (critical illness) types of insured sales comparison. The comparison is between actual and goals set

GET api/Crm/Dashboard/CiInsuredSalesComparisonWeekly

Get a list of CI (critical illness) types of insured sales comparison for the last 4 weeks. The comparison is between actual and goals set

GET api/Crm/Dashboard/DsaiInsuredSalesComparison

Get a list of DSAI (diagnostic and specialist insurance) types of insured sales comparison. The comparison is between actual and goals set

GET api/Crm/Dashboard/DsaiInsuredSalesComparisonWeekly

Get a list of DSAI (diagnostic and specialist) types of insured sales comparison for the last 4 weeks. The comparison is between actual and goals set

GET api/Crm/Dashboard/WeeklyScorecardValues

Get a list of score card values. This method returns only 6 months of values from the latest scorecard generated by the Admin. It returns a string, which can be parsed to generate JSON object.

GET api/Crm/Dashboard/HistoryOfWeeklyScorecardValues/{from}/{to}/{skip}/{take}

Get scorecard history by date range. Skip and Take parameters are also needed. Default values are 0 and 10 respectively if not provided

POST api/Crm/Dashboard/WeeklyScorecardValue

Add or update scorecard value

POST api/Crm/Dashboard/WeeklyScorecardValueSet

Create a new scorecard set for the previous set. If scorecard set was created already, the action would return an exception.

Invoices

Controller to process various business processes related to the invoice object. It is a secured controller and needs a valid token

APIDescription
POST api/Office/Invoices/openinvoice

Thread safe new invoice that has invoice number added; this invoice can be used for any purpose. The methods saves this invoice to the database before returning its identifier (pk); therefore, the subscriber of this method should query the database again and update the invoice as per the requirements

GET api/Office/Invoices/{invoiceId}/invoicereport

Generates a report for a given invoice

GET api/Office/Invoices/supercompany/{superCompanyId}/invoicereport

Generates an invoice report for a given super company

GET api/Office/Invoices/supercompany/{superCompanyId}/invoicereport/{fromDate}/{toDate}

Generates an invoice report for a given super company for a given time period. Please use another api for a similar report for a company that is not super company

GET api/Office/Invoices/company/{companyId}/invoicereport/{fromDate}/{toDate}

Generates an invoice report for a given company for a given time period. Please use another api for a similar report for a super company

Logins

Controller to process various business processes related to the login object. It is a secured controller and needs a valid token

APIDescription
POST api/Office/Logins?role={role}

Generate a new login with a given role

Payments

Controller to process various business processes related to the payment object. It is a secured controller and needs a valid token

APIDescription
POST api/Office/Payments/openpayment

Thread safe new payment that has payment number added; this payment can be used for any purpose. The method saves this payment to the database before returning its identifier (pk); therefore, the subscriber of this method should query the database again and update the payment as per the requirements