diff --git a/strr-base-web/app/components/contact/STRR.vue b/strr-base-web/app/components/contact/STRR.vue new file mode 100644 index 00000000..bfecc674 --- /dev/null +++ b/strr-base-web/app/components/contact/STRR.vue @@ -0,0 +1,31 @@ + diff --git a/strr-base-web/app/components/modal/group/HelpAndInfo.vue b/strr-base-web/app/components/modal/group/HelpAndInfo.vue new file mode 100644 index 00000000..bc34552c --- /dev/null +++ b/strr-base-web/app/components/modal/group/HelpAndInfo.vue @@ -0,0 +1,27 @@ + + diff --git a/strr-base-web/app/components/modal/help/RegisterStr.vue b/strr-base-web/app/components/modal/help/RegisterStr.vue new file mode 100644 index 00000000..ac783831 --- /dev/null +++ b/strr-base-web/app/components/modal/help/RegisterStr.vue @@ -0,0 +1,20 @@ + diff --git a/strr-base-web/app/components/modal/info/CollectionNotice.vue b/strr-base-web/app/components/modal/info/CollectionNotice.vue new file mode 100644 index 00000000..99a9772a --- /dev/null +++ b/strr-base-web/app/components/modal/info/CollectionNotice.vue @@ -0,0 +1,21 @@ + diff --git a/strr-base-web/app/composables/useStrrBaseBusiness.ts b/strr-base-web/app/composables/useStrrBaseBusiness.ts index 033044d7..e625de34 100644 --- a/strr-base-web/app/composables/useStrrBaseBusiness.ts +++ b/strr-base-web/app/composables/useStrrBaseBusiness.ts @@ -7,7 +7,7 @@ export const useStrrBaseBusiness = () => { const getBaseBusinessSchema = (business: StrrBusiness) => { return z.object({ legalName: getRequiredNonEmptyString(t('validation.business.legalName')), - homeJurisdiction: getRequiredNonEmptyString(t('validation.business.jurisdiction')), + homeJurisdiction: optionalOrEmptyString, businessNumber: optionalOrEmptyString, mailingAddress: getRequiredAddress( t('validation.address.street'), diff --git a/strr-base-web/app/composables/useStrrModals.ts b/strr-base-web/app/composables/useStrrModals.ts index d9460408..4e359b9b 100644 --- a/strr-base-web/app/composables/useStrrModals.ts +++ b/strr-base-web/app/composables/useStrrModals.ts @@ -1,5 +1,9 @@ // https://ui.nuxt.com/components/modal#control-programmatically -import { ModalBase } from '#components' +import { + ModalBase, + ModalHelpRegisterStr, + ModalInfoCollectionNotice +} from '#components' export const useStrrModals = () => { const modal = useModal() @@ -93,6 +97,18 @@ export const useStrrModals = () => { }) } + function openHelpRegisterModal () { + modal.open(ModalHelpRegisterStr, { + actions: [{ label: t('btn.close'), handler: () => close() }] + }) + } + + function openInfoCollectionNoticeModal () { + modal.open(ModalInfoCollectionNotice, { + actions: [{ label: t('btn.close'), handler: () => close() }] + }) + } + function close () { modal.close() } @@ -103,6 +119,8 @@ export const useStrrModals = () => { openConfirmDeclineTosModal, openPatchTosErrorModal, openConfirmSwitchAccountModal, + openHelpRegisterModal, + openInfoCollectionNoticeModal, close } } diff --git a/strr-base-web/app/locales/en-CA.ts b/strr-base-web/app/locales/en-CA.ts index 6aa5b5a8..bf59af43 100644 --- a/strr-base-web/app/locales/en-CA.ts +++ b/strr-base-web/app/locales/en-CA.ts @@ -82,6 +82,21 @@ export default { title: 'Hours of Operation:', value: 'Monday to Friday, 8:30am - 4:30pm Pacific Time' } + }, + strr: { + listTitle: 'Short-Term Rental Registry Contact Information', + tollFree: { + title: 'Canada and U.S. Toll Free:', + value: '1-833-828-2240' + }, + victoriaOffice: { + title: 'Victoria Office:', + value: '604-630-4058' + }, + email: { + title: 'Email:', + value: "STRregistry{'@'}gov.bc.ca" + } } }, currency: { @@ -159,7 +174,7 @@ export default { socialInsuranceNumber: 'Social Insurance Number (SIN)', taxNumber: 'Tax Number', busName: 'Business Name', - busNameLegal: 'Business Legal Name', + busNameLegal: 'Legal Name', corpNum: 'Incorporation Number', busNum: 'Business Number', busNumOpt: 'Business Number (Optional)', @@ -167,6 +182,7 @@ export default { registrationNum: 'Registration Number', applicationNum: 'Application Number', homeJurisdiction: 'Home Jurisdiction', + homeJurisdictionOpt: 'Home Jurisdiction (Optional)', name: 'Name', mailingAddress: 'Mailing Address', deliveryAddress: 'Delivery Address', @@ -239,6 +255,20 @@ export default { title: 'Leave Site?', content: 'Changes you made may not be saved.', leaveBtn: 'Leave' + }, + help: { + registerStr: { + triggerBtn: 'Help with registering', + title: 'Need Help?', + content: 'For more information about registration requirements, visit {link}. If you need help registering, using the dashboard, or resolving a technical issue, you can also contact us directly.' + } + }, + info: { + collectionNotice: { + triggerBtn: 'Information collection notice', + title: 'Information Collection Notice', + content: 'Any personal information required is collected to support the administration and enforcement of the {act}, under the authority of section 33(1) of that Act. Any questions about the collection of any information can be directed to the Executive Director of the Short-Term Rental Branch, at {email}.' + } } }, word: { @@ -334,7 +364,7 @@ export default { site: 'Please enter a valid full url for this brand (i.e. https://www.bcregistry.gov.bc.ca)' }, business: { - legalName: 'Please enter the business legal name', + legalName: 'Please enter the legal name', jurisdiction: 'Please enter the business home jurisdiction', cpbc: 'Please enter the CPBC number' }, @@ -391,10 +421,10 @@ export default { registeredOfficeAttorney: 'Registered Office / Attorney' }, hint: { - businessLegalNamePlatform: 'The full legal name of the business that is operating the platform. Include corporate designations (e.g., "Ltd.", "Inc.", "LLC.")', + businessLegalNamePlatform: 'The full legal name of the platform service provider', businessLegalNameStrataHotel: 'The full legal name of the business that is operating the strata hotel. Include corporate designations (e.g., "Ltd.", "Inc.", "LLC.")', businessNumber: 'Canada Revenue Agency (CRA) Business Number', - humeJurisdiction: 'The regional or federal jurisdiction where the business was incorporated or registered', + humeJurisdiction: 'The regional or federal jurisdiction where the business was incorporated or registered, if applicable', position: 'Enter your current job title or position' }, text: { diff --git a/strr-platform-web/app/components/form/platform/BusinessDetails.vue b/strr-platform-web/app/components/form/platform/BusinessDetails.vue index b278ea55..ea59ce66 100644 --- a/strr-platform-web/app/components/form/platform/BusinessDetails.vue +++ b/strr-platform-web/app/components/form/platform/BusinessDetails.vue @@ -105,10 +105,10 @@ onMounted(async () => { { :key="'brand' + i" >
+ {{ $t('strr.text.listEachPlatform') }}
{ @@ -79,7 +80,7 @@ onMounted(async () => {
{ class="grid grid-cols-3" > @@ -302,12 +302,12 @@ onMounted(async () => { ]" > diff --git a/strr-platform-web/app/locales/en-CA.ts b/strr-platform-web/app/locales/en-CA.ts index d855acd5..fc5eb6c7 100644 --- a/strr-platform-web/app/locales/en-CA.ts +++ b/strr-platform-web/app/locales/en-CA.ts @@ -9,44 +9,49 @@ export default { }, strr: { title: { - application: 'Short-Term Rental Platform Application' + application: 'Short-Term Rental Platform Service Provider Application' }, step: { description: { 0: 'Add Contact Information', 1: 'Add Business Details', - 2: 'Add Platform Information', + 2: 'Add Provider Information', 3: 'Review and Confirm' }, title: { 0: 'Step 1 - Contact Information', 1: 'Step 2 - Business Details', - 2: 'Step 3 - Platform Information', + 2: 'Step 3 - Provider Information', 3: 'Step 4 - Review and Confirm' }, info: { - 0: 'Short-term rental platforms must identify a platform representative to communicate with the Province. This person will be responsible for representing the platform regarding regulatory requirements for platforms.', - 1: 'Information about the business operating the platform being registered.', - 2: 'Please enter some additional information about the short-term rental platform being registered.', + 0: 'Short-term rental platform service providers must identify a representative to communicate with the Province. This person will be responsible for representing the platform service provider regarding regulatory requirements for platform service providers.', + 1: 'Provide business details of the platform service provider.', + 2: 'Please enter some additional information about the short-term rental platform service provider being registered.', 3: 'Review and confirm all of the information you provided as shown below.' } }, section: { title: { - completingParty: 'Person Completing Platform Application', + completingParty: 'Person Completing Platform Service Provider Application', details: 'Platform Details', - primaryRep: 'Platform Representative', - secondaryRep: 'Secondary Platform Representative' + primaryRep: 'Platform Service Provider Representative', + secondaryRep: 'Secondary Platform Service Provider Representative' }, subTitle: { + platform: 'Platform', brand: 'Platform Brand', noticeNonCompliance: 'Notice of Non-Compliance', - size: 'Platform Size', + size: 'Platform Service Provider Size', takedownRequest: 'Takedown Request' } }, label: { + platformName: 'Platform Name', + platformNames: 'Platform Name | Platform Names', + platformSite: 'Platform Website', addBrand: 'Add a Platform Brand', + addPlatform: 'Add a Platform', brandName: 'Platform Brand Name', brandNameOpt: 'Platform Brand Name (Optional)', brandSite: 'Platform Brand Website', @@ -54,9 +59,9 @@ export default { cpbcNum: 'Consumer Protection BC Number', emailAddresses: 'Email Addresses', listingSize: { - THOUSAND_AND_ABOVE: '1000 or more listings', - BETWEEN_250_AND_999: '250-999 listings', - LESS_THAN_250: 'Less than 250 listings', + THOUSAND_AND_ABOVE: 'Major (1000+ listings)', + BETWEEN_250_AND_999: 'Medium (250-999 listings)', + LESS_THAN_250: 'Minor (under 250 listings)', null: 'No Listings' }, noncomplianceEmail: 'Non-compliance Email', @@ -64,6 +69,8 @@ export default { takedownEmail: 'Takedown Email' }, hint: { + platformName: 'The name of the platform', + platformSite: 'The full URL for the platform (i.e. https://www.bcregistry.gov.bc.ca)', brandName: 'The brand name for the platform', brandSite: 'The full URL for this brand (i.e. https://www.bcregistry.gov.bc.ca)' }, @@ -72,11 +79,11 @@ export default { brandNames2: 'If the business provides the same listings on multiple websites with different brand names, provide those as well. ', brandNamesNote: 'NOTE: if the listings are different, each brand should be a separate registration', hasCpbc: 'Does the business have an active number with Consumer Protection BC (CPBC)?', - isUserRep: 'Are you the platform representative?', - listingSize: 'What is the total number of listings offered by the Platform Provider on June 1, {year}?', + isUserRep: 'Are you the platform service provider representative? ', + listingSize: 'What is the total number of listings offered by the Platform Service Provider across all platforms on June 1, {year}?', nonComplianceEmail: 'Provide an email address to receive Notices of Non-Compliance.', nonComplianceEmailLong: 'This message will be sent to the supplier host and platform service provider by a local government to inform both parties that a listing is not compliant with a local government business licence requirement. No action is required from the platform service provider.', - primaryContact: 'This is the primary contact person for the platform.', + primaryContact: 'This is the primary contact person for the platform service provider.', takedownEmail: 'Provide an email address to receive Takedown Requests.', takedownEmailLong: 'This message will be sent to the platform service provider by a local government to request the platform service provider cease providing platform services for a listing that is not compliant with a local government business licence requirement. The request may be sent within a period of 5-90 days after a Notice of Non-compliance was delivered. As per s.18 (3)(b) of the Short-term Rental Accommodations Act, platform service providers must comply with the request of the local government.', thousandOrMore: '1000 or more', @@ -84,12 +91,13 @@ export default { '249orLess': '249 or less', selectAccountForStrr: 'Select the account you wish to use to register your Short-term rental platform.', onlyPremiumAccountWarning: '{boldStart}Note:{boldEnd} Only Premium accounts using Pre-authorized Debit (PAD) can be used to register Short-term Rental Registry Platforms.', - onlyPremiumAccountModalContent: 'You must create a BC Registries Premium Account that uses a Pre-authorized Debit (PAD) payment method.' + onlyPremiumAccountModalContent: 'You must create a BC Registries Premium Account that uses a Pre-authorized Debit (PAD) payment method.', + listEachPlatform: 'Please list each platform operated by the platform service provider.' }, review: { platInfo: { - brandName: 'Platform Brand Name | Platform Brand {count} Name', - brandSite: 'Platform Brand Website | Platform Brand {count} Website', + platformName: 'Platform Name | Platform {count} Name', + platformSite: 'Platform Website | Platform {count} Website', size: 'Platform Size', sizeDesc: { GREATER_THAN_THOUSAND: 'Greater than 1,000 listings', @@ -97,5 +105,11 @@ export default { } } } + }, + validation: { + brand: { + name: 'Please enter a platform name', + site: 'Please enter a valid full URL for this platform (i.e. https://www.bcregistry.gov.bc.ca)' + } } } diff --git a/strr-platform-web/app/pages/platform/application.vue b/strr-platform-web/app/pages/platform/application.vue index 5619977f..d8b8b71b 100644 --- a/strr-platform-web/app/pages/platform/application.vue +++ b/strr-platform-web/app/pages/platform/application.vue @@ -249,6 +249,7 @@ setBreadcrumbs([