From 204ca3178e7b28bd5f97dca93f60b5b43fe71dcb Mon Sep 17 00:00:00 2001 From: Boyko Karadzhov Date: Fri, 23 Mar 2018 14:37:41 +0000 Subject: [PATCH] insurance agent --- InsuranceAgent/en/cognitive-flow.json | 545 ++++++++++++ InsuranceAgent/en/tests.json | 759 +++++++++++++++++ InsuranceAgent/en/training.json | 1109 +++++++++++++++++++++++++ 3 files changed, 2413 insertions(+) create mode 100644 InsuranceAgent/en/cognitive-flow.json create mode 100644 InsuranceAgent/en/tests.json create mode 100644 InsuranceAgent/en/training.json diff --git a/InsuranceAgent/en/cognitive-flow.json b/InsuranceAgent/en/cognitive-flow.json new file mode 100644 index 0000000..b614194 --- /dev/null +++ b/InsuranceAgent/en/cognitive-flow.json @@ -0,0 +1,545 @@ +{ + "commands": { + "NEXT-PAGE": [ + "Next 5" + ] + }, + "settings": { + "invalid-replies": [ + "I am not sure I understood what you said." + ], + "general-failure": [ + "We are experiencing technical difficulties at this moment." + ], + "previous-conversation-messages": [ + "So..." + ] + }, + "conversations": { + "welcome": { + "type": "support", + "steps": [ + { + "type": "message", + "messages": [ + [ + "Hello there, I am your personal travel Insurance Agent.", + "I can help you find the best insurance plans for you and your family." + ] + ] + }, + { + "type": "conversation", + "conversation": "help", + "conditions": [ + "{{$not ($has conversation) }}" + ] + } + ] + }, + "help": { + "type": "support", + "steps": [ + { + "type": "message", + "messages": [ + [ + "What can I do for you?" + ] + ], + "display": { + "type": "quick-reply", + "data": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + } + ] + }, + "restart": { + "type": "support", + "steps": [ + { + "type": "message", + "messages": [ + "Your conversation is restarted." + ] + }, + { + "type": "conversation", + "conversation": "welcome" + } + ] + }, + "contactOperator": { + "type": "goal", + "display-name": "contacting an operator", + "steps": [ + { + "type": "confirmation", + "entity": "redirect", + "messages": [ + "Do you want to continue the conversation with an operator?" + ] + }, + { + "conditions": [ + "{{$eq redirect false}}" + ], + "type": "conversation", + "conversation": "help" + }, + { + "conditions": [ + "{{$eq redirect true}}" + ], + "type": "message", + "messages": [ + "I am transferring you to an operator, and I will stay silent for the next 60 minutes. If you want to get back to me, please type 'restart'." + ] + }, + { + "conditions": [ + "{{$eq redirect true}}" + ], + "type": "command", + "command": "stay-silent 60" + } + ] + }, + "makeInsurance": { + "type": "goal", + "display-name": "signing up for a new insurance", + "steps": [ + { + "type": "question", + "entity": "age", + "entity-display": "{{this}}", + "entity-type": "Number", + "messages": [ + "What is your age?" + ], + "reactions": { + "suggestions": [ + "Are you still {{age}} years old?" + ], + "validations": [ + { + "type": "range", + "parameters": { + "min": "18" + }, + "error-message": [ + "The minimum required age for an insurance is 18 years. We are sorry, but we cannot provide you with a valid insurance." + ] + } + ] + } + }, + { + "type": "question", + "entity": "startDate", + "entity-type": "Date", + "entity-display": "{{$date this 'D MMMM YYYY'}}", + "messages": [ + "What date do you want your insurance to start from?" + ], + "reactions": { + "ambiguities": [ + "I am not sure which date you have in mind, could you select one of the following?" + ] + } + }, + { + "type": "question", + "entity": "endDate", + "entity-type": "Date", + "entity-display": "{{$date this 'D MMMM YYYY'}}", + "messages": [ + "What date is the last day of your insurance coverage?" + ], + "reactions": { + "acknowledgements": [ + "Let's find you an insurance from {{startDate}} to {{endDate}}." + ], + "validations": [ + { + "type": "custom", + "parameters": { + "condition": "{{$gt _raw.endDate _raw.startDate}}" + }, + "error-message": [ + "The end date of your insurance cannot be before your start date." + ] + } + ] + } + }, + { + "type": "question", + "entity": "destination", + "entity-type": "Country", + "messages": [ + "What is the country that you plan to visit?" + ], + "display": { + "type": "single-select", + "title": "Choose a country", + "button-text": "Submit" + }, + "reactions": { + "acknowledgements": [ + "A trip to {{destination}} is always a good idea." + ], + "suggestions": [ + "Is your destination {{destination}} again?" + ] + } + }, + { + "type": "question", + "entity": "citizenship", + "entity-type": "Country", + "messages": [ + "What is your country of residence?" + ], + "display": { + "type": "single-select", + "title": "Choose a country", + "button-text": "Submit" + }, + "reactions": { + "suggestions": [ + "Are you still residing in {{citizenship}}?" + ] + } + }, + { + "type": "entities-confirmation", + "entity": "confirmData", + "entities": [ + "age", + "startDate", + "endDate", + "destination", + "citizenship" + ], + "messages": [ + [ + "Ok, searching for an insurance plan for {{destination}} from {{startDate}} to {{endDate}}.", + "Please confirm or select the value that you want to change." + ] + ] + }, + { + "type": "question", + "entity": "insurancePlan", + "entity-type": "InsurancePlan", + "messages": [ + [ + "Here are the 3 insurance options we recommend." + ] + ], + "display": { + "type": "carousel", + "data-source": { + "endpoint": "https://api.everlive.com/v1/2mjhvesaxbgg0qiu/Functions/recommendInsurances?startDate={{_raw.startDate}}&endDate={{_raw.endDate}}", + "method": "GET" + }, + "template": { + "title": "{{Name}}", + "subtitle": "{{$currency Price 'USD'}}", + "image": "{{Image}}" + }, + "title": "Select an option", + "button-text": "Select" + } + }, + { + "type": "webhook", + "entity": "insurance", + "data-source": { + "endpoint": "https://api.everlive.com/v1/2mjhvesaxbgg0qiu/Functions/recommendInsurance?startDate={{startDate}}&endDate={{endDate}}&id={{_raw.insurancePlan.Id}}", + "method": "GET" + } + }, + { + "type": "confirmation", + "entity": "wantsToBuy", + "messages": [ + [ + "Here are the details for {{insurance.Name}}.", + "The total cost for {{insurance.Days}} days is {{$currency insurance.Price 'USD'}} and you get:", + "{{#forEach insurance.Features}}• {{item}}{{/forEach}}", + "Do you want me to sign you up for this plan?" + ] + ] + }, + { + "type": "message", + "conditions": [ + "{{$eq wantsToBuy false}}" + ], + "messages": [ + "We hope to see you back soon!" + ] + }, + { + "conditions": [ + "{{$eq wantsToBuy true}}" + ], + "type": "question", + "entity": "userEmail", + "entity-type": "Text", + "messages": [ + "What is your email address?" + ], + "reactions": { + "acknowledgements": [ + "OK. I understand that your email is {{userEmail}}." + ], + "validations": [ + { + "type": "email", + "error-message": [ + "I am not sure this is a valid email. Can you please type it again?" + ] + } + ], + "suggestions": [ + "Your email is {{userEmail}}?" + ] + } + }, + { + "type": "message", + "conditions": [ + "{{$eq wantsToBuy true}}" + ], + "messages": [ + [ + "You should have an email confirmation with further instructions.", + "Thank you for doing business with us!" + ] + ] + } + ] + }, + "emergency": { + "type": "goal", + "display-name": "emergency", + "steps": [ + { + "type": "question", + "entity": "currentLocation", + "entity-type": "Location", + "messages": [ + "What is your location right now?" + ], + "display": { + "type": "location-picker", + "title": "Pick a location" + } + }, + { + "type": "question", + "entity": "phone", + "entity-type": "Text", + "messages": [ + "What is your phone number?" + ], + "reactions": { + "suggestions": [ + "Is {{phone}} your phone number?" + ], + "validations": [ + { + "type": "phone", + "error-message": [ + "I am not sure it's a valid phone number. Can you type it again?" + ] + } + ] + } + }, + { + "type": "message", + "messages": [ + "An emergency team will be in touch with you in 30 seconds." + ] + } + ] + }, + "fillClaim": { + "type": "goal", + "display-name": "filling a claim", + "steps": [ + { + "type": "confirmation", + "entity": "isEmergency", + "messages": [ + "Do you require an immediate medical assistance?" + ] + }, + { + "type": "command", + "conditions": [ + "{{$eq isEmergency true}}" + ], + "command": "go-to emergency" + }, + { + "type": "confirmation", + "entity": "isReadyToClaim", + "messages": [ + [ + "Have you obtained all necessary documents to help us determine the expense that can be covered by your insurance plan?" + ] + ] + }, + { + "type": "message", + "conditions": [ + "{{$eq isReadyToClaim false}}" + ], + "messages": [ + "You need to obtain an itemized bill from your doctor or medical provider before you can make a claim request." + ] + }, + { + "conditions": [ + "{{$eq isReadyToClaim true}}" + ], + "type": "command", + "command": "go-to collectDocuments" + } + ] + }, + "collectDocuments": { + "type": "goal", + "display-name": "collecting claim documents", + "steps": [ + { + "type": "question", + "entity": "insuranceNumber", + "entity-type": "InsuranceNumber", + "messages": [ + "What is your valid insurance number?" + ], + "display": { + "type": "quick-reply", + "data": [ + "AN192181B", + "NB887712C", + "OA298717J" + ] + } + }, + { + "type": "question", + "entity": "amount", + "entity-type": "Text", + "messages": [ + [ + "What's the total amount that you claim?" + ] + ] + }, + { + "type": "question", + "entity": "receiptPicture", + "entity-type": "File", + "entity-display": "Receipt picture", + "messages": [ + "Can you take a picture of your billed amount?" + ], + "reactions": { + "validations": [ + { + "type": "image", + "error-message": [ + "Even though I enjoy {{_raw.receiptPicture.labels.[0]}} pictures, we'll need a photo with the invoice of the billed ammount." + ], + "parameters": { + "contains": [ + "receipt", + "document" + ] + } + } + ] + } + }, + { + "type": "entities-confirmation", + "entity": "confirmClaim", + "entities": [ + "insuranceNumber", + "amount", + "receiptPicture" + ], + "messages": [ + [ + "We are about to fill a claim for {{amount}}.", + "Please confirm this information or select the value that you want to change." + ] + ] + }, + { + "type": "message", + "conditions": [ + "{{$eq confirmClaim true}}" + ], + "messages": [ + "Your claim has been successfully filled." + ] + } + ] + }, + "insuranceCoverage": { + "type": "support", + "steps": [ + { + "type": "confirmation", + "entity": "coverageConfirmation", + "conditions": [ + "{{$not ($has coverage)}}" + ], + "messages": [ + [ + "Do you have some particular sport in mind?" + ] + ] + }, + { + "type": "question", + "entity": "coverage", + "entity-type": "Coverage", + "conditions": [ + "{{$eq coverageConfirmation true}}" + ], + "messages": [ + "What sport are you interested in?" + ] + }, + { + "type": "message", + "conditions": [ + "{{$has coverage}}" + ], + "messages": [ + "All {{coverage}} are included in our health insurance plans." + ] + }, + { + "type": "message", + "messages": [ + "You can check the full list of the included sports at https://..." + ] + } + ] + } + } + } \ No newline at end of file diff --git a/InsuranceAgent/en/tests.json b/InsuranceAgent/en/tests.json new file mode 100644 index 0000000..6696668 --- /dev/null +++ b/InsuranceAgent/en/tests.json @@ -0,0 +1,759 @@ +{ + "scenarios": [ + { + "it": "make new insurance + ask about insurance coverage", + "mocks": { + "https://api.everlive.com/v1/2mjhvesaxbgg0qiu/Functions/recommendInsurances?startDate=2015.03.11&endDate=2015.04.01": { + "GET": [ + { + "Name": "Travel Medical Insurance", + "Features": [ + "Travel medical insurance for individuals, families and groups", + "Renewable up to 24 months", + "Deductible options from $0 to $2,200", + "Maximum limits from $50,000 to $1,000,000", + "Coverage for medical expenses, evacuation, and repatriation" + ], + "Id": "b066f480-130d-11e8-bcc2-a1d7ccca5ae1", + "Price": 13.6, + "Days": 3 + }, + { + "Name": "Patriot WorldWide Plus", + "Features": [ + "Renewable up to 24 months", + "Deductible options from $0 to $2,500", + "Maximum Limits from $50,000 to $500,000 ", + "Coverage for acute onset of pre-existing conditions" + ], + "Id": "f252b7d0-130d-11e8-8b78-370e90d8b030", + "Price": 25.3, + "Days": 3 + }, + { + "Name": "Global Medical Insurance", + "Features": [ + "Long-term (1+ year) comprehensive worldwide medical insurance for individuals and families", + "Annually renewable medical coverage", + "Deductible options from $100 to $25,000", + "Maximum limit options from $1,000,000 to $4,000,000" + ], + "Id": "d25e0600-130d-11e8-bcc2-a1d7ccca5ae1", + "Price": 18.9, + "Days": 3 + } + ] + }, + "https://api.everlive.com/v1/2mjhvesaxbgg0qiu/Functions/recommendInsurance?startDate=2015.03.11&endDate=2015.04.01&id=f252b7d0-130d-11e8-8b78-370e90d8b030": { + "GET": { + "Name": "Patriot WorldWide Plus", + "Features": [ + "Renewable up to 24 months", + "Deductible options from $0 to $2,500", + "Maximum Limits from $50,000 to $500,000 ", + "Coverage for acute onset of pre-existing conditions" + ], + "Id": "f252b7d0-130d-11e8-8b78-370e90d8b030", + "Price": 25.3, + "Days": 3 + } + } + }, + "steps": [ + { + "user": { + "text": "hi" + }, + "bot": [ + [ + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "What can I do for you?", + "quickReplies": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + ] + ] + }, + { + "user": { + "text": "New insurance" + }, + "bot": [ + [ + { + "text": "What is your age?" + } + ] + ] + }, + { + "user": { + "text": "30" + }, + "bot": [ + [ + { + "text": "What date do you want your insurance to start from?" + } + ] + ] + }, + { + "user": { + "text": "march 11 2015" + }, + "bot": [ + [ + { + "text": "What date is the last day of your insurance coverage?" + } + ] + ] + }, + { + "user": { + "text": "april 1 2015" + }, + "bot": [ + [ + { + "text": "What is the country that you plan to visit?", + "template": { + "type": "button", + "buttons": [ + { + "url": "{{webviewsUrl}}", + "title": "Choose a country" + } + ] + } + } + ] + ] + }, + { + "user": { + "text": "bulgaria" + }, + "bot": [ + [ + { + "text": "What is your country of residence?", + "template": { + "type": "button", + "buttons": [ + { + "url": "{{webviewsUrl}}", + "title": "Choose a country" + } + ] + } + } + ] + ] + }, + { + "user": { + "text": "Italy" + }, + "bot": [ + [ + { + "text": "Ok, searching for an insurance plan for Bulgaria from 11 March 2015 to 1 April 2015." + }, + { + "text": "Please confirm or select the value that you want to change.", + "quickReplies": [ + "Confirm", + "30", + "11 March 2015", + "1 April 2015", + "Bulgaria", + "Italy" + ] + } + ] + ] + }, + { + "user": { + "text": "what sports are covered by the insurance?" + }, + "bot": [ + [ + { + "text": "Do you have some particular sport in mind?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "no" + }, + "bot": [ + [ + { + "text": "You can check the full list of the included sports at https://..." + }, + { + "text": "So..." + }, + { + "text": "Ok, searching for an insurance plan for Bulgaria from 11 March 2015 to 1 April 2015." + }, + { + "text": "Please confirm or select the value that you want to change.", + "quickReplies": [ + "Confirm", + "30", + "11 March 2015", + "1 April 2015", + "Bulgaria", + "Italy" + ] + } + ] + ] + }, + { + "user": { + "text": "are snowboard incidents covered by the insurance" + }, + "bot": [ + [ + { + "text": "All winter sports are included in our health insurance plans." + }, + { + "text": "You can check the full list of the included sports at https://..." + }, + { + "text": "So..." + }, + { + "text": "Ok, searching for an insurance plan for Bulgaria from 11 March 2015 to 1 April 2015." + }, + { + "text": "Please confirm or select the value that you want to change.", + "quickReplies": [ + "Confirm", + "30", + "11 March 2015", + "1 April 2015", + "Bulgaria", + "Italy" + ] + } + ] + ] + }, + { + "user": { + "text": "Confirm" + }, + "bot": [ + [ + { + "text": "Here are the 3 insurance options we recommend.", + "template": { + "type": "button", + "buttons": [ + { + "url": "{{webviewsUrl}}", + "title": "Select an option" + } + ] + } + } + ] + ] + }, + { + "user": { + "text": "Patriot WorldWide Plus" + }, + "bot": [ + [ + { + "text": "Here are the details for Patriot WorldWide Plus." + }, + { + "text": "The total cost for 21 days is $81.10 and you get:" + }, + { + "text": "• Renewable up to 24 months" + }, + { + "text": "• Deductible options from $0 to $2,500" + }, + { + "text": "• Maximum Limits from $50,000 to $500,000 " + }, + { + "text": "• Coverage for acute onset of pre-existing conditions" + }, + { + "text": "Do you want me to sign you up for this plan?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "Yes" + }, + "bot": [ + [ + { + "text": "What is your email address?" + } + ] + ] + }, + { + "user": { + "text": "user@some.mail" + }, + "bot": [ + [ + { + "text": "You should have an email confirmation with further instructions." + }, + { + "text": "Thank you for doing business with us!" + } + ] + ] + } + ] + }, + { + "it": "fill claim - emergency + small talk", + "steps": [ + { + "user": { + "text": "I'd like to fill a claim" + }, + "bot": [ + [ + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "Do you require an immediate medical assistance?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "yes" + }, + "bot": [ + [ + { + "text": "What is your location right now?" + }, + { + "template": { + "type": "location-picker", + "buttons": [ + { + "title": "Pick a location" + } + ] + } + } + ] + ] + }, + { + "user": { + "location": { + "latitude": 42.6977082, + "longitude": 23.3218675 + } + }, + "bot": [ + [ + { + "text": "What is your phone number?" + } + ] + ] + }, + { + "user": { + "text": "123456" + }, + "bot": [ + [ + { + "text": "An emergency team will be in touch with you in 30 seconds." + } + ] + ] + }, + { + "user": { + "text": "thanks" + }, + "bot": [ + [ + { + "text": [ + "Any time :)", + "Just doing my job!", + "You're welcome :)" + ] + } + ] + ] + }, + { + "user": { + "text": "bye" + }, + "bot": [ + [ + { + "text": [ + "Bye!", + "See you!", + "Good bye!" + ] + } + ] + ] + }, + { + "user": { + "text": "hi" + }, + "bot": [ + [ + { + "text": "What can I do for you?", + "quickReplies": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + ] + ] + } + ] + }, + { + "it": "fill claim - send documents", + "steps": [ + { + "user": { + "text": "I'd like to fill a claim" + }, + "bot": [ + [ + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "Do you require an immediate medical assistance?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "no" + }, + "bot": [ + [ + { + "text": "Have you obtained all necessary documents to help us determine the expense that can be covered by your insurance plan?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "what are the required documents?" + }, + "bot": [ + [ + { + "text": "You need to obtain an itemized bill from your doctor or medical provider before you can make a claim request." + } + ] + ] + }, + { + "user": { + "text": "yes" + }, + "bot": [ + [ + { + "text": "What is your valid insurance number?", + "quickReplies": [ + "AN192181B", + "NB887712C", + "OA298717J" + ] + } + ] + ] + }, + { + "user": { + "text": "AN192181B" + }, + "bot": [ + [ + { + "text": "What's the total amount that you claim?" + } + ] + ] + }, + { + "user": { + "text": "558.25" + }, + "bot": [ + [ + { + "text": "Can you take a picture of your billed amount?" + } + ] + ] + }, + { + "user": { + "attachments": [ + { + "payload": { + "url": "http://storage.googleapis.com/726f908084d742e7be16fca0374f9edf/62aaa0d8-3229-4ff3-b8af-e2d34326e49b/invoice.png" + } + } + ] + }, + "bot": [ + [ + { + "text": "We are about to fill a claim for 558.25." + }, + { + "text": "Please confirm this information or select the value that you want to change.", + "quickReplies": [ + "Confirm", + "AN192181B", + "558.25", + "Receipt picture" + ] + } + ] + ] + }, + { + "user": { + "text": "Confirm" + }, + "bot": [ + [ + { + "text": "Your claim has been successfully filled." + } + ] + ] + }, + { + "user": { + "text": "thanks" + }, + "bot": [ + [ + { + "text": [ + "You're welcome :)", + "Just doing my job!", + "Any time :)" + ] + } + ] + ] + }, + { + "user": { + "text": "hi" + }, + "bot": [ + [ + { + "text": "What can I do for you?", + "quickReplies": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + ] + ] + } + ] + }, + { + "it": "contact operator", + "steps": [ + { + "user": { + "text": "contact operator" + }, + "bot": [ + [ + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "Do you want to continue the conversation with an operator?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "yes" + }, + "bot": [ + [ + { + "text": "I am transferring you to an operator, and I will stay silent for the next 60 minutes. If you want to get back to me, please type 'restart'." + } + ] + ] + }, + { + "user": { + "text": "helooo" + }, + "bot": [ + [] + ] + }, + { + "user": { + "text": "restart" + }, + "bot": [ + [ + { + "text": "Your conversation is restarted." + }, + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "What can I do for you?", + "quickReplies": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + ] + ] + } + ] + }, + { + "it": "contact operator - refuse", + "steps": [ + { + "user": { + "text": "contact operator" + }, + "bot": [ + [ + { + "text": "Hello there, I am your personal travel Insurance Agent." + }, + { + "text": "I can help you find the best insurance plans for you and your family." + }, + { + "text": "Do you want to continue the conversation with an operator?", + "quickReplies": [ + "Yes", + "No" + ] + } + ] + ] + }, + { + "user": { + "text": "no" + }, + "bot": [ + [ + { + "text": "What can I do for you?", + "quickReplies": [ + "New insurance", + "Fill a claim", + "Contact operator" + ] + } + ] + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/InsuranceAgent/en/training.json b/InsuranceAgent/en/training.json new file mode 100644 index 0000000..02826c0 --- /dev/null +++ b/InsuranceAgent/en/training.json @@ -0,0 +1,1109 @@ +{ + "entity-definitions": [ + { + "name": "Conversation", + "lookup-strategy": "trait", + "data": [ + { + "value": "help", + "expressions": [ + "Help", + "Help me, please.", + "I need some help", + "What do you do", + "What can you do", + "how does this work", + "what should I do", + "who are you", + "What's your purpose", + "I don't know what to do", + "what is this", + "show help", + "You're useless.", + "What can I say", + "I need some assistance", + "not sure what to do", + "need some guidance", + "What are my options", + "Commands", + "assist me", + "I am lost", + "menu" + ] + }, + { + "value": "restart", + "expressions": [ + "restart", + "Can we start over?", + "reset", + "restart, plase", + "start again", + "restart conversation", + "reset conversation", + "Reboot the flow", + "Please reboot", + "I want to start again", + "Can we reset the conversation?", + "can we start again?", + "let's do it again", + "It is possible to restart the conversation?", + "Let's restart", + "I want to reset the conversation", + "Forget about it, reset", + "Forget, restart", + "start over" + ] + }, + { + "value": "insuranceCoverage", + "expressions": [ + "Are skiing incidents covered by your health insurance?", + "What does the insurance cover", + "insurance coverage", + "what is covered by the insurence" + ] + }, + { + "value": "makeInsurance", + "expressions": [ + "I want to sign-up for an insurance", + "Can you recommend me an insurance?", + "Sign up for insurance", + "I want to sign up for a new insurance plan", + "Can you recommend me an insurance?", + "I want to make a new insurance", + "Hello there, I would like to sign up for a health insurance for a trip", + "I would like to sign up for a health insurance", + "I would like to sign up for a health insurance for a ski trip from to", + "health insurance", + "new insurance", + "apply for insurance", + "can you suggest an insurance" + ] + }, + { + "value": "contactOperator", + "expressions": [ + "Contact support", + "Can I talk to an operator?", + "Would you get me in touch with a human?", + "It will be great if I can talk to a person.", + "Can you get me in touch with an operator?", + "Forward me to an operator", + "Forward to an operator" + ] + }, + { + "value": "fillClaim", + "expressions": [ + "Fill a claim", + "I want to fill a claim", + "I had an accident and I want to fill a claim", + "Can I submit my claim here?", + "I want to submit a claim for my insurance plan", + "I want to fill a claim today" + ] + } + ] + }, + { + "name": "SmallTalk", + "lookup-strategy": "QnA", + "data": [ + { + "value": "goodbye", + "expressions": [ + "bye", + "byebye", + "bye bye", + "bye-bye", + "bye now", + "byeee", + "byeeeee", + "ok, bye", + "excellent bye-bye", + "excellent bye", + "I go bye", + "I said bye", + "bye+", + "great bye", + "goodbye", + "have a good day", + "have a nice day", + "have a great weekend", + "talk to you soon", + "I'm outa here", + "++", + "gtg", + "later", + "catch you later", + "I have to go", + "ok I have to go thanks", + "got to go", + "so long", + "see u", + "see you soon", + "See you later", + "see you", + "see ya", + "see yu", + "I'll see you", + "cool see you next time", + "awesome see ya", + "best wishes", + "best regards", + "goodnight then", + "good night", + "au revoir", + "cia", + "cya l8er", + "cya", + "tciao", + "adieu", + "adios", + "hasta la vista" + ], + "answers": [ + "Bye!", + "See you!", + "Good bye!" + ] + }, + { + "value": "thanks", + "expressions": [ + "thnaks", + "thanks", + "thanks you too", + "thanks bot", + "thanks man", + "nice thanks", + "ok thanks", + "awesome thanks", + "sweet thanks", + "thanks for your help", + "thanks for the help", + "great! thanks", + "thanks again", + "thanks a lot", + "many thanks", + "good to know. thanks", + "thankssssssssss", + "thank", + "thank you", + "thank you very much", + "thank you so much", + "thank you buddy", + "great, thank you", + "nice, thank you", + "okay, thank you", + "I know. thank you", + "thank you for showing me that", + "ty", + "cool ty", + "thx", + "ok thx", + "awesome thx", + "thx mate", + "thx dude", + "thnx", + "you're good", + "that's very kind", + "you saved my day", + "I appreciate that", + "I really appreciate it", + "thank you" + ], + "answers": [ + "Any time :)", + "Just doing my job!", + "You're welcome :)" + ] + } + ] + }, + { + "name": "Country", + "lookup-strategy": "keywords", + "data": [ + { + "value": "Madagascar", + "synonyms": [] + }, + { + "value": "Vietnam", + "synonyms": [] + }, + { + "value": "Sudan", + "synonyms": [] + }, + { + "value": "Spain", + "synonyms": [] + }, + { + "value": "Namibia", + "synonyms": [] + }, + { + "value": "Czech", + "synonyms": [] + }, + { + "value": "Costa Rica", + "synonyms": [] + }, + { + "value": "Kuwait", + "synonyms": [] + }, + { + "value": "Ethiopia", + "synonyms": [] + }, + { + "value": "Holland", + "synonyms": [] + }, + { + "value": "Saudi Arabia", + "synonyms": [] + }, + { + "value": "Nepal", + "synonyms": [] + }, + { + "value": "Turkmenistan", + "synonyms": [] + }, + { + "value": "Eritrea", + "synonyms": [] + }, + { + "value": "Burundi", + "synonyms": [] + }, + { + "value": "Iran", + "synonyms": [] + }, + { + "value": "Uganda", + "synonyms": [] + }, + { + "value": "Australia", + "synonyms": [] + }, + { + "value": "Comoros", + "synonyms": [] + }, + { + "value": "Norway", + "synonyms": [] + }, + { + "value": "Pakistan", + "synonyms": [] + }, + { + "value": "Vatican", + "synonyms": [] + }, + { + "value": "Lithuania", + "synonyms": [] + }, + { + "value": "Brazil", + "synonyms": [] + }, + { + "value": "Guyana", + "synonyms": [] + }, + { + "value": "Brunei", + "synonyms": [] + }, + { + "value": "Armenia", + "synonyms": [] + }, + { + "value": "Afghanistan", + "synonyms": [] + }, + { + "value": "Venezuela", + "synonyms": [] + }, + { + "value": "Slovenia", + "synonyms": [] + }, + { + "value": "Romania", + "synonyms": [] + }, + { + "value": "Sweden", + "synonyms": [] + }, + { + "value": "San Marino", + "synonyms": [] + }, + { + "value": "Malta", + "synonyms": [] + }, + { + "value": "Macedonia", + "synonyms": [] + }, + { + "value": "USA", + "synonyms": [] + }, + { + "value": "Slovakia", + "synonyms": [] + }, + { + "value": "Philippines", + "synonyms": [] + }, + { + "value": "Mauritius", + "synonyms": [] + }, + { + "value": "Ukraine", + "synonyms": [] + }, + { + "value": "Solomon", + "synonyms": [] + }, + { + "value": "Grenada", + "synonyms": [] + }, + { + "value": "Dominica", + "synonyms": [] + }, + { + "value": "El Salvador", + "synonyms": [] + }, + { + "value": "Nigeria", + "synonyms": [] + }, + { + "value": "Moldova", + "synonyms": [] + }, + { + "value": "Kazakhstan", + "synonyms": [] + }, + { + "value": "Nauru", + "synonyms": [] + }, + { + "value": "Nicaragua", + "synonyms": [] + }, + { + "value": "Bahamas", + "synonyms": [] + }, + { + "value": "Angola", + "synonyms": [] + }, + { + "value": "Peru", + "synonyms": [] + }, + { + "value": "Sao Tome", + "synonyms": [] + }, + { + "value": "Cuba", + "synonyms": [] + }, + { + "value": "Bosnia", + "synonyms": [] + }, + { + "value": "Sri Lanka", + "synonyms": [] + }, + { + "value": "Bahrain", + "synonyms": [] + }, + { + "value": "South Sudan", + "synonyms": [] + }, + { + "value": "Ghana", + "synonyms": [] + }, + { + "value": "Algeria", + "synonyms": [] + }, + { + "value": "Benin", + "synonyms": [] + }, + { + "value": "Paraguay", + "synonyms": [] + }, + { + "value": "Mexico", + "synonyms": [] + }, + { + "value": "Zambia", + "synonyms": [] + }, + { + "value": "Malaysia", + "synonyms": [] + }, + { + "value": "India", + "synonyms": [] + }, + { + "value": "Morocco", + "synonyms": [] + }, + { + "value": "Egypt", + "synonyms": [] + }, + { + "value": "Tajikistan", + "synonyms": [] + }, + { + "value": "Syria", + "synonyms": [] + }, + { + "value": "Kosovo", + "synonyms": [] + }, + { + "value": "South Africa", + "synonyms": [] + }, + { + "value": "Tunisia", + "synonyms": [] + }, + { + "value": "Vanuatu", + "synonyms": [] + }, + { + "value": "Japan", + "synonyms": [] + }, + { + "value": "Denmark", + "synonyms": [] + }, + { + "value": "Papua", + "synonyms": [] + }, + { + "value": "St Lucia", + "synonyms": [] + }, + { + "value": "Bulgaria", + "synonyms": [] + }, + { + "value": "Turkey", + "synonyms": [] + }, + { + "value": "Oman", + "synonyms": [] + }, + { + "value": "Germany", + "synonyms": [] + }, + { + "value": "Cyprus", + "synonyms": [] + }, + { + "value": "Canada", + "synonyms": [] + }, + { + "value": "Hungary", + "synonyms": [] + }, + { + "value": "Finland", + "synonyms": [] + }, + { + "value": "Serbia", + "synonyms": [] + }, + { + "value": "Poland", + "synonyms": [] + }, + { + "value": "Austria", + "synonyms": [] + }, + { + "value": "Iceland", + "synonyms": [] + }, + { + "value": "France", + "synonyms": [] + }, + { + "value": "Netherlands", + "synonyms": [] + }, + { + "value": "Malawi", + "synonyms": [] + }, + { + "value": "Greece", + "synonyms": [] + }, + { + "value": "Singapore", + "synonyms": [] + }, + { + "value": "Botswana", + "synonyms": [] + }, + { + "value": "Colombia", + "synonyms": [] + }, + { + "value": "Liechtenstein", + "synonyms": [] + }, + { + "value": "Korea", + "synonyms": [] + }, + { + "value": "Libya", + "synonyms": [] + }, + { + "value": "St Kitts", + "synonyms": [] + }, + { + "value": "China", + "synonyms": [] + }, + { + "value": "Cape Verde", + "synonyms": [] + }, + { + "value": "Honduras", + "synonyms": [] + }, + { + "value": "Iraq", + "synonyms": [] + }, + { + "value": "Mongolia", + "synonyms": [] + }, + { + "value": "Maldives", + "synonyms": [] + }, + { + "value": "Palau", + "synonyms": [] + }, + { + "value": "Herzegovina", + "synonyms": [] + }, + { + "value": "Emirate", + "synonyms": [] + }, + { + "value": "Jamaica", + "synonyms": [] + }, + { + "value": "Liberia", + "synonyms": [] + }, + { + "value": "America", + "synonyms": [] + }, + { + "value": "Lesotho", + "synonyms": [] + }, + { + "value": "Latvia", + "synonyms": [] + }, + { + "value": "Ireland", + "synonyms": [] + }, + { + "value": "Belgium", + "synonyms": [] + }, + { + "value": "Barbados", + "synonyms": [] + }, + { + "value": "Marshall", + "synonyms": [] + }, + { + "value": "Cameroon", + "synonyms": [] + }, + { + "value": "Mali", + "synonyms": [] + }, + { + "value": "Micronesia", + "synonyms": [] + }, + { + "value": "New Zealand", + "synonyms": [] + }, + { + "value": "Fiji", + "synonyms": [] + }, + { + "value": "Lebanon", + "synonyms": [] + }, + { + "value": "Argentina", + "synonyms": [] + }, + { + "value": "Burkina", + "synonyms": [] + }, + { + "value": "Switzerland", + "synonyms": [] + }, + { + "value": "Israel", + "synonyms": [] + }, + { + "value": "Panama", + "synonyms": [] + }, + { + "value": "Albania", + "synonyms": [] + }, + { + "value": "Azerbaijan", + "synonyms": [] + }, + { + "value": "United Kingdom", + "synonyms": [] + }, + { + "value": "Montenegro", + "synonyms": [] + }, + { + "value": "Luxembourg", + "synonyms": [] + }, + { + "value": "Italy", + "synonyms": [] + }, + { + "value": "Tobago", + "synonyms": [] + }, + { + "value": "Guatemala", + "synonyms": [] + }, + { + "value": "Bissau", + "synonyms": [] + }, + { + "value": "Niger", + "synonyms": [] + }, + { + "value": "Senegal", + "synonyms": [] + }, + { + "value": "Jordan", + "synonyms": [] + }, + { + "value": "Monaco", + "synonyms": [] + }, + { + "value": "Suriname", + "synonyms": [] + }, + { + "value": "Grenadines", + "synonyms": [] + }, + { + "value": "Tonga", + "synonyms": [] + }, + { + "value": "British", + "synonyms": [] + }, + { + "value": "Ecuador", + "synonyms": [] + }, + { + "value": "Rwanda", + "synonyms": [] + }, + { + "value": "Gabon", + "synonyms": [] + }, + { + "value": "Bangladesh", + "synonyms": [] + }, + { + "value": "Estonia", + "synonyms": [] + }, + { + "value": "England", + "synonyms": [] + }, + { + "value": "Congo", + "synonyms": [] + }, + { + "value": "Croatia", + "synonyms": [] + }, + { + "value": "Andorra", + "synonyms": [] + }, + { + "value": "Thailand", + "synonyms": [] + }, + { + "value": "Uzbekistan", + "synonyms": [] + }, + { + "value": "Zimbabwe", + "synonyms": [] + }, + { + "value": "Great Britain", + "synonyms": [] + }, + { + "value": "Wales", + "synonyms": [] + }, + { + "value": "Kyrgyzstan", + "synonyms": [] + }, + { + "value": "Tanzania", + "synonyms": [] + }, + { + "value": "Kiribati", + "synonyms": [] + }, + { + "value": "Central African Republic", + "synonyms": [] + }, + { + "value": "Portugal", + "synonyms": [] + }, + { + "value": "Taiwan", + "synonyms": [] + }, + { + "value": "Yemen", + "synonyms": [] + }, + { + "value": "Indonesia", + "synonyms": [] + }, + { + "value": "Cambodia", + "synonyms": [] + }, + { + "value": "Somalia", + "synonyms": [] + }, + { + "value": "Gambia", + "synonyms": [] + }, + { + "value": "Antigua", + "synonyms": [] + }, + { + "value": "Myanmar", + "synonyms": [] + }, + { + "value": "Bhutan", + "synonyms": [] + }, + { + "value": "Bolivia", + "synonyms": [] + }, + { + "value": "Ivory Coast", + "synonyms": [] + }, + { + "value": "Seychelles", + "synonyms": [] + }, + { + "value": "United States", + "synonyms": [] + }, + { + "value": "Belize", + "synonyms": [] + }, + { + "value": "Scotland", + "synonyms": [] + }, + { + "value": "Burma", + "synonyms": [] + }, + { + "value": "Tuvalu", + "synonyms": [] + }, + { + "value": "Georgia", + "synonyms": [] + }, + { + "value": "Uruguay", + "synonyms": [] + }, + { + "value": "Belarus", + "synonyms": [] + }, + { + "value": "Mozambique", + "synonyms": [] + }, + { + "value": "Haiti", + "synonyms": [] + }, + { + "value": "Sierra Leone", + "synonyms": [] + }, + { + "value": "Djibouti", + "synonyms": [] + }, + { + "value": "Togo", + "synonyms": [] + }, + { + "value": "Scottish", + "synonyms": [] + }, + { + "value": "Mauritania", + "synonyms": [] + }, + { + "value": "Chad", + "synonyms": [] + }, + { + "value": "East Timor", + "synonyms": [] + }, + { + "value": "Guinea", + "synonyms": [] + }, + { + "value": "Swaziland", + "synonyms": [] + }, + { + "value": "Laos", + "synonyms": [] + }, + { + "value": "Qatar", + "synonyms": [] + }, + { + "value": "Samoa", + "synonyms": [] + }, + { + "value": "Kenya", + "synonyms": [] + }, + { + "value": "Trinidad", + "synonyms": [] + }, + { + "value": "Welsh", + "synonyms": [] + }, + { + "value": "Chile", + "synonyms": [] + }, + { + "value": "Russia", + "synonyms": [] + } + ] + }, + { + "name": "InsuranceNumber", + "lookup-strategy": "regex", + "data": { + "pattern": "[a-zA-Z]{2}(?:\\s*\\d\\s*){6}[a-zA-Z]?" + } + }, + { + "name": "InsurancePlan", + "lookup-strategy": "keywords", + "data": [], + "dynamic-data": { + "data-source": { + "endpoint": "https://platform.telerik.com/bs-api/v1/2mjhvesaxbgg0qiu/Plans", + "method": "GET", + "headers": {}, + "payload": {}, + "selector": "$.Result[:]" + }, + "value-template": "{{Name}}", + "synonym-templates": [] + } + }, + { + "name": "Coverage", + "lookup-strategy": "keywords", + "data": [ + { + "value": "winter sports", + "synonyms": [ + "snow sports", + "ski", + "skiing", + "snowboard", + "ice skating" + ] + } + ] + }, + { + "name": "FAQ", + "lookup-strategy": "QnA", + "data": [ + { + "value": "claimDocuments", + "expressions": [ + "what are the necessary documents", + "what documents do I have to provide", + "what documents are required to fill a claim" + ], + "answers": [ + "You need to obtain an itemized bill from your doctor or medical provider before you can make a claim request." + ] + } + ] + } + ] +} \ No newline at end of file