poserver
Version:
Server for JD Bot
411 lines (389 loc) • 24.5 kB
JavaScript
/**
* Created by tomdaley on 9/5/16.
*/
/*
* Prompts for the Legal Services Bot
*/
module.exports =
{
addAnotherCard : "(Add Another Card)",
askAdditionalActsOfViolence : "Are there additional acts of violence involving %(aname)s and %(vname)s that you need to report?",
askAddressFull : "Address? (Number, Street, Apartment #, City, State, ZIP)",
askAddressFullReprompt : "I was not able to validate that address. Please try again (EX: 110 E. Louisiana Street #200, McKinney, TX 75069)",
askAddressCounty : "What county is that in?\n\n(Just type a question mark \"?\" if you don't know.)",
askAddressState : "What state is that in?\n\n(Just type a question mark \"?\" if you do not know.)",
askCaseType : "What kind of case is this?",
askCauseNumber : "What is the cause number? (Located on the top of the first page of papers you were served with)",
askCauseNumberReprompt : "I'm not able to find that cause number. Please try again. Make sure you type every letter, number, and punction item that appears on the citation.",
askChildBirthDate : "What is %(cname)s date of birth?",
askChildGender : "What is %(cname)s's gender?",
askChildName : "What is your %(ordinal)s child's full name?",
askCityStateZip : "What City, State, and ZIP code do you live at? (example McKinney, TX 75070)",
askConfirmCauseNumber : "I have some familiarty with cause numbers for %(county)s county, yet I don't recognize %(cause)s as a valid cause number. Are you sure?",
askConfirmProfile : "Is this information correct?",
askCounty : "What county is this case in? (Located on the right toward the top of the papers you were served with)",
askCourtNumber : "Which %(ctype)s court or court number is the case in?",
askCourtType : "What kind of court is the case in?",
askCreditCardCvc : "What is the CVC on this card (4 digits on the front of an Amex card, 3 digits on the back of others)?",
askCreditCardExpirationMonth : "What is the expiration MONTH?",
askCreditCardExpirationYear : "What is the expiration YEAR?",
askCreditCardName : "What is the name on the credit card (including first, middle, and lastname)?",
askCreditCardNameIsYourName : "Is %(name)s the name on the credit card?",
askCreditCardNumber : "What credit card number do you want to use?",
askCreditCardZipIsYourZip : "Is %(zip)s the billing ZIP code?",
askCreditCardZip : "What is the billing ZIP code for this credit card?",
askCurrentAddress : "What is %(name)s's current address or where might %(pronoun)s be found?",
askDescribeInjuries : "Please describe %(vname)s's injuries as they appeared that day.",
askDescribeLaterInjuries : "Please describe %(vname)s's injuries as they appeared later.",
askDateOfBirth : "What is your date of birth?",
askDriversLicense : "What are the LAST 3 DIGITS of your driver's license number",
askDriversLicenseState : "Which state issued your driver's license? (example: TX)",
askEmailAddress : "What is your email address?",
askFaxNumber : "What is your fax number?",
askGender : "What is your gender?",
askHowToImprove : "How could we improve this service?",
askInstrumentality : "Describe the weapon %(aname)s used.",
askJurisdictionCountry : "Is your case filed or going to be filed within the United States of America?",
askJurisdictionState : "Is your case filed or going to be filed within the State of TEXAS?",
askLikelyToRecommend : "How likely are you to recommend me to your friends, family members, and colleagues?",
askPhoneNumber : ["What is your cell phone number?", "What is your mobile phone number?"],
askNamedDateOfBirth : "What is %(name)s date of birth?",
askNamedGender : "Is %(name)s male or female?",
askOkToChargeCC : "Is it ok to charge $%(amount)s to the %(brand)s card, ending with %(last4)s?",
askOkToCharge : "Is it OK to charge $%(amount)s to that credit card?",
askPaymentMethod : "There is a $%(amount)s fee for drafting your documents. Which payment method would you like to use?",
askPerpetratorFullname : "What is the perpetrator's full name?",
askShowMenu : ["I'm sorry. I didn't understand. Would you like to see a menu?", "I didn't understand that. Would you like to see a menu?"],
askSocialSecurityNumber : "What are the LAST 3 DIGITS of your Social Security number?",
askSpecificActDate : "On or about what date did %(aname)s %(act)s %(vname)s?",
askSpecificActDescription : "What%(else)s did %(aname)s do to %(vname)s?",
askSpouseName : "What is your spouse's full name? (Include first name, middle name, and last name.)",
askStreetAddress : "What is your street address? (example: 123 Main Street Apt B)",
askSubsequentInjuriesDate : "On about what date did %(injuries)s appear on %(vname)s?",
askUserName : "What is your name?",
askVerifyCounty : "I was able to locate %(county)s. Is that correct?",
askVictimFullname : "What is the first victim's full name?",
askWhatElseCanIDoForYou : ["What else can I do for you?", "How else can I help you?", "What else would you like?"],
askWhatNextFollowingFailedCharge: ["What would you like to do?", "How would you like to proceed?", "What should I do next?"],
askWhatRefinements : "How could we make our service even better?",
askWhatWouldChangeMind : "What could we improve to change your mind? Don't hold back! ;-)",
askWhereViolenceOccurred : "Where were they when this happened? The more specific you can be, the better.",
askWhetherHasDriversLicense : "Do you have a drivers license?",
askWhetherHasFaxNumber : "Do you have a fax number?",
askWhetherHasSocialSecurityNumber: "Do you have a Social Security Number?",
askWhetherInjuriesAppearedSubsequently: "Did %(vname)s have any visible injuries that appeared on a later date?",
askWhetherInstrumentality : "Did %(aname)s use a weapon of any kind?",
askWhetherMoreChildrenToAdd : "You have entered information for %(cnames)s. Do you have more children to add?",
askWhetherPoliceCalled : ["Were the police called?", "Did anyone call the police?"],
askWhetherRecordings : "Please select what type of recordings are available:",
askWhetherSameDayAsPrevious : "Did %(aname)s %(thisact)s %(vname)s on the same day that %(anamep)s %(prevact)s %(vnamep)s (%(pdate)s)?",
askWhetherSameLocationAsPrevious : "Did %(aname)s %(thisact)s %(vname)s at the same location that %(anamep)s %(prevact)s %(vnamep)s (%(plocation)s)?",
askWhetherVisibleInjuriesDayOfIncident: "On the day of the incident, did %(vname)s have any visible injuries, such as bruising or cuts?",
askWhichAgency : ["Which police department was called?", "Which law enforcement agency was called?"],
askWhichToChange : ["Please select which item you'd like to update.", "What would you like to change?", "Please select which item I should update.",
"What would you like to update?"],
askYourFullAddress : "What is your full address (street#, street, apartment#, city, state, ZIP",
askYourFullAddressReprompt : "Sorry, I didn't understand that. Please try again. Example: 110 E. Louisiana Str #200, McKinney, TX 75069",
caseInformation : ["Is this a %(ctype)s case filed by %(petitioner)s?", "Are you referring to a %(ctype)s case filed by %(petitioner)s?"],
choicesAfterFailedCharge : ["Try another card", "Quit"],
deleteACard : "(Delete a Card)",
endingIn : "ending in",
greetingMessage : "Hello. My name is %(attorneyName)s. My telephone number is 972-540-0500 and my email address is tjd@powerdaley.com.\n\nBefore we get started, I need to know five things about you so that I can give you access to our client portal.\n\n",
howCanIHelpYouMessage : ["How can I help you?", "What brings you here today?", "What can I do for you?", "How may I help you?"],
movingOn : "Thank you. Moving on . . .",
paymentDescription : "JDBOT - Legal Document Drafting Services",
welcomeBackMessage : "Welcome back, %(uname)s! I work for attorney %(attorneyName)s.",
//Say
sayAddressValidationError : ["Sorry. The address validation system I use isn't working properly. Please try later.",
"We'll have to take this up later. The address validation system I use isn't working right now.",
"The system I use for looking up addresses is not working. Give me a few minutes and try again later."],
sayCantFindCounty : ["I can't find anything even similar to %(county)s. Please try again.", "%(county)s County? I can't find it. Please try again",
"Even Google can't find %(county)s County. Please try again", "I was not able to find %(county)s County. Please try again."],
sayCantVerifyIdentity : "We can't continue because I can't verify your identity.",
sayDidYouMean : "Did you mean?",
sayEnterSmsCode : "I just sent a verification code to your cell phone. Please tell me what code you received.",
sayFullAddressIQuit : "I give up . . . I'll try to guide you step-by-step in a later version",
sayGoodbye : ["Good bye. :-) Type \"hello\" to start again.", "Have a nice day. :-) Type \"HI\" to start again.", "Talk to you later. :-) Say \"hello\" to start chatting again."],
sayHiToBegin : ["Say \"HI\"\ to begin.", "Say \"HI\" to start again.", "Type \"RESTART\" to start again."],
sayICantHelpYou : ["I don't have any help to offer.", "Sorry. I haven't been trained to provide help on that question.", "I wish I could help you, but I don't know how."],
sayIDidntUnderstand : ["I didn't understand that.", "I didn't get that. Please try again", "I'm sorry. I didn't understand"],
sayIDontKnowWhy : ["I can't explain it. The attorney asked me so I'm asking you.", "I don't know why they are asking. I just know I need to get that information from you.", "I don't know why they asked. I can assure you that your information protected and not shared without your approval."],
sayINeedYourFullName : ["I need your full name, please.", "Please give me your full name (first, middle last).", "I need your full name (first middle last)"],
sayInvalidCreditCardNumber : "The card number you entered (%(card)s) appears to be invalid. Are you sure it's correct?",
sayJurisdictionCountryLimit : "I'm sorry. At this time I can only assist you with cases within the United States.",
sayJurisdictionStateLimit : "I'm sorry. At this time I can only assist you with cases within the State of Texas.",
sayLetsGetStarted : ["Great! Let's get started.", "Good. Let's get started.", "Thank you...now let's get started.", "Perfect. Let's get rolling."],
sayNeedToGatherPaymentDetails : "I've saved your answers. There is a $%(amount)s charge for this document.",
sayOKFamilyViolencePo : ["I can help you with a Protect Order", "I can help you apply for a Protective Order", "Sure, I can help you ask for a Protective Order"],
sayOKOriginalAnswer : ["I can help you with an Original Answer", "I can help you draft an Original Answer", "Sure, I can help you prepare an Original Answer"],
sayOnlyCellphonesSupported : "At this time, we only work with cell phone numbers and %(phone)s seems to be a %(type)s. Please enter a cell phone number that you have access to.",
sayPleaseTakeSurvey : ["Please help us improve by answering just a couple more questions.",
"Please help me improve by taking a very quick survey.",
"It would help me help others if you would take just a few moments to answer a few questions about your experience."],
sayProfileUpdateRequired : "I need a little more information before we can continue. (Upgrading profile from version %(ov)s to %(nv)s.)",
sayResponsesSaved : ["I have saved your answers. Your documents will be emailed to you shortly.",
"Your responses have been saved. We will email your documents to you shortly.",
"All your answers have been securely saved. I will email your documents to you soon."],
sayThankYouForFeedback : ["Thank you for your feedback. We take your comments seriously.",
"Thank you for your feedback. We make improvements every day based on what our customers say.",
"Thank you!! Your valuable insights help us improve",
"Thank you very much! Your thoughts and ideas are more helpful than you know."],
sayThankYouForPayment : ["Thank you! I appreciate your payment.", "Thank you for your payment!!", "Thank you!! Your payment is appreciated."],
sayUnableToCreatPaymentAccount: "Unable to create payment account - please try again later.",
sayUserProfileUpdateOk : ["Your profile has been updated.", "I have updated your profile.", "I've updated your contact information."],
sayUserProfileUpdateFail : ["I was not able to update your profile.", "I could not save your contact information.", "I was not able to save any changes to your contact information"],
sayUseThisAddress : "Use this address",
sayValidCvcRange : "Your credit card's CVC code is either a 4-digit number on the front of an American Express card or a 3-digit number on the back of all other cards.",
sayValidMonthRange : "Expiration month must be between 1 (January) and 12 (December).",
sayValidPostalCode : "That was not a valid %(country)s ZIP or postal code.",
sayValidYearRange : "Expiration year must be between %(min)s and %(max)s.",
sayVerificationCodeValid : "Thank you for verifying your identity. Let's continue . . .",
sayWelcomeAfterDelay : ["Welcome back, %(uname)s!! Let's get started.", "Nice to see you, %(uname)s.",
"Good to see you again, %(uname)s.", "Hello, %(uname)s. I'm glad you're back."],
sayYouveBeenAwayForSoLong : "You've been away for so, so long . . . that we need to restart this conversation.",
//Labels
userProfile : "Your name: %(uname)s\n\nBirth date: %(dob)s\n\nGender: %(gender)s\n\nEmail: %(uemail)s\n\nTelephone: %(uphone)s\n\n",
userProfileChoices: "%(uname)s|%(dob)s|%(gender)s|%(uemail)s|%(uphone)s|(No Changes)",
//Constants
and : "and",
attorneyName : "Thomas J. Daley",
attorneyImageUrl: "https://media.licdn.com/mpr/mpr/shrinknp_200_200/p/3/000/004/2a6/27a0520.jpg",
attorneySubtitle: "Family Law Attorney",
attorneyTagLine : "Helping Texas Families resolve their disputes peacefully",
changeChoice : "Change",
confirmChoice : "Confirm",
likelihood : "Definitely|Maybe|Not Likely",
months : ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
/*
* I M P O R T A N T N O T E
*
* Do NOT NOT NOT NOT rearrange the entries within these arrays. For example, in the gender arrays, the MALE
* entries must be first and the FEMALE entries must be last. I'm not kidding. Do not change this. The reason is
* that the "gender" property is stored in the database as an index into these arrays. So if you save an entry with
* a property gender=0 (male), but later rearrange the arrays, the people will start appearing to have had sex changes.
*/
gender : ["male", "female"],
subjectPronoun : ["he", "she"],
objectPronoun : ["him", "her"],
possessivePronoun: ["his", "her"],
courtTypes : ["District", "County", "Justice/JP", "Municipal"],
ordinals : ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth", "eleventh", "twelveth", "thirteenth", "fourteenth", "fifteenth"],
thankYou : "Thank you",
yesno : "Yes|No",
no : "No",
yes : "Yes",
help : "Help",
//Menu of abilities for this bot
abilities: {
"Protective Order" : {
dialogName: "*:/familyViolencePo",
patterns : [/.*protective.*order.*/i],
price : 11.00
},
"QDRO: Qualified Domestic Relations Order": {
dialogName: "*:/qdro",
patterns : [/.*qdro.*/i, /.*domestic\s*relations\s*order.*/i, /^dro$/i],
price : 15.00
},
"Original Answer" : {
dialogName: "originalAnswer:/",
patterns : [/.*answer.*/i],
price : 8.00
},
"Update My Profile" : {
dialogName: "userProfile:/Update",
patterns : [/.*profile|account*/i]
}
},
//List of stop words
stopWords: {
"CANCEL": {
patterns: [/.*cancel.*/i, /.*quit.*/i, /^stop/i, /^abort/i]
},
"HELP": {
patterns: [/.*help.*/i, /^\?/, /.*explain.*/i, /.*understand.*/i, /.*\s*why\s*.*/i]
},
"GOBACK": {
patterns: [/^back/i, /^.*go.*back.*/i, /^prev.*/i, /^up/i]
},
"RESTART": {
patterns: [/^.*restart/i, /.*start.*over.*/i]
}
},
causes: {
"all": {
"Divorce - No Children" : {
"id" : "DIVN",
"spouse" : true,
"children": false,
"defenses": [],
"price" : 5.00
},
"Divorce with Children" : {
"id" : "DIVC",
"spouse" : true,
"children": true,
"defenses": [],
"price" : 7.00
},
"Child Support Enforcement" : {
"id" : "ENFCS",
"spouse" : false,
"children": true,
"defenses": ["cs"],
"price" : 9.00
},
"Visitation Enforcement" : {
"id" : "ENFVI",
"spouse" : true,
"children": true,
"defenses": ["visitation"],
"price" : 9.00
},
"Property Enforcement" : {
"id" : "ENFPR",
"spouse" : true,
"children": false,
"defenses": ["property"],
"price" : 9.00
},
"Original Custody Suit" : {
"id" : "SAPCR",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
},
"Modification of Custody or Child Support": {
"id" : "MODI",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
}
},
"divorce": {
"Divorce - No Children": {
"id" : "DIVN",
"spouse" : true,
"children": false,
"defenses": [],
"price" : 5.00
},
"Divorce with Children": {
"id" : "DIVC",
"spouse" : true,
"children": true,
"defenses": [],
"price" : 7.00
}
},
"childsupport": {
"Child Support Enforcement" : {
"id" : "ENFCS",
"spouse" : false,
"children": true,
"defenses": ["cs"],
"price" : 9.00
},
"Modification of Custody or Child Support": {
"id" : "MODI",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
},
"Start Child Support" : {
"id" : "SAPCR",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
}
},
"modifycustody": {
"Modification of Custody or Child Support": {
"id" : "MODI",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
}
},
"custody": {
"Original Custody Suit" : {
"id" : "SAPCR",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
},
"Modification of Custody or Child Support": {
"id" : "MODI",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
}
}
},
//List of Case Types
caseTypes: {
"Divorce - No Children" : {
"id" : "DIVN",
"spouse" : true,
"children": false,
"defenses": [],
"price" : 5.00
},
"Divorce with Children" : {
"id" : "DIVC",
"spouse" : true,
"children": true,
"defenses": [],
"price" : 7.00
},
"Child Support Enforcement" : {
"id" : "ENFCS",
"spouse" : false,
"children": true,
"defenses": ["cs"],
"price" : 9.00
},
"Visitation Enforcement" : {
"id" : "ENFVI",
"spouse" : true,
"children": true,
"defenses": ["visitation"],
"price" : 9.00
},
"Property Enforcement" : {
"id" : "ENFPR",
"spouse" : true,
"children": false,
"defenses": ["property"],
"price" : 9.00
},
"Custody" : {
"id" : "SAPCR",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
},
"Modification of Custody or Child Support": {
"id" : "MODI",
"spouse" : false,
"children": true,
"defenses": [],
"price" : 7.00
}
},
//List of recordings
recordingChoices: [
"Video Recordings",
"Audio Recordings",
"Photographs",
"None"
]
};