Feature #569
openFeature #568: Add New Product. Bolt Device Protection
V3 Device Protection additions
0%
Description
This product will ONLY be added to daily policies, not 6MO or annual. Logic also needs to be included to add this only to US residents' policies.
In the policyCosts table of the database, we will need 2 new columns, device_premium and device_fee. Currently there will be no fee associated with it, however it's better to plan for the future. Premium will be determined at a later date. Use a placeholder of $0.60/policy for now. This information will also need to be added to accounting's Raw Data report that is pulled every month as soon as we go live.
Updates will need to be made to the coverage comparison pages on the quote results page. Another row with device protection will need to be added. All daily policies will show green (included) for this product.
After a sale, but prior to the document download page, we will need to make a call to Bolt's API to provide them information about each policy. Their API information can be found here:
Use TravelEnrollment Enroll and Cancel
https://uatportal.boltinsurance.com/uat/api/V1/IntegrationAPI/swagger/index.html
https://uatportal.boltinsurance.com/uat/api/V1/IntegrationAPI/TravelEnrollment/Enroll
https://uatportal.boltinsurance.com/uat/api/V1/IntegrationAPI/TravelEnrollment/Cancel
Test API key: C817817A-A6ED-4248-BD2D-A85B6D70A105 (production API key will be forthcoming)
The API call should be made after we get a positive response from the Braintree API which indicates a sale and charge has gone through. If the charge fails, Bolt should not receive information about the customer or policy. Likewise, if a customer cancels a policy, we send the information to Bolt only after the cancellation goes through with Braintree.
API field mapping
"accountNumber": "",
"deviceProtectionProductNumber": "DEWForNFPTravelPayForDays",
"customers": [
{
"policyNumber": policydetails:policy_num,
"premium": .6,
"firstName": policydrivers:first_name,
"middleName": policydrivers:middle_name,
"lastName": policydrivers:last_name,
"contact": {
"address": {
"line1": policydrivers:address1,
"line2": policydrivers:address2,
"line3": "",
"city": policydrivers:city,
"state": policydrivers:state, - Must cross reference with the state table for the 2 letter state code
"postalCode": policydrivers:zip,
"country": "US"
},
"emailAddress": users:email,
"phoneNumber": policydrivers:phone,
"phoneCountry": ""
}
The declarations packet will need to be updated to include information for the customer regarding this coverage. Documents are forthcoming to add to the packet.
Files