diff --git a/applications/Unity.AutoUI/cypress/e2e/chefsdata.cy.ts b/applications/Unity.AutoUI/cypress/e2e/chefsdata.cy.ts index 48432f83d..5f8bf0f6a 100644 --- a/applications/Unity.AutoUI/cypress/e2e/chefsdata.cy.ts +++ b/applications/Unity.AutoUI/cypress/e2e/chefsdata.cy.ts @@ -1,175 +1,187 @@ /// describe('Unity Login and check data from CHEFS', () => { - - it('Verify Login', () => { - cy.login() - }) - // 19.) Verify that the info panel populates with mapped data - it('Verify the UI is populated with valid data from CHEFS', () => { - - cy.getSubmissionDetail('confirmationID').then(id => {cy.log(`Confirmation ID: ${id}`);}); - - cy.get('#search').should('exist').clear(); // Ensure the field exists and clear its contents - cy.get('#search').click() // click the search field - cy.getSubmissionDetail('confirmationID').then(id => cy.get('#search').type(id)); // Fetch the confirmation ID and type it into the search field - cy.getSubmissionDetail('confirmationID').then(id => cy.contains('tr', id).find('.checkbox-select').click()); // Fetch the confirmation ID, find its row, and click the checkbox - - cy.get('#applicationLink').should('exist').click() // open the info panel + + it('Verify Login', () => { + cy.login() + }) // 19.) Verify that the info panel populates with mapped data - // Category: AutoUI - cy.get('label[for="Category"]').next('.display-input').should('include.text', 'AutoUI'); - // Organization Name: DOLPHIN ASPHALT - cy.get('label[for="OrganizationName"]').next('.display-input').should('include.text', 'DOLPHIN ASPHALT') - // Organization #: - cy.get('label[for="OrganizationNumber"]').next('.display-input').should('include.text', 'FM0162628') - // Economic Region: Kootenay - cy.get('label[for="EconomicRegion"]').next('.display-input').should('include.text', 'Kootenay') - // Regional District: East Kootenay - cy.get('label[for="RegionalDistrict"]').next('.display-input').should('include.text', 'East Kootenay') - // Community: East Kootenay B - cy.get('label[for="Community"]').next('.display-input').should('include.text', 'East Kootenay B') - // Requested Amount: $89,000.00 - cy.get('label[for="RequestedAmount"]').next('.display-input').should('include.text', '$89,000.00') - // Total Project Budget: $125,000.00 - cy.get('label[for="ProjectBudget"]').next('.display-input').should('include.text', '$125,000.00') - // Sector: Other services (except public administration) - cy.get('label[for="Sector"]').next('.display-input').should('include.text', 'Other services (except public administration)') - cy.get('#closeSummaryCanvas').click() - // 20.) Verify that the details panel populates with mapped data - cy.get('#externalLink').should('exist').click() //open the application - // Category: AutoUI - cy.get('label[for="Category"]').next('.display-input').should('include.text', 'AutoUI') - // Organization Name: DOLPHIN ASPHALT - cy.get('label[for="OrganizationName"]').next('.display-input').should('include.text', 'DOLPHIN ASPHALT') - // Organization #: - cy.get('label[for="OrganizationNumber"]').next('.display-input').should('include.text', 'FM0162628') - // Economic Region: Kootenay - cy.get('label[for="EconomicRegion"]').next('.display-input').should('include.text', 'Kootenay') - // Regional District: East Kootenay - cy.get('label[for="RegionalDistrict"]').next('.display-input').should('include.text', 'East Kootenay') - // Community: East Kootenay B - cy.get('label[for="Community"]').next('.display-input').should('include.text', 'East Kootenay B') - // Requested Amount: $89,000.00 - cy.get('label[for="RequestedAmount"]').next('.display-input').should('include.text', '$89,000.00') - // Total Project Budget: $125,000.00 - cy.get('label[for="ProjectBudget"]').next('.display-input').should('include.text', '$125,000.00') - // Sector: Other services (except public administration) - cy.get('label[for="Sector"]').next('.display-input').should('include.text', 'Other services (except public administration)') - // 21.) Verify that the Review & Assessment tab populates with mapped data - cy.get('#nav-review-and-assessment-tab').should('exist').click() // open the Review & Assessment tab - // Requested Amount: $89,000.00 - cy.get('#RequestedAmountInputAR').should('have.value', '89,000.00') - // Total Project Budget: $125,000.00 - cy.get('#TotalBudgetInputAR').should('have.value', '125,000.00') - // 22.) Verify that the Project Info tab populates with mapped data - cy.get('#nav-project-info-tab').should('exist').click() // open the Project Info tab - // Project Name - cy.get('#ProjectInfo_ProjectName').should('have.value', 'Hanbury Development Initiative - Phase 2') - // Project Start Date: 2026-01-05 - cy.get('#startDate').should('have.value', '2026-01-05') - // Project End Date: 2027-03-11 - cy.get('#ProjectInfo_ProjectEndDate').should('have.value', '2027-03-11') - // Requested Amount: $89,000.00 - cy.get('#RequestedAmountInputPI').should('have.value', '89,000.00') - // Total Project Budget: $125,000.00 - cy.get('#TotalBudgetInputPI').should('have.value', '125,000.00') - // Acquisition: No - cy.get('#ProjectInfo_Acquisition').should('have.value', 'NO') - // Forestry/Non-Forestry: Forestry - cy.get('#ProjectInfo_Forestry').should('have.value', 'FORESTRY') - // Forestry Focus: Secondary/Value-Added/Not Mass Timber (value="SECONDARY") - cy.get('#ProjectInfo_ForestryFocus').should('have.value', 'SECONDARY') - // Economic Region: Kootenay - cy.get('#economicRegions').should('have.value', 'Kootenay') - // Regional District: East Kootenay - cy.get('#regionalDistricts').should('have.value', 'East Kootenay') - // Community: East Kootenay B - cy.get('#communities').should('have.value', 'East Kootenay B') - // Community Population: 38 - cy.get('#ProjectInfo_CommunityPopulation').should('have.value', '38') - // Electoral District: Kootenay-Rockies - cy.get('#ProjectInfo_ElectoralDistrict').should('have.value', 'Kootenay-Rockies') - // Place: Hanbury - cy.get('#ProjectInfo_Place').should('have.value', 'Hanbury') - // 23.) Verify that the Applicant Info tab populates with mapped data - cy.get('#nav-organization-info-tab').should('exist').click() // open the Applicant Info tab - // Organization Name: DOLPHIN ASPHALT - cy.get('#ApplicantInfo_OrgName').should('have.value', 'DOLPHIN ASPHALT') - // Organization #: FM0162628 - cy.get('#ApplicantInfo_OrgNumber').should('have.value', 'FM0162628') - // Other Sector/Sub/Industry Description: Stone Aggregate Recycling - cy.get('#ApplicantInfo_SectorSubSectorIndustryDesc').should('have.value', 'Stone Aggregate Recycling') - // Full Name: Jeff Gordon - cy.get('#ApplicantInfo_ContactFullName').should('have.value', 'Jeff Gordon') - // Title: Sr. Analyst - cy.get('#ApplicantInfo_ContactTitle').should('have.value', 'Sr. Analyst') - // Email: Jeff.Gordon@Dolphin.ca - cy.get('#ApplicantInfo_ContactEmail').should('have.value', 'Jeff.Gordon@Dolphin.ca') - // Business Phone: (250) 621-3217 - cy.get('#ApplicantInfo_ContactBusinessPhone').should('have.value', '(250) 621-3217') - // Cell Phone: (887) 362-1459 - cy.get('#ApplicantInfo_ContactCellPhone').should('have.value', '(887) 362-1459') - // (Physical Address) - // Street: 24th Avenue South - cy.get('#ApplicantInfo_PhysicalAddressStreet').should('have.value', '24th Avenue South') - // Street 2: Room 409 - cy.get('#ApplicantInfo_PhysicalAddressStreet2').should('have.value', 'Room 409') - // Unit: 19 - cy.get('#ApplicantInfo_PhysicalAddressUnit').should('have.value', '19') - // City: Cranbrook - cy.get('#ApplicantInfo_PhysicalAddressCity').should('have.value', 'Cranbrook') - // Province: British Columbia - cy.get('#ApplicantInfo_PhysicalAddressProvince').should('have.value', 'British Columbia') - // Postal Code: V1C 3H8 - cy.get('#ApplicantInfo_PhysicalAddressPostalCode').should('have.value', 'V1C 3H8') - // (Mailing Address) - // Street: 2567 Shaughnessy Street - cy.get('#ApplicantInfo_MailingAddressStreet').should('have.value', '2567 Shaughnessy Street') - // Street 2: PO Box 905 - cy.get('#ApplicantInfo_MailingAddressStreet2').should('have.value', 'PO Box 905') - // Unit: 22 - cy.get('#ApplicantInfo_MailingAddressUnit').should('have.value', '22') - // City: Hanbury - cy.get('#ApplicantInfo_MailingAddressCity').should('have.value', 'Hanbury') - // Province: British Columbia - cy.get('#ApplicantInfo_MailingAddressProvince').should('have.value', 'British Columbia') - // Postal Code: V1C 4T6 - cy.get('#ApplicantInfo_MailingAddressPostalCode').should('have.value', 'V1C 4T6') - // (Signing Authority) - // Full Name: Maximillion Cooper - cy.get('#ApplicantInfo_SigningAuthorityFullName').should('have.value', 'Maximillion Cooper') - // Title: Consultant - cy.get('#ApplicantInfo_SigningAuthorityTitle').should('have.value', 'Consultant') - // Email: Maximillion.Cooper@Dolphin.ca - cy.get('#ApplicantInfo_SigningAuthorityEmail').should('have.value', 'Maximillion.Cooper@Dolphin.ca') - // Business Phone: (250) 841-2511 - cy.get('#ApplicantInfo_SigningAuthorityBusinessPhone').should('have.value', '(250) 841-2511') - // Phone: (657) 456-5413 - cy.get('#ApplicantInfo_SigningAuthorityCellPhone').should('have.value', '(657) 456-5413') - // 24.) Verify that the Sector and Subsector Select Lists have a valid list of values. - // Check if the sector dropdown contains an option for "Manufacturing" - cy.get('#orgSectorDropdown').should('contain', 'Manufacturing') - // Select manufacturing - cy.get('#orgSectorDropdown').select('Manufacturing') - // Array of all expected options to check for in the Subsector list of values. - const options = ['Apparel manufacturing', 'Beverage and tobacco product manufacturing', 'Chemical manufacturing', 'Computer and electronic product manufacturing', 'Electrical equipment, appliance, and component manufacturing', 'Fabricated metal product manufacturing', 'Food manufacturing', 'Furniture and related product manufacturing', 'Leather and allied product manufacturing', 'Machinery manufacturing', 'Miscellaneous manufacturing', 'Non-metallic mineral product manufacturing', 'Other', 'Paper manufacturing', 'Petroleum and coal product manufacturing', 'Plastics and rubber products manufacturing', 'Primary metal manufacturing', 'Printing and related support activities', 'Textile mills', 'Textile product mills', 'Transportation equipment manufacturing', 'Wood product manufacturing'] - // Check if the dropdown contains each expected option in the options array - options.forEach(option => {cy.get('#orgSubSectorDropdown').select(option).should('have.value', option) - }) - // 25 Verify that the Payment Info tab populates with mapped data - cy.get('#nav-payment-info-tab').should('exist').click() // open the Payment Info tab - // Requested Amount: 89,000.00 - cy.get('#RequestedAmount').should('have.value', '89,000.00') - // 26.) Verify that the Submission tab populates with all form data - cy.get('#nav-summery-tab').should('exist').click() // open the Submission tab - const headers = ['1. INTRODUCTION', '2. ELIGIBILITY', '3. APPLICANT INFORMATION','4. PROJECT INFORMATION', '5. PROJECT TIMELINES', '6. PROJECT BUDGET', '7. ATTESTATION']; - headers.forEach(header => { - cy.contains('h4', header) - .should('exist') - .click(); - }); - }) - it('Verify Logout', () => { - cy.logout() - }) + it('Verify the UI is populated with valid data from CHEFS', () => { + + cy.getSubmissionDetail('confirmationID').then(id => { cy.log(`Confirmation ID: ${id}`); }); + + cy.get('#search').should('exist').clear(); // Ensure the field exists and clear its contents + cy.get('#search').click() // click the search field + cy.getSubmissionDetail('confirmationID').then(id => cy.get('#search').type(id)); // Fetch the confirmation ID and type it into the search field + cy.getSubmissionDetail('confirmationID').then(id => cy.contains('tr', id).find('.checkbox-select').click()); // Fetch the confirmation ID, find its row, and click the checkbox + + cy.get('#applicationLink').should('exist').click() // open the info panel + // 19.) Verify that the info panel populates with mapped data + // Category: AutoUI + cy.get('label[for="Category"]').next('.display-input').should('include.text', 'AutoUI'); + // Organization Name: DOLPHIN ASPHALT + cy.get('label.display-input-label[for="OrganizationName"]').next('div.display-input').should('contain.text', 'DOLPHIN ASPHALT') + // Organization #: + cy.get('label.display-input-label[for="OrganizationNumber"]').next('div.display-input').should('contain.text', 'FM0162628') + // Economic Region: Kootenay + cy.get('label[for="EconomicRegion"]').next('.display-input').should('include.text', 'Kootenay') + // Regional District: East Kootenay + cy.get('label[for="RegionalDistrict"]').next('.display-input').should('include.text', 'East Kootenay') + // Community: East Kootenay B + cy.get('label[for="Community"]').next('.display-input').should('include.text', 'East Kootenay B') + // Requested Amount: $89,000.00 + cy.get('label[for="RequestedAmount"]').next('.display-input').should('include.text', '$89,000.00') + // Total Project Budget: $125,000.00 + cy.get('label[for="ProjectBudget"]').next('.display-input').should('include.text', '$125,000.00') + // Sector: Other services (except public administration) + cy.get('label[for="Sector"]').next('.display-input').should('include.text', 'Other services (except public administration)') + cy.get('#closeSummaryCanvas').click() + // 20.) Verify that the details panel populates with mapped data + cy.get('#externalLink').should('exist').click() //open the application + // Category: AutoUI + cy.get('label[for="Category"]').next('.display-input').should('include.text', 'AutoUI') + // Organization Name: DOLPHIN ASPHALT + cy.get('label[for="OrganizationName"]').next('.display-input').should('include.text', 'DOLPHIN ASPHALT') + // Organization #: + cy.get('label[for="OrganizationNumber"]').next('.display-input').should('include.text', 'FM0162628') + // Economic Region: Kootenay + cy.get('label[for="EconomicRegion"]').next('.display-input').should('include.text', 'Kootenay') + // Regional District: East Kootenay + cy.get('label[for="RegionalDistrict"]').next('.display-input').should('include.text', 'East Kootenay') + // Community: East Kootenay B + cy.get('label[for="Community"]').next('.display-input').should('include.text', 'East Kootenay B') + // Requested Amount: $89,000.00 + cy.get('label[for="RequestedAmount"]').next('.display-input').should('include.text', '$89,000.00') + // Total Project Budget: $125,000.00 + cy.get('label[for="ProjectBudget"]').next('.display-input').should('include.text', '$125,000.00') + // Sector: Other services (except public administration) + cy.get('label[for="Sector"]').next('.display-input').should('include.text', 'Other services (except public administration)') + // 21.) Verify that the Review & Assessment tab populates with mapped data + cy.get('#nav-review-and-assessment-tab').should('exist').click() // open the Review & Assessment tab + // Requested Amount: $89,000.00 + cy.get('#RequestedAmountInputAR').should('have.value', '89,000.00') + // Total Project Budget: $125,000.00 + cy.get('#TotalBudgetInputAR').should('have.value', '125,000.00') + // 22.) Verify that the Project Info tab populates with mapped data + cy.get('#nav-project-info-tab').should('exist').click() // open the Project Info tab + // Project Name + cy.get('#ProjectInfo_ProjectName').should('have.value', 'Hanbury Development Initiative - Phase 2') + // Project Start Date: 2026-01-05 + cy.get('#startDate').should('have.value', '2026-01-05') + // Project End Date: 2027-03-11 + cy.get('#ProjectInfo_ProjectEndDate').should('have.value', '2027-03-11') + // Requested Amount: $89,000.00 + cy.get('#RequestedAmountInputPI').should('have.value', '89,000.00') + // Total Project Budget: $125,000.00 + cy.get('#TotalBudgetInputPI').should('have.value', '125,000.00') + // Acquisition: No + cy.get('#ProjectInfo_Acquisition').should('have.value', 'NO') + // Forestry/Non-Forestry: Forestry + cy.get('#ProjectInfo_Forestry').should('have.value', 'FORESTRY') + // Forestry Focus: Secondary/Value-Added/Not Mass Timber (value="SECONDARY") + cy.get('#ProjectInfo_ForestryFocus').should('have.value', 'SECONDARY') + // Economic Region: Kootenay + cy.get('#economicRegions').should('have.value', 'Kootenay') + // Regional District: East Kootenay + cy.get('#regionalDistricts').should('have.value', 'East Kootenay') + // Community: East Kootenay B + cy.get('#communities').should('have.value', 'East Kootenay B') + // Community Population: 38 + cy.get('#ProjectInfo_CommunityPopulation').should('have.value', '38') + // Electoral District: Kootenay-Rockies + cy.get('#ProjectInfo_ElectoralDistrict').should('have.value', 'Kootenay-Rockies') + // Place: Hanbury + cy.get('#ProjectInfo_Place').should('have.value', 'Hanbury') + + // 23.) open the Applicant Info tab + it('23. Applicant Info tab shows the mapped data', () => { + // 1. open the pane + cy.contains('a.nav-link', 'Applicant Info').click() + + // 2. wait for the Applicant Info fieldset, then work inside it + cy.get('fieldset[name$="Applicant_Summary"]', { timeout: 10_000 }) + .should('be.visible') + .as('app') // alias for scoping + + // 3. simple value assertions + const plainInputs: [string, string][] = [ + ['#ApplicantSummary_OrgName', 'DOLPHIN ASPHALT'], + ['#ApplicantSummary_OrgNumber', 'FM0162628'], + ['#ApplicantSummary_ContactFullName', 'Jeff Gordon'], + ['#ApplicantSummary_ContactTitle', 'Sr. Analyst'], + ['#ApplicantSummary_ContactEmail', 'Jeff.Gordon@Dolphin.ca'], + ['#ApplicantSummary_ContactBusinessPhone', '(250) 621-3217'], + ['#ApplicantSummary_ContactCellPhone', '(887) 362-1459'], + ['#ApplicantSummary_PhysicalAddressStreet', '24th Avenue South'], + ['#ApplicantSummary_PhysicalAddressStreet2', 'Room 409'], + ['#ApplicantSummary_PhysicalAddressUnit', '19'], + ['#ApplicantSummary_PhysicalAddressCity', 'Cranbrook'], + ['#ApplicantSummary_PhysicalAddressProvince', 'British Columbia'], + ['#ApplicantSummary_PhysicalAddressPostalCode', 'V1C 3H8'], + ['#ApplicantInfo_MailingAddressStreet', '2567 Shaughnessy Street'], + ['#ApplicantInfo_MailingAddressStreet2', 'PO Box 905'], + ['#ApplicantInfo_MailingAddressUnit', '22'], + ['#ApplicantInfo_MailingAddressCity', 'Hanbury'], + ['#ApplicantInfo_MailingAddressProvince', 'British Columbia'], + ['#ApplicantInfo_MailingAddressPostalCode', 'V1C 4T6'], + ['#ApplicantInfo_SigningAuthorityFullName', 'Maximillion Cooper'], + ['#ApplicantInfo_SigningAuthorityTitle', 'Consultant'], + ['#ApplicantInfo_SigningAuthorityEmail', 'Maximillion.Cooper@Dolphin.ca'], + ['#ApplicantInfo_SigningAuthorityBusinessPhone', '(250) 841-2511'], + ['#ApplicantInfo_SigningAuthorityCellPhone', '(657) 456-5413'] + ] + + plainInputs.forEach(([selector, expected]) => { + cy.get('@app').find(selector).should('have.value', expected) + }) + + // 4. textarea requires .invoke('val') + cy.get('@app') + .find('#ApplicantSummary_SectorSubSectorIndustryDesc') + .invoke('val') + .should('equal', 'Stone Aggregate Recycling') + }) + + // 24.) Sector and Sub-sector lists + it('24. Sector and Sub-sector dropdowns behave', () => { + // open Applicant Info + cy.contains('a.nav-link', 'Applicant Info').click() + + // locate the Sector and Sub-sector diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequests.cshtml.cs b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequests.cshtml.cs index 44b6e8049..06f44074f 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequests.cshtml.cs +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequests.cshtml.cs @@ -10,6 +10,7 @@ using Unity.Payment.Shared; using System.Text.Json; using Unity.Payments.Domain.Suppliers; +using System.Linq; namespace Unity.Payments.Web.Pages.Payments { @@ -46,6 +47,20 @@ public CreatePaymentRequestsModel( [BindProperty] public bool HasPaymentConfiguration { get; set; } + [BindProperty] + public string BatchNumberDisplay { get; set; } = string.Empty; + + + [BindProperty] + public decimal TotalAmount { get; set; } + + public decimal ApplicationPaymentRequestFormTotalAmount + { + get + { + return ApplicationPaymentRequestForm?.Sum(x => x.Amount) ?? 0m; + } + } public async Task OnGetAsync(string applicationIds) { @@ -105,6 +120,9 @@ public async Task OnGetAsync(string applicationIds) ApplicationPaymentRequestForm!.Add(request); } + var batchName = await _paymentRequestService.GetNextBatchInfoAsync(); + BatchNumberDisplay = batchName; + TotalAmount = ApplicationPaymentRequestForm?.Sum(x => x.Amount) ?? 0m; } private static List GetErrorlist(SupplierDto? supplier, Site? site, GrantApplicationDto application, decimal remainingAmount) diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequestsModal.js b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequestsModal.js index 107d24c43..c90fbc4e8 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequestsModal.js +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Pages/PaymentRequests/CreatePaymentRequestsModal.js @@ -1,5 +1,18 @@ -function removeApplicationPayment(applicationId) { +function removeApplicationPaymentRequest(applicationId) { + let $container = $('#' + applicationId); + + // Get the amount value inside this container before removing it + let amountValue = $container.find('.amount').val(); + let amount = parseFloat((amountValue || "0").replace(/,/g, '')); + + // Update the total amount + let $totalInput = $('.totalAmount'); + let currentTotal = parseFloat(($totalInput.val() || "0").replace(/,/g, '')) || 0; + let newTotal = currentTotal - amount; + if (newTotal < 0) newTotal = 0; + $totalInput.val(newTotal.toLocaleString(undefined, { minimumFractionDigits: 2, maximumFractionDigits: 2 })); + $('#' + applicationId).remove(); let applicationCount = $('#ApplicationCount').val(); $('#ApplicationCount').val(applicationCount - 1); @@ -10,7 +23,7 @@ function removeApplicationPayment(applicationId) { if (!$('div.single-payment').length) { $('#no-payment-msg').css("display", "block"); $("#payment-modal").find('#btnSubmitPayment').prop("disabled", true); - } + } else { $('#no-payment-msg').css("display", "none"); } @@ -43,6 +56,4 @@ function submitPayments() { } else { $('#paymentform').submit(); } -}; - - +}; \ No newline at end of file diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj index 1d1f6e68c..dfa8df5b4 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Unity.Payments.Web.csproj @@ -1,11 +1,10 @@ - + - net8.0 - enable - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + net9.0 + enable true Library Unity.Payments.Web @@ -13,17 +12,17 @@ - - - - - - - + + + + + + + - + @@ -68,7 +67,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/PaymentInfo/Default.js b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/PaymentInfo/Default.js index ea9f98ef5..81776cfb8 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/PaymentInfo/Default.js +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/PaymentInfo/Default.js @@ -93,12 +93,12 @@ abp.notify.success('The payment info has been updated.'); disableSaveButton(true); refreshSupplierInfoWidget(); + hideSpinner(); + abp.ui.unblock(); }) .catch((error) => { console.error(error); disableSaveButton(false); - }) - .finally(() => { hideSpinner(); abp.ui.unblock(); }); diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/SupplierInfo/SupplierInfo.js b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/SupplierInfo/SupplierInfo.js index 7cab6c736..41706ec2e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/SupplierInfo/SupplierInfo.js +++ b/applications/Unity.GrantManager/modules/Unity.Payments/src/Unity.Payments.Web/Views/Shared/Components/SupplierInfo/SupplierInfo.js @@ -5,13 +5,14 @@ $(function () { const UIElements = { navOrgInfoTab: $('#nav-organization-info-tab'), siteId: $("#SiteId"), + paymentApplicantId: $("#PaymentInfo_ApplicantId"), originalSupplierNumber: $("#OriginalSupplierNumber"), supplierNumber: $("#SupplierNumber"), supplierName: $("#SupplierName"), hasEditSupplier: $("#HasEditSupplierInfo"), refreshSitesBtn: $("#btn-refresh-sites"), - orgName: $("#ApplicantInfo_OrgName"), // Note: Dependent on Applicant Info Tab - nonRegisteredOrgName: $("#ApplicantInfo_NonRegOrgName"), // Note: Dependent on Applicant Info Tab + orgName: $("#ApplicantSummary_OrgName"), // Note: Dependent on Applicant Info Tab + nonRegisteredOrgName: $("#ApplicantSummary_NonRegOrgName"), // Note: Dependent on Applicant Info Tab supplierOrgInfoErrorDiv: $("#supplier-error-div") }; @@ -26,23 +27,50 @@ $(function () { init(); function validateMatchingSupplierToOrgInfo() { - const supplierName = (UIElements.supplierName.val() || '').toLowerCase().trim(); - + if (UIElements.paymentApplicantId.length === 0) { + console.warn('Payment Applicant ID element not found. Skipping validation.'); + UIElements.supplierOrgInfoErrorDiv.toggleClass('hidden', true); + return + } + + const applicantId = UIElements.paymentApplicantId.val(); + let supplierName = ($("#SupplierName").val() || '').toLowerCase().trim(); + if (!supplierName) { UIElements.supplierOrgInfoErrorDiv.toggleClass('hidden', true); return; } - let isMatch = true; - const orgName = (UIElements.orgName.val() || '').toLowerCase().trim(); - const nonRegisteredOrgName = (UIElements.nonRegisteredOrgName.val() || '').toLowerCase().trim(); - - if(orgName != '') { - isMatch = !supplierName || !orgName || supplierName === orgName; - } else if(nonRegisteredOrgName != '') { - isMatch = !supplierName || !nonRegisteredOrgName || supplierName === nonRegisteredOrgName; + + const orgNameElem = UIElements.orgName; + const nonRegOrgNameElem = UIElements.nonRegisteredOrgName; + const orgNameExists = orgNameElem.length > 0; + const nonRegOrgNameExists = nonRegOrgNameElem.length > 0; + + // If neither element exists, fallback on API check + if (!orgNameExists && !nonRegOrgNameExists) { + // NOTE: External module dependency on Unity.GrantManager.GrantApplication.ApplicationApplicantAppService + unity.grantManager.grantApplications + .applicationApplicant + .getSupplierNameMatchesCheck(applicantId, supplierName) + .then((isMatch) => { + abp.notify.success(`Supplier info is now ${isMatch}`); + $("#supplier-error-div").toggleClass('hidden', isMatch); + }) + .catch((error) => { + console.error(error); + }); + } else { + // Only fetch values if elements exist + const orgName = orgNameExists ? (orgNameElem.val() || '').toLowerCase().trim() : ''; + const nonRegisteredOrgName = nonRegOrgNameExists ? (nonRegOrgNameElem.val() || '').toLowerCase().trim() : ''; + + // Hides warning if there is a match + let isMatch = + (!orgName && !nonRegisteredOrgName) || + supplierName === orgName || + supplierName === nonRegisteredOrgName; + $("#supplier-error-div").toggleClass('hidden', isMatch); } - - UIElements.supplierOrgInfoErrorDiv.toggleClass('hidden', isMatch); } function bindUIEvents() { @@ -276,6 +304,7 @@ $(function () { (msg, data) => { UIElements.siteId.val(data); loadSiteInfoTable(); + validateMatchingSupplierToOrgInfo(); } ); @@ -291,10 +320,10 @@ function saveSiteDefault(siteId) { type: "POST", data: JSON.stringify({ ApplicantId: applicantId, SiteId: siteId }), }) - .then(response => { - abp.notify.success('Default site has been successfully saved.', 'Default Site Saved'); - }) - .catch(error => { - console.error('There was a problem with the post operation:', error); - }); + .then(response => { + abp.notify.success('Default site has been successfully saved.', 'Default Site Saved'); + }) + .catch(error => { + console.error('There was a problem with the post operation:', error); + }); } diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj index 97a59e6b8..6860af8d6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.Application.Tests/Unity.Payments.Application.Tests.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.Payments @@ -12,19 +12,19 @@ - - - - - + + + + + - - + + - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj index e8c891a43..ddf7960b9 100644 --- a/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Payments/test/Unity.Payments.TestBase/Unity.Payments.TestBase.csproj @@ -1,52 +1,52 @@ - + - net8.0 + net9.0 enable Unity.Payments - - - + + + all runtime; build; native; contentfiles; analyzers - - - - - - + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj index 73d10c176..f72c98d80 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application.Contracts/Unity.Reporting.Application.Contracts.csproj @@ -1,17 +1,25 @@ - + - net8.0 + net9.0 enable Unity.Reporting - - + + + + + + all + runtime; build; native; contentfiles; analyzers + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj index ccb3077d1..7eccf23ef 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Application/Unity.Reporting.Application.csproj @@ -1,18 +1,18 @@ - + - net8.0 + net9.0 enable Unity.Reporting - - - - + + + + @@ -22,4 +22,12 @@ + + + + all + runtime; build; native; contentfiles; analyzers + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj index 25d564d28..b72a59b95 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Domain.Shared/Unity.Reporting.Shared.csproj @@ -1,21 +1,21 @@ - + - net8.0 + net9.0 enable Unity.Reporting true - - + + - + @@ -23,4 +23,12 @@ + + + + all + runtime; build; native; contentfiles; analyzers + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj index 90163ddca..05e29e594 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/src/Unity.Reporting.Web/Unity.Reporting.Web.csproj @@ -3,9 +3,8 @@ - net8.0 - enable - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + net9.0 + enable true Library Unity.Reporting.Web @@ -13,17 +12,17 @@ - - - - - - - + + + + + + + - + @@ -47,7 +46,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj index a7eed4f0d..7d02e2456 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.Application.Tests/Unity.Reporting.Application.Tests.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.Reporting @@ -11,7 +11,15 @@ - + + + + + + + all + runtime; build; native; contentfiles; analyzers + diff --git a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj index 08717f628..75915cbe6 100644 --- a/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Reporting/test/Unity.Reporting.TestBase/Unity.Reporting.TestBase.csproj @@ -1,28 +1,39 @@ - + - net8.0 + net9.0 enable Unity.Reporting - - - + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + + + + all runtime; build; native; contentfiles; analyzers - - - - - - - - diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Constants/UnitySelector.cs b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Constants/UnitySelector.cs index 7b180799d..6c0f80fe0 100644 --- a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Constants/UnitySelector.cs +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Constants/UnitySelector.cs @@ -14,7 +14,8 @@ public static partial class UnitySelector public static partial class Applicant { - public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant"; + public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant"; + public const string UpdatePolicy = "Unity.GrantManager.ApplicationManagement.Applicant.UpdatePolicy"; // Custom Policy public static partial class Authority { public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant.Authority"; @@ -29,6 +30,13 @@ public static partial class Contact public const string Update = "Unity.GrantManager.ApplicationManagement.Applicant.Contact.Update"; public const string Delete = "Unity.GrantManager.ApplicationManagement.Applicant.Contact.Delete"; } + public static partial class AdditionalContact + { + public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact"; + public const string Create = "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact.Create"; + public const string Update = "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact.Update"; + public const string Delete = "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact.Delete"; + } public static partial class Location { public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant.Location"; @@ -156,6 +164,7 @@ public static partial class History { public const string Default = "Unity.GrantManager.ApplicationManagement.History"; } + public static partial class Notification { public const string Default = "Unity.GrantManager.ApplicationManagement.Notification"; @@ -170,8 +179,10 @@ public static partial class Draft public const string Update = "Unity.GrantManager.ApplicationManagement.Notification.Draft.Update"; } } + public static partial class Payment { + // NOTE: Review Payment namespace for permissions public const string Default = "Unity.GrantManager.ApplicationManagement.Payment"; public static partial class Summary { @@ -183,10 +194,10 @@ public static partial class Summary public static partial class Supplier { - public const string Default = "Unity.GrantManager.ApplicationManagement.Applicant.Supplier"; - public const string Create = "Unity.GrantManager.ApplicationManagement.Applicant.Supplier.Create"; - public const string Update = "Unity.GrantManager.ApplicationManagement.Applicant.Supplier.Update"; - public const string Delete = "Unity.GrantManager.ApplicationManagement.Applicant.Supplier.Delete"; + public const string Default = "Unity.GrantManager.ApplicationManagement.Payment.Supplier"; + public const string Create = "Unity.GrantManager.ApplicationManagement.Payment.Supplier.Create"; + public const string Update = "Unity.GrantManager.ApplicationManagement.Payment.Supplier.Update"; + public const string Delete = "Unity.GrantManager.ApplicationManagement.Payment.Supplier.Delete"; } public static partial class PaymentList @@ -197,6 +208,7 @@ public static partial class PaymentList public const string Delete = "Unity.GrantManager.ApplicationManagement.Payment.PaymentList.Delete"; } } + public static partial class Project { public const string Default = "Unity.GrantManager.ApplicationManagement.Project"; diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj index bb87520fa..a24ca603f 100644 --- a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Unity.SharedKernel.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 enable Unity.Modules.Shared @@ -14,17 +14,17 @@ all runtime; build; native; contentfiles; analyzers - - + + - - - - - - - - - + + + + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.SharedKernel/Utils/PropertyHelper.cs b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Utils/PropertyHelper.cs new file mode 100644 index 000000000..25c9c8b75 --- /dev/null +++ b/applications/Unity.GrantManager/modules/Unity.SharedKernel/Utils/PropertyHelper.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Unity.Modules.Shared.Utils; + +public static class PropertyHelper +{ + /// + /// Applies null values from a DTO to a target entity for specified modified fields. + /// Handles special cases for value types by either creating default instances or setting to null. + /// + /// The source DTO type + /// The target entity type + /// The source DTO instance containing potential null values + /// The target entity to update + /// Collection of field names that were modified + public static void ApplyNullValuesFromDto( + TDto sourceDto, + TEntity targetEntity, + IEnumerable modifiedFields) + where TDto : class + where TEntity : class + { + var dtoProperties = typeof(TDto).GetProperties(); + var entityProperties = typeof(TEntity).GetProperties().ToDictionary(p => p.Name, p => p); + + foreach (var fieldName in modifiedFields) + { + if (dtoProperties.FirstOrDefault(p => + string.Equals(p.Name, fieldName, StringComparison.OrdinalIgnoreCase)) is { } dtoProperty) + { + var value = dtoProperty.GetValue(sourceDto); + if (value == null && entityProperties.TryGetValue(dtoProperty.Name, out var entityProperty) && entityProperty.CanWrite) + { + entityProperty.SetValue(targetEntity, entityProperty.PropertyType.IsValueType + && Nullable.GetUnderlyingType(entityProperty.PropertyType) == null + ? Activator.CreateInstance(entityProperty.PropertyType) + : null); + } + } + } + } +} diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj index 3f8fad3ae..d1708029e 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application.Contracts/Unity.TenantManagement.Application.Contracts.csproj @@ -1,21 +1,20 @@ - + latest - netstandard2.1;net8.0 + netstandard2.1;net9.0 Unity.TenantManagement.Application.Contracts - Unity.TenantManagement.Application.Contracts - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.TenantManagement.Application.Contracts false false false - - - - - - + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj index 60c865e44..10a6939fd 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Application/Unity.TenantManagement.Application.csproj @@ -1,22 +1,21 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.Application - Unity.TenantManagement.Application - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.TenantManagement.Application false false false - - - - - - - + + + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj index 9df17f9e6..18aff4a39 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi.Client/Unity.TenantManagement.HttpApi.Client.csproj @@ -1,20 +1,19 @@ - + latest - netstandard2.1;net8.0 + netstandard2.1;net9.0 Unity.TenantManagement.HttpApi.Client - Unity.TenantManagement.HttpApi.Client - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.TenantManagement.HttpApi.Client false false false - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj index 42c6e5efa..1f28c0a78 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.HttpApi/Unity.TenantManagement.HttpApi.csproj @@ -1,10 +1,9 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.HttpApi - Unity.TenantManagement.HttpApi - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.TenantManagement.HttpApi false false false @@ -13,14 +12,14 @@ - + - + - + - - + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/Index.js b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/Index.js index 7ecd2f216..a533dd901 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/Index.js +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/Index.js @@ -20,6 +20,7 @@ $(function () { categoriesSelect.appendChild(option); }); } + onSubmissionSummaryFilterChanged(); }); let inputAction = function (requestData, dataTableSettings) { @@ -40,7 +41,7 @@ $(function () { x.tenant.toLowerCase().includes($('#ReconciliationTenantFilter').val().toLowerCase()) && (isNaN(dateTo.getTime()) || new Date(x.createdAt) <= dateTo) && (isNaN(dateFrom.getTime()) || new Date(x.createdAt) >= dateFrom) && - (x.category == $("#ReconciliationCategoryFilter").val() || $("#ReconciliationCategoryFilter").val() == null) + (x.category == $("#ReconciliationCategoryFilter").val() || $("#ReconciliationCategoryFilter").val() == "all") ); let totalSubmissions = filtered_submissions.length; diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/index.cshtml b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/index.cshtml index 078bed7ef..ef2281cc2 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/index.cshtml +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Pages/TenantManagement/Reconciliation/index.cshtml @@ -67,7 +67,7 @@
diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj index 8ca7b04f2..8b34a62a2 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/src/Unity.TenantManagement.Web/Unity.TenantManagement.Web.csproj @@ -1,10 +1,9 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.Web Unity.TenantManagement.Web - true - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + true Library true @@ -29,16 +28,16 @@
- - - - + + + + - + - +
diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj index 2db0f2ab8..22c98939d 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.Application.Tests/Unity.TenantManagement.Application.Tests.csproj @@ -1,7 +1,7 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.Application.Tests Unity.TenantManagement.Application.Tests true @@ -18,12 +18,12 @@
- - - - - - + + + + + +
diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj index 0bd7cae77..949df6382 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.EntityFrameworkCore.Tests/Unity.TenantManagement.EntityFrameworkCore.Tests.csproj @@ -1,7 +1,7 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.EntityFrameworkCore.Tests Unity.TenantManagement.EntityFrameworkCore.Tests true @@ -13,16 +13,16 @@ - - - - + + + + - - - + + + diff --git a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj index 8b838ce33..30c4af10d 100644 --- a/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj +++ b/applications/Unity.GrantManager/modules/Unity.TenantManagement/test/Unity.TenantManagement.TestBase/Unity.TenantManagement.TestBase.csproj @@ -1,7 +1,7 @@ - + latest - net8.0 + net9.0 Unity.TenantManagement.TestBase Unity.TenantManagement.TestBase true @@ -12,19 +12,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Bundling/UnityThemeUX2GlobalScriptContributor.cs b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Bundling/UnityThemeUX2GlobalScriptContributor.cs index 9cde44c02..e92a029ed 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Bundling/UnityThemeUX2GlobalScriptContributor.cs +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Bundling/UnityThemeUX2GlobalScriptContributor.cs @@ -7,27 +7,45 @@ public class UnityThemeUX2GlobalScriptContributor : BundleContributor { public override void ConfigureBundle(BundleConfigurationContext context) { + // .NET 9 upgrade wants datatable 2 as a default which has an effect on the file dependencies + // but we are using the old datatable 1.x version for now - update these removes when move to + // datatable 2.x version + context.Files.Remove("/libs/datatables.net/js/dataTables.min.js"); + context.Files.Remove("/libs/datatables.net-bs5/js/dataTables.bootstrap5.js"); + context.Files.Remove("/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js"); context.Files.Add("/themes/ux2/layout.js"); context.Files.Add("/themes/ux2/table-utils.js"); + context.Files.AddIfNotContains("/libs/pubsub-js/src/pubsub.js"); context.Files.AddIfNotContains("/themes/ux2/zone-extensions.js"); + + context.Files.AddIfNotContains("/libs/datatables.net/js/jquery.dataTables.js"); context.Files.AddIfNotContains("/libs/datatables.net-bs5/js/dataTables.bootstrap5.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-buttons/js/dataTables.buttons.min.js"); + context.Files.AddIfNotContains("/libs/abp/aspnetcore-mvc-ui-theme-shared/datatables/datatables-extensions.js"); + + context.Files.AddIfNotContains("/libs/jszip/dist/jszip.min.js"); + context.Files.AddIfNotContains("/libs/datatables.net-buttons/js/buttons.colVis.min.js"); + + context.Files.AddIfNotContains("/libs/datatables.net-buttons/js/dataTables.buttons.min.js"); context.Files.AddIfNotContains("/libs/datatables.net-buttons/js/buttons.html5.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-select/js/dataTables.select.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-buttons-bs5/js/buttons.bootstrap5.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-select-bs5/js/select.bootstrap5.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-fixedheader/js/dataTables.fixedHeader.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-staterestore-dt/js/stateRestore.dataTables.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-staterestore/js/dataTables.stateRestore.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-colreorder/js/dataTables.colReorder.min.js"); - context.Files.AddIfNotContains("/libs/datatables.net-colreorder-bs5/js/colReorder.bootstrap5.min.js"); + context.Files.AddIfNotContains("/libs/datatables.net-buttons-bs5/js/buttons.bootstrap5.js"); + + context.Files.AddIfNotContains("/libs/datatables.net-select/js/dataTables.select.js"); + context.Files.AddIfNotContains("/libs/datatables.net-select-bs5/js/select.bootstrap5.js"); + context.Files.AddIfNotContains("/libs/datatables.net-fixedheader/js/dataTables.fixedHeader.js"); context.Files.AddIfNotContains("/libs/datatables.net-fixedheader-bs5/js/fixedHeader.bootstrap5.min.js"); - context.Files.AddIfNotContains("/libs/jszip/dist/jszip.min.js"); + + context.Files.AddIfNotContains("/libs/datatables.net-staterestore-dt/js/stateRestore.dataTables.js"); + context.Files.AddIfNotContains("/libs/datatables.net-staterestore/js/dataTables.stateRestore.js"); + + context.Files.AddIfNotContains("/libs/datatables.net-colreorder/js/dataTables.colReorder.min.js"); + context.Files.AddIfNotContains("/libs/datatables.net-colreorder-bs5/js/colReorder.bootstrap5.min.js"); + + context.Files.AddIfNotContains("/libs/echarts/echarts.min.js"); context.Files.AddIfNotContains("/libs/tributejs/dist/tribute.min.js"); context.Files.AddIfNotContains("/libs/tinymce/tinymce.min.js"); diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj index 4821406b0..a0a0f633e 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/Unity.AspNetCore.Mvc.UI.Theme.UX2.csproj @@ -1,11 +1,10 @@ - + latest - net8.0 + net9.0 true Unity.AspNetCore.Mvc.UI.Themes - Unity.AspNetCore.Mvc.UI.Themes - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.AspNetCore.Mvc.UI.Themes false false false @@ -27,11 +26,11 @@ - - - - - + + + + + diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js index 49054b2ff..6c3b7e080 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/table-utils.js @@ -1,7 +1,7 @@ const nullPlaceholder = '—'; const FilterDesc = { Default: 'Filter', - With_Filter: 'Filter*' + With_Filter: 'Filter*', }; function createNumberFormatter() { @@ -17,7 +17,7 @@ function removePlaceholderFromCvsExportButton(actionButtons, useNullPlaceholder, if (!useNullPlaceholder) { return actionButtons; } - return actionButtons.map(button => { + return actionButtons.map((button) => { if (button.extend === 'csv') { return { ...button, @@ -26,9 +26,9 @@ function removePlaceholderFromCvsExportButton(actionButtons, useNullPlaceholder, format: { body: function (data, row, column, node) { return data === nullPlaceholder ? '' : data; - } - } - } + }, + }, + }, }; } return button; @@ -62,11 +62,10 @@ function initializeDataTable(options) { let updatedActionButtons = removePlaceholderFromCvsExportButton(actionButtons, useNullPlaceholder, nullPlaceholder); let tableColumns = assignColumnIndices(listColumns); let visibleColumns = getVisibleColumnIndexes(tableColumns, defaultVisibleColumns); - let filterData = {}; let iDt = dt.DataTable( - abp.libs.datatables.normalizeConfiguration({ + abp.libs.datatables.normalizeConfiguration({ fixedHeader: { header: true, footer: false, @@ -85,15 +84,15 @@ function initializeDataTable(options) { dataEndpoint, data, responseCallback ?? function (result) { - if (result.totalCount <= maxRowsPerPage) { - $('.dataTables_paginate').hide(); + if (result.totalCount <= maxRowsPerPage) { + $('.dataTables_paginate').hide(); + } + return { + recordsTotal: result.totalCount, + recordsFiltered: result.totalCount, + data: result?.items ?? result + }; } - return { - recordsTotal: result.totalCount, - recordsFiltered: result.totalCount, - data: result?.items ?? result - }; - } ), select: { style: 'multiple', @@ -108,91 +107,198 @@ function initializeDataTable(options) { dom: 'Blfrtip', buttons: updatedActionButtons, drawCallback: function () { - $(`#${dt[0].id}_previous a`).text("<"); - $(`#${dt[0].id}_next a`).text(">"); + $(`#${dt[0].id}_previous a`).text('<'); + $(`#${dt[0].id}_next a`).text('>'); $(`#${dt[0].id}_info`).text(function (index, text) { - return text.replace("Showing ", "").replace(" to ", "-").replace(" entries", ""); + return text + .replace('Showing ', '') + .replace(' to ', '-') + .replace(' entries', ''); }); }, initComplete: function () { + const api = this.api(); + const aoColumns = api.settings()[0].aoColumns; + + api.columns().every(function (i) { + const name = aoColumns[i].name; + $(api.column(i).header()).attr('data-name', name); + }); }, - columns: tableColumns, - columnDefs: [ + columns: tableColumns, + columnDefs: [ { targets: visibleColumns, - visible: true + visible: true, }, { targets: '_all', // Hide all other columns initially visible: false, // Set default content for all cells to placeholder if null - ...(useNullPlaceholder ? { defaultContent: nullPlaceholder } : {}) + ...(useNullPlaceholder + ? { defaultContent: nullPlaceholder } + : {}), }, // Add listColumnDefs if not null or empty - ...(Array.isArray(listColumnDefs) && listColumnDefs.length > 0 ? listColumnDefs : []) + ...(Array.isArray(listColumnDefs) && listColumnDefs.length > 0 + ? listColumnDefs + : []), ], processing: true, - stateSaveParams: function (settings, data) { - let searchValue = $(settings.oInit.externalSearchInputId).val(); - data.search.search = searchValue; - - // Assign unique keys to columns based on their original index - data.columns.forEach((col, idx) => { - let aoCol = settings.aoColumns[idx]; - let originalIdx = typeof aoCol._ColReorder_iOrigCol !== "undefined" ? aoCol._ColReorder_iOrigCol : idx; - let originalCol = settings.aoColumns.find(col => col.index === originalIdx); - data.columns[originalIdx].uniqueKey = originalCol.name; - }); - - let hasFilter = data.columns.some(value => value.search.search !== '') || searchValue !== ''; - $('#btn-toggle-filter').text(hasFilter ? FilterDesc.With_Filter : FilterDesc.Default); + stateSaveParams: function (settings, data) { + let searchValue = $(settings.oInit.externalSearchInputId).val(); + data.search.search = searchValue; + + // Assign unique keys to columns based on their original index + data.columns.forEach((col, idx) => { + let aoCol = settings.aoColumns[idx]; + let originalIdx = + typeof aoCol._ColReorder_iOrigCol !== 'undefined' + ? aoCol._ColReorder_iOrigCol + : idx; + let originalCol = settings.aoColumns.find( + (col) => col.index === originalIdx + ); + data.columns[originalIdx].uniqueKey = originalCol.name; + }); + + if (Array.isArray(data.order)) { + data.orderByUniqueKey = data.order.map(([colIdx, dir]) => { + const col = data.columns[colIdx]; + return col ? { uniqueKey: col.uniqueKey, dir } : null; + }).filter(x => x); + } + + let hasFilter = + data.columns.some((value) => value.search.search !== '') || + searchValue !== ''; + $('#btn-toggle-filter').text( + hasFilter ? FilterDesc.With_Filter : FilterDesc.Default + ); + }, + stateLoadParams: function (settings, data) { + $(settings.oInit.externalSearchInputId).val(data.search.search); + let stateCorrupted = false; + const tableId = settings.sTableId || settings.nTable.id; + const aoColumns = settings.aoColumns; + + // Restore order from uniqueKey if available + if (Array.isArray(data.orderByUniqueKey)) { + data.order = data.orderByUniqueKey.map(orderObj => { + // Find the current index for this uniqueKey + const idx = data.columns.findIndex(col => col.uniqueKey === orderObj.uniqueKey); + return [idx, orderObj.dir]; + }).filter(([idx]) => idx !== -1); + } + + data.columns.forEach((column, index) => { + if (aoColumns[index] + '' != 'undefined') { + const name = aoColumns[index].name; + const dataObj = data.columns.find( + (col) => col.uniqueKey === name + ); + + const title = aoColumns[index].sTitle; + + if (typeof dataObj === 'undefined') { + localStorage.removeItem( + `DataTables_${tableId}_${window.location.pathname}` + ); + cleanInvalidStateRestore(tableId); + stateCorrupted = true; + } else { + const value = dataObj?.search?.search ?? ''; + filterData[title] = value; + } + } + }); + + if (stateCorrupted) { + window.location.reload(); + return false; + } + }, + stateLoaded: function (settings, data) { + let dtApi = null; + const tableId = settings.sTableId || settings.nTable.id; + + try { + dtApi = new $.fn.dataTable.Api(settings); + + if (!dtApi?.table()?.node()) { + throw new Error('Invalid DataTable instance.'); + } + + //Restore Column visibility + if (Array.isArray(data.columns)) { + data.columns.forEach((savedCol) => { + const colIndex = settings.aoColumns.findIndex(col => col.name === savedCol.uniqueKey); + if (colIndex !== -1) { + dtApi.column(colIndex).visible(savedCol.visible, false); + } + }); + } + + //Re-sync tableColumns based on current table state + tableColumns.forEach((col) => { + const colIdx = col.index; + if (dtApi.column(colIdx).header()) { + col.visible = dtApi.column(colIdx).visible(); + } + }); + + //Rebuild custom ColVis + const colvisBtn = dtApi.button('customColvis:name'); + if (colvisBtn) { + colvisBtn.collectionRebuild( + getColumnToggleButtonsSorted(tableColumns, dtApi) + ); + } + + if (Array.isArray(data.order) && data.order.length > 0) { + const adjustedOrder = data.order.map(([visualIdx, dir]) => { + const originalIdx = dtApi.colReorder?.transpose?.(visualIdx); + return [originalIdx, dir]; + }); + dtApi.order(adjustedOrder).draw(); + } else { + dtApi.columns.adjust().draw(false); + } + } catch (err) { + console.warn('StateLoaded failed:', err); + const stateKey = `DataTables_${tableId}_${window.location.pathname}`; + localStorage.removeItem(stateKey); + } }, - stateLoadParams: function (settings, data) { - $(settings.oInit.externalSearchInputId).val(data.search.search); - let stateCorrupted = false; - const tableId = settings.sTableId || settings.nTable.id; - - data.columns.forEach((column, index) => { - if (settings.aoColumns[index] + "" != "undefined") { - const title = settings.aoColumns[index].sTitle; - const name = settings.aoColumns[index].name; - const dataObj = data.columns.find(col => col.uniqueKey === name); - if (typeof dataObj === "undefined") { - localStorage.removeItem(`DataTables_${tableId}_${window.location.pathname}`); - cleanInvalidStateRestore(tableId); - stateCorrupted = true; - } else { - const value = dataObj?.search?.search ?? ''; - filterData[title] = value; - } - } - }); - - if (stateCorrupted) { - window.location.reload(); - return false; - } - } }) ); function cleanInvalidStateRestore(tableId) { Object.keys(localStorage) - .filter(key => key.includes('DataTables_stateRestore') && key.includes(`${tableId}`)) - .forEach(key => { + .filter( + (key) => + key.includes('DataTables_stateRestore') && + key.includes(`${tableId}`) + ) + .forEach((key) => { try { const value = localStorage.getItem(key); if (!value) return; const obj = JSON.parse(value); if (Array.isArray(obj.columns)) { - const hasMissingUniqueKey = obj.columns.some(col => !('uniqueKey' in col)); + const hasMissingUniqueKey = obj.columns.some( + (col) => !('uniqueKey' in col) + ); if (hasMissingUniqueKey) { localStorage.removeItem(key); } } } catch (e) { - console.warn(`Could not process DataTables state for key: ${key}`, e); + console.warn( + `Could not process DataTables state for key: ${key}`, + e + ); } }); } @@ -201,14 +307,17 @@ function initializeDataTable(options) { if (!disableColumnSelect) { iDt.button().add(updatedActionButtons.length + 1, { text: 'Columns', + name: 'customColvis', extend: 'collection', buttons: getColumnToggleButtonsSorted(tableColumns, iDt), - className: 'custom-table-btn flex-none btn btn-secondary' + className: 'custom-table-btn flex-none btn btn-secondary', }); } iDt.buttons().container().prependTo(`#${dynamicButtonContainerId}`); - $(`#${dataTableName}_wrapper`).append(``); + $(`#${dataTableName}_wrapper`).append( + `` + ); // Move the length menu to the footer container $(`#${dataTableName}_length`).appendTo(`.${dataTableName}`); init(iDt); @@ -218,9 +327,12 @@ function initializeDataTable(options) { iDt.on('column-reorder.dt', function (e, settings) { updateFilter(iDt, dt[0].id, filterData); }); - iDt.on('column-visibility.dt', function (e, settings, deselectedcolumn, state) { - updateFilter(iDt, dt[0].id, filterData); - }); + iDt.on( + 'column-visibility.dt', + function (e, settings, deselectedcolumn, state) { + updateFilter(iDt, dt[0].id, filterData); + } + ); initializeFilterButtonPopover(iDt); @@ -243,14 +355,20 @@ function assignColumnIndices(columnsArray) { return []; } - const maxExistingIndex = Math.max(...columnsArray - .filter(col => 'index' in col && col.index !== undefined && col.index !== '') - .map(col => parseInt(col.index)) - .concat(-1) + const maxExistingIndex = Math.max( + ...columnsArray + .filter( + (col) => + 'index' in col && + col.index !== undefined && + col.index !== '' + ) + .map((col) => parseInt(col.index)) + .concat(-1) ); let nextIndex = maxExistingIndex + 1; - return columnsArray.map(column => { + return columnsArray.map((column) => { // Preserve existing index if it exists if (column.index !== undefined && column.index !== '') { return column; @@ -259,7 +377,7 @@ function assignColumnIndices(columnsArray) { // Assign new index starting after max existing index return { ...column, - index: nextIndex++ + index: nextIndex++, }; }); } @@ -270,13 +388,18 @@ function getVisibleColumnIndexes(columns, visibleColumnsArray) { if (Array.isArray(visibleColumnsArray) && visibleColumnsArray.length > 0) { // Get indexes from provided visible column names. indexes = visibleColumnsArray - .map(colName => columns.find(col => col.name === colName || col.data === colName)?.index) - .filter(index => typeof index !== 'undefined'); + .map( + (colName) => + columns.find( + (col) => col.name === colName || col.data === colName + )?.index + ) + .filter((index) => typeof index !== 'undefined'); } else { // If visibleColumnsArray is empty, include all column indexes. indexes = columns - .map(col => col.index) - .filter(index => typeof index !== 'undefined'); + .map((col) => col.index) + .filter((index) => typeof index !== 'undefined'); } // Always add 0 if not already present @@ -292,25 +415,30 @@ function setTableHeighDynamic(tableName) { let docHeight = document.body.clientHeight; let tableOffset = 425; - if ((tableHeight + tableOffset) > docHeight) { - $(`#${tableName}_wrapper .dataTables_scrollBody`).css({ height: docHeight - tableOffset }); + if (tableHeight + tableOffset > docHeight) { + $(`#${tableName}_wrapper .dataTables_scrollBody`).css({ + height: docHeight - tableOffset, + }); } else { - $(`#${tableName}_wrapper .dataTables_scrollBody`).css({ height: tableHeight + 10 }); + $(`#${tableName}_wrapper .dataTables_scrollBody`).css({ + height: tableHeight + 10, + }); } } -function getSelectColumn(title,dataField,uniqueTableId) { +function getSelectColumn(title, dataField, uniqueTableId) { return { title: ``, orderable: false, className: 'notexport text-center', data: dataField, name: 'select', + index: 0, render: function (data) { - return `` + return ``; }, - index: 0 - } + + }; } function init(iDt) { @@ -321,10 +449,10 @@ function init(iDt) { function initializeFilterButtonPopover(iDt) { const UIElements = { search: $(iDt.init().externalSearchInputId), - btnToggleFilter: $('#btn-toggle-filter') + btnToggleFilter: $('#btn-toggle-filter'), }; - UIElements.btnToggleFilter.on('click', function() { + UIElements.btnToggleFilter.on('click', function () { UIElements.btnToggleFilter.popover('toggle'); }); @@ -339,21 +467,23 @@ function initializeFilterButtonPopover(iDt) { `, content: function () { - const isChecked = $(".tr-toggle-filter").is(':visible'); + const isChecked = $('.tr-toggle-filter').is(':visible'); return `
- +
CLEAR FILTER `; }, - placement: 'bottom' + placement: 'bottom', }); UIElements.btnToggleFilter.on('shown.bs.popover', function () { const searchElement = $(iDt.init().externalSearchInputId); - const trToggleElement = $(".tr-toggle-filter"); + const trToggleElement = $('.tr-toggle-filter'); const popoverElement = $('.popover.custom-popover'); const customFilterElement = $('.custom-filter-input'); @@ -372,15 +502,21 @@ function initializeFilterButtonPopover(iDt) { }); $(document).on('click.popover', function (e) { - if (!$(e.target).closest(UIElements.btnToggleFilter.selector).length && - !$(e.target).closest('.popover').length) { + if ( + !$(e.target).closest(UIElements.btnToggleFilter.selector) + .length && + !$(e.target).closest('.popover').length + ) { UIElements.btnToggleFilter.popover('hide'); } }); $(document).on('mouseenter.popover', function (e) { - if (!$(e.target).closest(UIElements.btnToggleFilter.selector).length && - !$(e.target).closest('.popover').length) { + if ( + !$(e.target).closest(UIElements.btnToggleFilter.selector) + .length && + !$(e.target).closest('.popover').length + ) { UIElements.btnToggleFilter.popover('hide'); } }); @@ -406,36 +542,41 @@ function findColumnByTitle(title, dataTable) { let columnIndex = dataTable .columns() .header() - .map(c => $(c).text()) + .map((c) => $(c).text()) .indexOf(title); - return dataTable.column(columnIndex); + + let res = dataTable.column(columnIndex); + return res; } function getColumnByName(name, columns) { - return columns.find(obj => obj.name === name); + return columns.find((obj) => obj.name === name); } function isColumnVisToggled(title, dataTable) { let column = findColumnByTitle(title, dataTable); - if (column.visible()) - return ' dt-button-active'; - else - return null; + if (column.visible()) return ' dt-button-active'; + else return null; } function toggleManageColumnButton(config, dataTable) { let column = findColumnByTitle(config.text, dataTable); column.visible(!column.visible()); } - function getColumnToggleButtonsSorted(displayListColumns, dataTable) { let exludeIndxs = [0]; const res = displayListColumns - .map((obj) => ({ title: obj.title, data: obj.data, visible: obj.visible, index: obj.index })) - .filter(obj => !exludeIndxs.includes(obj.index)) - .filter(obj => obj.title !== 'Actions') + .map((obj) => ({ + title: obj.title, + data: obj.data, + visible: obj.visible, + index: obj.index, + name: obj.name, + })) + .filter((obj) => !exludeIndxs.includes(obj.index)) + .filter((obj) => obj.title !== 'Actions') .sort((a, b) => a.title.localeCompare(b.title)) - .map(a => ({ + .map((a) => ({ text: a.title, id: 'managecols-' + a.index, action: function (e, dt, node, config) { @@ -446,9 +587,10 @@ function getColumnToggleButtonsSorted(displayListColumns, dataTable) { node.removeClass('dt-button-active'); } }, - className: 'dt-button dropdown-item buttons-columnVisibility' + isColumnVisToggled(a.title, dataTable), - extend: 'columnToggle', - columns: a.index + className: + 'dt-button dropdown-item buttons-columnVisibility' + isColumnVisToggled(a.title, dataTable), + columns: a.index, + name: 'cv-' + a.name })); return res; } @@ -458,7 +600,7 @@ function setExternalSearchFilter(dataTableInstance) { // Exclude default search inputs that have custom logic if (searchId !== false && searchId !== '#search') { - $('.dataTables_filter input').attr("placeholder", "Search"); + $('.dataTables_filter input').attr('placeholder', 'Search'); $('.dataTables_filter label')[0].childNodes[0].remove(); $(searchId).on('input', function () { @@ -470,56 +612,53 @@ function setExternalSearchFilter(dataTableInstance) { function updateFilter(dt, dtName, filterData) { let optionsOpen = false; - $("#tr-filter").each(function () { - if ($(this).is(":visible")) - optionsOpen = true; - }) + $('#tr-filter').each(function () { + if ($(this).is(':visible')) optionsOpen = true; + }); $('.tr-toggle-filter').remove(); let newRow = $(""); dt.columns().every(function () { - let column = this; - if (column.visible()) { - let title = column.header().textContent; - if (title && title !== 'Actions') { - - let filterValue = filterData[title] ? filterData[title] : ''; - - let input = $("", { - type: 'text', - class: 'form-control input-sm custom-filter-input', - placeholder: title, - value: filterValue - }); + let column = this; + if (column.visible()) { + let title = column.header().textContent; + if (title && title !== 'Actions') { + let filterValue = filterData[title] ? filterData[title] : ''; + + let input = $('', { + type: 'text', + class: 'form-control input-sm custom-filter-input', + placeholder: title, + value: filterValue, + }); - let newCell = $("").append(input); + let newCell = $('').append(input); - if (column.search() !== filterValue) { - column.search(filterValue).draw(); - } + if (column.search() !== filterValue) { + column.search(filterValue).draw(); + } - newCell.find("input").on("keyup", function () { - if (column.search() !== this.value) { - column.search(this.value).draw(); - updateFilterButton(dt); - } - }); + newCell.find('input').on('keyup', function () { + if (column.search() !== this.value) { + column.search(this.value).draw(); + updateFilterButton(dt); + } + }); - newRow.append(newCell); - } - else { - let newCell = $(""); - newRow.append(newCell); - } + newRow.append(newCell); + } else { + let newCell = $(''); + newRow.append(newCell); } - }); + } + }); updateFilterButton(dt); $(`#${dtName} thead`).after(newRow); if (optionsOpen) { - $(".tr-toggle-filter").show(); + $('.tr-toggle-filter').show(); } } @@ -530,7 +669,7 @@ function searchFilter(iDt) { } if ($('#btn-toggle-filter').text() === FilterDesc.With_Filter) { - $(".tr-toggle-filter").show(); + $('.tr-toggle-filter').show(); } } @@ -545,52 +684,52 @@ function updateFilterButton(dt) { }); let hasFilter = columnFiltersApplied || searchValue !== ''; - $('#btn-toggle-filter').text(hasFilter ? FilterDesc.With_Filter : FilterDesc.Default); + $('#btn-toggle-filter').text( + hasFilter ? FilterDesc.With_Filter : FilterDesc.Default + ); } $('.data-table-select-all').click(function () { - - if ($('.data-table-select-all').is(":checked")) { - PubSub.publish('datatable_select_all',true); + if ($('.data-table-select-all').is(':checked')) { + PubSub.publish('datatable_select_all', true); } else { PubSub.publish('datatable_select_all', false); } - }); function commonTableActionButtons(exportTitle) { return [ { text: 'Filter', - id: "btn-toggle-filter", + id: 'btn-toggle-filter', className: 'btn-secondary custom-table-btn m-0', - action: function (e, dt, node, config) { }, + action: function (e, dt, node, config) {}, attr: { - id: 'btn-toggle-filter' - } + id: 'btn-toggle-filter', + }, }, { extend: 'csv', text: 'Export', title: exportTitle, - className: 'custom-table-btn flex-none btn btn-secondary hidden-export-btn d-none', + className: + 'custom-table-btn flex-none btn btn-secondary hidden-export-btn d-none', exportOptions: { columns: ':visible:not(.notexport)', orthogonal: 'fullName', format: { body: function (data, row, column, node) { return data === nullPlaceholder ? '' : data; - } - } - } - } + }, + }, + }, + }, ]; } // Toggle hidden export buttons for Ctrl+Alt+Shift+E globally $(document).keydown(function (e) { - if (e.ctrlKey && e.altKey && - e.shiftKey && e.key === 'E') { + if (e.ctrlKey && e.altKey && e.shiftKey && e.key === 'E') { // Toggle d-none class on elements with hidden-export class $('.hidden-export-btn').toggleClass('d-none'); diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/zone-extensions.js b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/zone-extensions.js index 157690cd2..1003da21f 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/zone-extensions.js +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/src/Unity.Theme.UX2/wwwroot/themes/ux2/zone-extensions.js @@ -3,6 +3,29 @@ return; } + /** + * Unflatten dot separated JSON objects into nested objects + */ + $.fn.unflattenObject = function(flatObj) { + const result = {}; + for (const flatKey in flatObj) { + const value = flatObj[flatKey]; + if (!flatKey) continue; + const keys = flatKey.split('.'); + let cur = result; + for (let i = 0; i < keys.length; i++) { + const k = keys[i]; + if (i === keys.length - 1) { + cur[k] = value; + } else { + cur[k] = cur[k] || {}; + cur = cur[k]; + } + } + } + return result; + } + /** * @public * Handles zone fieldset serialization with DTO nesting @@ -16,7 +39,6 @@ // OPTIONS NOTE: Zones to include // OPTIONS NOTE: Properties to include - // Initialize result object const resultObject = {}; // Collection phase: Gather all field data in a single pass @@ -41,8 +63,16 @@ data.push({ name: this.name, value: value }); }); - } + } else { + // Add only disabled fields marked with data-zone-include="true" + $form.find(':disabled[name][data-zone-include="true"]').each(function () { + const value = $(this).is(":checkbox") ? + $(this).is(':checked') : + $(this).val(); + data.push({ name: this.name, value: value }); + }); + } // Convert field names to camelCase if required if (camelCase) { @@ -137,7 +167,7 @@ class UnityChangeTrackingForm { constructor($form, options = {}) { this.options = { - modifiedClass: 'unity-modified-field-marker', + modifiedClass: options.modifiedClass || 'unity-modified-field-marker', saveButtonSelector: options.saveButtonSelector || '#saveButton', ...options }; @@ -173,6 +203,9 @@ class UnityChangeTrackingForm { if ($el.prop('checked')) { this.originalValues[name] = $el.val(); } + } else if ($el.attr('data-zone-include') === 'true') { + // Store whether this field should be included even when disabled + this.originalValues[name] = $el.val(); } else { this.originalValues[name] = $el.val(); } @@ -202,12 +235,15 @@ class UnityChangeTrackingForm { } else { return; // Skip radio buttons that aren't checked } + } else if ($element.attr('data-zone-include') === 'true') { + // Store whether this field should be included even when disabled + currentValue = $element.val(); } else { currentValue = $element.val(); } const originalValue = this.originalValues[name]; - + if (currentValue !== originalValue) { this.markAsModified($element, name); } else { @@ -313,6 +349,14 @@ class UnityZoneForm extends UnityChangeTrackingForm { this.addSubmitHandler(); } + // NOTE Get Zone Status + // NOTE Get field by name or id + // NOTE Get field value by name or id + + isValid() { + return this.form.valid(); + } + initializeNumericFields() { $('.numeric-mask').maskMoney({ precision: 0 }); $('.percentage-mask').maskMoney(); @@ -334,10 +378,86 @@ class UnityZoneForm extends UnityChangeTrackingForm { $('.unity-currency-input').maskMoney(); } + /** + * Extracts the last two segments from a string separated by underscores, + * and returns them joined by an underscore (e.g., "Unity_GrantManager_ApplicationManagement_Applicant_Summary" => "Applicant_Summary"). + * If the input does not have at least two segments, returns the original string. + * @private + * @param {string} input + * @returns {string} + */ + #extractZoneSuffix(input) { + if (typeof input !== 'string') return input; + const parts = input.split('_'); + if (parts.length < 2) return input; + return parts.slice(-2).join('_'); + } + addSubmitHandler() { this.form.on('submit', (e) => { e.preventDefault(); + // Include submission handler callback this.resetTracking(); }); } + + reportZones(viewExpanded = false) { + let tableData = []; + const self = this; // Store reference to the class instance + + this.form.find('fieldset').each(function () { + const fieldName = $(this).attr('name'); + + $(this).find(':input').each(function () { + const $el = $(this); + const name = this.name || '(no name)'; + + // Get current value based on input type + let currentValue; + if ($el.is(':checkbox')) { + currentValue = $el.prop('checked'); + } else if ($el.is(':radio')) { + if ($el.prop('checked')) { + currentValue = $el.val(); + } else { + currentValue = '(unchecked radio)'; + } + } else { + currentValue = $el.val() || '(no value)'; + } + + // Get original value if it exists + const originalValue = name !== '(no name)' && self.originalValues.hasOwnProperty(name) ? + self.originalValues[name] : '(not tracked)'; + + const isModified = self.modifiedFields.has(name); + + let tableOutput = { + 'fieldsetName': self.#extractZoneSuffix(fieldName), + 'id': this.id + } + + if (viewExpanded) { + let expandedProperties = { + 'name': name, + 'tag': this.tagName.toLowerCase(), + 'type': this.type + }; + + tableOutput = { ...tableOutput, ...expandedProperties }; + } + + let changeProperties = { + 'originalValue': originalValue, + 'currentValue': currentValue, + 'modified': isModified + }; + tableOutput = { ...tableOutput, ...changeProperties }; + + tableData.push(tableOutput); + }); + }); + + console.table(tableData); + } } \ No newline at end of file diff --git a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj index ab63d28b7..3cbf5e2fa 100644 --- a/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj +++ b/applications/Unity.GrantManager/modules/Unity.Theme.UX2/test/Unity.Theme.UX2.Tests/Unity.AspNetCore.Mvc.UI.Theme.UX2.Tests.csproj @@ -1,7 +1,7 @@ - + - net8.0 + net9.0 enable enable @@ -10,16 +10,16 @@ - - - + + + runtime; build; native; contentfiles; analyzers; buildtransitive all - + all runtime; build; native; contentfiles; analyzers diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Emails/CreateEmailDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Emails/CreateEmailDto.cs index 61949c518..f6ddffba4 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Emails/CreateEmailDto.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Emails/CreateEmailDto.cs @@ -15,7 +15,7 @@ public class CreateEmailDto [MaxLength(1023)] // Max for CHES public string EmailSubject { get; set; } = string.Empty; - [MaxLength(40000)] + [Required] public string EmailBody { get; set; } = string.Empty; public Guid ApplicationId { get; set; } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantAddressDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantAddressDto.cs index 429f6689d..ff96dd506 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantAddressDto.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantAddressDto.cs @@ -1,10 +1,11 @@ using System; using Volo.Abp.Application.Dtos; +using Volo.Abp.Auditing; namespace Unity.GrantManager.GrantApplications; [Serializable] -public class ApplicantAddressDto : EntityDto +public class ApplicantAddressDto : EntityDto, IHasCreationTime, IHasModificationTime { public Guid ApplicantId { get; set; } public string Street { get; set; } = string.Empty; @@ -13,6 +14,8 @@ public class ApplicantAddressDto : EntityDto public string? City { get; set; } public string? Province { get; set; } public string? Postal { get; set; } + public AddressType AddressType { get; set; } + public DateTime CreationTime { get; set; } - public AddressType AddressType { get; set; } + public DateTime? LastModificationTime { get; set; } } \ No newline at end of file diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantInfoDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantInfoDto.cs new file mode 100644 index 000000000..1d861bcf2 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantInfoDto.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using Unity.Flex.Worksheets; + +namespace Unity.GrantManager.GrantApplications; + +public class ApplicantInfoDto : CustomDataFieldDto +{ + public Guid ApplicationId { get; set; } + public Guid ApplicantId { get; set; } + public Guid ApplicationFormId { get; set; } + + public string ApplicationReferenceNo { get; set; } = string.Empty; + public string ApplicantName { get; set; } = string.Empty; + public GrantApplicationState ApplicationStatusCode { get; set; } + public string? ElectoralDistrict { get; set; } + + public ApplicantSummaryDto? ApplicantSummary { get; set; } + public List? ApplicantAddresses { get; set; } + public SigningAuthorityDto? SigningAuthority { get; set; } + public ContactInfoDto? ContactInfo { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantSummaryDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantSummaryDto.cs new file mode 100644 index 000000000..885df95bf --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicantSummaryDto.cs @@ -0,0 +1,24 @@ +using System; + +namespace Unity.GrantManager.GrantApplications; + +public class ApplicantSummaryDto +{ + public Guid ApplicantId { get; set; } + public string? ApplicantName { get; set; } + public string? Sector { get; set; } + public string? SubSector { get; set; } + public string? OrgNumber { get; set; } + public string? OrgName { get; set; } + public string? NonRegOrgName { get; set; } + public string? OrgStatus { get; set; } + public string? OrganizationType { get; set; } + public string? OrganizationSize { get; set; } + public string? SectorSubSectorIndustryDesc { get; set; } + public bool? RedStop { get; set; } + public bool? IndigenousOrgInd { get; set; } + public string? UnityApplicantId { get; set; } + public string? FiscalDay { get; set; } + public string? FiscalMonth { get; set; } + public string? ElectoralDistrict { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicationApplicantInfoDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicationApplicantInfoDto.cs index fb0152841..4e29860b0 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicationApplicantInfoDto.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ApplicationApplicantInfoDto.cs @@ -1,28 +1,27 @@ using System; using System.Collections.Generic; -namespace Unity.GrantManager.GrantApplications +namespace Unity.GrantManager.GrantApplications; + +[Serializable] +public class ApplicationApplicantInfoDto : GrantApplicationApplicantDto { - [Serializable] - public class ApplicationApplicantInfoDto : GrantApplicationApplicantDto - { - public Guid ApplicantId { get; set; } - public string ContactFullName { get; set; } = string.Empty; - public string ContactTitle { get; set; } = string.Empty; - public string ContactEmail { get; set; } = string.Empty; - public string ContactBusinessPhone { get; set; } = string.Empty; - public string ContactCellPhone { get; set; } = string.Empty; - public string OrganizationName { get; set; } = string.Empty; - public string SigningAuthorityFullName { get; set; } = string.Empty; - public string SigningAuthorityTitle { get; set; } = string.Empty; - public string SigningAuthorityEmail { get; set; } = string.Empty; - public string SigningAuthorityBusinessPhone { get; set; } = string.Empty; - public string SigningAuthorityCellPhone { get; set; } = string.Empty; - public string ApplicationReferenceNo { get; set; } = string.Empty; - public string ApplicationStatus { get; set; } = string.Empty; - public GrantApplicationState ApplicationStatusCode { get; set; } - public List ApplicantAddresses { get; set; } = new List(); - public Guid ApplicationFormId { get; set; } - public string NonRegOrgName { get; set; } = string.Empty; - } + public Guid ApplicantId { get; set; } + public string ContactFullName { get; set; } = string.Empty; + public string ContactTitle { get; set; } = string.Empty; + public string ContactEmail { get; set; } = string.Empty; + public string ContactBusinessPhone { get; set; } = string.Empty; + public string ContactCellPhone { get; set; } = string.Empty; + public string OrganizationName { get; set; } = string.Empty; + public string SigningAuthorityFullName { get; set; } = string.Empty; + public string SigningAuthorityTitle { get; set; } = string.Empty; + public string SigningAuthorityEmail { get; set; } = string.Empty; + public string SigningAuthorityBusinessPhone { get; set; } = string.Empty; + public string SigningAuthorityCellPhone { get; set; } = string.Empty; + public string ApplicationReferenceNo { get; set; } = string.Empty; + public string ApplicationStatus { get; set; } = string.Empty; + public GrantApplicationState ApplicationStatusCode { get; set; } + public List ApplicantAddresses { get; set; } = []; + public Guid ApplicationFormId { get; set; } + public string NonRegOrgName { get; set; } = string.Empty; } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/BulkApprovalDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/BulkApprovalDto.cs index 5e08208af..cd248c606 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/BulkApprovalDto.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/BulkApprovalDto.cs @@ -25,5 +25,7 @@ public BulkApprovalDto() public string ApplicantName { get; set; } public string FormName { get; set; } public string ApplicationStatus { get; set; } + public bool? IsDirectApproval { get; set; } + public decimal RecommendedAmount { get; set; } } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ContactInfoDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ContactInfoDto.cs new file mode 100644 index 000000000..f0a1c0209 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/ContactInfoDto.cs @@ -0,0 +1,15 @@ +using System; + +namespace Unity.GrantManager.GrantApplications; + +public class ContactInfoDto +{ + public Guid? ApplicantAgentId { get; set; } + public Guid? ApplicationId { get; set; } + + public string? Name { get; set; } + public string? Title { get; set; } + public string? Email { get; set; } + public string? Phone { get; set; } + public string? Phone2 { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/CreateUpdateApplicantInfoDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/CreateUpdateApplicantInfoDto.cs index 1439aeab5..92c317d68 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/CreateUpdateApplicantInfoDto.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/CreateUpdateApplicantInfoDto.cs @@ -1,10 +1,13 @@ using System; +using System.Collections.Generic; using Unity.Flex.Worksheets; namespace Unity.GrantManager.GrantApplications { public class CreateUpdateApplicantInfoDto : CustomDataFieldDto { + public Guid? ApplicationId { get; set; } + public Guid ApplicantId { get; set; } public string? OrgName { get; set; } public string? OrgNumber { get; set; } public string? OrgStatus { get; set; } @@ -43,9 +46,61 @@ public class CreateUpdateApplicantInfoDto : CustomDataFieldDto public string? MailingAddressProvince { get; set; } public string? MailingAddressPostalCode { get; set; } - public Guid ApplicantId { get; set; } public string? NonRegOrgName { get; set; } public string? ElectoralDistrict { get; set; } public string? ApplicantName { get; set; } } + + public class UpsertApplicantInfoDto : CustomDataFieldDto + { + public string ApplicationReferenceNo { get; set; } = string.Empty; + public string ApplicantName { get; set; } = string.Empty; + public GrantApplicationState ApplicationStatusCode { get; set; } + + public ApplicantSummaryDto? ApplicantSummary { get; set; } + public List? ApplicantAddresses { get; set; } + public SigningAuthorityDto? SigningAuthority { get; set; } + public ContactInfoDto? ContactInfo { get; set; } + + public string? OrgName { get; set; } + public string? OrgNumber { get; set; } + public string? OrgStatus { get; set; } + public string? OrganizationType { get; set; } + public string? OrganizationSize { get; set; } + + public string? Sector { get; set; } + public string? SubSector { get; set; } + public string? SectorSubSectorIndustryDesc { get; set; } = string.Empty; + public bool? RedStop { get; set; } + public string? IndigenousOrgInd { get; set; } + public string? UnityApplicantId { get; set; } + public int? FiscalDay { get; set; } + public string? FiscalMonth { get; set; } + public string? ContactFullName { get; set; } + public string? ContactTitle { get; set; } + public string? ContactEmail { get; set; } + public string? ContactBusinessPhone { get; set; } + public string? ContactCellPhone { get; set; } + public string? SigningAuthorityFullName { get; set; } + public string? SigningAuthorityTitle { get; set; } + public string? SigningAuthorityEmail { get; set; } + public string? SigningAuthorityBusinessPhone { get; set; } + public string? SigningAuthorityCellPhone { get; set; } + public string? PhysicalAddressStreet { get; set; } + public string? PhysicalAddressStreet2 { get; set; } + public string? PhysicalAddressUnit { get; set; } + public string? PhysicalAddressCity { get; set; } + public string? PhysicalAddressProvince { get; set; } + public string? PhysicalAddressPostalCode { get; set; } + + public string? MailingAddressStreet { get; set; } + public string? MailingAddressStreet2 { get; set; } + public string? MailingAddressUnit { get; set; } + public string? MailingAddressCity { get; set; } + public string? MailingAddressProvince { get; set; } + public string? MailingAddressPostalCode { get; set; } + + public string? NonRegOrgName { get; set; } + public string? ElectoralDistrict { get; set; } + } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/IApplicationApplicantAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/IApplicationApplicantAppService.cs index aabd77357..e81eaf8af 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/IApplicationApplicantAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/IApplicationApplicantAppService.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using Unity.Modules.Shared; using Volo.Abp.Application.Services; namespace Unity.GrantManager.GrantApplications @@ -7,5 +8,8 @@ namespace Unity.GrantManager.GrantApplications public interface IApplicationApplicantAppService : IApplicationService { Task GetByApplicationIdAsync(Guid applicationId); + Task GetApplicantInfoTabAsync(Guid applicationId); + Task UpdatePartialApplicantInfoAsync(Guid applicationId, PartialUpdateDto input); + Task GetSupplierNameMatchesCheck(Guid applicantId, string? supplierName); } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/SigningAuthorityDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/SigningAuthorityDto.cs new file mode 100644 index 000000000..56ce79819 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/SigningAuthorityDto.cs @@ -0,0 +1,10 @@ +namespace Unity.GrantManager.GrantApplications; + +public class SigningAuthorityDto +{ + public string? SigningAuthorityFullName { get; set; } + public string? SigningAuthorityTitle { get; set; } + public string? SigningAuthorityEmail { get; set; } + public string? SigningAuthorityBusinessPhone { get; set; } + public string? SigningAuthorityCellPhone { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantAddressDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantAddressDto.cs new file mode 100644 index 000000000..ad283d6fa --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantAddressDto.cs @@ -0,0 +1,16 @@ +using System; + +namespace Unity.GrantManager.GrantApplications; + +public class UpdateApplicantAddressDto +{ + public Guid ApplicantId { get; set; } + public AddressType AddressType { get; set; } + + public string? Street { get; set; } + public string? Street2 { get; set; } + public string? Unit { get; set; } + public string? City { get; set; } + public string? Province { get; set; } + public string? PostalCode { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantInfoDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantInfoDto.cs new file mode 100644 index 000000000..a4a626d1e --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantInfoDto.cs @@ -0,0 +1,19 @@ +using System; +using Unity.Flex.Worksheets; + +namespace Unity.GrantManager.GrantApplications; + +public class UpdateApplicantInfoDto : CustomDataFieldDto +{ + public Guid ApplicationId { get; set; } + public Guid ApplicantId { get; set; } + public Guid ApplicationFormId { get; set; } + + public string? ElectoralDistrict { get; set; } + + public UpdateApplicantSummaryDto? ApplicantSummary { get; set; } + public UpdateApplicantAddressDto? PhysicalAddress { get; set; } + public UpdateApplicantAddressDto? MailingAddress { get; set; } + public SigningAuthorityDto? SigningAuthority { get; set; } + public ContactInfoDto? ContactInfo { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantSummaryDto.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantSummaryDto.cs new file mode 100644 index 000000000..cbe79cc0d --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/GrantApplications/UpdateApplicantSummaryDto.cs @@ -0,0 +1,21 @@ +namespace Unity.GrantManager.GrantApplications; + +public class UpdateApplicantSummaryDto +{ + public string? ApplicantName { get; set; } + public string? Sector { get; set; } + public string? SubSector { get; set; } + public string? OrgNumber { get; set; } + public string? OrgName { get; set; } + public string? NonRegOrgName { get; set; } + public string? OrgStatus { get; set; } + public string? OrganizationType { get; set; } + public string? OrganizationSize { get; set; } + public string? SectorSubSectorIndustryDesc { get; set; } + public bool? RedStop { get; set; } + public bool? IndigenousOrgInd { get; set; } + public string? UnityApplicantId { get; set; } + public string? FiscalDay { get; set; } + public string? FiscalMonth { get; set; } + public string? ElectoralDistrict { get; set; } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Permissions/GrantApplications/GrantApplicationPermissionDefinitionProvider.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Permissions/GrantApplications/GrantApplicationPermissionDefinitionProvider.cs index 3366a7a08..41852b750 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Permissions/GrantApplications/GrantApplicationPermissionDefinitionProvider.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Permissions/GrantApplications/GrantApplicationPermissionDefinitionProvider.cs @@ -3,7 +3,6 @@ using Volo.Abp.Authorization.Permissions; using Volo.Abp.Localization; using Volo.Abp.SettingManagement; -using static Unity.Modules.Shared.UnitySelector.Review; namespace Unity.GrantManager.Permissions.GrantApplications { @@ -70,12 +69,11 @@ public override void Define(IPermissionDefinitionContext context) //-- REVIEW & ASSESSMENT PERMISSIONS grantApplicationPermissionsGroup.AddApplication_ReviewAndAssessment_Permissions(); - // Applicant Info - var applicantInfoPermissions = grantApplicationPermissionsGroup.AddPermission(GrantApplicationPermissions.ApplicantInfo.Default, L($"Permission:{GrantApplicationPermissions.ApplicantInfo.Default}")); - applicantInfoPermissions.AddChild(GrantApplicationPermissions.ApplicantInfo.Update, L($"Permission:{GrantApplicationPermissions.ApplicantInfo.Update}")); + //-- APPLICANT INFO PERMISSIONS + grantApplicationPermissionsGroup.AddApplication_ApplicantInfo_Permissions(); // Project Info - grantApplicationPermissionsGroup.AddApplication_ProjectInfo_Permissions(); + grantApplicationPermissionsGroup.AddApplication_ProjectInfo_Permissions(); var settingManagement = context.GetGroup(SettingManagementPermissions.GroupName); settingManagement.AddPermission(UnitySettingManagementPermissions.UserInterface, L("Permission:UnitySettingManagementPermissions.UserInterface")); @@ -129,8 +127,8 @@ public static void AddApplication_ReviewAndAssessment_Permissions(this Permissio var upx_Review_AssessmentResults_UpdateFinalStateFields = upx_Review_AssessmentResults_Update.AddUnityChild(UnitySelector.Review.AssessmentResults.Update.UpdateFinalStateFields); var upx_Review_AssessmentReviewList = upx_Review.AddUnityChild(UnitySelector.Review.AssessmentReviewList.Default); - var upx_Review_AssessmentReviewList_Create = upx_Review_AssessmentReviewList.AddUnityChild(UnitySelector.Review.AssessmentReviewList.Create); - + var upx_Review_AssessmentReviewList_Create = upx_Review_AssessmentReviewList.AddUnityChild(UnitySelector.Review.AssessmentReviewList.Create); + var upx_Review_AssessmentReviewList_SendBack = upx_Review_AssessmentReviewList.AddUnityChild(UnitySelector.Review.AssessmentReviewList.Update.SendBack); var upx_Review_AssessmentReviewList_Complete = upx_Review_AssessmentReviewList.AddUnityChild(UnitySelector.Review.AssessmentReviewList.Update.Complete); #endregion @@ -139,15 +137,38 @@ public static void AddApplication_ReviewAndAssessment_Permissions(this Permissio public static void AddApplication_ProjectInfo_Permissions(this PermissionGroupDefinition grantApplicationPermissionsGroup) { #region PROJECT INFO GRANULAR PERMISSIONS - var upx_Project = grantApplicationPermissionsGroup.AddPermission(UnitySelector.Project.Default, L(UnitySelector.Project.Default)); + var upx_Project = grantApplicationPermissionsGroup.AddPermission(UnitySelector.Project.Default, L(UnitySelector.Project.Default)); - var upx_Project_Summary = upx_Project.AddUnityChild(UnitySelector.Project.Summary.Default); - var upx_Project_Summary_Update = upx_Project_Summary.AddUnityChild(UnitySelector.Project.Summary.Update.Default); - var upx_Project_Summary_UpdateFinalStateFields = upx_Project_Summary_Update.AddUnityChild(UnitySelector.Project.Summary.Update.UpdateFinalStateFields); + var upx_Project_Summary = upx_Project.AddUnityChild(UnitySelector.Project.Summary.Default); + var upx_Project_Summary_Update = upx_Project_Summary.AddUnityChild(UnitySelector.Project.Summary.Update.Default); + var upx_Project_Summary_UpdateFinalStateFields = upx_Project_Summary_Update.AddUnityChild(UnitySelector.Project.Summary.Update.UpdateFinalStateFields); - var upx_Project_Location = upx_Project.AddUnityChild(UnitySelector.Project.Location.Default); - var upx_Project_Location_Update = upx_Project_Location.AddUnityChild(UnitySelector.Project.Location.Update.Default); - var upx_Project_Location_UpdateFinalStateFields = upx_Project_Location_Update.AddUnityChild(UnitySelector.Project.Location.Update.UpdateFinalStateFields); + var upx_Project_Location = upx_Project.AddUnityChild(UnitySelector.Project.Location.Default); + var upx_Project_Location_Update = upx_Project_Location.AddUnityChild(UnitySelector.Project.Location.Update.Default); + var upx_Project_Location_UpdateFinalStateFields = upx_Project_Location_Update.AddUnityChild(UnitySelector.Project.Location.Update.UpdateFinalStateFields); + #endregion + } + + public static void AddApplication_ApplicantInfo_Permissions(this PermissionGroupDefinition grantApplicationPermissionsGroup) + { + #region APPLICANT INFO GRANULAR PERMISSIONS + var upx_Applicant = grantApplicationPermissionsGroup.AddPermission(UnitySelector.Applicant.Default, L(UnitySelector.Applicant.Default)); + + var upx_Applicant_Summary = upx_Applicant.AddUnityChild(UnitySelector.Applicant.Summary.Default); + var upx_Applicant_Summary_Update = upx_Applicant_Summary.AddUnityChild(UnitySelector.Applicant.Summary.Update); + + var upx_Applicant_Contact = upx_Applicant.AddUnityChild(UnitySelector.Applicant.Contact.Default); + var upx_Applicant_Contact_Update = upx_Applicant_Contact.AddUnityChild(UnitySelector.Applicant.Contact.Update); + + var upx_Applicant_Authority = upx_Applicant.AddUnityChild(UnitySelector.Applicant.Authority.Default); + var upx_Applicant_Authority_Update = upx_Applicant_Authority.AddUnityChild(UnitySelector.Applicant.Authority.Update); + + var upx_Applicant_Location = upx_Applicant.AddUnityChild(UnitySelector.Applicant.Location.Default); + var upx_Applicant_Location_Update = upx_Applicant_Location.AddUnityChild(UnitySelector.Applicant.Location.Update); + + var upx_Applicant_AdditionalContact = upx_Applicant.AddUnityChild(UnitySelector.Applicant.AdditionalContact.Default); + var upx_Applicant_AdditionalContact_Create = upx_Applicant_AdditionalContact.AddUnityChild(UnitySelector.Applicant.AdditionalContact.Create); + var upx_Applicant_AdditionalContact_Update = upx_Applicant_AdditionalContact.AddUnityChild(UnitySelector.Applicant.AdditionalContact.Update); #endregion } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj index 679591692..4f76fb8d6 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application.Contracts/Unity.GrantManager.Application.Contracts.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -17,16 +17,16 @@ - - + + - - - - - - - + + + + + + + **/Assessments/AssessmentListItemDto.cs, **/Assessments/AssessmentScoresDto.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs index 71db731c3..de58359ed 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/ApplicationForms/ApplicationFormVersionAppService.cs @@ -270,28 +270,45 @@ private async Task UpdateApplicationFormVersionFields(ApplicationFormVersion app public async Task GetFormVersionByApplicationIdAsync(Guid applicationId) { var formSubmission = await _formSubmissionRepository.GetByApplicationAsync(applicationId); + if (formSubmission.FormVersionId == null) { - try - { - var submissionJson = JObject.Parse(formSubmission.Submission); - var tokenFormVersionId = submissionJson?.SelectToken("submission.formVersionId")?.ToString(); - if (tokenFormVersionId == null) return 0; - - var formVersionId = Guid.Parse(tokenFormVersionId); - formSubmission.FormVersionId = formVersionId; - await _formSubmissionRepository.UpdateAsync(formSubmission); - return await GetVersion(formVersionId); - } - catch - { - return 0; - } + return await HandleEmptyFormVersionIdAsync(formSubmission); } return await GetVersion(formSubmission.FormVersionId ?? Guid.Empty); } + /// + /// Handles the case where the form version ID is empty or null in the form submission. + /// This method is for backward compatibility with legacy submissions that may not have the form version ID set. + /// This method should be reviewed later as it can be removed once all submissions have been migrated to include the form version ID. + /// + /// + /// + private async Task HandleEmptyFormVersionIdAsync(ApplicationFormSubmission formSubmission) + { + try + { + var submissionJson = JObject.Parse(formSubmission.Submission); + var legacyTokenFormVersionId = submissionJson?.SelectToken("submission.formVersionId")?.ToString(); + var newTokenFormVersionId = submissionJson?.SelectToken("formVersionId")?.ToString(); + + var formVersionIdString = legacyTokenFormVersionId ?? newTokenFormVersionId; + if (formVersionIdString == null) + return 0; + + var formVersionId = Guid.Parse(formVersionIdString); + formSubmission.FormVersionId = formVersionId; + await _formSubmissionRepository.UpdateAsync(formSubmission); + return await GetVersion(formVersionId); + } + catch + { + return 0; + } + } + public async Task DeleteWorkSheetMappingByFormName(string formName, Guid formVersionId) { var applicationFormVersion = await _formVersionRepository.GetAsync(formVersionId); diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/ApplicationApplicantAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/ApplicationApplicantAppService.cs index a80515735..52c9bf819 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/ApplicationApplicantAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/ApplicationApplicantAppService.cs @@ -1,67 +1,353 @@ using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; +using System.Text.Json; using System.Threading.Tasks; +using Unity.Flex.WorksheetInstances; +using Unity.Flex.Worksheets; using Unity.GrantManager.Applications; +using Unity.GrantManager.Flex; +using Unity.Modules.Shared; +using Unity.Modules.Shared.Correlation; +using Unity.Modules.Shared.Utils; +using Volo.Abp.Domain.Entities; +using Volo.Abp.Domain.Repositories; +using Volo.Abp.EventBus.Local; -namespace Unity.GrantManager.GrantApplications -{ - [Authorize] - public class ApplicationApplicantAppService : GrantManagerAppService, IApplicationApplicantAppService +namespace Unity.GrantManager.GrantApplications; + +[Authorize] +public class ApplicationApplicantAppService( + IApplicantRepository applicantRepository, + IApplicationRepository applicationRepository, + IApplicantAgentRepository applicantAgentRepository, + IApplicantAddressRepository applicantAddressRepository, + ILocalEventBus localEventBus) : GrantManagerAppService, IApplicationApplicantAppService +{ + [Authorize(UnitySelector.Applicant.Default)] + public async Task GetApplicantInfoTabAsync(Guid applicationId) + { + var application = await applicationRepository.WithBasicDetailsAsync(applicationId); + if (application == null || !await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Default)) + { + return new ApplicantInfoDto(); + } + + var applicantInfoDto = ObjectMapper.Map(application); + + applicantInfoDto.ApplicationId = application.Id; + applicantInfoDto.ApplicantId = application.ApplicantId; + applicantInfoDto.ApplicationFormId = application.ApplicationFormId; + + applicantInfoDto.ApplicationReferenceNo = application.ReferenceNo; + applicantInfoDto.ApplicantName = application.Applicant?.ApplicantName ?? string.Empty; + + applicantInfoDto.ApplicationStatusCode = application.ApplicationStatus.StatusCode; + applicantInfoDto.ElectoralDistrict = application.Applicant?.ElectoralDistrict ?? string.Empty; + + //-- APPLICANT INFO SUMMARY + if (application.Applicant != null && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Summary.Default)) + { + applicantInfoDto.ApplicantSummary = ObjectMapper.Map(application.Applicant); + applicantInfoDto.ApplicantSummary.FiscalDay = application.Applicant?.FiscalDay.ToString() ?? string.Empty; + } + else + { + applicantInfoDto.ApplicantSummary = new ApplicantSummaryDto(); + } + + //-- APPLICANT INFO CONTACT + if (application?.ApplicantAgent != null && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Contact.Default)) + { + applicantInfoDto.ContactInfo = ObjectMapper.Map(application.ApplicantAgent); + } + else + { + applicantInfoDto.ContactInfo = new ContactInfoDto(); + } + + //-- SIGNING AUTHORITY + if (application != null && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Authority.Default)) + { + applicantInfoDto.SigningAuthority = ObjectMapper.Map(application); + } + else + { + applicantInfoDto.SigningAuthority = new SigningAuthorityDto(); + } + + //-- APPLICANT INFO ADDRESS + if (await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Location.Default)) + { + applicantInfoDto.ApplicantAddresses = ObjectMapper.Map, List>(application?.Applicant?.ApplicantAddresses?.ToList() ?? []); + } + else + { + applicantInfoDto.ApplicantAddresses = []; + } + + return applicantInfoDto; + } + + [Obsolete("Use GetApplicantInfoTabAsync instead.")] + [Authorize] + public async Task GetByApplicationIdAsync(Guid applicationId) { - private readonly IApplicationRepository _applicationRepository; + var applicantInfo = await applicationRepository.WithBasicDetailsAsync(applicationId); + if (applicantInfo == null) return new ApplicationApplicantInfoDto(); - public ApplicationApplicantAppService(IApplicationRepository applicationRepository) + return new ApplicationApplicantInfoDto() { - _applicationRepository = applicationRepository; - } + ApplicantId = applicantInfo.Applicant.Id, + ApplicationFormId = applicantInfo.ApplicationFormId, + ApplicantName = applicantInfo.Applicant?.ApplicantName ?? string.Empty, + ApplicationReferenceNo = applicantInfo.ReferenceNo, + ApplicationStatus = applicantInfo.ApplicationStatus.InternalStatus, + ApplicationStatusCode = applicantInfo.ApplicationStatus.StatusCode, - public async Task GetByApplicationIdAsync(Guid applicationId) - { - var applicantInfo = await _applicationRepository.WithBasicDetailsAsync(applicationId); - if (applicantInfo == null) return new ApplicationApplicantInfoDto(); + OrganizationName = applicantInfo.Applicant?.OrgName ?? string.Empty, + OrganizationSize = applicantInfo.Applicant?.OrganizationSize ?? string.Empty, + OrganizationType = applicantInfo.Applicant?.OrganizationType ?? string.Empty, + OrgNumber = applicantInfo.Applicant?.OrgNumber ?? string.Empty, + OrgStatus = applicantInfo.Applicant?.OrgStatus ?? string.Empty, + NonRegOrgName = applicantInfo.Applicant?.NonRegOrgName ?? string.Empty, + + Sector = applicantInfo.Applicant?.Sector ?? string.Empty, + SectorSubSectorIndustryDesc = applicantInfo.Applicant?.SectorSubSectorIndustryDesc ?? string.Empty, + SubSector = applicantInfo.Applicant?.SubSector ?? string.Empty, + RedStop = applicantInfo.Applicant?.RedStop ?? false, + IndigenousOrgInd = applicantInfo.Applicant?.IndigenousOrgInd ?? string.Empty, + UnityApplicantId = applicantInfo.Applicant?.UnityApplicantId ?? string.Empty, + FiscalDay = applicantInfo.Applicant?.FiscalDay.ToString() ?? string.Empty, + FiscalMonth = applicantInfo.Applicant?.FiscalMonth ?? string.Empty, - return new ApplicationApplicantInfoDto() - { - ApplicantId = applicantInfo.Applicant.Id, - ApplicationFormId = applicantInfo.ApplicationFormId, - ApplicantName = applicantInfo.Applicant?.ApplicantName ?? string.Empty, - ApplicationReferenceNo = applicantInfo.ReferenceNo, - ApplicationStatus = applicantInfo.ApplicationStatus.InternalStatus, - ApplicationStatusCode = applicantInfo.ApplicationStatus.StatusCode, + SigningAuthorityBusinessPhone = applicantInfo.SigningAuthorityBusinessPhone ?? string.Empty, + SigningAuthorityCellPhone = applicantInfo.SigningAuthorityCellPhone ?? string.Empty, + SigningAuthorityEmail = applicantInfo.SigningAuthorityEmail ?? string.Empty, + SigningAuthorityFullName = applicantInfo.SigningAuthorityFullName ?? string.Empty, + SigningAuthorityTitle = applicantInfo.SigningAuthorityTitle ?? string.Empty, - OrganizationName = applicantInfo.Applicant?.OrgName ?? string.Empty, - OrganizationSize = applicantInfo.Applicant?.OrganizationSize ?? string.Empty, - OrganizationType = applicantInfo.Applicant?.OrganizationType ?? string.Empty, - OrgNumber = applicantInfo.Applicant?.OrgNumber ?? string.Empty, - OrgStatus = applicantInfo.Applicant?.OrgStatus ?? string.Empty, - NonRegOrgName = applicantInfo.Applicant?.NonRegOrgName ?? string.Empty, + ContactFullName = applicantInfo.ApplicantAgent?.Name ?? string.Empty, + ContactTitle = applicantInfo.ApplicantAgent?.Title ?? string.Empty, + ContactEmail = applicantInfo.ApplicantAgent?.Email ?? string.Empty, + ContactBusinessPhone = applicantInfo.ApplicantAgent?.Phone ?? string.Empty, + ContactCellPhone = applicantInfo.ApplicantAgent?.Phone2 ?? string.Empty, - Sector = applicantInfo.Applicant?.Sector ?? string.Empty, - SectorSubSectorIndustryDesc = applicantInfo.Applicant?.SectorSubSectorIndustryDesc ?? string.Empty, - SubSector = applicantInfo.Applicant?.SubSector ?? string.Empty, - RedStop = applicantInfo.Applicant?.RedStop ?? false, - IndigenousOrgInd = applicantInfo.Applicant?.IndigenousOrgInd ?? string.Empty, - UnityApplicantId = applicantInfo.Applicant?.UnityApplicantId ?? string.Empty, - FiscalDay = applicantInfo.Applicant?.FiscalDay.ToString() ?? string.Empty, - FiscalMonth = applicantInfo.Applicant?.FiscalMonth ?? string.Empty, + ApplicantAddresses = ObjectMapper.Map, List>(applicantInfo.Applicant?.ApplicantAddresses?.ToList() ?? []), + ElectoralDistrict = applicantInfo.Applicant?.ElectoralDistrict ?? string.Empty + }; + } - SigningAuthorityBusinessPhone = applicantInfo.SigningAuthorityBusinessPhone ?? string.Empty, - SigningAuthorityCellPhone = applicantInfo.SigningAuthorityCellPhone ?? string.Empty, - SigningAuthorityEmail = applicantInfo.SigningAuthorityEmail ?? string.Empty, - SigningAuthorityFullName = applicantInfo.SigningAuthorityFullName ?? string.Empty, - SigningAuthorityTitle = applicantInfo.SigningAuthorityTitle ?? string.Empty, + [Authorize(UnitySelector.Applicant.UpdatePolicy)] + public async Task UpdatePartialApplicantInfoAsync(Guid applicationId, PartialUpdateDto input) + { + var application = await applicationRepository.GetAsync(applicationId) ?? throw new EntityNotFoundException(); + + if (input == null || input.Data == null) + { + throw new ArgumentNullException(nameof(input), "Input data cannot be null."); + } + + // Only update the fields we need to update based on the modified + ObjectMapper.Map(input.Data, application); + + //-- APPLICANT INFO - SUMMARY + if (input.Data.ApplicantSummary != null + && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Summary.Update)) + { + await InternalPartialUpdateApplicantSummaryInfoAsync(application.Applicant, input.Data.ApplicantSummary, input.ModifiedFields); + } + + //-- APPLICANT INFO - CONTACT (APPLICANT AGENT) + if (input.Data.ContactInfo != null + && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Contact.Update)) + { + await CreateOrUpdateContactInfoAsync(application.ApplicantId, input.Data.ContactInfo); + } + + //-- APPLICANT INFO - SIGNING AUTHORITY (APPLICATION) + if (input.Data.SigningAuthority != null + && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Authority.Update)) + { + // Move to applicaiton service + ObjectMapper.Map(input.Data.SigningAuthority, application); + } + + //-- APPLICANT INFO - ADDRESS + if (input.Data.PhysicalAddress != null + && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Location.Update)) + { + input.Data.PhysicalAddress.AddressType = AddressType.PhysicalAddress; + await CreateOrUpdateApplicantAddress(application.ApplicantId, input.Data.PhysicalAddress); + } + + if (input.Data.MailingAddress != null + && await AuthorizationService.IsGrantedAsync(UnitySelector.Applicant.Location.Update)) + { + input.Data.MailingAddress.AddressType = AddressType.MailingAddress; + await CreateOrUpdateApplicantAddress(application.ApplicantId, input.Data.MailingAddress); + } + + //-- APPLICANT INFO CUSTOM FIELDS + if (input.Data.CustomFields?.ValueKind != JsonValueKind.Null && input.Data.WorksheetId != Guid.Empty && input.Data.CorrelationId != Guid.Empty) + { + await PublishCustomFieldUpdatesAsync(application.Id, FlexConsts.ApplicantInfoUiAnchor, input.Data); + } + + var updatedApplication = await applicationRepository.UpdateAsync(application); + return ObjectMapper.Map(updatedApplication); + } + + /// + /// Updates the Applicant Summary information for the given applicant while ignoring null values unless explicitly specified in modifiedFields. + /// + /// + /// + /// + /// + /// + [Authorize(UnitySelector.Applicant.Summary.Update)] + protected internal async Task PartialUpdateApplicantSummaryInfoAsync(Guid applicantId, UpdateApplicantSummaryDto applicantSummary, List? modifiedFields = default) + { + var applicant = await applicantRepository.GetAsync(applicantId) ?? throw new EntityNotFoundException(); + return await InternalPartialUpdateApplicantSummaryInfoAsync(applicant, applicantSummary, modifiedFields); + } + + /// + /// Updates the Applicant Summary information for the given applicant while ignoring null values unless explicitly specified in modifiedFields. + /// + /// + /// + /// + /// + /// + private async Task InternalPartialUpdateApplicantSummaryInfoAsync(Applications.Applicant applicant, UpdateApplicantSummaryDto applicantSummary, List? modifiedFields = default) + { + ObjectMapper.Map(applicantSummary, applicant); - ContactFullName = applicantInfo.ApplicantAgent?.Name ?? string.Empty, - ContactTitle = applicantInfo.ApplicantAgent?.Title ?? string.Empty, - ContactEmail = applicantInfo.ApplicantAgent?.Email ?? string.Empty, - ContactBusinessPhone = applicantInfo.ApplicantAgent?.Phone ?? string.Empty, - ContactCellPhone = applicantInfo.ApplicantAgent?.Phone2 ?? string.Empty, + var modifiedSummaryFields = modifiedFields? + .Where(f => f.StartsWith("ApplicantSummary.", StringComparison.Ordinal)) + .Select(f => f["ApplicantSummary.".Length..]).ToList() ?? []; - ApplicantAddresses = ObjectMapper.Map, List>(applicantInfo.Applicant?.ApplicantAddresses?.ToList() ?? []), - ElectoralDistrict = applicantInfo.Applicant?.ElectoralDistrict ?? string.Empty - }; + if (modifiedSummaryFields != null && modifiedSummaryFields.Count > 0) // Ensure modifiedFields is not null + { + // Handle null values for changed fields + PropertyHelper.ApplyNullValuesFromDto( + applicantSummary, + applicant, + modifiedSummaryFields ?? []); // Provide a fallback for null } + + return await applicantRepository.UpdateAsync(applicant); + } + + /// + /// Creates or updates the appicant agent (contact info) for the given applicant. Ignores null values unless explicitly specified in modifiedFields. + /// + /// + /// + /// + [Authorize(UnitySelector.Applicant.Contact.Update)] + protected internal async Task CreateOrUpdateContactInfoAsync(Guid applicantId, ContactInfoDto contactInfo) + { + var applicantAgent = await applicantAgentRepository.FirstOrDefaultAsync(a => a.ApplicantId == applicantId) + ?? new ApplicantAgent + { + ApplicantId = applicantId, + ApplicationId = contactInfo.ApplicationId, + }; + + ObjectMapper.Map(contactInfo, applicantAgent); + + if (applicantAgent.Id == Guid.Empty) + { + return await applicantAgentRepository.InsertAsync(applicantAgent); + } + else + { + return await applicantAgentRepository.UpdateAsync(applicantAgent); + } + } + + /// + /// Creates or updates the applicant addresses for the given applicant. Ignores null values unless explicitly specified in modifiedFields. + /// + /// + /// + /// + /// + [Authorize(UnitySelector.Applicant.Location.Update)] + protected internal async Task CreateOrUpdateApplicantAddress(Guid applicantId, UpdateApplicantAddressDto updatedAddress) + { + var applicantAddresses = await applicantAddressRepository.FindByApplicantIdAsync(applicantId); + + ApplicantAddress? dbAddress = applicantAddresses.FirstOrDefault(a => a.AddressType == updatedAddress.AddressType) + ?? new ApplicantAddress + { + ApplicantId = applicantId, + AddressType = updatedAddress.AddressType, + }; + + ObjectMapper.Map(updatedAddress, dbAddress); + + if (dbAddress.Id == Guid.Empty) + { + await applicantAddressRepository.InsertAsync(dbAddress); + } + else + { + await applicantAddressRepository.UpdateAsync(dbAddress); + } + } + + protected virtual async Task PublishCustomFieldUpdatesAsync(Guid applicationId, string uiAnchor, CustomDataFieldDto input) + { + if (await FeatureChecker.IsEnabledAsync("Unity.Flex")) + { + if (input.CorrelationId != Guid.Empty) + { + await localEventBus.PublishAsync(new PersistWorksheetIntanceValuesEto() + { + InstanceCorrelationId = applicationId, + InstanceCorrelationProvider = CorrelationConsts.Application, + SheetCorrelationId = input.CorrelationId, + SheetCorrelationProvider = CorrelationConsts.FormVersion, + UiAnchor = uiAnchor, + CustomFields = input.CustomFields, + WorksheetId = input.WorksheetId + }); + } + else + { + Logger.LogError("Unable to resolve for version"); + } + } + } + + public async Task GetSupplierNameMatchesCheck(Guid applicantId, string? supplierName) + { + if (string.IsNullOrWhiteSpace(supplierName)) + { + return true; // If supplierName is null or empty, there is nothing to warn about + } + + var applicant = await applicantRepository.GetAsync(applicantId) ?? throw new EntityNotFoundException(); + + var normalizedSupplierName = supplierName?.Trim(); + var organizationName = applicant.OrgName?.Trim(); + var nonRegisteredOrganizationName = applicant.NonRegOrgName?.Trim(); + + // Match if either orgName or nonRegisteredOrgName matches supplierName + // - If both orgName and nonRegisteredOrgName are null or empty, return true + // - Otherwise, return true if supplierName matches either orgName or nonRegisteredOrgName (case-insensitive) + if (string.IsNullOrEmpty(organizationName) && string.IsNullOrEmpty(nonRegisteredOrganizationName)) + { + return true; + } + + return string.Equals(normalizedSupplierName, organizationName, StringComparison.OrdinalIgnoreCase) + || string.Equals(normalizedSupplierName, nonRegisteredOrganizationName, StringComparison.OrdinalIgnoreCase); } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/BulkApprovalsAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/BulkApprovalsAppService.cs index 86dcece18..8153e606f 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/BulkApprovalsAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/BulkApprovalsAppService.cs @@ -42,9 +42,10 @@ public async Task BulkApproveApplications(List> ValidateBulkApplications(Application[] foreach (var application in applications) { - List<(bool, string)> validationMessages = await RunValidations(application); - - applicationsForApproval.Add(new BulkApprovalDto() - { - ApplicationId = application.Id, - ApprovedAmount = application.ApprovedAmount, - RequestedAmount = application.RequestedAmount, - FinalDecisionDate = application.FinalDecisionDate, - ReferenceNo = application.ReferenceNo, - ValidationMessages = validationMessages.Select(s => s.Item2).ToList(), - ApplicantName = application.Applicant.ApplicantName ?? string.Empty, - ApplicationStatus = application.ApplicationStatus.InternalStatus, - FormName = application.ApplicationForm?.ApplicationFormName ?? string.Empty, - IsValid = !validationMessages.Exists(s => s.Item1) - }); + applicationsForApproval + .Add(MapBulkApproval(application, await RunValidations(application))); } return applicationsForApproval; } + + /// + /// Map the application to a BulkApprovalDto with validation messages + /// + /// + /// + /// + private static BulkApprovalDto MapBulkApproval(Application application, List<(bool, string)> validationMessages) + { + return new BulkApprovalDto() + { + ApplicationId = application.Id, + ApprovedAmount = application.ApprovedAmount, + RequestedAmount = application.RequestedAmount, + FinalDecisionDate = application.FinalDecisionDate, + ReferenceNo = application.ReferenceNo, + ValidationMessages = validationMessages.Select(s => s.Item2).ToList(), + ApplicantName = application.Applicant.ApplicantName ?? string.Empty, + ApplicationStatus = application.ApplicationStatus.InternalStatus, + FormName = application.ApplicationForm?.ApplicationFormName ?? string.Empty, + IsValid = !validationMessages.Exists(s => s.Item1), + IsDirectApproval = application.ApplicationForm?.IsDirectApproval, + RecommendedAmount = application.RecommendedAmount + }; + } + /// /// Run the validations for the application /// @@ -139,6 +153,29 @@ private async Task> ValidateBulkApplications(Application[] if (!authorized) validationMessages.Add(new(true, "INVALID_PERMISSIONS")); + // If this application belongs to a direct approval form, we default to RequestedAmount if the ApprovedAmount is 0.00 + if (application.ApplicationForm?.IsDirectApproval == true) + { + application.ApprovedAmount = application.ApprovedAmount == 0m ? application.RequestedAmount : application.ApprovedAmount; + } + else + { + // If this application does not belong to a direct approval form, ensure that RecommendedAmount is not 0.00. + if (application.RecommendedAmount == 0m) + { + validationMessages.Add(new(false, "INVALID_RECOMMENDED_AMOUNT")); + } + + // If ApprovedAmount is 0.00, we default it to RecommendedAmount + application.ApprovedAmount = application.ApprovedAmount == 0m ? application.RecommendedAmount : application.ApprovedAmount; + } + + // If approved amount is still 0.00 after default sets then it is an error + if (application.ApprovedAmount == 0m) + { + validationMessages.Add(new(false, "INVALID_APPROVED_AMOUNT")); + } + return validationMessages; } @@ -154,8 +191,15 @@ private static bool MeetsWorkflowRequirement(Application application, GrantAppli { return false; } - if(application.ApplicationForm.IsDirectApproval) + + // Specific ruleset for the Is Direct Approval flow + if (application.ApplicationForm.IsDirectApproval) { + if (application.ApplicationStatus.StatusCode == GrantApplicationState.GRANT_APPROVED) + { + return false; + } + return true; } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/GrantApplicationAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/GrantApplicationAppService.cs index b90cb53c7..e7388a434 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/GrantApplicationAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantApplications/GrantApplicationAppService.cs @@ -310,7 +310,7 @@ public async Task UpdateAssessmentResultsAsync(Guid id, Cre await SanitizeApprovalZoneInputs(input, application); await SanitizeAssessmentResultsZoneInputs(input, application); - application.ValidateAndChangeDueDate(input.DueDate); + application.ValidateAndSetDueDate(input.DueDate); application.UpdateAlwaysChangeableFields(input.Notes, input.SubStatus, input.LikelihoodOfFunding, input.TotalProjectBudget, input.NotificationDate, input.RiskRanking); if (application.IsInFinalDecisionState()) @@ -329,7 +329,7 @@ public async Task UpdateAssessmentResultsAsync(Guid id, Cre { if (await CurrentUserCanUpdateAssessmentFieldsAsync()) { - application.ValidateAndChangeFinalDecisionDate(input.FinalDecisionDate); + application.ValidateAndSetFinalDecisionDate(input.FinalDecisionDate); application.UpdateApprovalFieldsRequiringPostEditPermission(input.ApprovedAmount); application.UpdateAssessmentResultFieldsRequiringPostEditPermission(input.RequestedAmount, input.TotalScore); application.UpdateFieldsOnlyForPreFinalDecision(input.DueDiligenceStatus, @@ -558,7 +558,38 @@ public async Task UpdateSupplierNumberAsync(Guid applicationId, string supplierN } } - [Authorize(GrantApplicationPermissions.ApplicantInfo.Update)] + protected internal async Task CreateOrUpdateApplicantAgentAsync(Application application, ContactInfoDto? input) + { + if (input == null + || !await AuthorizationService.IsGrantedAnyAsync(UnitySelector.Applicant.Contact.Create, UnitySelector.Applicant.Contact.Update)) + { + return null; + } + + var applicantAgent = await _applicantAgentRepository + .FirstOrDefaultAsync(a => a.ApplicantId == application.ApplicantId) + ?? new ApplicantAgent + { + ApplicantId = application.ApplicantId, + ApplicationId = application.Id + }; + + applicantAgent.Name = input?.Name ?? string.Empty; + applicantAgent.Phone = input?.Phone ?? string.Empty; + applicantAgent.Phone2 = input?.Phone2 ?? string.Empty; + applicantAgent.Email = input?.Email ?? string.Empty; + applicantAgent.Title = input?.Title ?? string.Empty; + + if (applicantAgent.Id == Guid.Empty) + { + return await _applicantAgentRepository.InsertAsync(applicantAgent); + } + + return await _applicantAgentRepository.UpdateAsync(applicantAgent); + } + + [Obsolete("Use ApplicationApplicantAppService.UpdatePartialApplicantInfoAsync instead.")] + [Authorize(UnitySelector.Applicant.UpdatePolicy)] public async Task UpdateProjectApplicantInfoAsync(Guid id, CreateUpdateApplicantInfoDto input) { var application = await _applicationRepository.GetAsync(id); @@ -1041,5 +1072,5 @@ public async Task> GetAllApplicationsAsync() }; return await query.ToListAsync(); - } + } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantManagerApplicationAutoMapperProfile.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantManagerApplicationAutoMapperProfile.cs index f49ad72c2..c97bfde6d 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantManagerApplicationAutoMapperProfile.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/GrantManagerApplicationAutoMapperProfile.cs @@ -49,6 +49,7 @@ public GrantManagerApplicationAutoMapperProfile() CreateMap(); CreateMap(); CreateMap(); + CreateMap(); CreateMap(); CreateMap(); CreateMap(); @@ -78,17 +79,74 @@ public GrantManagerApplicationAutoMapperProfile() CreateMap(); + //-- PROJECT INFO CreateMap() - .ForAllMembers(opts => - { - opts.AllowNull(); // Ignore Null Values for Lists and Collections - opts.Condition((src, dest, srcMember) // Ignore Null and Default Values for Properties - => srcMember != null - && !IsDefault(srcMember)); - }); + .IgnoreNullAndDefaultValues(); + + //-- APPLICANT INFO - OUTBOUND MAPS + CreateMap(); + CreateMap(); + CreateMap() + .ForMember(dest => dest.IndigenousOrgInd, + opt => opt.MapFrom(src => + src.IndigenousOrgInd == "Yes" ? true : + src.IndigenousOrgInd == "No" ? false : (bool?)null)); + CreateMap(); + CreateMap(); + + //-- APPLICANT INFO - INBOUND MAPS + CreateMap() + .IgnoreNullAndDefaultValues(); + CreateMap() + .IgnoreNullAndDefaultValues(); + CreateMap() + .IgnoreNullAndDefaultValues(); + CreateMap() + .ForMember(dest => dest.IndigenousOrgInd, + opt => opt.MapFrom(src => + src.IndigenousOrgInd == true ? "Yes" : + src.IndigenousOrgInd == false ? "No" : null)) + .IgnoreNullAndDefaultValues(); + CreateMap() + .IgnoreNullAndDefaultValues(); + CreateMap() + .ForMember(dest => dest.Postal, opt => opt.MapFrom(src => src.PostalCode)) + .IgnoreNullAndDefaultValues(); + } +} + +// Extension methods for reusable mapping configurations +public static class MappingExtensions +{ + /// + /// Configures the mapping to ignore null and default values for all members. + /// Useful for patch/update scenarios where only non-default values should be mapped. + /// + /// The source type. + /// The destination type. + /// The mapping expression. + /// The updated mapping expression. + public static IMappingExpression IgnoreNullAndDefaultValues( + this IMappingExpression expression) + { + expression.ForAllMembers(opts => + { + opts.AllowNull(); // Ignore Null Values for Lists and Collections + opts.Condition((src, dest, srcMember) => + srcMember != null && !IsValueDefault(srcMember)); // Ignore Null and Default Values for Properties + }); + + return expression; } - private static bool IsDefault(object value) + /// + /// Determines whether the provided value is the default value for its type. + /// + /// The value to check. + /// + /// true if the value is null or the default for its type; otherwise, false. + /// + public static bool IsValueDefault(object value) { if (value == null) return true; diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/Handlers/GenerateReportDataHandler.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/Handlers/GenerateReportDataHandler.cs index 19082af34..189441218 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/Handlers/GenerateReportDataHandler.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/Handlers/GenerateReportDataHandler.cs @@ -41,7 +41,7 @@ public async Task HandleEventAsync(ApplicationProcessEvent eventData) eventData.ApplicationFormSubmission.ReportData = reportingDataGenerator .Generate(eventData.RawSubmission, eventData.FormVersion?.ReportKeys, - eventData.ApplicationFormSubmission.Id); + eventData.ApplicationFormSubmission.Id) ?? "{}"; } } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/IntakeFormSubmissionManager.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/IntakeFormSubmissionManager.cs index 3b02dad6a..09f2e6d06 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/IntakeFormSubmissionManager.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/IntakeFormSubmissionManager.cs @@ -67,18 +67,20 @@ public async Task ProcessFormSubmissionAsync(ApplicationForm applicationFo ApplicationFormId = applicationForm.Id, ChefsSubmissionGuid = intakeMap.SubmissionId ?? $"{Guid.Empty}", ApplicationId = application.Id, - Submission = dataNode?.ToString() ?? string.Empty + Submission = dataNode?.ToString() ?? string.Empty }; _ = await _applicationFormSubmissionRepository.InsertAsync(newSubmission); ApplicationFormVersion? localFormVersion = await _applicationFormVersionRepository.GetByChefsFormVersionAsync(Guid.Parse(formVersionId)); + await _customFieldsIntakeSubmissionMapper.MapAndPersistCustomFields(application.Id, localFormVersion?.Id ?? Guid.Empty, formSubmission, formVersionSubmissionHeaderMapping); newSubmission.ApplicationFormVersionId = localFormVersion?.Id; + newSubmission.FormVersionId = string.IsNullOrWhiteSpace(localFormVersion?.ChefsFormVersionGuid) ? null : Guid.Parse(localFormVersion.ChefsFormVersionGuid); // Extend any further processing of the application here through local event bus and handlers await localEventBus.PublishAsync(new ApplicationProcessEvent diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/SubmissionAppService.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/SubmissionAppService.cs index aa77546fd..6e99e114c 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/SubmissionAppService.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Intakes/SubmissionAppService.cs @@ -142,9 +142,17 @@ join applicationForm in await applicationFormRepository.GetQueryableAsync() on a public async Task> GetSubmissionsList(bool allSubmissions) { - List chefsSubmissions = new List(); + var chefsSubmissions = new List(); + var serializerOptions = new JsonSerializerOptions + { + PropertyNameCaseInsensitive = true, + ReadCommentHandling = JsonCommentHandling.Skip, + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull + }; var tenants = await tenantRepository.GetListAsync(); + var unityRefNos = new HashSet(); + var checkedForms = new HashSet(); foreach (var tenant in tenants) { using (CurrentTenant.Change(tenant.Id)) @@ -153,76 +161,63 @@ public async Task> GetSubmissionsList(b var appDtos = new List(); var rowCounter = 0; - List checkedForms = new List(); - foreach (var grouping in groupedResult) { var appDto = ObjectMapper.Map(grouping.First()); - appDto.RowCount = rowCounter; + appDto.RowCount = rowCounter++; appDtos.Add(appDto); - rowCounter++; // Chef's API call to get submissions - if (!checkedForms.Contains(appDto.ApplicationForm.ChefsApplicationFormGuid ?? string.Empty)) - { + var formGuid = appDto.ApplicationForm.ChefsApplicationFormGuid ?? string.Empty; + if (!checkedForms.Add(formGuid)) continue; // already queried this form - var id = appDto.ApplicationForm.ChefsApplicationFormGuid; - var apiKey = stringEncryptionService.Decrypt(appDto.ApplicationForm.ApiKey! ?? string.Empty); - var request = new RestRequest($"/forms/{id}/submissions", Method.Get) - .AddParameter("fields", "applicantAgent.name"); - request.Authenticator = new HttpBasicAuthenticator(id ?? "ID", apiKey ?? "no api key given"); - RestResponse? response = null; - try - { - response = await restClient.GetAsync(request); - var submissionOptions = new JsonSerializerOptions - { - WriteIndented = true, - PropertyNameCaseInsensitive = true, - ReadCommentHandling = JsonCommentHandling.Skip, - DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull - }; - - var submissions = JsonSerializer.Deserialize>(response.Content ?? string.Empty, submissionOptions); - if (submissions != null) - { - foreach (var submission in submissions) - { - submission.tenant = tenant.Name; - submission.form = appDto.ApplicationForm.ApplicationFormName ?? string.Empty; - submission.category = appDto.ApplicationForm.Category ?? string.Empty; - } - chefsSubmissions.AddRange(submissions); - } - } - catch (Exception ex) + var apiKey = stringEncryptionService.Decrypt(appDto.ApplicationForm.ApiKey!); + var request = new RestRequest($"/forms/{formGuid}/submissions", Method.Get) + .AddParameter("fields", "applicantAgent.name"); + request.Authenticator = new HttpBasicAuthenticator(formGuid, apiKey ?? string.Empty); + + try + { + var response = await restClient.GetAsync(request); + var submissions = JsonSerializer.Deserialize>( + response.Content ?? "[]", + serializerOptions) ?? []; + + foreach (var s in submissions) { - var ExceptionMessage = ex.Message; - logger.LogError(ex, "GetSubmissionsList Exception: {ExceptionMessage}", ExceptionMessage); + s.tenant = tenant.Name; + s.form = appDto.ApplicationForm.ApplicationFormName ?? string.Empty; + s.category = appDto.ApplicationForm.Category ?? string.Empty; } - checkedForms.Add(id ?? string.Empty); + chefsSubmissions.AddRange(submissions); + } + catch (Exception ex) + { + logger.LogError(ex, "GetSubmissionsList Exception: {Message}", ex.Message); } } - // Set inUnity property for each submission based on whether it exists in appDtos - foreach (var submission in chefsSubmissions) - { - submission.inUnity = appDtos.Any(appDto => submission.ConfirmationId.ToString() == appDto.ReferenceNo); - } - - - // Remove chef's submissions if Unity has an application with the same reference number - if (!allSubmissions) - { - chefsSubmissions.RemoveAll(r => appDtos.Any(appDto => r.ConfirmationId.ToString() == appDto.ReferenceNo)); - } + unityRefNos.UnionWith(appDtos + .Select(a => a.ReferenceNo) + .Where(r => !string.IsNullOrWhiteSpace(r)) + .ToHashSet(StringComparer.OrdinalIgnoreCase)); } } - // Remove all deleted submissions - chefsSubmissions.RemoveAll(r => r.Deleted); + // Set inUnity flag + foreach (var submission in chefsSubmissions) + { + submission.inUnity = unityRefNos.Contains(submission.ConfirmationId.ToString()); + } + + // Remove duplicates unless caller asked for *all* submissions + if (!allSubmissions) + { + chefsSubmissions.RemoveAll(s => unityRefNos.Contains(s.ConfirmationId.ToString())); + } + return new PagedResultDto(chefsSubmissions.Count, chefsSubmissions); } } \ No newline at end of file diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj index 924c2244f..78d607b83 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Application/Unity.GrantManager.Application.csproj @@ -3,7 +3,7 @@ - net8.0 + net9.0 enable Unity.GrantManager @@ -25,23 +25,23 @@ - - - - - - + + + + + + - - - - - - - - - - + + + + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Dockerfile b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Dockerfile index 35ab54ff7..a8bc24a33 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Dockerfile +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Dockerfile @@ -1,7 +1,7 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base WORKDIR /app -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src COPY ["NuGet.Config", "."] COPY ["src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj", "src/Unity.GrantManager.DbMigrator/"] diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj index d4cfa81e8..d260179b5 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.DbMigrator/Unity.GrantManager.DbMigrator.csproj @@ -1,10 +1,10 @@ - + Exe - net8.0 + net9.0 enable @@ -18,24 +18,24 @@
- + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - + + + + + + + - - + + - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/GrantApplications/AddressType.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/GrantApplications/AddressType.cs index e140b5d28..cd1e957d9 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/GrantApplications/AddressType.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/GrantApplications/AddressType.cs @@ -1,9 +1,11 @@ -namespace Unity.GrantManager.GrantApplications +using System.Text.Json.Serialization; + +namespace Unity.GrantManager.GrantApplications; + +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum AddressType { - public enum AddressType - { - PhysicalAddress = 1, - MailingAddress = 2, - BusinessAddress = 3 - } + PhysicalAddress = 1, + MailingAddress = 2, + BusinessAddress = 3 } \ No newline at end of file diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Localization/GrantManager/en.json b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Localization/GrantManager/en.json index 66bd19064..415b3f886 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Localization/GrantManager/en.json +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Localization/GrantManager/en.json @@ -205,6 +205,9 @@ "Unity.GrantManager.ApplicationManagement.Applicant.Authority.Update": "Edit Signing Authority", "Unity.GrantManager.ApplicationManagement.Applicant.Location": "Address", "Unity.GrantManager.ApplicationManagement.Applicant.Location.Update": "Edit Address", + "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact": "Additional Contact(s)", + "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact.Create": "Add Additional Contact(s)", + "Unity.GrantManager.ApplicationManagement.Applicant.AdditionalContact.Update": "Edit Additional Contact(s)", "Unity.GrantManager.ApplicationManagement.Funding": "Funding", "Unity.GrantManager.ApplicationManagement.Funding.Agreement": "Funding Agreement", @@ -213,6 +216,8 @@ "Unity.GrantManager.ApplicationManagement.Payment": "Payment", "Unity.GrantManager.ApplicationManagement.Payment.Summary": "Payment Summary", "Unity.GrantManager.ApplicationManagement.Payment.Summary.Update": "Edit Payment Summary", + "Unity.GrantManager.ApplicationManagement.Payment.Supplier": "Supplier Info", + "Unity.GrantManager.ApplicationManagement.Payment.Supplier.Update": "Edit Supplier Info", "Unity.GrantManager.ApplicationManagement.Payment.PaymentList": "Payment List", "Permission:GrantApplicationManagement.ProjectInfo": "Project Info", @@ -363,9 +368,6 @@ "ProjectInfoView:ProjectInfo.ContactBusinessPhone": "Contact Business Phone", "ProjectInfoView:ProjectInfo.ContactCellPhone": "Contact Cell Phone", - "Permission:GrantApplicationManagement.ApplicantInfo": "Applicant Info", - "Permission:GrantApplicationManagement.ApplicantInfo.Update": "Applicant Info Update", - "ApplicantInfoView:ApplicantInfoContactInfo": "Contact Info", "ApplicantInfoView:SigningAuthorityTitle": "Signing Authority", "ApplicantInfoView:PhysicalAddress": "Physical Address", @@ -446,6 +448,7 @@ "ApplicationBatchApprovalRequest:InvalidStatus": "The assessment for the selected item is not in the Assessment Completed state", "ApplicationBatchApprovalRequest:InvalidPermissions": "Invalid permissions", "ApplicationBatchApprovalRequest:InvalidApprovedAmount": "Invalid Approved Amount, it must be greater than 0.00", - "ApplicationBatchApprovalRequest:MaxCountExceeded": "You have exceeded the maximum number of items for bulk approval. Please reduce the number to {0} or fewer" + "ApplicationBatchApprovalRequest:MaxCountExceeded": "You have exceeded the maximum number of items for bulk approval. Please reduce the number to {0} or fewer", + "ApplicationBatchApprovalRequest:InvalidRecommendedAmount": "Invalid Recommended Amount, it must be greater than 0.00" } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj index ace8f0ab8..a6dc6a7f5 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain.Shared/Unity.GrantManager.Domain.Shared.csproj @@ -1,27 +1,27 @@ - + - net8.0 + net9.0 enable Unity.GrantManager true - - - - - - - - - - - - + + + + + + + + + + + + @@ -34,7 +34,7 @@ - + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/Application.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/Application.cs index ac0da0ec4..c83cf9326 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/Application.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Applications/Application.cs @@ -181,7 +181,12 @@ public void UpdateFieldsOnlyForPreFinalDecision(string? dueDiligenceStatus, deci DeclineRational = declineRational; } - public void ValidateAndChangeDueDate(DateTime? dueDate) + /// + /// Validates and sets the DueDate property. + /// + /// + /// + public void ValidateAndSetDueDate(DateTime? dueDate) { if ((DueDate != dueDate) && dueDate != null && dueDate.Value < DateTime.Now.AddDays(-1)) { @@ -193,7 +198,12 @@ public void ValidateAndChangeDueDate(DateTime? dueDate) } } - public void ValidateAndChangeFinalDecisionDate(DateTime? finalDecisionDate) + /// + /// Validates and sets the FinalDecisionDate property. + /// + /// + /// + public void ValidateAndSetFinalDecisionDate(DateTime? finalDecisionDate) { if ((FinalDecisionDate != finalDecisionDate) && finalDecisionDate != null && finalDecisionDate.Value > DateTime.Now) { @@ -205,12 +215,35 @@ public void ValidateAndChangeFinalDecisionDate(DateTime? finalDecisionDate) } } - public void ValidateMinAndChangeApprovedAmount(decimal approvedAmount) + /// + /// Validates and sets the ApprovedAmount property. + /// + /// + /// + public void ValidateAndSetApprovedAmount(decimal approvedAmount) { if ((ApprovedAmount != approvedAmount) && approvedAmount <= 0m) { throw new BusinessException("Approved amount cannot be 0."); } + else + { + ApprovedAmount = approvedAmount; + } + } + + /// + /// Validates the recommended amount for direct approval. + /// + /// + /// + /// + public void ValidateDirectApprovalRecommendedAmount(decimal recommendedAmount, bool? isDirectApproval) + { + if (isDirectApproval != true && (RecommendedAmount != recommendedAmount) && recommendedAmount <= 0m) + { + throw new BusinessException("Recommended amount cannot be 0."); + } } /// diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Permissions/PermissionGrantsDataSeeder.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Permissions/PermissionGrantsDataSeeder.cs index 45c9caea5..856de9e42 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Permissions/PermissionGrantsDataSeeder.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Permissions/PermissionGrantsDataSeeder.cs @@ -35,8 +35,19 @@ public PermissionGrantsDataSeeder(IPermissionDataSeeder permissionDataSeeder) ]; public readonly List ApplicantInfo_CommonPermissions = [ - GrantApplicationPermissions.ApplicantInfo.Default, - GrantApplicationPermissions.ApplicantInfo.Update, + UnitySelector.Applicant.Default, + UnitySelector.Applicant.Summary.Default, + UnitySelector.Applicant.Summary.Update, + UnitySelector.Applicant.Contact.Default, + UnitySelector.Applicant.Contact.Update, + UnitySelector.Applicant.Authority.Default, + UnitySelector.Applicant.Authority.Update, + UnitySelector.Applicant.Location.Default, + UnitySelector.Applicant.Location.Update, + UnitySelector.Applicant.AdditionalContact.Default, + UnitySelector.Applicant.AdditionalContact.Create, + UnitySelector.Applicant.AdditionalContact.Update, + ]; public readonly List ProjectInfo_CommonPermissions = [ @@ -47,6 +58,13 @@ public PermissionGrantsDataSeeder(IPermissionDataSeeder permissionDataSeeder) UnitySelector.Project.Location.Update.Default, ]; + public readonly List PaymentInfo_CommonPermissions = [ + UnitySelector.Payment.Summary.Default, + UnitySelector.Payment.Supplier.Default, + UnitySelector.Payment.Supplier.Update, + UnitySelector.Payment.PaymentList.Default + ]; + public readonly List Notifications_CommonPermissions = [ NotificationsPermissions.Email.Default, NotificationsPermissions.Email.Send, @@ -63,6 +81,12 @@ public PermissionGrantsDataSeeder(IPermissionDataSeeder permissionDataSeeder) GrantApplicationPermissions.Dashboard.RequestApprovedCount, ]; + public readonly List SettingManagement_Tags_CommonPermissions = [ + UnitySelector.SettingManagement.Tags.Default, + UnitySelector.SettingManagement.Tags.Update, + UnitySelector.SettingManagement.Tags.Delete + ]; + public async Task SeedAsync(DataSeedContext context) { // Default permission grants based on role @@ -91,6 +115,7 @@ await _permissionDataSeeder.SeedAsync(RolePermissionValueProvider.ProviderName, GrantManagerPermissions.Intakes.Default, GrantManagerPermissions.ApplicationForms.Default, + .. SettingManagement_Tags_CommonPermissions, .. ReviewAndAssessment_CommonPermissions, .. ApplicantInfo_CommonPermissions, .. ProjectInfo_CommonPermissions, @@ -144,10 +169,8 @@ await _permissionDataSeeder.SeedAsync(RolePermissionValueProvider.ProviderName, GrantManagerPermissions.Organizations.ManageProfiles, GrantApplicationPermissions.Approvals.BulkApplicationApproval, GrantApplicationPermissions.Approvals.DeferAfterApproval, - UnitySelector.SettingManagement.Tags.Default, - UnitySelector.SettingManagement.Tags.Update, - UnitySelector.SettingManagement.Tags.Delete, + .. SettingManagement_Tags_CommonPermissions, .. ReviewAndAssessment_CommonPermissions, .. ApplicantInfo_CommonPermissions, .. ProjectInfo_CommonPermissions, @@ -186,6 +209,7 @@ await _permissionDataSeeder.SeedAsync(RolePermissionValueProvider.ProviderName, GrantManagerPermissions.ApplicationForms.Default, + .. SettingManagement_Tags_CommonPermissions, .. ReviewAndAssessment_CommonPermissions, .. ApplicantInfo_CommonPermissions, .. ProjectInfo_CommonPermissions, @@ -194,9 +218,6 @@ await _permissionDataSeeder.SeedAsync(RolePermissionValueProvider.ProviderName, .. Dashboard_CommonPermissions, UnitySettingManagementPermissions.BackgroundJobSettings, - UnitySelector.SettingManagement.Tags.Default, - UnitySelector.SettingManagement.Tags.Update, - UnitySelector.SettingManagement.Tags.Delete ], context.TenantId); @@ -261,8 +282,13 @@ await _permissionDataSeeder.SeedAsync(RolePermissionValueProvider.ProviderName, UnitySelector.Review.AssessmentReviewList.Update.Complete, UnitySelector.Review.Worksheet.Default, - GrantApplicationPermissions.ApplicantInfo.Default, - + UnitySelector.Applicant.Default, + UnitySelector.Applicant.Summary.Default, + UnitySelector.Applicant.Contact.Default, + UnitySelector.Applicant.Authority.Default, + UnitySelector.Applicant.Location.Default, + UnitySelector.Applicant.AdditionalContact.Default, + UnitySelector.Project.Default, UnitySelector.Project.Summary.Default, UnitySelector.Project.Location.Default, diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj index 64cf6154c..096adad34 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Unity.GrantManager.Domain.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -14,20 +14,20 @@ - - + + - - - - - - - - - - - + + + + + + + + + + + **/Assessments/Assessment.cs, **/Assessments/AssessmentWithAssessorQueryResultItem.cs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Zones/DefaultZoneDefinition.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Zones/DefaultZoneDefinition.cs index 924c617ef..dea377698 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Zones/DefaultZoneDefinition.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Domain/Zones/DefaultZoneDefinition.cs @@ -68,23 +68,25 @@ public static class DefaultZoneDefinition Name = UnitySelector.Applicant.Contact.Default, ViewComponentType = "ApplicantContactInfoViewComponent", IsEnabled = true, - IsConfigurationDisabled = true, SortOrder = 2 }, new ZoneDefinition { Name = UnitySelector.Applicant.Authority.Default, ViewComponentType = "ApplicantSigningAuthorityViewComponent", IsEnabled = true, - IsConfigurationDisabled = true, SortOrder = 3 }, new ZoneDefinition { Name = UnitySelector.Applicant.Location.Default, ViewComponentType = "ApplicantPhysicalAddressViewComponent", IsEnabled = true, - IsConfigurationDisabled = true, SortOrder = 4 }, + new ZoneDefinition { + Name = UnitySelector.Applicant.AdditionalContact.Default, + IsEnabled = true, + SortOrder = 5 + }, ] }, new ZoneTabDefinition { @@ -111,14 +113,22 @@ public static class DefaultZoneDefinition Name = UnitySelector.Payment.Summary.Default, ViewComponentType = "PaymentInfoViewComponent", IsEnabled = true, + IsConfigurationDisabled = true, SortOrder = 1 }, - new ZoneDefinition { + new ZoneDefinition { + Name = UnitySelector.Payment.Supplier.Default, + ViewComponentType = "SupplierInfoViewComponent", + IsEnabled = true, + IsConfigurationDisabled = true, + SortOrder = 2 + }, + new ZoneDefinition { Name = UnitySelector.Payment.PaymentList.Default, ViewComponentType = "PaymentListViewComponent", IsEnabled = true, IsConfigurationDisabled = true, - SortOrder = 2 + SortOrder = 3 } ] } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.Designer.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.Designer.cs new file mode 100644 index 000000000..915d8dad8 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.Designer.cs @@ -0,0 +1,2549 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using Unity.GrantManager.EntityFrameworkCore; +using Volo.Abp.EntityFrameworkCore; + +#nullable disable + +namespace Unity.GrantManager.Migrations.HostMigrations +{ + [DbContext(typeof(GrantManagerDbContext))] + [Migration("20250520195822_Abp9_1_Upgrade")] + partial class Abp9_1_Upgrade + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql) + .HasAnnotation("ProductVersion", "9.0.5") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzBlobTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerName") + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("BlobData") + .HasColumnType("bytea") + .HasColumnName("blob_data"); + + b.HasKey("SchedulerName", "TriggerName", "TriggerGroup"); + + b.ToTable("qrtz_blob_triggers", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzCalendar", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("CalendarName") + .HasColumnType("text") + .HasColumnName("calendar_name"); + + b.Property("Calendar") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("calendar"); + + b.HasKey("SchedulerName", "CalendarName"); + + b.ToTable("qrtz_calendars", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzCronTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerName") + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("CronExpression") + .IsRequired() + .HasColumnType("text") + .HasColumnName("cron_expression"); + + b.Property("TimeZoneId") + .HasColumnType("text") + .HasColumnName("time_zone_id"); + + b.HasKey("SchedulerName", "TriggerName", "TriggerGroup"); + + b.ToTable("qrtz_cron_triggers", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzFiredTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("EntryId") + .HasColumnType("text") + .HasColumnName("entry_id"); + + b.Property("FiredTime") + .HasColumnType("bigint") + .HasColumnName("fired_time"); + + b.Property("InstanceName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("instance_name"); + + b.Property("IsNonConcurrent") + .HasColumnType("bool") + .HasColumnName("is_nonconcurrent"); + + b.Property("JobGroup") + .HasColumnType("text") + .HasColumnName("job_group"); + + b.Property("JobName") + .HasColumnType("text") + .HasColumnName("job_name"); + + b.Property("Priority") + .HasColumnType("integer") + .HasColumnName("priority"); + + b.Property("RequestsRecovery") + .HasColumnType("bool") + .HasColumnName("requests_recovery"); + + b.Property("ScheduledTime") + .HasColumnType("bigint") + .HasColumnName("sched_time"); + + b.Property("State") + .IsRequired() + .HasColumnType("text") + .HasColumnName("state"); + + b.Property("TriggerGroup") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("TriggerName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.HasKey("SchedulerName", "EntryId"); + + b.HasIndex("InstanceName") + .HasDatabaseName("idx_qrtz_ft_trig_inst_name"); + + b.HasIndex("JobGroup") + .HasDatabaseName("idx_qrtz_ft_job_group"); + + b.HasIndex("JobName") + .HasDatabaseName("idx_qrtz_ft_job_name"); + + b.HasIndex("RequestsRecovery") + .HasDatabaseName("idx_qrtz_ft_job_req_recovery"); + + b.HasIndex("TriggerGroup") + .HasDatabaseName("idx_qrtz_ft_trig_group"); + + b.HasIndex("TriggerName") + .HasDatabaseName("idx_qrtz_ft_trig_name"); + + b.HasIndex("SchedulerName", "TriggerName", "TriggerGroup") + .HasDatabaseName("idx_qrtz_ft_trig_nm_gp"); + + b.ToTable("qrtz_fired_triggers", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzJobDetail", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("JobName") + .HasColumnType("text") + .HasColumnName("job_name"); + + b.Property("JobGroup") + .HasColumnType("text") + .HasColumnName("job_group"); + + b.Property("Description") + .HasColumnType("text") + .HasColumnName("description"); + + b.Property("IsDurable") + .HasColumnType("bool") + .HasColumnName("is_durable"); + + b.Property("IsNonConcurrent") + .HasColumnType("bool") + .HasColumnName("is_nonconcurrent"); + + b.Property("IsUpdateData") + .HasColumnType("bool") + .HasColumnName("is_update_data"); + + b.Property("JobClassName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("job_class_name"); + + b.Property("JobData") + .HasColumnType("bytea") + .HasColumnName("job_data"); + + b.Property("RequestsRecovery") + .HasColumnType("bool") + .HasColumnName("requests_recovery"); + + b.HasKey("SchedulerName", "JobName", "JobGroup"); + + b.HasIndex("RequestsRecovery") + .HasDatabaseName("idx_qrtz_j_req_recovery"); + + b.ToTable("qrtz_job_details", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzLock", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("LockName") + .HasColumnType("text") + .HasColumnName("lock_name"); + + b.HasKey("SchedulerName", "LockName"); + + b.ToTable("qrtz_locks", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzPausedTriggerGroup", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.HasKey("SchedulerName", "TriggerGroup"); + + b.ToTable("qrtz_paused_trigger_grps", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzSchedulerState", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("InstanceName") + .HasColumnType("text") + .HasColumnName("instance_name"); + + b.Property("CheckInInterval") + .HasColumnType("bigint") + .HasColumnName("checkin_interval"); + + b.Property("LastCheckInTime") + .HasColumnType("bigint") + .HasColumnName("last_checkin_time"); + + b.HasKey("SchedulerName", "InstanceName"); + + b.ToTable("qrtz_scheduler_state", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzSimplePropertyTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerName") + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("BooleanProperty1") + .HasColumnType("bool") + .HasColumnName("bool_prop_1"); + + b.Property("BooleanProperty2") + .HasColumnType("bool") + .HasColumnName("bool_prop_2"); + + b.Property("DecimalProperty1") + .HasColumnType("numeric") + .HasColumnName("dec_prop_1"); + + b.Property("DecimalProperty2") + .HasColumnType("numeric") + .HasColumnName("dec_prop_2"); + + b.Property("IntegerProperty1") + .HasColumnType("integer") + .HasColumnName("int_prop_1"); + + b.Property("IntegerProperty2") + .HasColumnType("integer") + .HasColumnName("int_prop_2"); + + b.Property("LongProperty1") + .HasColumnType("bigint") + .HasColumnName("long_prop_1"); + + b.Property("LongProperty2") + .HasColumnType("bigint") + .HasColumnName("long_prop_2"); + + b.Property("StringProperty1") + .HasColumnType("text") + .HasColumnName("str_prop_1"); + + b.Property("StringProperty2") + .HasColumnType("text") + .HasColumnName("str_prop_2"); + + b.Property("StringProperty3") + .HasColumnType("text") + .HasColumnName("str_prop_3"); + + b.Property("TimeZoneId") + .HasColumnType("text") + .HasColumnName("time_zone_id"); + + b.HasKey("SchedulerName", "TriggerName", "TriggerGroup"); + + b.ToTable("qrtz_simprop_triggers", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzSimpleTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerName") + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("RepeatCount") + .HasColumnType("bigint") + .HasColumnName("repeat_count"); + + b.Property("RepeatInterval") + .HasColumnType("bigint") + .HasColumnName("repeat_interval"); + + b.Property("TimesTriggered") + .HasColumnType("bigint") + .HasColumnName("times_triggered"); + + b.HasKey("SchedulerName", "TriggerName", "TriggerGroup"); + + b.ToTable("qrtz_simple_triggers", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", b => + { + b.Property("SchedulerName") + .HasColumnType("text") + .HasColumnName("sched_name"); + + b.Property("TriggerName") + .HasColumnType("text") + .HasColumnName("trigger_name"); + + b.Property("TriggerGroup") + .HasColumnType("text") + .HasColumnName("trigger_group"); + + b.Property("CalendarName") + .HasColumnType("text") + .HasColumnName("calendar_name"); + + b.Property("Description") + .HasColumnType("text") + .HasColumnName("description"); + + b.Property("EndTime") + .HasColumnType("bigint") + .HasColumnName("end_time"); + + b.Property("JobData") + .HasColumnType("bytea") + .HasColumnName("job_data"); + + b.Property("JobGroup") + .IsRequired() + .HasColumnType("text") + .HasColumnName("job_group"); + + b.Property("JobName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("job_name"); + + b.Property("MisfireInstruction") + .HasColumnType("smallint") + .HasColumnName("misfire_instr"); + + b.Property("NextFireTime") + .HasColumnType("bigint") + .HasColumnName("next_fire_time"); + + b.Property("PreviousFireTime") + .HasColumnType("bigint") + .HasColumnName("prev_fire_time"); + + b.Property("Priority") + .HasColumnType("integer") + .HasColumnName("priority"); + + b.Property("StartTime") + .HasColumnType("bigint") + .HasColumnName("start_time"); + + b.Property("TriggerState") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trigger_state"); + + b.Property("TriggerType") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trigger_type"); + + b.HasKey("SchedulerName", "TriggerName", "TriggerGroup"); + + b.HasIndex("NextFireTime") + .HasDatabaseName("idx_qrtz_t_next_fire_time"); + + b.HasIndex("TriggerState") + .HasDatabaseName("idx_qrtz_t_state"); + + b.HasIndex("NextFireTime", "TriggerState") + .HasDatabaseName("idx_qrtz_t_nft_st"); + + b.HasIndex("SchedulerName", "JobName", "JobGroup"); + + b.ToTable("qrtz_triggers", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Intakes.ChefsMissedSubmission", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ChefsApplicationFormGuid") + .HasColumnType("text"); + + b.Property("ChefsSubmissionGuids") + .HasColumnType("text"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("TenantId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.ToTable("ChefsMissedSubmissions", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.Community", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("RegionalDistrictCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("Type") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Communities", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.EconomicRegion", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("EconomicRegionCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("EconomicRegionName") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("EconomicRegions", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.ElectoralDistrict", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("ElectoralDistrictCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ElectoralDistrictName") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.HasKey("Id"); + + b.ToTable("ElectoralDistricts", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.RegionalDistrict", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("EconomicRegionCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("RegionalDistrictCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("RegionalDistrictName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("RegionalDistricts", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.Sector", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("SectorCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("SectorName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Sectors", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.SubSector", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("SectorId") + .HasColumnType("uuid"); + + b.Property("SubSectorCode") + .IsRequired() + .HasColumnType("text"); + + b.Property("SubSectorName") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("SectorId"); + + b.ToTable("SubSectors", (string)null); + }); + + modelBuilder.Entity("Unity.GrantManager.Tokens.TenantToken", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("TenantId") + .HasColumnType("uuid"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("TenantTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("character varying(96)") + .HasColumnName("ApplicationName"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("BrowserInfo"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("ClientId"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("ClientIpAddress"); + + b.Property("ClientName") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("ClientName"); + + b.Property("Comments") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("Comments"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("CorrelationId"); + + b.Property("Exceptions") + .HasColumnType("text"); + + b.Property("ExecutionDuration") + .HasColumnType("integer") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("timestamp without time zone"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("HttpMethod") + .HasMaxLength(16) + .HasColumnType("character varying(16)") + .HasColumnName("HttpMethod"); + + b.Property("HttpStatusCode") + .HasColumnType("integer") + .HasColumnName("HttpStatusCode"); + + b.Property("ImpersonatorTenantId") + .HasColumnType("uuid") + .HasColumnName("ImpersonatorTenantId"); + + b.Property("ImpersonatorTenantName") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("ImpersonatorTenantName"); + + b.Property("ImpersonatorUserId") + .HasColumnType("uuid") + .HasColumnName("ImpersonatorUserId"); + + b.Property("ImpersonatorUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("ImpersonatorUserName"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("TenantName"); + + b.Property("Url") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("Url"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("UserId"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "ExecutionTime"); + + b.HasIndex("TenantId", "UserId", "ExecutionTime"); + + b.ToTable("AuditLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AuditLogId") + .HasColumnType("uuid") + .HasColumnName("AuditLogId"); + + b.Property("ExecutionDuration") + .HasColumnType("integer") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("ExecutionTime"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("MethodName") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("MethodName"); + + b.Property("Parameters") + .HasMaxLength(2000) + .HasColumnType("character varying(2000)") + .HasColumnName("Parameters"); + + b.Property("ServiceName") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("ServiceName"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); + + b.ToTable("AuditLogActions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AuditLogId") + .HasColumnType("uuid") + .HasColumnName("AuditLogId"); + + b.Property("ChangeTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("ChangeTime"); + + b.Property("ChangeType") + .HasColumnType("smallint") + .HasColumnName("ChangeType"); + + b.Property("EntityId") + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("EntityId"); + + b.Property("EntityTenantId") + .HasColumnType("uuid"); + + b.Property("EntityTypeFullName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("EntityTypeFullName"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); + + b.ToTable("EntityChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("EntityChangeId") + .HasColumnType("uuid"); + + b.Property("NewValue") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("NewValue"); + + b.Property("OriginalValue") + .HasMaxLength(512) + .HasColumnType("character varying(512)") + .HasColumnName("OriginalValue"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("PropertyName"); + + b.Property("PropertyTypeFullName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("PropertyTypeFullName"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("EntityChangeId"); + + b.ToTable("EntityPropertyChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsAbandoned") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false); + + b.Property("JobArgs") + .IsRequired() + .HasMaxLength(1048576) + .HasColumnType("character varying(1048576)"); + + b.Property("JobName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("LastTryTime") + .HasColumnType("timestamp without time zone"); + + b.Property("NextTryTime") + .HasColumnType("timestamp without time zone"); + + b.Property("Priority") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((byte)15); + + b.Property("TryCount") + .ValueGeneratedOnAdd() + .HasColumnType("smallint") + .HasDefaultValue((short)0); + + b.HasKey("Id"); + + b.HasIndex("IsAbandoned", "NextTryTime"); + + b.ToTable("BackgroundJobs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AllowedProviders") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("DefaultValue") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("IsAvailableToHost") + .HasColumnType("boolean"); + + b.Property("IsVisibleToClients") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ValueType") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Features", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("FeatureGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique(); + + b.ToTable("FeatureValues", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Required") + .HasColumnType("boolean"); + + b.Property("ValueType") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.ToTable("ClaimTypes", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("SourceTenantId") + .HasColumnType("uuid"); + + b.Property("SourceUserId") + .HasColumnType("uuid"); + + b.Property("TargetTenantId") + .HasColumnType("uuid"); + + b.Property("TargetUserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique(); + + b.ToTable("LinkUsers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("EntityVersion") + .HasColumnType("integer"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("boolean") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("boolean") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("boolean") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("Roles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("RoleClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("character varying(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("character varying(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("character varying(96)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("SecurityLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySession", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Device") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("DeviceInfo") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IpAddresses") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)"); + + b.Property("LastAccessed") + .HasColumnType("timestamp without time zone"); + + b.Property("SessionId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("SignedIn") + .HasColumnType("timestamp without time zone"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("Device"); + + b.HasIndex("SessionId"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("Sessions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uuid") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .HasColumnType("text"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("EntityVersion") + .HasColumnType("integer"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsActive") + .HasColumnType("boolean") + .HasColumnName("IsActive"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("LastPasswordChangeTime") + .HasColumnType("timestamp with time zone"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("OidcSub") + .HasColumnType("text"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("character varying(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("SecurityStamp"); + + b.Property("ShouldChangePasswordOnNextLogin") + .HasColumnType("boolean"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("character varying(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("Users", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("UserClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserDelegation", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("EndTime") + .HasColumnType("timestamp without time zone"); + + b.Property("SourceUserId") + .HasColumnType("uuid"); + + b.Property("StartTime") + .HasColumnType("timestamp without time zone"); + + b.Property("TargetUserId") + .HasColumnType("uuid"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("UserDelegations", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("character varying(196)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("UserLogins", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uuid"); + + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("UserOrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("UserRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uuid"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("UserTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("character varying(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uuid") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)") + .HasColumnName("DisplayName"); + + b.Property("EntityVersion") + .HasColumnType("integer"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uuid"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("OrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uuid"); + + b.Property("RoleId") + .HasColumnType("uuid"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("OrganizationUnitRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("IsEnabled") + .HasColumnType("boolean"); + + b.Property("MultiTenancySide") + .HasColumnType("smallint"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Providers") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("StateCheckers") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Permissions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("TenantId") + .HasColumnType("uuid") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") + .IsUnique(); + + b.ToTable("PermissionGrants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("PermissionGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("character varying(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique(); + + b.ToTable("Settings", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.SettingDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("DefaultValue") + .HasMaxLength(2048) + .HasColumnType("character varying(2048)"); + + b.Property("Description") + .HasMaxLength(512) + .HasColumnType("character varying(512)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsEncrypted") + .HasColumnType("boolean"); + + b.Property("IsInherited") + .HasColumnType("boolean"); + + b.Property("IsVisibleToClients") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Providers") + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("SettingDefinitions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Property("Id") + .HasColumnType("uuid"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("character varying(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uuid") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uuid") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("DeletionTime"); + + b.Property("EntityVersion") + .HasColumnType("integer"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("boolean") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uuid") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.HasIndex("NormalizedName"); + + b.ToTable("Tenants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.Property("TenantId") + .HasColumnType("uuid"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("character varying(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("character varying(1024)"); + + b.HasKey("TenantId", "Name"); + + b.ToTable("TenantConnectionStrings", (string)null); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzBlobTrigger", b => + { + b.HasOne("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", "Trigger") + .WithMany("BlobTriggers") + .HasForeignKey("SchedulerName", "TriggerName", "TriggerGroup") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Trigger"); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzCronTrigger", b => + { + b.HasOne("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", "Trigger") + .WithMany("CronTriggers") + .HasForeignKey("SchedulerName", "TriggerName", "TriggerGroup") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Trigger"); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzSimplePropertyTrigger", b => + { + b.HasOne("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", "Trigger") + .WithMany("SimplePropertyTriggers") + .HasForeignKey("SchedulerName", "TriggerName", "TriggerGroup") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Trigger"); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzSimpleTrigger", b => + { + b.HasOne("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", "Trigger") + .WithMany("SimpleTriggers") + .HasForeignKey("SchedulerName", "TriggerName", "TriggerGroup") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Trigger"); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", b => + { + b.HasOne("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzJobDetail", "JobDetail") + .WithMany("Triggers") + .HasForeignKey("SchedulerName", "JobName", "JobGroup") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("JobDetail"); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.SubSector", b => + { + b.HasOne("Unity.GrantManager.Locality.Sector", "Sector") + .WithMany("SubSectors") + .HasForeignKey("SectorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Sector"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("Actions") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("EntityChanges") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) + .WithMany("PropertyChanges") + .HasForeignKey("EntityChangeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.HasOne("Volo.Abp.TenantManagement.Tenant", null) + .WithMany("ConnectionStrings") + .HasForeignKey("TenantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzJobDetail", b => + { + b.Navigation("Triggers"); + }); + + modelBuilder.Entity("AppAny.Quartz.EntityFrameworkCore.Migrations.QuartzTrigger", b => + { + b.Navigation("BlobTriggers"); + + b.Navigation("CronTriggers"); + + b.Navigation("SimplePropertyTriggers"); + + b.Navigation("SimpleTriggers"); + }); + + modelBuilder.Entity("Unity.GrantManager.Locality.Sector", b => + { + b.Navigation("SubSectors"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Navigation("Actions"); + + b.Navigation("EntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Navigation("PropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Navigation("ConnectionStrings"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.cs new file mode 100644 index 000000000..53c36d773 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/20250520195822_Abp9_1_Upgrade.cs @@ -0,0 +1,73 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Unity.GrantManager.Migrations.HostMigrations +{ + /// + public partial class Abp9_1_Upgrade : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AlterColumn( + name: "IpAddresses", + table: "Sessions", + type: "character varying(2048)", + maxLength: 2048, + nullable: true, + oldClrType: typeof(string), + oldType: "character varying(256)", + oldMaxLength: 256, + oldNullable: true); + + migrationBuilder.AddColumn( + name: "ExtraProperties", + table: "Sessions", + type: "text", + nullable: true); + + migrationBuilder.AddColumn( + name: "CreationTime", + table: "Roles", + type: "timestamp without time zone", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + + migrationBuilder.AddColumn( + name: "CreationTime", + table: "ClaimTypes", + type: "timestamp without time zone", + nullable: false, + defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "ExtraProperties", + table: "Sessions"); + + migrationBuilder.DropColumn( + name: "CreationTime", + table: "Roles"); + + migrationBuilder.DropColumn( + name: "CreationTime", + table: "ClaimTypes"); + + migrationBuilder.AlterColumn( + name: "IpAddresses", + table: "Sessions", + type: "character varying(256)", + maxLength: 256, + nullable: true, + oldClrType: typeof(string), + oldType: "character varying(2048)", + oldMaxLength: 2048, + oldNullable: true); + } + } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/GrantManagerDbContextModelSnapshot.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/GrantManagerDbContextModelSnapshot.cs index de37c050a..51efddc9b 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/GrantManagerDbContextModelSnapshot.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Migrations/HostMigrations/GrantManagerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ protected override void BuildModel(ModelBuilder modelBuilder) #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql) - .HasAnnotation("ProductVersion", "8.0.8") + .HasAnnotation("ProductVersion", "9.0.5") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); @@ -1295,6 +1295,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("character varying(40)") .HasColumnName("ConcurrencyStamp"); + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + b.Property("Description") .HasMaxLength(256) .HasColumnType("character varying(256)"); @@ -1368,6 +1372,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("character varying(40)") .HasColumnName("ConcurrencyStamp"); + b.Property("CreationTime") + .HasColumnType("timestamp without time zone") + .HasColumnName("CreationTime"); + b.Property("EntityVersion") .HasColumnType("integer"); @@ -1531,9 +1539,13 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasMaxLength(64) .HasColumnType("character varying(64)"); + b.Property("ExtraProperties") + .HasColumnType("text") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") - .HasMaxLength(256) - .HasColumnType("character varying(256)"); + .HasMaxLength(2048) + .HasColumnType("character varying(2048)"); b.Property("LastAccessed") .HasColumnType("timestamp without time zone"); diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj index e53278685..78b40ce29 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.EntityFrameworkCore/Unity.GrantManager.EntityFrameworkCore.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -14,22 +14,22 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj index 771b39a93..1b64ed654 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi.Client/Unity.GrantManager.HttpApi.Client.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -14,14 +14,14 @@ - - - - - - - - + + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj index 9996179af..de402457c 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.HttpApi/Unity.GrantManager.HttpApi.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -15,15 +15,15 @@ - - + + - - - - - - + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Dockerfile b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Dockerfile index efd4f142d..3fe6a1a4c 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Dockerfile +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Dockerfile @@ -1,16 +1,16 @@ -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base +FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base ENV ASPNETCORE_URLS="http://+:8080" EXPOSE 8080 443 WORKDIR /app -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src # set up node -ARG NODE_VERSION=18.17.1 -ARG YARN_VERSION=1.22.19 +ARG NODE_VERSION=22.17.0 +ARG YARN_VERSION=1.22.22 ARG NODE_DOWNLOAD_URL=https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz -ARG NODE_DOWNLOAD_SHA=2cb75f2bc04b0a3498733fbee779b2f76fe3f655188b4ac69ef2887b6721da2d +ARG NODE_DOWNLOAD_SHA=0fa01328a0f3d10800623f7107fbcd654a60ec178fab1ef5b9779e94e0419e1a RUN curl -SL --compressed "${NODE_DOWNLOAD_URL}" --output nodejs.tar.gz \ && echo "${NODE_DOWNLOAD_SHA} nodejs.tar.gz" | sha256sum -c - \ @@ -38,7 +38,7 @@ RUN dotnet restore "src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj" COPY . . WORKDIR "/src/src/Unity.GrantManager.Web" -RUN dotnet tool install -g Volo.Abp.Cli --version 8.1.4 +RUN dotnet tool install -g Volo.Abp.Cli --version 9.1.3 ENV PATH="${PATH}:/root/.dotnet/tools" RUN dotnet dev-certs https --trust RUN abp install-libs diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Identity/PolicyRegistrant.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Identity/PolicyRegistrant.cs index 1afdf994e..33eb40802 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Identity/PolicyRegistrant.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Identity/PolicyRegistrant.cs @@ -111,6 +111,55 @@ internal static void Register(ServiceConfigurationContext context) authorizationBuilder.AddPolicy(UnitySelector.Review.AssessmentReviewList.Update.Complete, policy => policy.RequireClaim(PermissionConstant, UnitySelector.Review.AssessmentReviewList.Update.Complete)); + //-- APPLICANT INFO + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Authority.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Authority.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Authority.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Authority.Update)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Contact.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Contact.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Contact.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Contact.Update)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Location.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Location.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Location.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Location.Update)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Summary.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Summary.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.Summary.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.Summary.Update)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.AdditionalContact.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.AdditionalContact.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.AdditionalContact.Create, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.AdditionalContact.Create)); + authorizationBuilder.AddPolicy(UnitySelector.Applicant.AdditionalContact.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Applicant.AdditionalContact.Update)); + + // Applicant Info Logical OR policy + authorizationBuilder.AddPolicy(UnitySelector.Applicant.UpdatePolicy, + policy => policy.RequireAssertion(context => + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.Summary.Update) || + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.Contact.Update) || + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.Authority.Update) || + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.Location.Update) || + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.AdditionalContact.Update) || + + // NOTE: This will be replaced when Worksheets are normalized with UnitySelector.Applicant.Worksheet.Update + context.User.HasClaim(PermissionConstant, UnitySelector.Applicant.Default) + )); + + //-- PAYMENT INFO + authorizationBuilder.AddPolicy(UnitySelector.Payment.Supplier.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Payment.Summary.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Payment.Supplier.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Payment.Supplier.Default)); + authorizationBuilder.AddPolicy(UnitySelector.Payment.Supplier.Update, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Payment.Supplier.Update)); + authorizationBuilder.AddPolicy(UnitySelector.Payment.Supplier.Default, + policy => policy.RequireClaim(PermissionConstant, UnitySelector.Payment.PaymentList.Default)); + // Tenancy Policies authorizationBuilder.AddPolicy(TenantManagementPermissions.Tenants.Default, policy => policy.RequireClaim(PermissionConstant, TenantManagementPermissions.Tenants.Default)); @@ -146,12 +195,12 @@ internal static void Register(ServiceConfigurationContext context) // Project Info Logical OR policy authorizationBuilder.AddPolicy(UnitySelector.Project.UpdatePolicy, - policy => policy.RequireAssertion(context => + policy => policy.RequireAssertion(context => context.User.HasClaim(PermissionConstant, UnitySelector.Project.Location.Update.Default) || context.User.HasClaim(PermissionConstant, UnitySelector.Project.Summary.Update.Default) || - + // NOTE: This will be replaced when Worksheets are normalized with UnitySelector.Project.Worksheet.Update - context.User.HasClaim(PermissionConstant, UnitySelector.Project.Default) + context.User.HasClaim(PermissionConstant, UnitySelector.Project.Default) )); // Project Info - Summary Policies @@ -173,7 +222,7 @@ internal static void Register(ServiceConfigurationContext context) // Project Info - Worksheet Policies authorizationBuilder.AddPolicy(UnitySelector.Project.Worksheet.Default, policy => policy.RequireClaim(PermissionConstant, UnitySelector.Project.Worksheet.Default)); // NOTE: Will be replaced when Worksheets normalized - + authorizationBuilder.AddPolicy(UnitySelector.Project.Worksheet.Update, policy => policy.RequireClaim(PermissionConstant, UnitySelector.Project.Worksheet.Update)); // NOTE: Will be replaced when Worksheets normalized } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Mapping/GrantApplicationsMapper.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Mapping/GrantApplicationsMapper.cs index 6be0c5f24..de831593f 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Mapping/GrantApplicationsMapper.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Mapping/GrantApplicationsMapper.cs @@ -2,19 +2,25 @@ using Unity.GrantManager.Applications; using Unity.GrantManager.GrantApplications; using Unity.GrantManager.Web.Pages.ApplicationContact; +using Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; using Unity.GrantManager.Web.Views.Shared.Components.SummaryWidget; -namespace Unity.GrantManager.Web.Mapping +namespace Unity.GrantManager.Web.Mapping; + +public class GrantApplicationsMapper : Profile { - public class GrantApplicationsMapper : Profile + public GrantApplicationsMapper() { - public GrantApplicationsMapper() - { - CreateMap(); - CreateMap(). - ForMember(dest => dest.SubmissionDate, opt => opt.MapFrom(s => s.SubmissionDate==null ? "" : s.SubmissionDate.Value.ToShortDateString())); - CreateMap(); - CreateMap(); - } + CreateMap(); + CreateMap(). + ForMember(dest => dest.SubmissionDate, opt => opt.MapFrom(s => s.SubmissionDate == null ? "" : s.SubmissionDate.Value.ToShortDateString())); + CreateMap(); + CreateMap(); + + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap() + .ForMember(dest => dest.PostalCode, opt => opt.MapFrom(src => src.Postal)); } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml index eb8d4fd59..b9ae4e4e8 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml @@ -21,7 +21,7 @@ {
- +
@Model.BulkApplicationApprovals[i].ReferenceNo
@Model.BulkApplicationApprovals[i].ApplicantName
@@ -29,7 +29,16 @@
@Model.BulkApplicationApprovals[i].ApplicationStatus
- + + +
+ +
- + - + + + + - + @for (var j = 0; j < Model.BulkApplicationApprovals[i].Notes?.Count; j++) diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml.cs index e0be96b5a..8bb15f7d1 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.cshtml.cs @@ -1,12 +1,11 @@ using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Localization; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System; using System.Collections.Generic; -using System.ComponentModel; using System.Threading.Tasks; using Unity.GrantManager.GrantApplications; +using Unity.GrantManager.Web.Pages.BulkApprovals.ViewModels; using Unity.Modules.Shared.Utils; using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; @@ -16,7 +15,7 @@ public class ApproveApplicationsModalModel(IBulkApprovalsAppService bulkApproval BrowserUtils browserUtils) : AbpPageModel { [BindProperty] - public List? BulkApplicationApprovals { get; set; } + public List? BulkApplicationApprovals { get; set; } [TempData] public int ApplicationsCount { get; set; } @@ -57,20 +56,22 @@ public async Task OnGetAsync(string applicationIds) foreach (var application in applications) { - var bulkApproval = new BulkApplicationApproval + var bulkApproval = new BulkApplicationApprovalViewModel { ApplicationId = application.ApplicationId, ReferenceNo = application.ReferenceNo, ApplicantName = application.ApplicantName, DecisionDate = application.FinalDecisionDate ?? DateTime.UtcNow.AddMinutes(-offsetMinutes), RequestedAmount = application.RequestedAmount, - ApprovedAmount = application.ApprovedAmount == 0m ? application.RequestedAmount : application.ApprovedAmount, + RecommendedAmount = application.RecommendedAmount, + ApprovedAmount = application.ApprovedAmount, ApplicationStatus = application.ApplicationStatus, FormName = application.FormName, IsValid = application.IsValid, - Notes = SetNotesForApplication(application) + IsDirectApproval = application.IsDirectApproval }; + SetNotes(application, bulkApproval); BulkApplicationApprovals.Add(bulkApproval); } @@ -78,25 +79,27 @@ public async Task OnGetAsync(string applicationIds) ApplicationsCount = applications.Count; } - private List SetNotesForApplication(BulkApprovalDto application) + private void SetNotes(BulkApprovalDto application, BulkApplicationApprovalViewModel bulkApproval) { - var notes = new List - { - new("DECISION_DATE_DEFAULTED", false, L.GetString("ApplicationBatchApprovalRequest:DecisionDateDefaulted"), false), - new("APPROVED_AMOUNT_DEFAULTED", false, L.GetString("ApplicationBatchApprovalRequest:ApprovedAmountDefaulted"), false), - new("INVALID_STATUS", false, L.GetString("ApplicationBatchApprovalRequest:InvalidStatus"), true), - new("INVALID_PERMISSIONS", false, L.GetString("ApplicationBatchApprovalRequest:InvalidPermissions"), true), - new("INVALID_APPROVED_AMOUNT", false, L.GetString("ApplicationBatchApprovalRequest:InvalidApprovedAmount"), true) - }; + /* + * 0 - Decision Date Defaulted + * 1 - Approved Amount Defaulted + * 2 - Invalid Status + * 3 - Invalid Permissions + * 4 - Invalid Approved Amount + * 5 - Invalid Recommended Amount + */ + + List notes = ApprovalNoteViewModel.CreateNotesList(localizer: L); if (application.FinalDecisionDate == null) { - notes[0] = new ApprovalNote(notes[0].Key, true, notes[0].Description, notes[0].IsError); + notes[0] = new ApprovalNoteViewModel(notes[0].Key, true, notes[0].Description, notes[0].IsError); } - if (application.ApprovedAmount == 0m) + if (bulkApproval.ApprovedAmount == 0m) // this will be defaulted either way if is 0 { - notes[0] = new ApprovalNote(notes[1].Key, true, notes[1].Description, notes[1].IsError); + notes[1] = new ApprovalNoteViewModel(notes[1].Key, true, notes[1].Description, notes[1].IsError); } foreach (var validation in application.ValidationMessages) @@ -104,11 +107,11 @@ private List SetNotesForApplication(BulkApprovalDto application) var index = notes.FindIndex(note => note.Key == validation); if (index != -1) { - notes[index] = new ApprovalNote(validation, true, notes[index].Description, notes[index].IsError); + notes[index] = new ApprovalNoteViewModel(validation, true, notes[index].Description, notes[index].IsError); } } - return notes; + bulkApproval.Notes = notes; } public async Task OnPostAsync() @@ -136,6 +139,7 @@ public async Task OnPostAsync() private List MapBulkApprovalRequests() { var bulkApprovals = new List(); + foreach (var application in BulkApplicationApprovals ?? []) { bulkApprovals.Add(new BulkApprovalDto() @@ -143,6 +147,8 @@ private List MapBulkApprovalRequests() ApplicantName = application.ApplicantName ?? string.Empty, ApplicationId = application.ApplicationId, ApprovedAmount = application.ApprovedAmount, + RecommendedAmount = application.RecommendedAmount, + IsDirectApproval = application.IsDirectApproval, FinalDecisionDate = application.DecisionDate, ReferenceNo = application.ReferenceNo, RequestedAmount = application.RequestedAmount, @@ -163,45 +169,4 @@ private bool ValidCount(Guid[] applicationGuids) // Soft check in the UI for max approvals in one batch, this is subject to be tweaked later after performance testing return applicationGuids.Length <= MaxBatchCount; } - - public class BulkApplicationApproval - { - public BulkApplicationApproval() - { - Notes = []; - } - - public Guid ApplicationId { get; set; } - public string ReferenceNo { get; set; } = string.Empty; - public string? ApplicantName { get; set; } = string.Empty; - public string FormName { get; set; } = string.Empty; - public string ApplicationStatus { get; set; } = string.Empty; - - [DisplayName("Requested Amount")] - public decimal RequestedAmount { get; set; } = 0m; - - [DisplayName("Approved Amount")] - public decimal ApprovedAmount { get; set; } = 0m; - - [DisplayName("Decision Date")] - public DateTime DecisionDate { get; set; } - public bool IsValid { get; set; } - public List Notes { get; set; } - } - - public class ApprovalNote - { - public ApprovalNote(string key, bool active, string description, bool isError) - { - Key = key; - Active = active; - Description = description; - IsError = isError; - } - - public string Key { get; set; } - public bool Active { get; set; } - public string Description { get; set; } - public bool IsError { get; set; } - } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.css b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.css index 6c0d55f71..4f41ee12a 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.css +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ApproveApplicationsModal.css @@ -112,4 +112,8 @@ .batch-approval-summary { text-align: center; +} + +.batch-direct-approval-indicator { + padding-left: 1rem; } \ No newline at end of file diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/ApprovalNoteViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/ApprovalNoteViewModel.cs new file mode 100644 index 000000000..1ab475991 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/ApprovalNoteViewModel.cs @@ -0,0 +1,34 @@ +using Microsoft.Extensions.Localization; +using System.Collections.Generic; + +namespace Unity.GrantManager.Web.Pages.BulkApprovals.ViewModels +{ + public class ApprovalNoteViewModel + { + public ApprovalNoteViewModel(string key, bool active, string description, bool isError) + { + Key = key; + Active = active; + Description = description; + IsError = isError; + } + + public string Key { get; set; } + public bool Active { get; set; } + public string Description { get; set; } + public bool IsError { get; set; } + + public static List CreateNotesList(IStringLocalizer localizer) + { + return + [ + new("DECISION_DATE_DEFAULTED", false, localizer.GetString("ApplicationBatchApprovalRequest:DecisionDateDefaulted"), false), + new("APPROVED_AMOUNT_DEFAULTED", false, localizer.GetString("ApplicationBatchApprovalRequest:ApprovedAmountDefaulted"), false), + new("INVALID_STATUS", false, localizer.GetString("ApplicationBatchApprovalRequest:InvalidStatus"), true), + new("INVALID_PERMISSIONS", false, localizer.GetString("ApplicationBatchApprovalRequest:InvalidPermissions"), true), + new("INVALID_APPROVED_AMOUNT", false, localizer.GetString("ApplicationBatchApprovalRequest:InvalidApprovedAmount"), true), + new("INVALID_RECOMMENDED_AMOUNT", false, localizer.GetString("ApplicationBatchApprovalRequest:InvalidRecommendedAmount"), true) + ]; + } + } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/BulkApplicationApproval.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/BulkApplicationApproval.cs new file mode 100644 index 000000000..3a6618e8f --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/BulkApprovals/ViewModels/BulkApplicationApproval.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using System.ComponentModel; +using System; + +namespace Unity.GrantManager.Web.Pages.BulkApprovals.ViewModels +{ + public class BulkApplicationApprovalViewModel + { + public BulkApplicationApprovalViewModel() + { + Notes = []; + } + + public Guid ApplicationId { get; set; } + public string ReferenceNo { get; set; } = string.Empty; + public string? ApplicantName { get; set; } = string.Empty; + public string FormName { get; set; } = string.Empty; + public string ApplicationStatus { get; set; } = string.Empty; + + [DisplayName("Requested Amount")] + public decimal RequestedAmount { get; set; } = 0m; + + [DisplayName("Approved Amount")] + public decimal ApprovedAmount { get; set; } = 0m; + + [DisplayName("Decision Date")] + public DateTime DecisionDate { get; set; } + public bool IsValid { get; set; } + public List Notes { get; set; } + public bool? IsDirectApproval { get; internal set; } + + [DisplayName("Recommended Amount")] + public decimal RecommendedAmount { get; internal set; } + } +} diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Details.cshtml b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Details.cshtml index 8bafcd79f..3f8837388 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Details.cshtml +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Details.cshtml @@ -78,9 +78,9 @@ return initials; } - public bool IsZoneVisible(string zoneName) => Model.ZoneStateSet.Contains(zoneName); - - public string ZoneCssClass(string zoneName) => IsZoneVisible(zoneName) ? string.Empty : "d-none"; + public async Task IsZoneVisible(string zoneName) => Model.ZoneStateSet.Contains(zoneName) && await PermissionChecker.IsGrantedAsync(zoneName); + public bool IsZoneEnabled(string zoneName) => Model.ZoneStateSet.Contains(zoneName); + public string ZoneCssClass(string zoneName) => IsZoneEnabled(zoneName) ? string.Empty : "d-none"; }
@@ -121,7 +121,7 @@ @*-------- Submission Section END ---------*@ @*-------- Review & Assessment Section ---------*@ - @if (IsZoneVisible(UnitySelector.Review.Default)) + @if (await IsZoneVisible(UnitySelector.Review.Default)) {
@@ -173,7 +173,7 @@ @*-------- Review & Assessment Section END ---------*@ @*-------- Project Info Section ---------*@ - @if (IsZoneVisible(UnitySelector.Project.Default)) + @if (await IsZoneVisible(UnitySelector.Project.Default)) {
@@ -184,10 +184,10 @@ @*-------- Project Info Section END ---------*@ @*-------- Applicant Info Section ---------*@ - @if (IsZoneVisible(UnitySelector.Applicant.Default)) + @if (await IsZoneVisible(UnitySelector.Applicant.Default)) { -
+
@await Component.InvokeAsync("ApplicantInfo", new { applicationId = Model.ApplicationId, applicationFormVersionId = Model.ApplicationFormVersionId })
@@ -196,7 +196,7 @@ @*-------- Applicant Info Section END ---------*@ @*-------- Funding Agreement Info Section ---------*@ - @if (IsZoneVisible(UnitySelector.Funding.Default)) + @if (IsZoneEnabled(UnitySelector.Funding.Default)) {
@@ -207,11 +207,10 @@ @*-------- Funding Agreement Section END ---------*@ @*-------- Payments Section ---------*@ - @if (await FeatureChecker.IsEnabledAsync("Unity.Payments") - && IsZoneVisible(UnitySelector.Payment.Default)) + @if (await FeatureChecker.IsEnabledAsync("Unity.Payments") && IsZoneEnabled(UnitySelector.Payment.Default)) { -
+
@await Component.InvokeAsync("PaymentInfo", new { applicationId = Model.ApplicationId, applicationFormVersionId = Model.ApplicationFormVersionId })
diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Index.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Index.js index d27932664..d4a123a92 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Index.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Pages/GrantApplications/Index.js @@ -7,21 +7,19 @@ const listColumns = getColumns(); const defaultVisibleColumns = ['select', 'applicantName', - 'referenceNo', 'category', + 'referenceNo', 'submissionDate', - 'projectName', - 'subsector', - 'totalProjectBudget', - 'assignees', 'status', + 'subStatusDisplayValue', + 'community', 'requestedAmount', 'approvedAmount', - 'economicRegion', - 'regionalDistrict', - 'community', - 'orgNumber', - 'orgBookStatus']; + 'projectName', + 'applicantId', + 'applicationTag', + 'assignees' + ] //For stateRestore label in modal let languageSetValues = { @@ -69,6 +67,44 @@ }, buttons: [ { extend: 'createState', text: 'Save As View' }, + { + text: "Reset to Default View", + action: function (e, dt, node, config) + { + dt.columns().visible(false); + + // List of all columns not including default columns + const allColumnNames = dt.settings()[0].aoColumns.map(col => col.name).filter(colName => !defaultVisibleColumns.includes(colName)); + const orderedIndexes = []; + + // Set the visible columns, and collect id's for the reorder + defaultVisibleColumns.forEach((colName) => { + const colIdx = dt.column(`${colName}:name`).index(); + if (colIdx !== undefined && colIdx !== -1) { + dt.column(colIdx).visible(true); + orderedIndexes.push(colIdx); + } + }); + + // Column reorder only works if all columns included in new order, so get the rest of the columns + allColumnNames.forEach((colName) => { + const colIdx = dt.column(`${colName}:name`).index(); + if (colIdx !== undefined && colIdx !== -1) { + orderedIndexes.push(colIdx); + } + }) + dt.colReorder.order(orderedIndexes); + + dt.order([4, 'asc']).search('').draw(); + + // Close the dropdown + dt.buttons('.grp-savedStates') + .container() + .find('.dt-button-collection') + .hide(); + $('div.dt-button-background').trigger('click'); + } + }, { extend: 'removeAllStates', text: 'Delete All Views' }, { extend: 'spacer', @@ -82,10 +118,20 @@ return { recordsTotal: result.totalCount, recordsFiltered: result.totalCount, - data: result.items + data: formatItems(result.items) }; }; + let formatItems = function (items) { + const newData = items.map((item, index) => { + return { + ...item, + rowCount: index + }; + }); + return newData; + } + dataTable = initializeDataTable({ dt, defaultVisibleColumns, @@ -154,86 +200,88 @@ } function getColumns() { - return [ - getSelectColumn('Select Application', 'rowCount','applications'), - getApplicantNameColumn(), - getApplicationNumberColumn(), - getCategoryColumn(), - getSubmissionDateColumn(), - getProjectNameColumn(), - getSectorColumn(), - getSubSectorColumn(), - getTotalProjectBudgetColumn(), - getAssigneesColumn(), - getStatusColumn(), - getRequestedAmountColumn(), - getApprovedAmountColumn(), - getEconomicRegionColumn(), - getRegionalDistrictColumn(), - getCommunityColumn(), - getOrganizationNumberColumn(), - getOrgBookStatusColumn(), - getProjectStartDateColumn(), - getProjectEndDateColumn(), - getProjectedFundingTotalColumn(), - getTotalProjectBudgetPercentageColumn(), - getTotalPaidAmountColumn(), - getElectoralDistrictColumn(), - getApplicantElectoralDistrictColumn(), - getForestryOrNonForestryColumn(), - getForestryFocusColumn(), - getAcquisitionColumn(), - getCityColumn(), - getCommunityPopulationColumn(), - getLikelihoodOfFundingColumn(), - getSubStatusColumn(), - getTagsColumn(), - getTotalScoreColumn(), - getAssessmentResultColumn(), - getRecommendedAmountColumn(), - getDueDateColumn(), - getOwnerColumn(), - getDecisionDateColumn(), - getProjectSummaryColumn(), - getOrganizationTypeColumn(), - getOrganizationNameColumn(), - getDueDiligenceStatusColumn(), - getDeclineRationaleColumn(), - getContactFullNameColumn(), - getContactTitleColumn(), - getContactEmailColumn(), - getContactBusinessPhoneColumn(), - getContactCellPhoneColumn(), - getSectorSubSectorIndustryDescColumn(), - getSigningAuthorityFullNameColumn(), - getSigningAuthorityTitleColumn(), - getSigningAuthorityEmailColumn(), - getSigningAuthorityBusinessPhoneColumn(), - getSigningAuthorityCellPhoneColumn(), - getPlaceColumn(), - getRiskRankingColumn(), - getNotesColumn(), - getRedStopColumn(), - getIndigenousColumn(), - getFyeDayColumn(), - getFyeMonthColumn(), - getApplicantIdColumn(), - getPayoutColumn() - ] - .map((column) => ({ ...column, targets: [column.index], orderData: [column.index, 0] })); - } - - function getApplicantNameColumn() { + let columnIndex = 1; + const sortedColumns = [ + getSelectColumn('Select Application', 'rowCount', 'applications'), + getApplicantNameColumn(columnIndex++), + getApplicationNumberColumn(columnIndex++), + getCategoryColumn(columnIndex++), + getSubmissionDateColumn(columnIndex++), + getProjectNameColumn(columnIndex++), + getSectorColumn(columnIndex++), + getSubSectorColumn(columnIndex++), + getTotalProjectBudgetColumn(columnIndex++), + getAssigneesColumn(columnIndex++), + getStatusColumn(columnIndex++), + getRequestedAmountColumn(columnIndex++), + getApprovedAmountColumn(columnIndex++), + getEconomicRegionColumn(columnIndex++), + getRegionalDistrictColumn(columnIndex++), + getCommunityColumn(columnIndex++), + getOrganizationNumberColumn(columnIndex++), + getOrgBookStatusColumn(columnIndex++), + getProjectStartDateColumn(columnIndex++), + getProjectEndDateColumn(columnIndex++), + getProjectedFundingTotalColumn(columnIndex++), + getTotalProjectBudgetPercentageColumn(columnIndex++), + getTotalPaidAmountColumn(columnIndex++), + getElectoralDistrictColumn(columnIndex++), + getApplicantElectoralDistrictColumn(columnIndex++), + getForestryOrNonForestryColumn(columnIndex++), + getForestryFocusColumn(columnIndex++), + getAcquisitionColumn(columnIndex++), + getCityColumn(columnIndex++), + getCommunityPopulationColumn(columnIndex++), + getLikelihoodOfFundingColumn(columnIndex++), + getSubStatusColumn(columnIndex++), + getTagsColumn(columnIndex++), + getTotalScoreColumn(columnIndex++), + getAssessmentResultColumn(columnIndex++), + getRecommendedAmountColumn(columnIndex++), + getDueDateColumn(columnIndex++), + getOwnerColumn(columnIndex++), + getDecisionDateColumn(columnIndex++), + getProjectSummaryColumn(columnIndex++), + getOrganizationTypeColumn(columnIndex++), + getOrganizationNameColumn(columnIndex++), + getDueDiligenceStatusColumn(columnIndex++), + getDeclineRationaleColumn(columnIndex++), + getContactFullNameColumn(columnIndex++), + getContactTitleColumn(columnIndex++), + getContactEmailColumn(columnIndex++), + getContactBusinessPhoneColumn(columnIndex++), + getContactCellPhoneColumn(columnIndex++), + getSectorSubSectorIndustryDescColumn(columnIndex++), + getSigningAuthorityFullNameColumn(columnIndex++), + getSigningAuthorityTitleColumn(columnIndex++), + getSigningAuthorityEmailColumn(columnIndex++), + getSigningAuthorityBusinessPhoneColumn(columnIndex++), + getSigningAuthorityCellPhoneColumn(columnIndex++), + getPlaceColumn(columnIndex++), + getRiskRankingColumn(columnIndex++), + getNotesColumn(columnIndex++), + getRedStopColumn(columnIndex++), + getIndigenousColumn(columnIndex++), + getFyeDayColumn(columnIndex++), + getFyeMonthColumn(columnIndex++), + getApplicantIdColumn(columnIndex++), + getPayoutColumn(columnIndex++) + ].map((column) => ({ ...column, targets: [column.index], orderData: [column.index, 0] })) + .sort((a, b) => a.index - b.index); + return sortedColumns; + } + + function getApplicantNameColumn(columnIndex) { return { title: 'Applicant Name', data: 'applicant.applicantName', name: 'applicantName', className: 'data-table-header', - index: 1 + index: columnIndex } } - function getApplicationNumberColumn() { + function getApplicationNumberColumn(columnIndex) { return { title: 'Submission #', data: 'referenceNo', @@ -242,42 +290,42 @@ render: function (data, type, row) { return `${data}`; }, - index: 2 + index: columnIndex } } - function getCategoryColumn() { + function getCategoryColumn(columnIndex) { return { title: 'Category', data: 'category', name: 'category', className: 'data-table-header', - index: 3 + index: columnIndex } } - function getSubmissionDateColumn() { + function getSubmissionDateColumn(columnIndex) { return { title: l('SubmissionDate'), data: 'submissionDate', name: 'submissionDate', className: 'data-table-header', render: DataTable.render.date('YYYY-MM-DD', abp.localization.currentCulture.name), - index: 4 + index: columnIndex } } - function getProjectNameColumn() { + function getProjectNameColumn(columnIndex) { return { title: 'Project Name', data: 'projectName', name: 'projectName', className: 'data-table-header', - index: 5 + index: columnIndex } } - function getSectorColumn() { + function getSectorColumn(columnIndex) { return { title: 'Sector', name: 'sector', @@ -286,11 +334,11 @@ render: function (data) { return data ?? ''; }, - index: 6 + index: columnIndex } } - function getSubSectorColumn() { + function getSubSectorColumn(columnIndex) { return { title: 'SubSector', name: 'subsector', @@ -299,11 +347,11 @@ render: function (data) { return data ?? ''; }, - index: 7 + index: columnIndex } } - function getTotalProjectBudgetColumn() { + function getTotalProjectBudgetColumn(columnIndex) { return { title: 'Total Project Budget', name: 'totalProjectBudget', @@ -312,11 +360,11 @@ render: function (data) { return formatter.format(data); }, - index: 8 + index: columnIndex } } - function getAssigneesColumn() { + function getAssigneesColumn(columnIndex) { return { title: l('Assignee'), data: 'assignees', @@ -337,25 +385,21 @@ + getNames(data) + '">' + displayText + '' + ``; }, - index: 9 + index: columnIndex } } - function getDutyText(data) { - return data.duty ? (" [" + data.duty + "]") : ''; - } - - function getStatusColumn() { + function getStatusColumn(columnIndex) { return { title: l('GrantApplicationStatus'), data: 'status', name: 'status', className: 'data-table-header', - index: 10 + index: columnIndex } } - function getRequestedAmountColumn() { + function getRequestedAmountColumn(columnIndex) { return { title: l('RequestedAmount'), data: 'requestedAmount', @@ -364,11 +408,11 @@ render: function (data) { return formatter.format(data); }, - index: 11 + index: columnIndex } } - function getApprovedAmountColumn() { + function getApprovedAmountColumn(columnIndex) { return { title: 'Approved Amount', name: 'approvedAmount', @@ -377,11 +421,11 @@ render: function (data) { return formatter.format(data); }, - index: 12 + index: columnIndex } } - function getEconomicRegionColumn() { + function getEconomicRegionColumn(columnIndex) { return { title: 'Economic Region', name: 'economicRegion', @@ -390,11 +434,11 @@ render: function (data) { return data ?? ''; }, - index: 13 + index: columnIndex } } - function getRegionalDistrictColumn() { + function getRegionalDistrictColumn(columnIndex) { return { title: 'Regional District', name: 'regionalDistrict', @@ -403,11 +447,11 @@ render: function (data) { return data ?? ''; }, - index: 14 + index: columnIndex } } - function getCommunityColumn() { + function getCommunityColumn(columnIndex) { return { title: 'Community', name: 'community', @@ -416,11 +460,11 @@ render: function (data) { return data ?? ''; }, - index: 15 + index: columnIndex } } - function getOrganizationNumberColumn() { + function getOrganizationNumberColumn(columnIndex) { return { title: l('ApplicantInfoView:ApplicantInfo.OrgNumber'), name: 'orgNumber', @@ -430,11 +474,11 @@ render: function (data) { return data ?? ''; }, - index: 16 + index: columnIndex } } - function getOrgBookStatusColumn() { + function getOrgBookStatusColumn(columnIndex) { return { title: 'Org Book Status', name: 'orgBookStatus', @@ -449,11 +493,11 @@ return data ?? ''; } }, - index: 17 + index: columnIndex } } - function getProjectStartDateColumn() { + function getProjectStartDateColumn(columnIndex) { return { title: 'Project Start Date', name: 'projectStartDate', @@ -464,11 +508,11 @@ locale: abp.localization.currentCulture.name, }).toUTC().toLocaleString() : ''; }, - index: 18 + index: columnIndex } } - function getProjectEndDateColumn() { + function getProjectEndDateColumn(columnIndex) { return { title: 'Project End Date', name: 'projectEndDate', @@ -479,11 +523,11 @@ locale: abp.localization.currentCulture.name, }).toUTC().toLocaleString() : ''; }, - index: 19 + index: columnIndex } } - function getProjectedFundingTotalColumn() { + function getProjectedFundingTotalColumn(columnIndex) { return { title: 'Projected Funding Total', name: 'projectFundingTotal', @@ -492,11 +536,11 @@ render: function (data) { return formatter.format(data) ?? ''; }, - index: 20 + index: columnIndex } } - function getTotalProjectBudgetPercentageColumn() { + function getTotalProjectBudgetPercentageColumn(columnIndex) { return { title: '% of Total Project Budget', name: 'percentageTotalProjectBudget', @@ -505,11 +549,11 @@ render: function (data) { return data ?? ''; }, - index: 21 + index: columnIndex } } - function getTotalPaidAmountColumn() { + function getTotalPaidAmountColumn(columnIndex) { return { title: 'Total Paid Amount $', name: 'totalPaidAmount', @@ -518,11 +562,11 @@ render: function (data) { return ''; }, - index: 22 + index: columnIndex } } - function getElectoralDistrictColumn() { + function getElectoralDistrictColumn(columnIndex) { return { title: 'Project Electoral District', name: 'electoralDistrict', @@ -531,11 +575,24 @@ render: function (data) { return data ?? ''; }, - index: 23 + index: columnIndex + } + } + + function getApplicantElectoralDistrictColumn(columnIndex) { + return { + title: 'Applicant Electoral District', + name: 'applicantElectoralDistrict', + data: 'applicant.electoralDistrict', + className: 'data-table-header', + render: function (data) { + return data ?? ''; + }, + index: columnIndex } } - function getForestryOrNonForestryColumn() { + function getForestryOrNonForestryColumn(columnIndex) { return { title: 'Forestry or Non-Forestry', name: 'forestryOrNonForestry', @@ -547,11 +604,11 @@ else return ''; }, - index: 24 + index: columnIndex } } - function getForestryFocusColumn() { + function getForestryFocusColumn(columnIndex) { return { title: 'Forestry Focus', name: 'forestryFocus', @@ -578,11 +635,11 @@ } }, - index: 25 + index: columnIndex } } - function getAcquisitionColumn() { + function getAcquisitionColumn(columnIndex) { return { title: 'Acquisition', name: 'acquisition', @@ -598,11 +655,11 @@ } }, - index: 26 + index: columnIndex } } - function getCityColumn() { + function getCityColumn(columnIndex) { return { title: 'City', name: 'city', @@ -612,11 +669,11 @@ return data ?? ''; }, - index: 27 + index: columnIndex } } - function getCommunityPopulationColumn() { + function getCommunityPopulationColumn(columnIndex) { return { title: 'Community Population', name: 'communityPopulation', @@ -625,11 +682,11 @@ render: function (data) { return data ?? ''; }, - index: 28 + index: columnIndex } } - function getLikelihoodOfFundingColumn() { + function getLikelihoodOfFundingColumn(columnIndex) { return { title: 'Likelihood of Funding', name: 'likelihoodOfFunding', @@ -643,11 +700,11 @@ return ''; } }, - index: 29 + index: columnIndex } } - function getSubStatusColumn() { + function getSubStatusColumn(columnIndex) { return { title: 'Sub-Status', name: 'subStatusDisplayValue', @@ -656,11 +713,11 @@ render: function (data) { return data ?? ''; }, - index: 30 + index: columnIndex } } - function getTagsColumn() { + function getTagsColumn(columnIndex) { return { title: 'Tags', name: 'applicationTag', @@ -669,11 +726,11 @@ render: function (data) { return data.replace(/,/g, ', ') ?? ''; }, - index: 31 + index: columnIndex } } - function getTotalScoreColumn() { + function getTotalScoreColumn(columnIndex) { return { title: 'Total Score', name: 'totalScore', @@ -682,11 +739,11 @@ render: function (data) { return data ?? ''; }, - index: 32 + index: columnIndex } } - function getAssessmentResultColumn() { + function getAssessmentResultColumn(columnIndex) { return { title: 'Assessment Result', name: 'assessmentResult', @@ -700,11 +757,11 @@ return ''; } }, - index: 33 + index: columnIndex } } - function getRecommendedAmountColumn() { + function getRecommendedAmountColumn(columnIndex) { return { title: 'Recommended Amount', name: 'recommendedAmount', @@ -713,11 +770,11 @@ render: function (data) { return formatter.format(data) ?? ''; }, - index: 34 + index: columnIndex } } - function getDueDateColumn() { + function getDueDateColumn(columnIndex) { return { title: 'Due Date', name: 'dueDate', @@ -728,11 +785,11 @@ locale: abp.localization.currentCulture.name, }).toUTC().toLocaleString() : ''; }, - index: 35 + index: columnIndex } } - function getOwnerColumn() { + function getOwnerColumn(columnIndex) { return { title: 'Owner', name: 'Owner', @@ -741,11 +798,11 @@ render: function (data) { return data != null ? data.fullName : ''; }, - index: 36 + index: columnIndex } } - function getDecisionDateColumn() { + function getDecisionDateColumn(columnIndex) { return { title: 'Decision Date', name: 'finalDecisionDate', @@ -756,11 +813,11 @@ locale: abp.localization.currentCulture.name, }).toUTC().toLocaleString() : ''; }, - index: 37 + index: columnIndex } } - function getProjectSummaryColumn() { + function getProjectSummaryColumn(columnIndex) { return { title: 'Project Summary', name: 'projectSummary', @@ -769,11 +826,11 @@ render: function (data) { return data ?? ''; }, - index: 38 + index: columnIndex } } - function getOrganizationTypeColumn() { + function getOrganizationTypeColumn(columnIndex) { return { title: 'Organization Type', name: 'organizationType', @@ -782,11 +839,11 @@ render: function (data) { return getFullType(data) ?? ''; }, - index: 39 + index: columnIndex } } - function getOrganizationNameColumn() { + function getOrganizationNameColumn(columnIndex) { return { title: l('Summary:Application.OrganizationName'), name: 'organizationName', @@ -795,10 +852,10 @@ render: function (data) { return data ?? ''; }, - index: 40 + index: columnIndex } } - function getDueDiligenceStatusColumn() { + function getDueDiligenceStatusColumn(columnIndex) { return { title: 'Due Diligence Status', name: 'dueDiligenceStatus', @@ -807,11 +864,11 @@ render: function (data) { return titleCase(data ?? '') ?? ''; }, - index: 41 + index: columnIndex } } - function getDeclineRationaleColumn() { + function getDeclineRationaleColumn(columnIndex) { return { title: 'Decline Rationale', name: 'declineRationale', @@ -820,11 +877,11 @@ render: function (data) { return data ?? ''; }, - index: 42 + index: columnIndex } } - function getContactFullNameColumn() { + function getContactFullNameColumn(columnIndex) { return { title: 'Contact Full Name', name: 'contactFullName', @@ -833,10 +890,10 @@ render: function (data) { return data ?? ''; }, - index: 43 + index: columnIndex } } - function getContactTitleColumn() { + function getContactTitleColumn(columnIndex) { return { title: 'Contact Title', name: 'contactTitle', @@ -845,10 +902,10 @@ render: function (data) { return data ?? ''; }, - index: 44 + index: columnIndex } } - function getContactEmailColumn() { + function getContactEmailColumn(columnIndex) { return { title: 'Contact Email', name: 'contactEmail', @@ -857,10 +914,10 @@ render: function (data) { return data ?? ''; }, - index: 45 + index: columnIndex } } - function getContactBusinessPhoneColumn() { + function getContactBusinessPhoneColumn(columnIndex) { return { title: 'Contact Business Phone', name: 'contactBusinessPhone', @@ -869,10 +926,10 @@ render: function (data) { return data ?? ''; }, - index: 46 + index: columnIndex } } - function getContactCellPhoneColumn() { + function getContactCellPhoneColumn(columnIndex) { return { title: 'Contact Cell Phone', name: 'contactCellPhone', @@ -881,11 +938,11 @@ render: function (data) { return data ?? ''; }, - index: 47 + index: columnIndex } } - function getSectorSubSectorIndustryDescColumn() { + function getSectorSubSectorIndustryDescColumn(columnIndex) { return { title: 'Other Sector/Sub/Industry Description', name: 'sectorSubSectorIndustryDesc', @@ -894,11 +951,11 @@ render: function (data) { return data ?? ''; }, - index: 48 + index: columnIndex } } - function getSigningAuthorityFullNameColumn() { + function getSigningAuthorityFullNameColumn(columnIndex) { return { title: 'Signing Authority Full Name', name: 'signingAuthorityFullName', @@ -907,10 +964,10 @@ render: function (data) { return data ?? ''; }, - index: 49 + index: columnIndex } } - function getSigningAuthorityTitleColumn() { + function getSigningAuthorityTitleColumn(columnIndex) { return { title: 'Signing Authority Title', name: 'signingAuthorityTitle', @@ -919,10 +976,10 @@ render: function (data) { return data ?? ''; }, - index: 50 + index: columnIndex } } - function getSigningAuthorityEmailColumn() { + function getSigningAuthorityEmailColumn(columnIndex) { return { title: 'Signing Authority Email', name: 'signingAuthorityEmail', @@ -931,10 +988,10 @@ render: function (data) { return data ?? ''; }, - index: 51 + index: columnIndex } } - function getSigningAuthorityBusinessPhoneColumn() { + function getSigningAuthorityBusinessPhoneColumn(columnIndex) { return { title: 'Signing Authority Business Phone', name: 'signingAuthorityBusinessPhone', @@ -943,10 +1000,10 @@ render: function (data) { return data ?? ''; }, - index: 52 + index: columnIndex } } - function getSigningAuthorityCellPhoneColumn() { + function getSigningAuthorityCellPhoneColumn(columnIndex) { return { title: 'Signing Authority Cell Phone', name: 'signingAuthorityCellPhone', @@ -955,10 +1012,10 @@ render: function (data) { return data ?? ''; }, - index: 53 + index: columnIndex } } - function getPlaceColumn() { + function getPlaceColumn(columnIndex) { return { title: 'Place', name: 'place', @@ -967,11 +1024,11 @@ render: function (data) { return data ?? ''; }, - index: 54 + index: columnIndex } } - function getRiskRankingColumn() { + function getRiskRankingColumn(columnIndex) { return { title: 'Risk Ranking', name: 'riskranking', @@ -980,11 +1037,11 @@ render: function (data) { return titleCase(data ?? '') ?? ''; }, - index: 55 + index: columnIndex } } - function getNotesColumn() { + function getNotesColumn(columnIndex) { return { title: 'Notes', name: 'notes', @@ -997,11 +1054,11 @@ render: function (data) { return data ?? ''; }, - index: 56 + index: columnIndex } } - function getRedStopColumn() { + function getRedStopColumn(columnIndex) { return { title: 'Red-Stop', name: 'redstop', @@ -1010,11 +1067,11 @@ render: function (data) { return convertToYesNo(data); }, - index: 57 + index: columnIndex } } - function getIndigenousColumn() { + function getIndigenousColumn(columnIndex) { return { title: 'Indigenous', name: 'indigenous', @@ -1023,11 +1080,11 @@ render: function (data) { return data ?? ''; }, - index: 58 + index: columnIndex } } - function getFyeDayColumn() { + function getFyeDayColumn(columnIndex) { return { title: 'FYE Day', name: 'fyeDay', @@ -1036,11 +1093,11 @@ render: function (data) { return data ?? ''; }, - index: 59 + index: columnIndex } } - function getFyeMonthColumn() { + function getFyeMonthColumn(columnIndex) { return { title: 'FYE Month', name: 'fyeMonth', @@ -1054,11 +1111,11 @@ return ''; } }, - index: 60 + index: columnIndex } } - function getApplicantIdColumn() { + function getApplicantIdColumn(columnIndex) { return { title: 'Applicant Id', name: 'applicantId', @@ -1067,11 +1124,11 @@ render: function (data) { return data ?? ''; }, - index: 61 + index: columnIndex } } - function getPayoutColumn() { + function getPayoutColumn(columnIndex) { return { title: 'Payout', name: 'paymentInfo', @@ -1080,21 +1137,11 @@ render: function (data) { return payoutDefinition(data?.approvedAmount ?? 0, data?.totalPaid ?? 0); }, - index: 62 + index: columnIndex } } - - function getApplicantElectoralDistrictColumn() { - return { - title: 'Applicant Electoral District', - name: 'applicantElectoralDistrict', - data: 'applicant.electoralDistrict', - className: 'data-table-header', - render: function (data) { - return data ?? ''; - }, - index: 63 - } + function getDutyText(data) { + return data.duty ? (" [" + data.duty + "]") : ''; } function getFullType(code) { diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj index d81ca7c12..4457487b9 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Unity.GrantManager.Web.csproj @@ -3,10 +3,9 @@ - net8.0 + net9.0 enable - Unity.GrantManager.Web - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Unity.GrantManager.Web true true true @@ -56,23 +55,23 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + - - - - - - + + + + + + - + @@ -82,13 +81,13 @@ - - - - - - - + + + + + + + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantAddressViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantAddressViewModel.cs new file mode 100644 index 000000000..0071a4dd5 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantAddressViewModel.cs @@ -0,0 +1,33 @@ +using System; +using System.ComponentModel.DataAnnotations; +using Unity.GrantManager.GrantApplications; + +namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; + +public class ApplicantAddressViewModel +{ + public Guid ApplicantAddressId { get; set; } + public Guid ApplicantId { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.AddressType")] + public AddressType AddressType { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.Street")] + public string Street { get; set; } = string.Empty; + + [Display(Name = "ApplicantInfoView:ApplicantInfo.Street2")] + public string Street2 { get; set; } = string.Empty; + + [Display(Name = "ApplicantInfoView:ApplicantInfo.Unit")] + public string? Unit { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.City")] + public string? City { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.Province")] + public string? Province { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.PostalCode")] + public string? PostalCode { get; set; } +} + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewComponent.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewComponent.cs index 7d9d1e85f..1ff68758d 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewComponent.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewComponent.cs @@ -1,169 +1,141 @@ using Microsoft.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.UI.Widgets; -using Volo.Abp.AspNetCore.Mvc; -using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc.Rendering; using System; -using Unity.GrantManager.GrantApplications; -using System.Linq; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; using System.Collections.Generic; -using Microsoft.AspNetCore.Mvc.Rendering; -using Unity.GrantManager.Locality; +using System.Linq; +using System.Threading.Tasks; using Unity.GrantManager.ApplicationForms; -using Unity.GrantManager.Applications; +using Unity.GrantManager.GrantApplications; +using Unity.GrantManager.Locality; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.AspNetCore.Mvc.UI.Bundling; +using Volo.Abp.AspNetCore.Mvc.UI.Widgets; -namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo -{ +namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; - [Widget( - RefreshUrl = "Widget/ApplicantInfo/Refresh", - ScriptTypes = [typeof(ApplicantInfoScriptBundleContributor)], - StyleTypes = [typeof(ApplicantInfoStyleBundleContributor)], - AutoInitialize = true)] - public class ApplicantInfoViewComponent( - IApplicationApplicantAppService applicationAppicantService, - ISectorService applicationSectorAppService, - IElectoralDistrictService applicationElectoralDistrictAppService, - IApplicationFormAppService applicationFormAppService) : AbpViewComponent + +[Widget( + RefreshUrl = "Widget/ApplicantInfo/Refresh", + ScriptTypes = [typeof(ApplicantInfoScriptBundleContributor)], + StyleTypes = [typeof(ApplicantInfoStyleBundleContributor)], + AutoInitialize = true)] +public class ApplicantInfoViewComponent( + IApplicationApplicantAppService applicationAppicantService, + ISectorService applicationSectorAppService, + IElectoralDistrictService applicationElectoralDistrictAppService, + IApplicationFormAppService applicationFormAppService) : AbpViewComponent +{ + public async Task InvokeAsync(Guid applicationId, Guid applicationFormVersionId) { - public async Task InvokeAsync(Guid applicationId, Guid applicationFormVersionId) - { - var applicantInfoDto = await applicationAppicantService.GetByApplicationIdAsync(applicationId); - var electoralDistrictAddressType = await applicationFormAppService.GetElectoralDistrictAddressTypeAsync(applicantInfoDto.ApplicationFormId); + var applicantInfoDto = await applicationAppicantService.GetApplicantInfoTabAsync(applicationId); + var electoralDistrictAddressType = await applicationFormAppService.GetElectoralDistrictAddressTypeAsync(applicantInfoDto.ApplicationFormId); - ApplicantInfoViewModel model = new() - { - ApplicationId = applicationId, - ApplicationFormId = applicantInfoDto.ApplicationFormId, - ApplicationFormVersionId = applicationFormVersionId, - ApplicantId = applicantInfoDto.ApplicantId, - Sector = applicantInfoDto.Sector, - SubSector = applicantInfoDto.SubSector, - ContactFullName = applicantInfoDto.ContactFullName, - ContactTitle = applicantInfoDto.ContactTitle, - ContactEmail = applicantInfoDto.ContactEmail, - ContactBusinessPhone = applicantInfoDto.ContactBusinessPhone, - ContactCellPhone = applicantInfoDto.ContactCellPhone, - OrgName = applicantInfoDto.OrganizationName, - OrgNumber = applicantInfoDto.OrgNumber, - OrgStatus = applicantInfoDto.OrgStatus, - OrganizationType = applicantInfoDto.OrganizationType, - SigningAuthorityFullName = applicantInfoDto.SigningAuthorityFullName, - SigningAuthorityTitle = applicantInfoDto.SigningAuthorityTitle, - SigningAuthorityEmail = applicantInfoDto.SigningAuthorityEmail, - SigningAuthorityBusinessPhone = applicantInfoDto.SigningAuthorityBusinessPhone, - SigningAuthorityCellPhone = applicantInfoDto.SigningAuthorityCellPhone, - OrganizationSize = applicantInfoDto.OrganizationSize, - SectorSubSectorIndustryDesc = applicantInfoDto.SectorSubSectorIndustryDesc, - RedStop = applicantInfoDto.RedStop, - IndigenousOrgInd = applicantInfoDto.IndigenousOrgInd, - UnityApplicantId = applicantInfoDto.UnityApplicantId, - FiscalDay = applicantInfoDto.FiscalDay, - FiscalMonth = applicantInfoDto.FiscalMonth, - NonRegOrgName = applicantInfoDto.NonRegOrgName, - ElectoralDistrict = applicantInfoDto.ElectoralDistrict, - ApplicantElectoralAddressType = electoralDistrictAddressType, - }; - - await PopulateSectorsAndSubSectorsAsync(model); - await PopulateElectoralDistrictsAsync(model); - - if (applicantInfoDto.ApplicantAddresses.Count != 0) - { - PopulateAddressInfo(applicantInfoDto, model); + if (applicantInfoDto == null) + { + throw new InvalidOperationException("Applicant information could not be retrieved."); + } + + ApplicantInfoViewModel viewModel = new() + { + ApplicationId = applicationId, + ApplicationFormId = applicantInfoDto.ApplicationFormId, + ApplicationFormVersionId = applicationFormVersionId, + ApplicantId = applicantInfoDto.ApplicantId, + ApplicantSummary = ObjectMapper.Map(applicantInfoDto.ApplicantSummary ?? new ApplicantSummaryDto()), + ContactInfo = ObjectMapper.Map(applicantInfoDto.ContactInfo ?? new ContactInfoDto()), + SigningAuthority = ObjectMapper.Map(applicantInfoDto.SigningAuthority ?? new SigningAuthorityDto()), + ApplicantElectoralAddressType = electoralDistrictAddressType, + }; + + viewModel.ApplicantSummary.ApplicantId = applicantInfoDto.ApplicantId; + + await PopulateSectorsAndSubSectorsAsync(viewModel); + await PopulateElectoralDistrictsAsync(viewModel); + + // MAPADDRESSES + if (applicantInfoDto.ApplicantAddresses?.Count > 0) + { + // Map physical address + var physicalAddress = FindMostRecentAddress(applicantInfoDto.ApplicantAddresses, AddressType.PhysicalAddress); + if (physicalAddress is not null) + { + viewModel.PhysicalAddress = ObjectMapper.Map(physicalAddress); } - return View(model); + // Map mailing address + var mailingAddress = FindMostRecentAddress(applicantInfoDto.ApplicantAddresses, AddressType.MailingAddress); + if (mailingAddress is not null) + { + viewModel.MailingAddress = ObjectMapper.Map(mailingAddress); + } } - private static void PopulateAddressInfo(ApplicationApplicantInfoDto applicantInfoDto, ApplicantInfoViewModel model) - { - ApplicantAddressDto? physicalAddress = applicantInfoDto.ApplicantAddresses - .Where(address => address.AddressType == AddressType.PhysicalAddress) - .OrderByDescending(address => address.CreationTime) - .FirstOrDefault(); + return View(viewModel); + } - if (physicalAddress != null) - { - model.PhysicalAddressStreet = physicalAddress.Street; - model.PhysicalAddressStreet2 = physicalAddress.Street2; - model.PhysicalAddressUnit = physicalAddress.Unit; - model.PhysicalAddressCity = physicalAddress.City; - model.PhysicalAddressProvince = physicalAddress.Province; - model.PhysicalAddressPostalCode = physicalAddress.Postal; - } + private static ApplicantAddressDto? FindMostRecentAddress(List applicantAddresses, AddressType addressType) + { + return applicantAddresses + .Where(address => address.AddressType == addressType) + .OrderByDescending(address => + address.CreationTime < address.LastModificationTime.GetValueOrDefault(DateTime.MinValue) + ? address.CreationTime + : address.LastModificationTime.GetValueOrDefault(DateTime.MinValue)) + .FirstOrDefault(); + } - ApplicantAddressDto? mailingAddress = applicantInfoDto.ApplicantAddresses - .Where(address => address.AddressType == AddressType.MailingAddress) - .OrderByDescending(address => address.CreationTime) - .FirstOrDefault(); + private async Task PopulateElectoralDistrictsAsync(ApplicantInfoViewModel model) + { + List electoralDistricts = [.. (await applicationElectoralDistrictAppService.GetListAsync())]; - if (mailingAddress != null) + model.ElectoralDistrictList.AddRange(electoralDistricts.Select(electoralDistrict => + new SelectListItem { - model.MailingAddressStreet = mailingAddress.Street; - model.MailingAddressStreet2 = mailingAddress.Street2; - model.MailingAddressUnit = mailingAddress.Unit; - model.MailingAddressCity = mailingAddress.City; - model.MailingAddressProvince = mailingAddress.Province; - model.MailingAddressPostalCode = mailingAddress.Postal; - } - } - - private async Task PopulateElectoralDistrictsAsync(ApplicantInfoViewModel model) - { - List electoralDistricts = [.. (await applicationElectoralDistrictAppService.GetListAsync())]; - - model.ElectoralDistrictList.AddRange(electoralDistricts.Select(electoralDistrict => - new SelectListItem - { - Value = electoralDistrict.ElectoralDistrictName, - Text = electoralDistrict.ElectoralDistrictName - })); - } - - private async Task PopulateSectorsAndSubSectorsAsync(ApplicantInfoViewModel model) - { - List sectors = [.. (await applicationSectorAppService.GetListAsync())]; + Value = electoralDistrict.ElectoralDistrictName, + Text = electoralDistrict.ElectoralDistrictName + })); + } - model.ApplicationSectors = sectors; + private async Task PopulateSectorsAndSubSectorsAsync(ApplicantInfoViewModel model) + { + List sectors = [.. (await applicationSectorAppService.GetListAsync())]; - model.ApplicationSectorsList.AddRange(sectors.Select(sector => - new SelectListItem - { - Value = sector.SectorName, - Text = sector.SectorName - })); + model.ApplicationSectors = sectors; - if (sectors.Count > 0) + model.ApplicationSectorsList.AddRange(sectors.Select(sector => + new SelectListItem { - List SubSectors = []; + Value = sector.SectorName, + Text = sector.SectorName + })); - SectorDto? applicationSector = sectors.Find(x => x.SectorName == model.Sector); - SubSectors = applicationSector?.SubSectors ?? SubSectors; + if (sectors.Count > 0 && model.ApplicantSummary != null) + { + List SubSectors = []; - model.ApplicationSubSectorsList.AddRange(SubSectors.Select(SubSector => - new SelectListItem { Value = SubSector.SubSectorName, Text = SubSector.SubSectorName })); - } + SectorDto? applicationSector = sectors.Find(x => x.SectorName == model.ApplicantSummary.Sector); + SubSectors = applicationSector?.SubSectors ?? SubSectors; + + model.ApplicationSubSectorsList.AddRange(SubSectors.Select(SubSector => + new SelectListItem { Value = SubSector.SubSectorName, Text = SubSector.SubSectorName })); } } +} - public class ApplicantInfoStyleBundleContributor : BundleContributor +public class ApplicantInfoStyleBundleContributor : BundleContributor +{ + public override void ConfigureBundle(BundleConfigurationContext context) { - public override void ConfigureBundle(BundleConfigurationContext context) - { - context.Files - .AddIfNotContains("/Views/Shared/Components/ApplicantInfo/Default.css"); - } + context.Files + .AddIfNotContains("/Views/Shared/Components/ApplicantInfo/Default.css"); } +} - public class ApplicantInfoScriptBundleContributor : BundleContributor +public class ApplicantInfoScriptBundleContributor : BundleContributor +{ + public override void ConfigureBundle(BundleConfigurationContext context) { - public override void ConfigureBundle(BundleConfigurationContext context) - { - context.Files - .AddIfNotContains("/Views/Shared/Components/ApplicantInfo/Default.js"); - context.Files - .AddIfNotContains("/libs/jquery-maskmoney/dist/jquery.maskMoney.min.js"); - } + context.Files + .AddIfNotContains("/Views/Shared/Components/ApplicantInfo/Default.js"); } } diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewModel.cs index f859337ef..0625d3548 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewModel.cs +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantInfoViewModel.cs @@ -1,206 +1,75 @@ -using System.ComponentModel.DataAnnotations; -using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; -using Microsoft.AspNetCore.Mvc.Rendering; -using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc.Rendering; using System; -using Unity.GrantManager.GrantApplications; +using System.Collections.Generic; using System.Collections.Immutable; -using Unity.GrantManager.Locality; -using System.Linq; +using System.ComponentModel.DataAnnotations; using System.Globalization; +using System.Linq; +using Unity.GrantManager.GrantApplications; +using Unity.GrantManager.Locality; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; -namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo +namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; + +public class ApplicantInfoViewModel { - public class ApplicantInfoViewModel + public List OrganizationTypeList { get; set; } = FormatOptionsList(ProjectInfoOptionsList.OrganizationTypeList); + public List OrgBookStatusList { get; set; } = FormatOptionsList(ProjectInfoOptionsList.OrgBookStatusList); + public List ApplicationSectorsList { get; set; } = []; + public List ApplicationSubSectorsList { get; set; } = []; + public List IndigenousList { get; set; } = FormatOptionsList(ApplicantInfoOptionsList.IndigenousList); + public List FiscalDayList { get; set; } = [.. FormatOptionsList(ApplicantInfoOptionsList.FiscalDayList).OrderBy(x => int.Parse(x.Text))]; + public List FiscalMonthList { get; set; } = [.. FormatOptionsList(ApplicantInfoOptionsList.FiscalMonthList).OrderBy(x => DateTime.ParseExact(x.Text, "MMMM", CultureInfo.InvariantCulture).Month)]; + public List ElectoralDistrictList { get; set; } = []; + + public Guid ApplicationId { get; set; } + public Guid ApplicantId { get; set; } + public Guid ApplicationFormId { get; set; } + public Guid ApplicationFormVersionId { get; set; } + [Display(Name = "ApplicantInfoView:ApplicantElectoralDistrict")] + [SelectItems(nameof(ElectoralDistrictList))] + public string? ElectoralDistrict { get; set; } + + public List ApplicationSectors { get; set; } = []; + + // Core Model + public ApplicantSummaryViewModel ApplicantSummary { get; set; } = new ApplicantSummaryViewModel(); + public SigningAuthorityViewModel SigningAuthority { get; set; } = new SigningAuthorityViewModel(); + public ContactInfoViewModel ContactInfo { get; set; } = new ContactInfoViewModel(); + public ApplicantAddressViewModel PhysicalAddress { get; set; } = new ApplicantAddressViewModel(); + public ApplicantAddressViewModel MailingAddress { get; set; } = new ApplicantAddressViewModel(); + + public AddressType ApplicantElectoralAddressType { get; set; } = AddressType.PhysicalAddress; + public string ApplicantElectoralAddressTypeDisplay { - public static ImmutableDictionary DropdownList => - ImmutableDictionary.CreateRange( - [ - new KeyValuePair("VALUE1", "Value 1"), - new KeyValuePair("VALUE2", "Value 2"), - ]); - - public List OrganizationTypeList { get; set; } = FormatOptionsList(ProjectInfoOptionsList.OrganizationTypeList); - public List OrgBookStatusList { get; set; } = FormatOptionsList(ProjectInfoOptionsList.OrgBookStatusList); - public List ApplicationSectorsList { get; set; } = []; - public List ApplicationSubSectorsList { get; set; } = []; - public List IndigenousList { get; set; } = FormatOptionsList(ApplicantInfoOptionsList.IndigenousList); - public List FiscalDayList { get; set; } = [.. FormatOptionsList(ApplicantInfoOptionsList.FiscalDayList).OrderBy(x => int.Parse(x.Text))]; - public List FiscalMonthList { get; set; } = [.. FormatOptionsList(ApplicantInfoOptionsList.FiscalMonthList).OrderBy(x => DateTime.ParseExact(x.Text, "MMMM", CultureInfo.InvariantCulture).Month)]; - public List ElectoralDistrictList { get; set; } = []; - - public Guid ApplicationId { get; set; } - public Guid ApplicantId { get; set; } - public Guid ApplicationFormId { get; set; } - public Guid ApplicationFormVersionId { get; set; } - - public List ApplicationSectors { get; set; } = []; - public bool IsFinalDecisionMade { get; set; } - - public AddressType ApplicantElectoralAddressType { get; set; } = AddressType.PhysicalAddress; - public string ApplicantElectoralAddressTypeDisplay + get { - get + return ApplicantElectoralAddressType switch { - return ApplicantElectoralAddressType switch - { - AddressType.PhysicalAddress => "Physical Address", - AddressType.MailingAddress => "Mailing Address", - AddressType.BusinessAddress => "Business Address", - _ => "Address" - }; - } + AddressType.PhysicalAddress => "Physical Address", + AddressType.MailingAddress => "Mailing Address", + AddressType.BusinessAddress => "Business Address", + _ => "Address" + }; } + } - [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgName")] - public string? OrgName { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgNumber")] - public string? OrgNumber { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgBookStatus")] - [SelectItems(nameof(OrgBookStatusList))] - public string? OrgStatus { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.OrganizationType")] - [SelectItems(nameof(OrganizationTypeList))] - public string? OrganizationType { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.OrganizationSize")] - public string? OrganizationSize { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.UnityApplicant")] - public string? UnityApplicantId { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.FiscalMonth")] - [SelectItems(nameof(FiscalMonthList))] - public string? FiscalMonth { get; set; } - [Display(Name = "ApplicantInfoView:ApplicantInfo.FiscalDay")] - [SelectItems(nameof(FiscalDayList))] - public string? FiscalDay { get; set; } - - - [Display(Name = "ApplicantInfoView:ApplicantInfo.Sector")] - [SelectItems(nameof(ApplicationSectorsList))] - public string? Sector { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.SubSector")] - [SelectItems(nameof(ApplicationSubSectorsList))] - public string? SubSector { get; set; } - - public bool RedStop { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.IndigenousOrgInd")] - public string? IndigenousOrgInd { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactFullName")] - [MaxLength(600, ErrorMessage = "Must be a maximum of 6 characters")] - public string? ContactFullName { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactTitle")] - public string? ContactTitle { get; set; } - - [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactEmail")] - [DataType(DataType.EmailAddress, ErrorMessage = "Provided email is not valid")] - public string? ContactEmail { get; set; } + [Display(Name = "ApplicantInfoView:ApplicantInfo.Search")] + public string? Search { get; set; } - [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactBusinessPhone")] - [DataType(DataType.PhoneNumber, ErrorMessage = "Invalid Phone Number")] - [RegularExpression(@"^(\+\s?)?((? FormatOptionsList(ImmutableDictionary optionsList) + public static List FormatOptionsList(ImmutableDictionary optionsList) + { + List optionsFormattedList = []; + foreach (KeyValuePair entry in optionsList) { - List optionsFormattedList = []; - foreach (KeyValuePair entry in optionsList) - { - optionsFormattedList.Add(new SelectListItem { Value = entry.Key, Text = entry.Value }); - } - return optionsFormattedList; + optionsFormattedList.Add(new SelectListItem { Value = entry.Key, Text = entry.Value }); } + return optionsFormattedList; } } - diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantSummaryViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantSummaryViewModel.cs new file mode 100644 index 000000000..5740a523b --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ApplicantSummaryViewModel.cs @@ -0,0 +1,62 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.ComponentModel.DataAnnotations; +using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form; + +namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; + +public class ApplicantSummaryViewModel +{ + [HiddenInput] + public Guid ApplicantId { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgName")] + public string? OrgName { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgNumber")] + public string? OrgNumber { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.OrgBookStatus")] + [SelectItems(nameof(ApplicantInfoViewModel.OrgBookStatusList))] + public string? OrgStatus { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.OrganizationType")] + [SelectItems(nameof(ApplicantInfoViewModel.OrganizationTypeList))] + public string? OrganizationType { get; set; } + + + [Display(Name = "ApplicantInfoView:ApplicantInfo.NonRegOrgName")] + public string? NonRegOrgName { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.OrganizationSize")] + public string? OrganizationSize { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.IndigenousOrgInd")] + public bool IndigenousOrgInd { get; set; } = false; + + [Display(Name = "ApplicantInfoView:ApplicantInfo.UnityApplicant")] + public string? UnityApplicantId { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.FiscalMonth")] + [SelectItems(nameof(ApplicantInfoViewModel.FiscalMonthList))] + public string? FiscalMonth { get; set; } + [Display(Name = "ApplicantInfoView:ApplicantInfo.FiscalDay")] + [SelectItems(nameof(ApplicantInfoViewModel.FiscalDayList))] + public string? FiscalDay { get; set; } + + + [Display(Name = "ApplicantInfoView:ApplicantInfo.Sector")] + [SelectItems(nameof(ApplicantInfoViewModel.ApplicationSectorsList))] + public string? Sector { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.SubSector")] + [SelectItems(nameof(ApplicantInfoViewModel.ApplicationSubSectorsList))] + public string? SubSector { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.SectorSubSectorIndustryDesc")] + [TextArea(Rows = 2)] + public string? SectorSubSectorIndustryDesc { get; set; } + + public bool RedStop { get; set; } +} + diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ContactInfoViewModel.cs b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ContactInfoViewModel.cs new file mode 100644 index 000000000..df8995d07 --- /dev/null +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/ContactInfoViewModel.cs @@ -0,0 +1,31 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace Unity.GrantManager.Web.Views.Shared.Components.ApplicantInfo; + +public class ContactInfoViewModel +{ + public Guid? ApplicantAgentId { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactFullName")] + [MaxLength(600, ErrorMessage = "Must be a maximum of 600 characters")] + public string? Name { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactTitle")] + public string? Title { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactEmail")] + [DataType(DataType.EmailAddress, ErrorMessage = "Provided email is not valid")] + public string? Email { get; set; } + + [Display(Name = "ApplicantInfoView:ApplicantInfo.ContactBusinessPhone")] + [DataType(DataType.PhoneNumber, ErrorMessage = "Invalid Phone Number")] + [RegularExpression(@"^(\+\s?)?((? + + + - -
-
@L["ApplicantInfoView:ApplicantInfo.ApplicantInfoTitle"].Value
-
+
- +
-
+ -
- @L["ApplicantInfoView:ApplicantInfo.ApplicantInfoTitle"].Value + + @* Zone Section : Applicant Info Summary *@ + + + + - + - + + + + + + + + + + - + - + - + - + - + - + - +
-
- - - - - +
+
- + - +
+
- +
-
+ -
- @L["ApplicantInfoView:ApplicantInfoContactInfo"].Value + @* Zone Section : Contact Info *@ + - - -
-
@L["ApplicantInfoView:ApplicantInfoContactInfo"].Value
-
-
-
- + - + - + - + - +
-
+ -
- @L["ApplicantInfoView:SigningAuthorityTitle"].Value + @* Zone Section : Signing Authority *@ + -
+ -
- @L["ApplicantInfoView:PhysicalAddress"].Value + @* Zone Section : Address *@ +
@@ -269,28 +258,22 @@ - + - + - + - + - + - + @@ -304,28 +287,22 @@ - + - + - + - + - + - + @@ -354,8 +331,7 @@ - + @@ -368,43 +344,47 @@
NOTE: @L["ApplicantInfoView:Notes.ElectoralDistrict", Model.ApplicantElectoralAddressTypeDisplay].Value
-
+ - @if (await FeatureChecker.IsEnabledAsync("Unity.Flex")) - { + @* Zone Section : Worksheet *@ + @await Component.InvokeAsync(typeof(WorksheetInstanceWidget), - new - { - instanceCorrelationId = Model.ApplicationId, - instanceCorrelationProvider = CorrelationConsts.Application, - sheetCorrelationId = Model.ApplicationFormVersionId, - sheetCorrelationProvider = CorrelationConsts.FormVersion, - uiAnchor = FlexConsts.ApplicantInfoUiAnchor - }) - } + new + { + instanceCorrelationId = Model.ApplicationId, + instanceCorrelationProvider = CorrelationConsts.Application, + sheetCorrelationId = Model.ApplicationFormVersionId, + sheetCorrelationProvider = CorrelationConsts.FormVersion, + uiAnchor = FlexConsts.ApplicantInfoUiAnchor + }) +
- -
@L["Summary:ContactsTitle"].Value
-
- @await Component.InvokeAsync("ApplicationContactsWidget", new { applicationId = Model.ApplicationId, isReadOnly = !IsViewEditable }) -
- @if (IsViewEditable) - { -
- +@* Zone Section : AdditionalContact *@ + + +
@L["Summary:ContactsTitle"].Value
+
+ @await Component.InvokeAsync("ApplicationContactsWidget", new { applicationId = Model.ApplicationId, isReadOnly = !IsAdditionalContactEditable })
- } -
- + +
Note: If a different principal is selected, the existing contact information and address will be passed over to the chosen principal. -
+
diff --git a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.js b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.js index d2416406b..cdecde9a0 100644 --- a/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.js +++ b/applications/Unity.GrantManager/src/Unity.GrantManager.Web/Views/Shared/Components/ApplicantInfo/Default.js @@ -1,155 +1,162 @@ -$(function () { - $('.numeric-mask').maskMoney({ precision: 0 }); - $('.numeric-mask').each(function () { - $(this).maskMoney('mask', this.value); - }); - - const $unityAppId = $('#applicantInfoUnityApplicantId'); - let previousUnityAppId = $unityAppId.val(); - - $unityAppId.on('input', function () { - const currentUnityAppId = $(this).val().trim(); - $('#saveApplicantInfoBtn').prop('disabled', currentUnityAppId === previousUnityAppId); - }); - - $('body').on('click', '#saveApplicantInfoBtn', function () { - let applicationId = document.getElementById('ApplicantInfoViewApplicationId').value; - let formData = $("#ApplicantInfoForm").serializeArray(); - let ApplicantInfoObj = {}; - let formVersionId = $("#ApplicationFormVersionId").val(); - let worksheetId = $("#ApplicantInfo_WorksheetId").val(); +abp.widgets.ApplicantInfo = function ($wrapper) { + let widgetManager = $wrapper.data('abp-widget-manager'); + + let widgetApi = { + getFilters: function () { + return { + applicationId: $wrapper.find('#ApplicantInfo_ApplicationId').val(), + applicationFormVersionId: $wrapper.find("#ApplicantInfo_ApplicationFormVersionId").val() + }; + }, + init: function (filters) { + let $widgetForm = $wrapper.find('form'); - $.each(formData, function (_, input) { - if (typeof Flex === 'function' && Flex?.isCustomField(input)) { - Flex.includeCustomFieldObj(ApplicantInfoObj, input); - } - else { - ApplicantInfoObj[input.name] = input.value; + // Create a new form instance and store it on the widget API + this.zoneForm = new UnityZoneForm($widgetForm, { + saveButtonSelector: '#saveApplicantInfoBtn' + }); - if (ApplicantInfoObj[input.name] == '') { - ApplicantInfoObj[input.name] = null; + console.log("Applicant Info Initialized"); + + this.zoneForm.init(); + + // Set up additional event handlers here + this.setupEventHandlers(); + registerElectoralDistrictControls(this.zoneForm.form); + registerApplicantInfoSummaryDropdowns(this.zoneForm.form); + }, + refresh: function () { + widgetManager.refresh($wrapper); + }, + setupEventHandlers: function () { + const self = this; + + PubSub.subscribe( + 'applicant_info_merged', + () => { + self.refresh(); } - } - }); - - // Update checkboxes which are serialized if unchecked - $(`#ApplicantInfoForm input:checkbox`).each(function () { - ApplicantInfoObj[this.name] = (this.checked).toString(); - }); + ); - // Make sure all the custom fields are set in the custom fields object - if (typeof Flex === 'function') { - Flex?.setCustomFields(ApplicantInfoObj); - } + // Save button handler + self.zoneForm.saveButton.on('click', function () { + let applicationId = document.getElementById('ApplicantInfo_ApplicationId').value; + let applicantInfoSubmission = self.getPartialUpdate(); + try { + unity.grantManager.grantApplications.applicationApplicant + .updatePartialApplicantInfo(applicationId, applicantInfoSubmission) + .done(function () { + abp.notify.success('The Applicant Info has been updated.'); + self.zoneForm.resetTracking(); + PubSub.publish("refresh_detail_panel_summary"); + PubSub.publish('applicant_info_updated', applicantInfoSubmission); + }) + .fail(function (error) { + abp.notify.error('Failed to update Applicant Info.'); + console.log(error); + }); + } catch (error) { + abp.notify.error('An unexpected error occurred.'); + console.log(error); + } + }); + }, + getPartialUpdate: function () { + let submissionPayload = this.serializeWidget(); + + const customIncludes = new Set(); + + if (typeof Flex === 'function' && Object.keys(submissionPayload.CustomFields || {}).length > 0) { + // Add Worksheet Metadata and filter conditions + submissionPayload.CorrelationId = $("#ApplicantInfo_ApplicationFormVersionId").val(); + submissionPayload.WorksheetId = $("#ApplicantInfo_WorksheetId").val(); + + // Normalize checkboxes to string for custom worksheets + $(`#Unity_GrantManager_ApplicationManagement_Applicant_Worksheet input:checkbox`).each(function () { + submissionPayload.CustomFields[this.name] = (this.checked).toString(); + }); - try { - const orgName = $('#OrgName').val(); - ApplicantInfoObj['orgName'] = orgName; - const orgNumber = $('#OrgNumber').val(); - ApplicantInfoObj['orgNumber'] = orgNumber; - const orgStatus = $('#orgBookStatusDropdown').val(); - ApplicantInfoObj['orgStatus'] = orgStatus; - const organizationType = $('#orgTypeDropdown').val(); - ApplicantInfoObj['organizationType'] = organizationType; - const indigenousOrgInd = $('#indigenousOrgInd').is(":checked"); - if (indigenousOrgInd) { - ApplicantInfoObj['IndigenousOrgInd'] = "Yes"; - } - else { - ApplicantInfoObj['IndigenousOrgInd'] = "No"; + customIncludes + .add('CustomFields') + .add('CorrelationId') + .add('WorksheetId'); } + customIncludes.add('ApplicantId'); + + let modifiedFieldData = Object.fromEntries( + Object.entries(submissionPayload).filter(([key, _]) => { + // Check if it's a modified widget field + return this.zoneForm.modifiedFields.has(key) || customIncludes.has(key) || key.startsWith('custom_'); + }) + ); + let partialSubmissionPayload = { + modifiedFields: Array.from(this.zoneForm.modifiedFields), + data: unflattenObject(modifiedFieldData) + }; - ApplicantInfoObj['correlationId'] = formVersionId; - ApplicantInfoObj['worksheetId'] = worksheetId; + return partialSubmissionPayload; + }, + serializeWidget: function () { + let formData = this.zoneForm.serializeZoneArray(); + let submissionPayload = {}; - let currentUnityAppId = ApplicantInfoObj['UnityApplicantId']; + // Process all form fields + $.each(formData, (_, input) => { + this.processFormField(submissionPayload, input); + }); - if (currentUnityAppId !== null) { - if (previousUnityAppId !== currentUnityAppId) { - checkUnityApplicantIdExist(currentUnityAppId, applicationId, ApplicantInfoObj); - } else { - updateApplicantInfo(applicationId, ApplicantInfoObj); + return submissionPayload; + }, + processFormField: function (submissionPayload, input) { + const fieldName = input.name; + const inputElement = $(`[name="${fieldName}"]`); + + // Handle checkboxes explicitly + if (inputElement.length && inputElement.attr('type') === 'checkbox') { + // Only process the actual checkbox, not the hidden field + // If multiple elements with the same name, pick the checkbox + const checkbox = inputElement.filter('[type="checkbox"]'); + if (checkbox.length) { + if (typeof Flex === 'function' && Flex?.isCustomField(input)) { + Flex.includeCustomFieldObj(submissionPayload, input); + } else { + submissionPayload[fieldName] = checkbox.is(':checked'); + } + return; } - } else { - updateApplicantInfo(applicationId, ApplicantInfoObj); + } + + // Existing logic for custom fields + if (typeof Flex === 'function' && Flex?.isCustomField(input)) { + Flex.includeCustomFieldObj(submissionPayload, input); + return; } - previousUnityAppId = currentUnityAppId; - $('#saveApplicantInfoBtn').prop('disabled', true); - PubSub.publish("applicant_info_updated", ApplicantInfoObj); - - } - catch (error) { - console.log(error); - $('#saveApplicantInfoBtn').prop('disabled', false); - } - }); - - $('#orgSectorDropdown').change(function () { - const selectedValue = $(this).val(); - let sectorList = JSON.parse($('#orgApplicationSectorList').text()); + let fieldValue = input.value; + + if (inputElement.hasClass('unity-currency-input') || inputElement.hasClass('numeric-mask')) { + fieldValue = fieldValue.replace(/,/g, ''); + } - let childDropdown = $('#orgSubSectorDropdown'); - childDropdown.empty(); - - let subSectors = sectorList.find(sector => (sector.sectorName === selectedValue))?.subSectors; - childDropdown.append($('
- - - - - + + + + + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj index a1c58c818..35791efbc 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Domain.Tests/Unity.GrantManager.Domain.Tests.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -13,10 +13,10 @@ - - - - + + + + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj index d5a110f95..377f8beb4 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.EntityFrameworkCore.Tests/Unity.GrantManager.EntityFrameworkCore.Tests.csproj @@ -1,9 +1,9 @@ - + - net8.0 + net9.0 enable Unity.GrantManager @@ -11,16 +11,16 @@ - - - - - - + + + + + + - + diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj index 900ef62cb..593c0e872 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.TestBase/Unity.GrantManager.TestBase.csproj @@ -1,39 +1,39 @@ - + - net8.0 + net9.0 enable Unity.GrantManager - - - - - - - - - - - + + + + + + + + + + + - - + + all runtime; build; native; contentfiles; analyzers - - - - + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Components/ApplicantInfoWidgetTests.cs b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Components/ApplicantInfoWidgetTests.cs index 028c674f1..b7a848b5f 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Components/ApplicantInfoWidgetTests.cs +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Components/ApplicantInfoWidgetTests.cs @@ -12,6 +12,7 @@ using Xunit; using Unity.GrantManager.ApplicationForms; using Unity.GrantManager.Applications; +using System.Collections.Generic; namespace Unity.GrantManager.Components { @@ -27,21 +28,34 @@ public ApplicantInfoWidgetTests() [Fact] public async Task ContactInfoReturnsStatus() { - var applicationDto = new ApplicationApplicantInfoDto() + // Arrange + var contactInfo = new ContactInfoDto + { + Name = "John Doe", + Title = "Doctor", + Email = "john.doe@email.local", + Phone = "+12501234567", + Phone2 = "+12501234567" + }; + + var signingAuthority = new SigningAuthorityDto + { + SigningAuthorityFullName = "Sam D", + SigningAuthorityTitle = "Director", + SigningAuthorityEmail = "sam.d@email.local", + SigningAuthorityBusinessPhone = "+12501234566", + SigningAuthorityCellPhone = "+12501234566" + }; + + var applicantInfoDto = new ApplicantInfoDto { - ContactFullName = "John Doe", - ContactTitle = "Doctor", - ContactEmail = "john.doe@email.com", - ContactBusinessPhone = "+12501234567", - ContactCellPhone = "+12501234567", - SigningAuthorityFullName = "Sam D", - SigningAuthorityTitle = "Director", - SigningAuthorityEmail = "sam.d@email.com", - SigningAuthorityBusinessPhone = "+12501234566", - SigningAuthorityCellPhone = "+12501234566", - ApplicantAddresses = - [ - new ApplicantAddressDto + ApplicantId = Guid.NewGuid(), + ApplicationFormId = Guid.NewGuid(), + ContactInfo = contactInfo, + SigningAuthority = signingAuthority, + ApplicantAddresses = new List + { + new() { AddressType = AddressType.MailingAddress, Street = "some street", @@ -50,7 +64,7 @@ public async Task ContactInfoReturnsStatus() Province = "some province", Postal = "some postal" }, - new ApplicantAddressDto + new() { AddressType = AddressType.PhysicalAddress, Street = "some street", @@ -59,12 +73,11 @@ public async Task ContactInfoReturnsStatus() Province = "some province", Postal = "some postal" }, - ] + } }; - // Arrange var appService = Substitute.For(); - appService.GetByApplicationIdAsync(Arg.Any()).Returns(applicationDto); + appService.GetApplicantInfoTabAsync(Arg.Any()).Returns(applicantInfoDto); var sectorService = Substitute.For(); var applicationElectoralDistrictAppService = Substitute.For(); @@ -99,15 +112,14 @@ public async Task ContactInfoReturnsStatus() resultModel = result!.ViewData!.Model! as ApplicantInfoViewModel; //Assert - var expectedFullName = "John Doe"; var expectedTitle = "Doctor"; - var expectedEmail = "john.doe@email.com"; + var expectedEmail = "john.doe@email.local"; var expectedBusinessPhone = "+12501234567"; var expectedCellPhone = "+12501234567"; var expectedSigningAuthorityFullName = "Sam D"; var expectedSigningAuthorityTitle = "Director"; - var expectedSigningAuthorityEmail = "sam.d@email.com"; + var expectedSigningAuthorityEmail = "sam.d@email.local"; var expectedSigningAuthorityBusinessPhone = "+12501234566"; var expectedSigningAuthorityCellPhone = "+12501234566"; var expectedPhysicalAddressStreet = "some street"; @@ -121,27 +133,27 @@ public async Task ContactInfoReturnsStatus() var expectedMailingAddressProvince = "some province"; var expectedMailingAddressPostalCode = "some postal"; - resultModel!.ContactFullName.ShouldBe(expectedFullName); - resultModel!.ContactTitle.ShouldBe(expectedTitle); - resultModel!.ContactEmail.ShouldBe(expectedEmail); - resultModel!.ContactBusinessPhone.ShouldBe(expectedBusinessPhone); - resultModel!.ContactCellPhone.ShouldBe(expectedCellPhone); - resultModel!.SigningAuthorityFullName.ShouldBe(expectedSigningAuthorityFullName); - resultModel!.SigningAuthorityTitle.ShouldBe(expectedSigningAuthorityTitle); - resultModel!.SigningAuthorityEmail.ShouldBe(expectedSigningAuthorityEmail); - resultModel!.SigningAuthorityBusinessPhone.ShouldBe(expectedSigningAuthorityBusinessPhone); - resultModel!.SigningAuthorityCellPhone.ShouldBe(expectedSigningAuthorityCellPhone); + // Updated assertions to match the new structure with nested objects + resultModel!.ContactInfo.Name.ShouldBe(expectedFullName); + resultModel!.ContactInfo.Title.ShouldBe(expectedTitle); + resultModel!.ContactInfo.Email.ShouldBe(expectedEmail); + resultModel!.ContactInfo.Phone.ShouldBe(expectedBusinessPhone); + resultModel!.ContactInfo.Phone2.ShouldBe(expectedCellPhone); + resultModel!.SigningAuthority.SigningAuthorityFullName.ShouldBe(expectedSigningAuthorityFullName); + resultModel!.SigningAuthority.SigningAuthorityTitle.ShouldBe(expectedSigningAuthorityTitle); + resultModel!.SigningAuthority.SigningAuthorityEmail.ShouldBe(expectedSigningAuthorityEmail); + resultModel!.SigningAuthority.SigningAuthorityBusinessPhone.ShouldBe(expectedSigningAuthorityBusinessPhone); + resultModel!.SigningAuthority.SigningAuthorityCellPhone.ShouldBe(expectedSigningAuthorityCellPhone); + + resultModel!.PhysicalAddress.Street.ShouldBe(expectedPhysicalAddressStreet); + resultModel!.PhysicalAddress.City.ShouldBe(expectedPhysicalAddressCity); + resultModel!.PhysicalAddress.Unit.ShouldBe(expectedPhysicalAddressUnit); + resultModel!.PhysicalAddress.Province.ShouldBe(expectedPhysicalAddressProvince); - resultModel!.PhysicalAddressStreet.ShouldBe(expectedPhysicalAddressStreet); - resultModel!.PhysicalAddressCity.ShouldBe(expectedPhysicalAddressCity); - resultModel!.PhysicalAddressUnit.ShouldBe(expectedPhysicalAddressUnit); - resultModel!.PhysicalAddressProvince.ShouldBe(expectedPhysicalAddressProvince); - resultModel!.PhysicalAddressPostalCode.ShouldBe(expectedPhysicalAddressPostalCode); - resultModel!.MailingAddressStreet.ShouldBe(expectedMailingAddressStreet); - resultModel!.MailingAddressCity.ShouldBe(expectedMailingAddressCity); - resultModel!.MailingAddressUnit.ShouldBe(expectedMailingAddressUnit); - resultModel!.MailingAddressProvince.ShouldBe(expectedMailingAddressProvince); - resultModel!.MailingAddressPostalCode.ShouldBe(expectedMailingAddressPostalCode); + resultModel!.MailingAddress.Street.ShouldBe(expectedMailingAddressStreet); + resultModel!.MailingAddress.City.ShouldBe(expectedMailingAddressCity); + resultModel!.MailingAddress.Unit.ShouldBe(expectedMailingAddressUnit); + resultModel!.MailingAddress.Province.ShouldBe(expectedMailingAddressProvince); } } } diff --git a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj index fffc69e17..e493fd408 100644 --- a/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj +++ b/applications/Unity.GrantManager/test/Unity.GrantManager.Web.Tests/Unity.GrantManager.Web.Tests.csproj @@ -1,12 +1,11 @@ - + - net8.0 + net9.0 enable - Exe - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; + Exe Unity.GrantManager true true @@ -22,17 +21,17 @@ - - - - - - + + + + + + - + - + diff --git a/applications/Unity.Tools/Unity.NginxData/reference/common/images/ExtendedUnityBanner.webp b/applications/Unity.Tools/Unity.NginxData/reference/common/images/ExtendedUnityBanner.webp new file mode 100644 index 000000000..31e122609 Binary files /dev/null and b/applications/Unity.Tools/Unity.NginxData/reference/common/images/ExtendedUnityBanner.webp differ diff --git a/applications/Unity.Tools/Unity.NginxData/reference/common/locations-detailed.json b/applications/Unity.Tools/Unity.NginxData/reference/common/locations-detailed.json index 2fe2dd56a..7ea1e8cd4 100644 --- a/applications/Unity.Tools/Unity.NginxData/reference/common/locations-detailed.json +++ b/applications/Unity.Tools/Unity.NginxData/reference/common/locations-detailed.json @@ -1 +1 @@ -[{"location":"100 Mile House","place_name":"100 Mile House","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"105 Mile House","place_name":"105 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"105 Mile Post 2","place_name":"","community":"105 Mile Post 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"108 Mile Ranch","place_name":"108 Mile Ranch","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"111 Mile House","place_name":"111 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"114 Mile House","place_name":"114 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"12 Mile","place_name":"12 Mile","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"122 Mile House","place_name":"122 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"127 Mile House","place_name":"127 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"141 Mile House","place_name":"141 Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"150 Mile House","place_name":"150 Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"40 Mile Flats","place_name":"40 Mile Flats","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"70 Mile House","place_name":"70 Mile House","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"93 Mile","place_name":"93 Mile","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"A:mai","place_name":"A:mai","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Aa-at-sow-is","place_name":"Aa-at-sow-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Abbotsford","place_name":"","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Abbott Heights","place_name":"Abbott Heights","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Aberdeen - Abbotsford","place_name":"Aberdeen","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Aberdeen - Kamloops","place_name":"Aberdeen","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Acous","place_name":"Acous","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Adams Lake","place_name":"Adams Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Agassiz","place_name":"Agassiz","community":"Kent","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Agate","place_name":"Agate","community":"Shackan 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Agats Meadow 8","place_name":"","community":"Agats Meadow 8","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ah:tliish","place_name":"Ah:tliish","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ahahswinis 1","place_name":"","community":"Ahahswinis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ahaminaquus 12","place_name":"","community":"Ahaminaquus 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ahbau","place_name":"Ahbau","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ahousat","place_name":"Ahousat","community":"Marktosis 15","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ainsworth Hot Springs","place_name":"Ainsworth Hot Springs","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Aitchelitch 9","place_name":"","community":"Aitchelitch 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Aiyansh (Kitladamas) 1","place_name":"Aiyansh (Kitladamas) 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Aiyansh 1","place_name":"Aiyansh 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ak:tiis","place_name":"Ak:tiis","community":"Village Island 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Akiskinook","place_name":"Akiskinook","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Alamo","place_name":"Alamo","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Albas","place_name":"Albas","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Alberni","place_name":"Alberni","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni 2","place_name":"","community":"Alberni 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alberni-Clayoquot A","place_name":"","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot B","place_name":"","community":"Alberni-Clayoquot B","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot C","place_name":"","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot D","place_name":"","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot E","place_name":"","community":"Alberni-Clayoquot E","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot F","place_name":"","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot, Subd. A","place_name":"Alberni-Clayoquot, Subd. A","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot, Subd. B","place_name":"Alberni-Clayoquot, Subd. B","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Albert Flat 5","place_name":"","community":"Albert Flat 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Albert Head","place_name":"Albert Head","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Albion","place_name":"Albion","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Albreda","place_name":"Albreda","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alder Creek","place_name":"Alder Creek","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Aldergrove","place_name":"Aldergrove","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Alert Bay","place_name":"Alert Bay","community":"Alert Bay - Village","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Alert Bay - Indian reserve","place_name":"","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alert Bay - Village","place_name":"","community":"Alert Bay - Village","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Alert Bay 1","place_name":"Alert Bay 1","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alert Bay 1A","place_name":"Alert Bay 1A","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alexandria","place_name":"","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 1","place_name":"Alexandria 1","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 1A","place_name":"Alexandria 1A","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 3","place_name":"Alexandria 3","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 3A","place_name":"Alexandria 3A","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis 9","place_name":"","community":"Alexis 9","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Alexis Creek","place_name":"Alexis Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 6","place_name":"Alexis Creek 6","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 14","place_name":"","community":"Alexis Creek 14","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 16","place_name":"","community":"Alexis Creek 16","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 17","place_name":"Alexis Creek 17","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 21","place_name":"","community":"Alexis Creek 21","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 24","place_name":"Alexis Creek 24","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 25","place_name":"Alexis Creek 25","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 34","place_name":"","community":"Alexis Creek 34","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Aleza Lake","place_name":"Aleza Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Alice Arm","place_name":"Alice Arm","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Alice Siding","place_name":"Alice Siding","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Alkali Lake","place_name":"Alkali Lake","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Alkali Lake 1","place_name":"","community":"Alkali Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alkali Lake 4A","place_name":"","community":"Alkali Lake 4A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Allenby","place_name":"Allenby","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Allens Addition","place_name":"Allens Addition","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Alliford Bay","place_name":"Alliford Bay","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Allison Lake","place_name":"Allison Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Almond Gardens","place_name":"Almond Gardens","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Almond Gardens Trailer Park","place_name":"Almond Gardens Trailer Park","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Alpine Meadows","place_name":"Alpine Meadows","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Alpine Trailer Park","place_name":"Alpine Trailer Park","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Alta Lake","place_name":"Alta Lake","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Altamont","place_name":"Altamont","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Altona","place_name":"Altona","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Alvin","place_name":"Alvin","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ambleside","place_name":"Ambleside","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Anacla 12","place_name":"","community":"Anacla 12","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Anaconda","place_name":"Anaconda","community":"Greenwood","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Anahim Lake","place_name":"Anahim Lake","community":"Squinas 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Flat 1","place_name":"","community":"Anahim's Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow","place_name":"","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow 2","place_name":"Anahim's Meadow 2","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow 2A","place_name":"Anahim's Meadow 2A","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anaqtl'a","place_name":"Anaqtl'a","community":"Anacla 12","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Anderson","place_name":"Anderson","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Andy Cahoose Meadow 16","place_name":"Andy Cahoose Meadow 16","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Anglemont","place_name":"Anglemont","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Anmore","place_name":"","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Anniedale","place_name":"Anniedale","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Annis","place_name":"Annis","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Annis Bay","place_name":"Annis Bay","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Anvil Island","place_name":"Anvil Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Anyox","place_name":"Anyox","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Anzac","place_name":"Anzac","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Apex Mountain","place_name":"Apex Mountain","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Appledale","place_name":"Appledale","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Applegrove","place_name":"Applegrove","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Apsagayu 1A","place_name":"Apsagayu 1A","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Arbutus","place_name":"Arbutus","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Arbutus Ridge","place_name":"Arbutus Ridge","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Archibald Subdivision","place_name":"Archibald Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ardmore","place_name":"Ardmore","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Argenta","place_name":"Argenta","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Armitage Trailer Court","place_name":"Armitage Trailer Court","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Armstrong","place_name":"","community":"Armstrong","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Armstrong - Armstrong","place_name":"Armstrong","community":"Armstrong","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Armstrong - Spallumcheen","place_name":"Armstrong","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Arnold","place_name":"Arnold","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Arras","place_name":"Arras","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Arrow Creek","place_name":"Arrow Creek","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Arrow Creek-Lakeview","place_name":"Arrow Creek-Lakeview","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Arrow Park","place_name":"Arrow Park","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Arrowhead","place_name":"Arrowhead","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Arrowview Heights","place_name":"Arrowview Heights","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Artina Trailer Court","place_name":"Artina Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Aschcroft Ranch","place_name":"Aschcroft Ranch","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashcroft","place_name":"","community":"Ashcroft","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashcroft 4","place_name":"","community":"Ashcroft 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ashcroft Manor","place_name":"Ashcroft Manor","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashnola 10","place_name":"","community":"Ashnola 10","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ashton Creek","place_name":"Ashton Creek","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Aspen Grove","place_name":"Aspen Grove","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Aspen Mobile Trailer Court","place_name":"Aspen Mobile Trailer Court","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Atchelitz","place_name":"Atchelitz","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Athalmer","place_name":"Athalmer","community":"Shuswap","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Atlin","place_name":"Atlin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Atluck","place_name":"Atluck","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Atnarko","place_name":"Atnarko","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Attachie","place_name":"Attachie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Aupe 6","place_name":"Aupe 6","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Aupe 6A","place_name":"Aupe 6A","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Austin Heights","place_name":"Austin Heights","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Australian","place_name":"Australian","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Avola","place_name":"Avola","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Aywawwis 15","place_name":"Aywawwis 15","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Azu Ski Village","place_name":"Azu Ski Village","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"B and D Trailer Court","place_name":"B and D Trailer Court","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Babcock Subdivision","place_name":"Babcock Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Babine 6","place_name":"Babine 6","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 16","place_name":"","community":"Babine 16","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 17","place_name":"","community":"Babine 17","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Babine 25","place_name":"","community":"Babine 25","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 6","place_name":"","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine Lake 21B","place_name":"","community":"Babine Lake 21B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Baezaeko River 25","place_name":"Baezaeko River 25","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Baezaeko River 26","place_name":"Baezaeko River 26","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Baezaeko River 27","place_name":"","community":"Baezaeko River 27","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Baker","place_name":"Baker","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Baker Creek","place_name":"Baker Creek","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Baldonnel","place_name":"Baldonnel","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Baldy Hughes","place_name":"Baldy Hughes","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Balfour","place_name":"Balfour","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Balmoral","place_name":"Balmoral","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Balmoral Beach","place_name":"Balmoral Beach","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bamberton","place_name":"Bamberton","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bamfield","place_name":"Bamfield","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Bankeir","place_name":"Bankeir","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Baptiste Meadow 2","place_name":"","community":"Baptiste Meadow 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Bargain Harbour","place_name":"Bargain Harbour","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Barkerville","place_name":"Barkerville","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Barlow Creek","place_name":"Barlow Creek","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Barnet","place_name":"Barnet","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Barnhartvale","place_name":"Barnhartvale","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Barnston Island","place_name":"Barnston Island","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Barnston Island 3","place_name":"","community":"Barnston Island 3","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Barrett Lake","place_name":"Barrett Lake","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Barriere","place_name":"","community":"Barriere","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Barrowtown","place_name":"Barrowtown","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Basque 18","place_name":"","community":"Basque 18","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bastion Bay","place_name":"Bastion Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Batchelor Hills","place_name":"Batchelor Hills","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Bates Beach","place_name":"Bates Beach","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Baynes Lake","place_name":"Baynes Lake","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bayview Estates","place_name":"Bayview Estates","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beach Grove","place_name":"Beach Grove","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Beachcomber","place_name":"Beachcomber","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Beachcomber Bay","place_name":"Beachcomber Bay","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Bealby Point","place_name":"Bealby Point","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bear Camp","place_name":"Bear Camp","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bear Creek","place_name":"Bear Creek","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bear Flat","place_name":"Bear Flat","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Bear Lake - Fraser-Fort George G","place_name":"Bear Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bear Lake - Stikine Region","place_name":"Bear Lake","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bear Mountain","place_name":"Bear Mountain","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Bear River Trailer Court","place_name":"Bear River Trailer Court","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Beard's Creek","place_name":"Beard's Creek","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Beasley","place_name":"Beasley","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beaton","place_name":"Beaton","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Beatton Ranch","place_name":"Beatton Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Beaver Cove","place_name":"Beaver Cove","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Beaver Creek","place_name":"Beaver Creek","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Beaver Falls","place_name":"Beaver Falls","community":"Montrose","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beaver Lake","place_name":"Beaver Lake","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Beaver Pass House","place_name":"Beaver Pass House","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Beaver Point","place_name":"Beaver Point","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Beaverdell","place_name":"Beaverdell","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beaverley","place_name":"Beaverley","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Beban Trailer Park","place_name":"Beban Trailer Park","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Becher Bay 1","place_name":"","community":"Becher Bay 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Becher Bay 2","place_name":"Becher Bay 2","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Becher House","place_name":"Becher House","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bedwell Harbour","place_name":"Bedwell Harbour","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Belaire Estates Trailer Park","place_name":"Belaire Estates Trailer Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Belcarra","place_name":"","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Bell II","place_name":"Bell II","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Bella Bella","place_name":"Bella Bella","community":"Bella Bella 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Bella 1","place_name":"","community":"Bella Bella 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Coola","place_name":"Bella Coola","community":"Bella Coola 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Coola 1","place_name":"","community":"Bella Coola 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Belle Vue Trailer Court","place_name":"Belle Vue Trailer Court","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Belleview","place_name":"Belleview","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Belmont Park","place_name":"Belmont Park","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Belva's Trailer Park","place_name":"Belva's Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Belvedere","place_name":"Belvedere","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Ben-My-Chree","place_name":"Ben-My-Chree","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bennett","place_name":"Bennett","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Benson Lake","place_name":"Benson Lake","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Benvoulin","place_name":"Benvoulin","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Beresford","place_name":"Beresford","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Bergs","place_name":"Bergs","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Beryl Prairie","place_name":"Beryl Prairie","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bessborough","place_name":"Bessborough","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Bestwick","place_name":"Bestwick","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Betty Creek 18","place_name":"","community":"Betty Creek 18","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Bevan","place_name":"Bevan","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Big Bar","place_name":"Big Bar","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Big Bar Creek","place_name":"Big Bar Creek","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Big Bay","place_name":"Big Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Big Creek","place_name":"Big Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Big Eddy","place_name":"Big Eddy","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Big Lake Ranch","place_name":"Big Lake Ranch","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Big White","place_name":"Big White","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Big White Village","place_name":"Big White Village","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bihl' k'a 18","place_name":"Bihl' k'a 18","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bihlk'a 6","place_name":"Bihlk'a 6","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Billings","place_name":"Billings","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Billings Bay","place_name":"Billings Bay","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Binche 2","place_name":"","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Binche 2 (Pinchie 2)","place_name":"Binche 2 (Pinchie 2)","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Birch Island","place_name":"Birch Island","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Birchdale","place_name":"Birchdale","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Birchland Manor","place_name":"Birchland Manor","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Birken","place_name":"Birken","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Black Creek - Cariboo F","place_name":"Black Creek","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Black Creek - Comox Valley C (Puntledge - Black Creek)","place_name":"Black Creek","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Black Pines","place_name":"Black Pines","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blackcomb","place_name":"Blackcomb","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Blackloam","place_name":"Blackloam","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Blackpool","place_name":"Blackpool","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blackstock Subdivision","place_name":"Blackstock Subdivision","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Blackwater - Cariboo I","place_name":"Blackwater","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Blackwater - Squamish-Lillooet C","place_name":"Blackwater","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Blackwater Meadow 11","place_name":"Blackwater Meadow 11","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Blaeberry","place_name":"Blaeberry","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blakeburn","place_name":"Blakeburn","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blewett","place_name":"Blewett","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Blind Bay","place_name":"Blind Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Blind Channel","place_name":"Blind Channel","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blind Creek 6","place_name":"","community":"Blind Creek 6","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bliss Landing","place_name":"Bliss Landing","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Bloedel","place_name":"Bloedel","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blowhole","place_name":"Blowhole","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blubber Bay","place_name":"Blubber Bay","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blucher Hall","place_name":"Blucher Hall","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blue Hills","place_name":"Blue Hills","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Blue River","place_name":"Blue River","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Blue Springs","place_name":"Blue Springs","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blueberry Creek","place_name":"Blueberry Creek","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Blueberry Farm","place_name":"Blueberry Farm","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Blueberry River 205","place_name":"","community":"Blueberry River 205","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Blueridge","place_name":"Blueridge","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Boat Basin","place_name":"Boat Basin","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Boat Harbour","place_name":"Boat Harbour","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bob Quinn Lake","place_name":"Bob Quinn Lake","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Bold Point","place_name":"Bold Point","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Bonaparte 3","place_name":"","community":"Bonaparte 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bonaventure Trailer Park","place_name":"Bonaventure Trailer Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bonnet Hill","place_name":"Bonnet Hill","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Bonnington Falls","place_name":"Bonnington Falls","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Boothroyd","place_name":"Boothroyd","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boothroyd (Part) 8A","place_name":"Boothroyd (Part) 8A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Boothroyd 13","place_name":"","community":"Boothroyd 13","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Boothroyd 5A","place_name":"Boothroyd 5A","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boothroyd 8A","place_name":"","community":"Boothroyd 8A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Boring Ranch","place_name":"Boring Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Boston Bar","place_name":"Boston Bar","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boston Bar 1A","place_name":"","community":"Boston Bar 1A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Boston Flats","place_name":"Boston Flats","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Boswell - Central Coast A","place_name":"Boswell","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Boswell - Central Kootenay A","place_name":"Boswell","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bouchie Lake","place_name":"Bouchie Lake","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Boulder City","place_name":"Boulder City","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Boundary Bay","place_name":"Boundary Bay","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Boundary Falls","place_name":"Boundary Falls","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bowen Bay","place_name":"Bowen Bay","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowen Island","place_name":"","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowen Island Trust","place_name":"Bowen Island Trust","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowron Lake","place_name":"Bowron Lake","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Bowser","place_name":"Bowser","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Box Lake","place_name":"Box Lake","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Brackendale","place_name":"Brackendale","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bradner","place_name":"Bradner","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brady Ranch","place_name":"Brady Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Braeloch","place_name":"Braeloch","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Braemar Heights","place_name":"Braemar Heights","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Braeside","place_name":"Braeside","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bralorne","place_name":"Bralorne","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Brandon","place_name":"Brandon","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Brauns Island","place_name":"Brauns Island","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Brem River","place_name":"Brem River","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brennan Creek","place_name":"Brennan Creek","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brentwood Bay","place_name":"Brentwood Bay","community":"South Saanich 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Brentwood Park","place_name":"Brentwood Park","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brew Bay","place_name":"Brew Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brexton","place_name":"Brexton","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Briar Ridge","place_name":"Briar Ridge","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Bridal Falls","place_name":"Bridal Falls","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bridesville","place_name":"Bridesville","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bridge Lake","place_name":"Bridge Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Bridge River 1","place_name":"","community":"Bridge River 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Bridgeview","place_name":"Bridgeview","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brigade Lake","place_name":"Brigade Lake","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brighouse","place_name":"Brighouse","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brighton Beach","place_name":"Brighton Beach","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brilliant","place_name":"Brilliant","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Brisco","place_name":"Brisco","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Britannia Beach","place_name":"Britannia Beach","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"British Properties","place_name":"British Properties","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Broadmoor","place_name":"Broadmoor","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Broadview","place_name":"Broadview","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Broadview Villa","place_name":"Broadview Villa","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Brocklehurst","place_name":"Brocklehurst","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Broman Lake","place_name":"Broman Lake","community":"Duncan Lake 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Brookfield Trailers","place_name":"Brookfield Trailers","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brookmere","place_name":"Brookmere","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brookswood","place_name":"Brookswood","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brouse","place_name":"Brouse","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Brown Road Trailer Park","place_name":"Brown Road Trailer Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Browns Bay","place_name":"Browns Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brunette Creek","place_name":"Brunette Creek","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brunswick","place_name":"Brunswick","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brunswick Beach","place_name":"Brunswick Beach","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Buccaneer Bay","place_name":"Buccaneer Bay","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Buckhorn","place_name":"Buckhorn","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Buckingham Heights","place_name":"Buckingham Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Buckinghorse River","place_name":"Buckinghorse River","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Buckley Bay","place_name":"Buckley Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bucktum 4","place_name":"","community":"Bucktum 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Buena Vista Estates","place_name":"Buena Vista Estates","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Buffalo Creek","place_name":"Buffalo Creek","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Buick","place_name":"Buick","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Bulkley House","place_name":"Bulkley House","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley River 19","place_name":"","community":"Bulkley River 19","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Bulkley-Nechako A","place_name":"","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako B","place_name":"","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako C","place_name":"","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako D","place_name":"","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako E","place_name":"","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako F","place_name":"","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako G","place_name":"","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako, Subd. A","place_name":"Bulkley-Nechako, Subd. A","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako, Subd. B","place_name":"Bulkley-Nechako, Subd. B","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bulkley-Nechako, Subd. C","place_name":"Bulkley-Nechako, Subd. C","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Bull Harbour","place_name":"Bull Harbour","community":"Hope Island 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bull River","place_name":"Bull River","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Bummers Flat 6","place_name":"Bummers Flat 6","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Buntzen Bay","place_name":"Buntzen Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burkeville","place_name":"Burkeville","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burnaby","place_name":"","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burnaby Heights","place_name":"Burnaby Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burns Lake","place_name":"","community":"Burns Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Burns Lake 18","place_name":"","community":"Burns Lake 18","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Burnt Flats","place_name":"Burnt Flats","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Burquitlam","place_name":"Burquitlam","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burrard Inlet 3","place_name":"","community":"Burrard Inlet 3","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Burton","place_name":"Burton","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Butedale","place_name":"Butedale","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cache Creek","place_name":"","community":"Cache Creek","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Cache Creek Campground","place_name":"Cache Creek Campground","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cadboro Bay","place_name":"Cadboro Bay","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Caesars","place_name":"Caesars","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Cahilty","place_name":"Cahilty","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cahoose 8","place_name":"Cahoose 8","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cahoose 10","place_name":"Cahoose 10","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cahoose 12","place_name":"Cahoose 12","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Caithness","place_name":"Caithness","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Caithness Trailer Court","place_name":"Caithness Trailer Court","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Callison Ranch","place_name":"Callison Ranch","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cambie-Solsqua","place_name":"Cambie-Solsqua","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Camborne","place_name":"Camborne","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Cameron Bar 13","place_name":"Cameron Bar 13","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cameron Heights","place_name":"Cameron Heights","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Camp Artaban","place_name":"Camp Artaban","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Camp Homewood","place_name":"Camp Homewood","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Camp McKinney","place_name":"Camp McKinney","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Campbell Creek","place_name":"Campbell Creek","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Campbell Island","place_name":"Campbell Island","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Campbell River","place_name":"","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Campbell River 11","place_name":"","community":"Campbell River 11","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Campbellton","place_name":"Campbellton","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Canal Flats","place_name":"","community":"Canal Flats","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Canford","place_name":"Canford","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Canim Lake","place_name":"Canim Lake","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Canim Lake 1","place_name":"","community":"Canim Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canim Lake 2","place_name":"","community":"Canim Lake 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canim Lake 4","place_name":"","community":"Canim Lake 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canoe","place_name":"Canoe","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Canoe Creek 1","place_name":"","community":"Canoe Creek 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Canoe Creek 2","place_name":"","community":"Canoe Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Canoe Creek 3","place_name":"","community":"Canoe Creek 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canyon","place_name":"Canyon","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Canyon Alpine","place_name":"Canyon Alpine","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Canyon Heights","place_name":"Canyon Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Canyon Hot Springs","place_name":"Canyon Hot Springs","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Canyon Trailer Park","place_name":"Canyon Trailer Park","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cape Mudge 10","place_name":"","community":"Cape Mudge 10","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Capilano 5","place_name":"","community":"Capilano 5","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Capilano Highlands","place_name":"Capilano Highlands","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Capital B","place_name":"Capital B","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital D","place_name":"Capital D","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. A","place_name":"Capital, Subd. A","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. B","place_name":"Capital, Subd. B","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. C","place_name":"Capital, Subd. C","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. D","place_name":"Capital, Subd. D","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capitol Hill","place_name":"Capitol Hill","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cariboo - Cariboo C","place_name":"Cariboo","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo - Coquitlam","place_name":"Cariboo","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cariboo A","place_name":"","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo B","place_name":"","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo C","place_name":"","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo D","place_name":"","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo E","place_name":"","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo F","place_name":"","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo G","place_name":"","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo H","place_name":"","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo I","place_name":"","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo J","place_name":"","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo K","place_name":"","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo L","place_name":"","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo Meadows","place_name":"Cariboo Meadows","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cariboo, Subd. A","place_name":"Cariboo, Subd. A","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo, Subd. B","place_name":"Cariboo, Subd. B","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cariboo, Subd. C","place_name":"Cariboo, Subd. C","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Carlin","place_name":"Carlin","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Carlson","place_name":"Carlson","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Carmi","place_name":"Carmi","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Carmi Subdivision","place_name":"Carmi Subdivision","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Carnaby","place_name":"Carnaby","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Carraholly","place_name":"Carraholly","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Carrolls Landing","place_name":"Carrolls Landing","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Carrs","place_name":"Carrs","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Carrs Landing","place_name":"Carrs Landing","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Carson","place_name":"Carson","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cascade - Belcarra","place_name":"Cascade","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Cascade - Kootenay Boundary C / Christina Lake","place_name":"Cascade","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cascade Heights","place_name":"Cascade Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Casimiel Meadows 15A","place_name":"Casimiel Meadows 15A","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Casino","place_name":"Casino","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cassiar","place_name":"Cassiar","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cassidy","place_name":"Cassidy","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cassidy Mobile Home Park","place_name":"Cassidy Mobile Home Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cassimayooks (Mayook) 5","place_name":"","community":"Cassimayooks (Mayook) 5","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Cassin","place_name":"Cassin","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Castle Rock","place_name":"Castle Rock","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Castledale","place_name":"Castledale","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Castlegar","place_name":"","community":"Castlegar","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Caulfeild","place_name":"Caulfeild","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cawston","place_name":"Cawston","community":"Okanagan-Similkameen B","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Caycuse","place_name":"Caycuse","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cayoosh Creek 1","place_name":"","community":"Cayoosh Creek 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cecil Lake","place_name":"Cecil Lake","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Cedar","place_name":"Cedar","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar By The Sea","place_name":"Cedar By The Sea","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar Creek Mobile Home Park","place_name":"Cedar Creek Mobile Home Park","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar Grove","place_name":"Cedar Grove","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Cedar Heights Estates","place_name":"Cedar Heights Estates","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Cedardale","place_name":"Cedardale","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cedarside","place_name":"Cedarside","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cedarvale","place_name":"Cedarvale","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Ceepeecee","place_name":"Ceepeecee","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Celista","place_name":"Celista","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Central Coast A","place_name":"","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast C","place_name":"","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast D","place_name":"","community":"Central Coast D","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast E","place_name":"","community":"Central Coast E","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast, Subd. A","place_name":"Central Coast, Subd. A","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Fraser Valley, Subd. A","place_name":"Central Fraser Valley, Subd. A","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Central Kootenay A","place_name":"","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay B","place_name":"","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay C","place_name":"","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay D","place_name":"","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay E","place_name":"","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay F","place_name":"","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay G","place_name":"","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay H","place_name":"","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay I","place_name":"","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay J","place_name":"","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay K","place_name":"","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay, Subd. A","place_name":"Central Kootenay, Subd. A","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay, Subd. B","place_name":"Central Kootenay, Subd. B","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Kootenay, Subd. C","place_name":"Central Kootenay, Subd. C","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Central Okanagan","place_name":"","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan G","place_name":"Central Okanagan G","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan H","place_name":"Central Okanagan H","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan J","place_name":"Central Okanagan J","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan West","place_name":"","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan, Subd. A","place_name":"Central Okanagan, Subd. A","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan, Subd. B","place_name":"Central Okanagan, Subd. B","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Saanich","place_name":"","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Centreville","place_name":"Centreville","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cha cha tsi tsi us","place_name":"Cha cha tsi tsi us","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chaatl","place_name":"Chaatl","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Chain Lake","place_name":"Chain Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chamiss Bay","place_name":"Chamiss Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Channel Ridge","place_name":"Channel Ridge","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chap-is","place_name":"Chap-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chapman Camp","place_name":"Chapman Camp","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Chapmans","place_name":"Chapmans","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Chapperon Ranch","place_name":"Chapperon Ranch","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Charella Garden","place_name":"Charella Garden","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Charley Boy's Meadow 3","place_name":"","community":"Charley Boy's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Charlie Lake","place_name":"Charlie Lake","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Charlotte Lake","place_name":"Charlotte Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chase","place_name":"","community":"Chase","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chase River","place_name":"Chase River","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Chasm","place_name":"Chasm","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chateau Village Trailer Court","place_name":"Chateau Village Trailer Court","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Chaumox","place_name":"Chaumox","community":"Speyum 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chaumox 11","place_name":"Chaumox 11","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Chawathil 4","place_name":"","community":"Chawathil 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheakamus","place_name":"Cheakamus","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cheakamus 11","place_name":"","community":"Cheakamus 11","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheam 1","place_name":"","community":"Cheam 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheam View","place_name":"Cheam View","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cheekye","place_name":"Cheekye","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chehalis 5","place_name":"","community":"Chehalis 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chekwelp 26","place_name":"","community":"Chekwelp 26","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chekwelp 26A","place_name":"Chekwelp 26A","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chemainus","place_name":"Chemainus","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Chemainus 13","place_name":"","community":"Chemainus 13","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chenahkint 12","place_name":"","community":"Chenahkint 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chenatha","place_name":"Chenatha","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chequis","place_name":"Chequis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cherry Creek - Alberni-Clayoquot F","place_name":"Cherry Creek","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cherry Creek - Thompson-Nicola J (Copper Desert Country)","place_name":"Cherry Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cherryville","place_name":"Cherryville","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ches-la-kee 3","place_name":"Ches-la-kee 3","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Cheslatta","place_name":"Cheslatta","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Cheslatta 1","place_name":"","community":"Cheslatta 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Chetarpe","place_name":"Chetarpe","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chetwynd","place_name":"","community":"Chetwynd","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Chezacut","place_name":"Chezacut","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chicoltin Estates Trailer Park","place_name":"Chicoltin Estates Trailer Park","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Chilanko Forks","place_name":"Chilanko Forks","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chilco Lake 1","place_name":"","community":"Chilco Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Chilco Lake 1A","place_name":"","community":"Chilco Lake 1A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Chilcotin Forest","place_name":"Chilcotin Forest","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chilhil 6","place_name":"","community":"Chilhil 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chilliwack","place_name":"","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Chilton Subdivision","place_name":"Chilton Subdivision","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Chimney Valley","place_name":"Chimney Valley","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Chineside","place_name":"Chineside","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Chinook Cove","place_name":"Chinook Cove","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chinook Mobile Home Park","place_name":"Chinook Mobile Home Park","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Choate","place_name":"Choate","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chopaka","place_name":"Chopaka","community":"Chopaka 7 & 8","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chopaka 7 & 8","place_name":"","community":"Chopaka 7 & 8","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Christian Valley","place_name":"Christian Valley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Christina Lake","place_name":"Christina Lake","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Chu Chua","place_name":"Chu Chua","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chuchhraischin","place_name":"","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchhriaschin 5","place_name":"Chuchhriaschin 5","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchhriaschin 5A","place_name":"Chuchhriaschin 5A","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchuwayha 2","place_name":"","community":"Chuchuwayha 2","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chum Creek 2","place_name":"","community":"Chum Creek 2","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chumata","place_name":"Chumata","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Church House","place_name":"Church House","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Chute Lake","place_name":"Chute Lake","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cinema","place_name":"Cinema","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cinnabar Valley","place_name":"Cinnabar Valley","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"City of West Kelowna","place_name":"City of West Kelowna","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Clairmont","place_name":"Clairmont","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Clakamucus 2","place_name":"","community":"Clakamucus 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Claoose 4","place_name":"Claoose 4","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Clapperton","place_name":"Clapperton","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Claremont Subdivision","place_name":"Claremont Subdivision","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Clayburn","place_name":"Clayburn","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clayhurst","place_name":"Clayhurst","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Clayoquot","place_name":"Clayoquot","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cleagh Creek","place_name":"Cleagh Creek","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Clearbrook","place_name":"Clearbrook","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clearwater","place_name":"","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Clearwater Trailer Park","place_name":"Clearwater Trailer Park","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Clem Clem","place_name":"Clem Clem","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Clemretta","place_name":"Clemretta","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Cleveland Park","place_name":"Cleveland Park","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clinton","place_name":"","community":"Clinton","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Clo-oose","place_name":"Clo-oose","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Clover Acres Mobile Villa","place_name":"Clover Acres Mobile Villa","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cloverdale","place_name":"Cloverdale","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clutus","place_name":"Clutus","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Coal Harbour","place_name":"Coal Harbour","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Coal River","place_name":"Coal River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Coalmont","place_name":"Coalmont","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cobble Hill","place_name":"Cobble Hill","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cody","place_name":"Cody","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Coffin Point","place_name":"Coffin Point","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coglistiko River 29","place_name":"","community":"Coglistiko River 29","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Cokato","place_name":"Cokato","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Coldspring House","place_name":"Coldspring House","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Coldstream","place_name":"","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Coldstream Ranch","place_name":"Coldstream Ranch","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Coldwater 1","place_name":"","community":"Coldwater 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Coldwell Beach","place_name":"Coldwell Beach","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cole Bay 3","place_name":"","community":"Cole Bay 3","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"College Heights","place_name":"College Heights","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Collettville","place_name":"Collettville","community":"Merritt","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Colleymount","place_name":"Colleymount","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Colquitz","place_name":"Colquitz","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Columbia Gardens","place_name":"Columbia Gardens","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Columbia Lake 3","place_name":"","community":"Columbia Lake 3","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Columbia Lake Resort Trailer Park","place_name":"Columbia Lake Resort Trailer Park","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Columbia-Shuswap A","place_name":"","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap B","place_name":"","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap C","place_name":"","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Columbia-Shuswap D","place_name":"","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap E","place_name":"","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap F","place_name":"","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap, Subd. A","place_name":"Columbia-Shuswap, Subd. A","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap, Subd. B","place_name":"Columbia-Shuswap, Subd. B","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap, Subd. C","place_name":"Columbia-Shuswap, Subd. C","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columere Park","place_name":"Columere Park","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Colwood","place_name":"","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Comer Hill Trailer Park","place_name":"Comer Hill Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Comiaken","place_name":"Comiaken","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Commodore Heights","place_name":"Commodore Heights","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Comox","place_name":"","community":"Comox","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox 1","place_name":"","community":"Comox 1","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Comox Valley A","place_name":"","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox Valley B (Lazo North)","place_name":"","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox Valley C (Puntledge - Black Creek)","place_name":"","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona A","place_name":"Comox-Strathcona A","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona B","place_name":"Comox-Strathcona B","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona C","place_name":"Comox-Strathcona C","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona D","place_name":"Comox-Strathcona D","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Comox-Strathcona G","place_name":"Comox-Strathcona G","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona H","place_name":"Comox-Strathcona H","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona I","place_name":"Comox-Strathcona I","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona J","place_name":"Comox-Strathcona J","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona K","place_name":"Comox-Strathcona K","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona, Subd. A","place_name":"Comox-Strathcona, Subd. A","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona, Subd. B","place_name":"Comox-Strathcona, Subd. B","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Comox-Strathcona, Subd. C","place_name":"Comox-Strathcona, Subd. C","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona, Subd. D","place_name":"Comox-Strathcona, Subd. D","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Compton Island 6","place_name":"Compton Island 6","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Connaught Heights","place_name":"Connaught Heights","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Coombe","place_name":"Coombe","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Coombs","place_name":"Coombs","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coombs Trailer Park","place_name":"Coombs Trailer Park","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cooper Creek","place_name":"Cooper Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Copper City","place_name":"Copper City","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Copper Cove","place_name":"Copper Cove","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Copper Creek","place_name":"Copper Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Copper Mountain","place_name":"Copper Mountain","community":"Princeton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Coquitlam","place_name":"","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Coquitlam 1","place_name":"","community":"Coquitlam 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Coquitlam 2","place_name":"","community":"Coquitlam 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Coral Beach","place_name":"Coral Beach","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Corbin","place_name":"Corbin","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cordova Bay","place_name":"Cordova Bay","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Cornwall Lodge Trailer Park","place_name":"Cornwall Lodge Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Corra Linn","place_name":"Corra Linn","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cortes Bay","place_name":"Cortes Bay","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Coryatsaqua (Moricetown) 2","place_name":"","community":"Coryatsaqua (Moricetown) 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Coryville","place_name":"Coryville","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Cosy Cove","place_name":"Cosy Cove","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Cottonwood","place_name":"Cottonwood","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Cottonwood Trailer Park","place_name":"Cottonwood Trailer Park","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Couldwell Subdivision","place_name":"Couldwell Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Country Lane Park","place_name":"Country Lane Park","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Country Side Estates Trailer Court","place_name":"Country Side Estates Trailer Court","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Courtenay","place_name":"","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Coutlee","place_name":"Coutlee","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cove Cliff","place_name":"Cove Cliff","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cowans Point","place_name":"Cowans Point","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cowichan","place_name":"","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan 1","place_name":"Cowichan 1","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan 9","place_name":"Cowichan 9","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan Bay","place_name":"Cowichan Bay","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Lake","place_name":"","community":"Cowichan Lake","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan Station","place_name":"Cowichan Station","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley A","place_name":"","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley B","place_name":"","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley C","place_name":"","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley D","place_name":"","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley E","place_name":"","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley F","place_name":"","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley G","place_name":"","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley H","place_name":"","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley I","place_name":"","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. A","place_name":"Cowichan Valley, Subd. A","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. B","place_name":"Cowichan Valley, Subd. B","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. C","place_name":"Cowichan Valley, Subd. C","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. D","place_name":"Cowichan Valley, Subd. D","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coyle","place_name":"Coyle","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cracroft","place_name":"Cracroft","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Craigellachie","place_name":"Craigellachie","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Craigs Trailer Court","place_name":"Craigs Trailer Court","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cranberry","place_name":"Cranberry","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cranberry Junction","place_name":"Cranberry Junction","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cranbrook","place_name":"","community":"Cranbrook","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Cranbrook Trailer Court","place_name":"Cranbrook Trailer Court","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Crawford Bay","place_name":"Crawford Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Creekside","place_name":"Creekside","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Creekside Trailer Park","place_name":"Creekside Trailer Park","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Creighton Valley","place_name":"Creighton Valley","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Crescent","place_name":"Crescent","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Crescent Bay - Central Kootenay F","place_name":"Crescent Bay","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Crescent Bay - Central Kootenay K","place_name":"Crescent Bay","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Crescent Beach - Okanagan-Similkameen F","place_name":"Crescent Beach","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Crescent Beach - Surrey","place_name":"Crescent Beach","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Crescent Spur","place_name":"Crescent Spur","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Crescent Valley","place_name":"Crescent Valley","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Crest-A-Way","place_name":"Crest-A-Way","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Creston","place_name":"","community":"Creston","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Creston 1","place_name":"","community":"Creston 1","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Creston Valley Mobile Park","place_name":"Creston Valley Mobile Park","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Creston Wyndle Road","place_name":"Creston Wyndle Road","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Crestwood Subdivision","place_name":"Crestwood Subdivision","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Criss Creek","place_name":"Criss Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Crofton","place_name":"Crofton","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Crotteau Subdivision","place_name":"Crotteau Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Crowsnest","place_name":"Crowsnest","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Croydon","place_name":"Croydon","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cultus Lake","place_name":"Cultus Lake","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cultus Lake Estates Mobile Home Park","place_name":"Cultus Lake Estates Mobile Home Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cumberland","place_name":"","community":"Cumberland","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cumshewa","place_name":"Cumshewa","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Curzon","place_name":"Curzon","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cypress Park","place_name":"Cypress Park","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dadens","place_name":"Dadens","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Dallas","place_name":"Dallas","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Danskin","place_name":"Danskin","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"D'Arcy","place_name":"D'Arcy","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Darfield","place_name":"Darfield","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Darrell Bay","place_name":"Darrell Bay","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dartmoor","place_name":"Dartmoor","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dashwood","place_name":"Dashwood","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Davis Bay","place_name":"Davis Bay","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dawson Creek","place_name":"","community":"Dawson Creek","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 3"},{"location":"Dawsons Landing","place_name":"Dawsons Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Days Ranch","place_name":"Days Ranch","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Day's Subdivision","place_name":"Day's Subdivision","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"De Courcy Island","place_name":"De Courcy Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dead Point 5","place_name":"","community":"Dead Point 5","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Deadtree Point","place_name":"Deadtree Point","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Deadwood","place_name":"Deadwood","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Dease Lake","place_name":"Dease Lake","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Dease Lake 9","place_name":"","community":"Dease Lake 9","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dease River 1","place_name":"","community":"Dease River 1","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Decker Lake","place_name":"Decker Lake","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Deekyakus","place_name":"Deekyakus","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Deep Bay","place_name":"Deep Bay","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Deep Cove - North Saanich","place_name":"Deep Cove","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Deep Cove - North Vancouver - District municipality","place_name":"Deep Cove","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Deep Creek","place_name":"Deep Creek","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Deep Creek 2","place_name":"","community":"Deep Creek 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Deer Park","place_name":"Deer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Deerholme","place_name":"Deerholme","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Defot","place_name":"Defot","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Deka Lake","place_name":"Deka Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Deka Lake Subdivision","place_name":"Deka Lake Subdivision","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Del Oro Subdivision","place_name":"Del Oro Subdivision","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Delbrook","place_name":"Delbrook","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Delkatla","place_name":"Delkatla","community":"Masset","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Delta","place_name":"","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Denman Island","place_name":"Denman Island","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dentville","place_name":"Dentville","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Departure Bay","place_name":"Departure Bay","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Deroche","place_name":"Deroche","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Devine","place_name":"Devine","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dewdney","place_name":"Dewdney","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Dewdney-Alouette, Subd. A","place_name":"Dewdney-Alouette, Subd. A","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dibble Subdivision","place_name":"Dibble Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Digby Island","place_name":"Digby Island","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dochsupple","place_name":"Dochsupple","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dodge Cove","place_name":"Dodge Cove","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Doe River","place_name":"Doe River","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Dog Creek - Bulkley-Nechako F","place_name":"Dog Creek","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Dog Creek - Cariboo E","place_name":"Dog Creek","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Dog Creek 1","place_name":"","community":"Dog Creek 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Dog Creek 2","place_name":"","community":"Dog Creek 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Dogpatch","place_name":"Dogpatch","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dogwood Valley","place_name":"Dogwood Valley","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Doig River","place_name":"Doig River","community":"Doig River 206","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Doig River 206","place_name":"","community":"Doig River 206","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Dokie Siding","place_name":"Dokie Siding","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Dokkie Subdivision","place_name":"Dokkie Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Dolan Road Subdivision","place_name":"Dolan Road Subdivision","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Dollarton","place_name":"Dollarton","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dolphin Beach","place_name":"Dolphin Beach","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dolphin Beach Estates","place_name":"Dolphin Beach Estates","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dolphin Island 1","place_name":"","community":"Dolphin Island 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dome Creek","place_name":"Dome Creek","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Donald","place_name":"Donald","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Donald Landing","place_name":"Donald Landing","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Donnely Landing","place_name":"Donnely Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Don's Trailer Court","place_name":"Don's Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dookqua","place_name":"Dookqua","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dorcas Point","place_name":"Dorcas Point","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Doriston","place_name":"Doriston","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Dorreen","place_name":"Dorreen","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Douglas","place_name":"Douglas","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Douglas 8","place_name":"","community":"Douglas 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Douglas Hill Estates","place_name":"Douglas Hill Estates","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Douglas Lake","place_name":"Douglas Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Douglas Lake 3","place_name":"","community":"Douglas Lake 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Dove Creek","place_name":"Dove Creek","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dragon Lake 3","place_name":"","community":"Dragon Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Drew Harbour","place_name":"Drew Harbour","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Driftwood Creek","place_name":"Driftwood Creek","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Dry Gulch","place_name":"Dry Gulch","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Duck Lake 7","place_name":"","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Duck Range","place_name":"Duck Range","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dufferin","place_name":"Dufferin","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Dugan Lake","place_name":"Dugan Lake","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Dunbar-Southlands","place_name":"Dunbar-Southlands","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Duncan","place_name":"","community":"Duncan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Duncan Bay","place_name":"Duncan Bay","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Duncan Lake 2","place_name":"","community":"Duncan Lake 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Duncanby Landing","place_name":"Duncanby Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Dundarave","place_name":"Dundarave","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dunkley","place_name":"Dunkley","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Dunsmuir","place_name":"Dunsmuir","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dunster","place_name":"Dunster","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Durieu","place_name":"Durieu","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dutch Creek Subdivision","place_name":"Dutch Creek Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Dutch Lake","place_name":"Dutch Lake","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Resort","place_name":"Dutch Lake Resort","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Subdivision","place_name":"Dutch Lake Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Trailer Park","place_name":"Dutch Lake Trailer Park","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dzitline Lee 9","place_name":"","community":"Dzitline Lee 9","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Êâ€Esdilagh","place_name":"Êâ€Esdilagh","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Eagle Bay","place_name":"Eagle Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Eagle Bay Estates Subdivision","place_name":"Eagle Bay Estates Subdivision","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Eagle Bluff","place_name":"Eagle Bluff","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Eagle Creek","place_name":"Eagle Creek","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Eagle Harbour","place_name":"Eagle Harbour","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eagle Heights","place_name":"Eagle Heights","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Eagle Ridge","place_name":"Eagle Ridge","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eagle Rock Trailer Park","place_name":"Eagle Rock Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Eagle Run","place_name":"Eagle Run","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Earls Cove","place_name":"Earls Cove","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"East Arrow Park","place_name":"East Arrow Park","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Gate - Columbia-Shuswap A","place_name":"East Gate","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"East Gate - Okanagan-Similkameen H","place_name":"East Gate","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"East Kelowna","place_name":"East Kelowna","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"East Kootenay A","place_name":"","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay B","place_name":"","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay C","place_name":"","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"East Kootenay E","place_name":"","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay F","place_name":"","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay G","place_name":"","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay, Subd. A","place_name":"East Kootenay, Subd. A","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay, Subd. B","place_name":"East Kootenay, Subd. B","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"East Kootenay, Subd. C","place_name":"East Kootenay, Subd. C","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Moberly Lake 169","place_name":"","community":"East Moberly Lake 169","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"East Osoyoos","place_name":"East Osoyoos","community":"Okanagan-Similkameen A","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"East Pine","place_name":"East Pine","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"East Saanich 2","place_name":"","community":"East Saanich 2","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"East Sooke","place_name":"East Sooke","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"East Trail","place_name":"East Trail","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"East Wellington","place_name":"East Wellington","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Eastbourne","place_name":"Eastbourne","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Eastburn","place_name":"Eastburn","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eastgate","place_name":"Eastgate","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Echo Bay","place_name":"Echo Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ecoole","place_name":"Ecoole","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Eddontenajon","place_name":"Eddontenajon","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Eddy","place_name":"Eddy","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Edelweiss","place_name":"Edelweiss","community":"Golden","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Edgewater","place_name":"Edgewater","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Edgewood","place_name":"Edgewood","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Edgewood Trailer Court","place_name":"Edgewood Trailer Court","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Egmont","place_name":"Egmont","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Ehatis 11","place_name":"","community":"Ehatis 11","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ehatisaht","place_name":"Ehatisaht","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Eholt","place_name":"Eholt","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ekins Point","place_name":"Ekins Point","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Elephant Crossing","place_name":"Elephant Crossing","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Eleven Mile Site","place_name":"Eleven Mile Site","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Elgin","place_name":"Elgin","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Elhlateese 2","place_name":"","community":"Elhlateese 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Elk Bay","place_name":"Elk Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Elk Prairie","place_name":"Elk Prairie","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elk Valley Trailer Court","place_name":"Elk Valley Trailer Court","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elkford","place_name":"","community":"Elkford","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elko","place_name":"Elko","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ellison","place_name":"Ellison","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Ellsworth Trailer Camp","place_name":"Ellsworth Trailer Camp","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Elphinstone","place_name":"Elphinstone","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Endako","place_name":"Endako","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Enderby","place_name":"","community":"Enderby","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Enderby 2","place_name":"","community":"Enderby 2","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Engen","place_name":"Engen","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Engineer","place_name":"Engineer","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Enterprise","place_name":"Enterprise","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Entlqwekkinh 19","place_name":"","community":"Entlqwekkinh 19","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Erickson","place_name":"Erickson","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Erie","place_name":"Erie","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Errington","place_name":"Errington","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Esler","place_name":"Esler","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Esowista 3","place_name":"","community":"Esowista 3","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Esperanza","place_name":"Esperanza","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Espinosa Inlet","place_name":"Espinosa Inlet","community":"Oclucje 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Esquimalt - District municipality","place_name":"","community":"Esquimalt - District municipality","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Esquimalt - Indian reserve","place_name":"","community":"Esquimalt - Indian reserve","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Essondale","place_name":"Essondale","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Estevan Point","place_name":"Estevan Point","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Est-Patrolas 4","place_name":"","community":"Est-Patrolas 4","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Euchinico Creek 17","place_name":"","community":"Euchinico Creek 17","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Evergreen Acres - Clearwater","place_name":"Evergreen Acres","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Evergreen Acres - Peace River B","place_name":"Evergreen Acres","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Evergreen Trailer Park","place_name":"Evergreen Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ewing","place_name":"Ewing","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Exeter","place_name":"Exeter","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Exlou","place_name":"Exlou","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Extension","place_name":"Extension","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fair Harbour","place_name":"Fair Harbour","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fairbridge","place_name":"Fairbridge","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fairfield - Chilliwack","place_name":"Fairfield","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Fairfield - Victoria","place_name":"Fairfield","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Fairmont Hot Springs","place_name":"Fairmont Hot Springs","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fairview - Okanagan-Similkameen C","place_name":"Fairview","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fairview - Vancouver","place_name":"Fairview","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fairview Subdivision","place_name":"Fairview Subdivision","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fairwinds","place_name":"Fairwinds","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Falkland","place_name":"Falkland","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fallsway","place_name":"Fallsway","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"False Bay","place_name":"False Bay","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fanny Bay - Comox Valley A","place_name":"Fanny Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fanny Bay - Strathcona C","place_name":"Fanny Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Farmington","place_name":"Farmington","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Farrell Creek","place_name":"Farrell Creek","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fauquier","place_name":"Fauquier","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Federal Ranch","place_name":"Federal Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fellers Heights","place_name":"Fellers Heights","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Ferguson","place_name":"Ferguson","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Fern Ridge","place_name":"Fern Ridge","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ferndale","place_name":"Ferndale","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fernie","place_name":"","community":"Fernie","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fernlee","place_name":"Fernlee","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Fernwood","place_name":"Fernwood","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Field","place_name":"Field","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fife","place_name":"Fife","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fifth Cabin","place_name":"Fifth Cabin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Finlay River 6","place_name":"","community":"Finlay River 6","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fintry","place_name":"Fintry","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Fireside","place_name":"Fireside","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Firvale","place_name":"Firvale","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fishtrap 19","place_name":"","community":"Fishtrap 19","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Five Mile","place_name":"Five Mile","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Five Mile Point 3","place_name":"Five Mile Point 3","community":"Five Mile Point 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Five Mile Point 3","place_name":"","community":"Five Mile Point 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Flathead","place_name":"Flathead","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Flatrock","place_name":"Flatrock","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Flats","place_name":"Flats","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fleetwood","place_name":"Fleetwood","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Floods","place_name":"Floods","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fontas","place_name":"Fontas","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fontas 1","place_name":"","community":"Fontas 1","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fontas 1 - Northern Rockies","place_name":"Fontas 1","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Forde","place_name":"Forde","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Foreman","place_name":"Foreman","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Forest Grove","place_name":"Forest Grove","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Forest Grove Trailer Park","place_name":"Forest Grove Trailer Park","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Forest Hills","place_name":"Forest Hills","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Forest Knolls","place_name":"Forest Knolls","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Forest Lawn Trailer Court","place_name":"Forest Lawn Trailer Court","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Forestdale","place_name":"Forestdale","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Forestglade Trailer Park","place_name":"Forestglade Trailer Park","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fort Babine","place_name":"Fort Babine","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Fort Fraser","place_name":"Fort Fraser","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Fort George (Shelley) 2","place_name":"Fort George (Shelley) 2","community":"Fort George 2","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Fort George 2","place_name":"","community":"Fort George 2","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Fort Langley","place_name":"Fort Langley","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fort Nelson","place_name":"Fort Nelson","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fort Nelson 2","place_name":"","community":"Fort Nelson 2","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fort Nelson-Liard, Subd. A","place_name":"Fort Nelson-Liard, Subd. A","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fort Rupert","place_name":"Fort Rupert","community":"Port Hardy","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Fort Rupert 1","place_name":"","community":"Fort Rupert 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Fort St. James","place_name":"","community":"Fort St. James","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Fort St. John","place_name":"","community":"Fort St. John","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 3"},{"location":"Fort Steele","place_name":"Fort Steele","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Fort Ware","place_name":"Fort Ware","community":"Fort Ware 1","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fort Ware 1","place_name":"","community":"Fort Ware 1","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fosthall","place_name":"Fosthall","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fountain","place_name":"Fountain","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Fountain 1","place_name":"Fountain 1","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3","place_name":"Fountain 3","community":"Fountain 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1","place_name":"","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 10","place_name":"","community":"Fountain 10","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 11","place_name":"","community":"Fountain 11","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 12","place_name":"","community":"Fountain 12","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1B","place_name":"","community":"Fountain 1B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1D","place_name":"","community":"Fountain 1D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3","place_name":"","community":"Fountain 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3A","place_name":"","community":"Fountain 3A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain Creek 8","place_name":"","community":"Fountain Creek 8","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain Valley","place_name":"Fountain Valley","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fourth Cabin","place_name":"Fourth Cabin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Fourways Trailer Park","place_name":"Fourways Trailer Park","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fowler","place_name":"Fowler","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Fox Mountain","place_name":"Fox Mountain","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Frames","place_name":"Frames","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Francis Peninsula","place_name":"Francis Peninsula","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"François Lake","place_name":"François Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Francois Lake 7","place_name":"","community":"Francois Lake 7","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Franklin Camp","place_name":"Franklin Camp","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Franks 10","place_name":"Franks 10","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser","place_name":"Fraser","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fraser Heights","place_name":"Fraser Heights","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Lake","place_name":"","community":"Fraser Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Fraser Mills","place_name":"Fraser Mills","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Valley A","place_name":"","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Fraser Valley B","place_name":"","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley C","place_name":"","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley D","place_name":"","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley E","place_name":"","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley F","place_name":"","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley G","place_name":"","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Fraser Valley H","place_name":"","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. A","place_name":"Fraser Valley, Subd. A","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. B","place_name":"Fraser Valley, Subd. B","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. C","place_name":"Fraser Valley, Subd. C","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. D","place_name":"Fraser Valley, Subd. D","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Valley, Subd. E","place_name":"Fraser Valley, Subd. E","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser-Fort George A","place_name":"","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George C","place_name":"","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George D","place_name":"","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George E","place_name":"","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George F","place_name":"","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George G","place_name":"","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George H","place_name":"","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George, Subd. A","place_name":"Fraser-Fort George, Subd. A","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George, Subd. B","place_name":"Fraser-Fort George, Subd. B","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Freeport Trailer Park","place_name":"Freeport Trailer Park","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"French Creek","place_name":"French Creek","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fruitvale","place_name":"","community":"Fruitvale","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fry Creek","place_name":"Fry Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fulford Harbour","place_name":"Fulford Harbour","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Furry Creek","place_name":"Furry Creek","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gabriola","place_name":"Gabriola","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Gabriola Island","place_name":"Gabriola Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Gabriola Island Trust Area part A","place_name":"Gabriola Island Trust Area part A","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Galena","place_name":"Galena","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Galena Bay","place_name":"Galena Bay","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Galiano Island 9","place_name":"","community":"Galiano Island 9","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Gallagher Lake","place_name":"Gallagher Lake","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Galloway","place_name":"Galloway","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Gambier Harbour","place_name":"Gambier Harbour","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gambier Island","place_name":"Gambier Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gang Ranch","place_name":"Gang Ranch","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ganges","place_name":"Ganges","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Garden","place_name":"","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden 2","place_name":"Garden 2","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden 2A","place_name":"Garden 2A","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden Bay","place_name":"Garden Bay","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Garden Village","place_name":"Garden Village","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gardner Lake Mobile Home Park","place_name":"Gardner Lake Mobile Home Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Garibaldi","place_name":"Garibaldi","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Garibaldi Estates","place_name":"Garibaldi Estates","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Garnet Rock Trailer Court","place_name":"Garnet Rock Trailer Court","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Garnet Valley","place_name":"Garnet Valley","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Garry Oaks","place_name":"Garry Oaks","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gates","place_name":"Gates","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gateway","place_name":"Gateway","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Gellatly","place_name":"Gellatly","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Genelle","place_name":"Genelle","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Genoa Bay","place_name":"Genoa Bay","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"George River","place_name":"George River","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Georgetown Mills","place_name":"Georgetown Mills","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Germansen Landing","place_name":"Germansen Landing","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Gerow Island","place_name":"Gerow Island","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Gerrard","place_name":"Gerrard","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Gibson Creek","place_name":"Gibson Creek","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Gibsons","place_name":"","community":"Gibsons","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gifford","place_name":"Gifford","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gillies Bay","place_name":"Gillies Bay","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gilpin","place_name":"Gilpin","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Gingolx","place_name":"Gingolx","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Giscome","place_name":"Giscome","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Gitanmaax 1","place_name":"","community":"Gitanmaax 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitanyow","place_name":"Gitanyow","community":"Gitanyow 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitanyow 1","place_name":"","community":"Gitanyow 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitlaxksiip","place_name":"Gitlaxksiip","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitsegukla 1","place_name":"","community":"Gitsegukla 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwangak 1","place_name":"","community":"Gitwangak 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwinksihlkw","place_name":"Gitwinksihlkw","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwinksihlkw 7","place_name":"Gitwinksihlkw 7","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitzault 24","place_name":"Gitzault 24","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Glacier Gulch","place_name":"Glacier Gulch","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Glade","place_name":"Glade","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Gladwin Trailer Court","place_name":"Gladwin Trailer Court","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Glen Lake","place_name":"Glen Lake","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Glen Valley","place_name":"Glen Valley","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glen Vowell","place_name":"Glen Vowell","community":"Sik-e-dakh 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Glenannan","place_name":"Glenannan","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Glenbank","place_name":"Glenbank","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Glenbrooke North","place_name":"Glenbrooke North","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glendale","place_name":"Glendale","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"Gleneagles","place_name":"Gleneagles","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gleneden","place_name":"Gleneden","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Glenemma","place_name":"Glenemma","community":"Okanagan (Part) 1 - Thompson/Okanagan","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Glen-Gla-Ouch 5","place_name":"Glen-Gla-Ouch 5","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Glenlily","place_name":"Glenlily","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Glenmerry","place_name":"Glenmerry","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Glenmore","place_name":"Glenmore","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glenora - Cowichan Valley E","place_name":"Glenora","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Glenora - Kitimat-Stikine D","place_name":"Glenora","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Glenrosa","place_name":"Glenrosa","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Glentanna","place_name":"Glentanna","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Glimpse Lake","place_name":"Glimpse Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Gold Bridge","place_name":"Gold Bridge","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Gold River","place_name":"","community":"Gold River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Golden","place_name":"","community":"Golden","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Goldstream","place_name":"Goldstream","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Good Hope","place_name":"Good Hope","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Good Hope Lake","place_name":"","community":"Good Hope Lake","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Goodlow","place_name":"Goodlow","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Goose Bay","place_name":"Goose Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gordon Head","place_name":"Gordon Head","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Gordon River","place_name":"Gordon River","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gordon River 2","place_name":"","community":"Gordon River 2","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Gorge Harbour","place_name":"Gorge Harbour","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gossen Creek","place_name":"Gossen Creek","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Gossip Island","place_name":"Gossip Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gowlland Harbour","place_name":"Gowlland Harbour","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Graffunder Trailer Park","place_name":"Graffunder Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Gramsons","place_name":"Gramsons","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Grand Forks","place_name":"","community":"Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Grand Haven","place_name":"Grand Haven","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Grand Rapids","place_name":"Grand Rapids","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Granduc","place_name":"Granduc","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Grandview","place_name":"Grandview","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Grandview Bench","place_name":"Grandview Bench","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Grandview-Woodlands","place_name":"Grandview-Woodlands","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Granisle","place_name":"","community":"Granisle","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Granite","place_name":"Granite","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Granite Bay","place_name":"Granite Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Granite Falls","place_name":"Granite Falls","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Granite Trailer Park","place_name":"Granite Trailer Park","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Grantham","place_name":"Grantham","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Granthams Landing","place_name":"Granthams Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Grasmere","place_name":"Grasmere","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Grassy Plains","place_name":"Grassy Plains","community":"Cheslatta 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Gravelle Ferry","place_name":"Gravelle Ferry","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Gray Creek","place_name":"Gray Creek","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Great Central","place_name":"Great Central","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Great Central Lake","place_name":"Great Central Lake","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Greata","place_name":"Greata","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Greater Vancouver A","place_name":"Greater Vancouver A","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Greater Vancouver C","place_name":"Greater Vancouver C","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Greater Vancouver, Subd. A","place_name":"Greater Vancouver, Subd. A","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Green Acres Trailer Park - Central Kootenay J","place_name":"Green Acres Trailer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Green Acres Trailer Park - Columbia-Shuswap E","place_name":"Green Acres Trailer Park","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Green Bay Resort","place_name":"Green Bay Resort","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Green Cove","place_name":"Green Cove","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Greendale","place_name":"Greendale","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Greenwood","place_name":"","community":"Greenwood","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Greenwood Mobile Park","place_name":"Greenwood Mobile Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Grindrod","place_name":"Grindrod","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Groundbirch","place_name":"Groundbirch","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Guhthe Tah 12","place_name":"","community":"Guhthe Tah 12","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Guildford","place_name":"Guildford","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gun Lake","place_name":"Gun Lake","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Gundy","place_name":"Gundy","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Gwayasdums 1","place_name":"","community":"Gwayasdums 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hagensborg","place_name":"Hagensborg","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hagwilget","place_name":"Hagwilget","community":"Hagwilget 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Hagwilget 1","place_name":"","community":"Hagwilget 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Haig","place_name":"Haig","community":"Schkam 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Haina","place_name":"Haina","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Halalt 2","place_name":"","community":"Halalt 2","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Halfmoon Bay","place_name":"Halfmoon Bay","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Halfway Graham Subdivision","place_name":"Halfway Graham Subdivision","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Halfway Ranch","place_name":"Halfway Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Halfway River 168","place_name":"","community":"Halfway River 168","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Halhalaeden","place_name":"","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Halhalaeden 14","place_name":"Halhalaeden 14","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Halhalaeden 14A","place_name":"Halhalaeden 14A","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hall","place_name":"Hall","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Halyn Trailer Court","place_name":"Halyn Trailer Court","community":"Canal Flats","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hamilton Creek 2","place_name":"","community":"Hamilton Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hamilton Creek 7","place_name":"Hamilton Creek 7","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hanbury","place_name":"Hanbury","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hanceville","place_name":"Hanceville","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Haney","place_name":"Haney","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Happy Valley","place_name":"Happy Valley","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Happy Valley Trailer Park","place_name":"Happy Valley Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Harbour Chines","place_name":"Harbour Chines","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Harbour Village","place_name":"Harbour Village","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hardwicke Island","place_name":"Hardwicke Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Harmac","place_name":"Harmac","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Harmony Heights Trailer Park","place_name":"Harmony Heights Trailer Park","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Harris 3","place_name":"","community":"Harris 3","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Harrison Hot Springs","place_name":"","community":"Harrison Hot Springs","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Harrison Mills","place_name":"Harrison Mills","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Harrogate","place_name":"Harrogate","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Harrop","place_name":"Harrop","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hart Highlands","place_name":"Hart Highlands","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Hartley Bay","place_name":"Hartley Bay","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Harwood Island 2","place_name":"Harwood Island 2","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hasler Flat","place_name":"Hasler Flat","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Hasler Flats Subdivision","place_name":"Hasler Flats Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Hastings-Sunrise","place_name":"Hastings-Sunrise","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hatzic","place_name":"Hatzic","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hawkins Lake Subdivision","place_name":"Hawkins Lake Subdivision","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Hayview Mobile Home","place_name":"Hayview Mobile Home","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hayward Subdivision","place_name":"Hayward Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Hazelmere","place_name":"Hazelmere","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hazelton","place_name":"","community":"Hazelton","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Headquarters","place_name":"Headquarters","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Headwaters Ranch","place_name":"Headwaters Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Health Bay","place_name":"Health Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hecate","place_name":"Hecate","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hedley","place_name":"Hedley","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Heffley Creek","place_name":"Heffley Creek","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Hells Gate","place_name":"Hells Gate","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Hemlock Valley","place_name":"Hemlock Valley","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hendrix Lake","place_name":"Hendrix Lake","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Henry And Ann Trailer Park","place_name":"Henry And Ann Trailer Park","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Heriot Bay","place_name":"Heriot Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hesquiat","place_name":"Hesquiat","community":"Hesquiat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hesquiat 1","place_name":"","community":"Hesquiat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Heydon Bay","place_name":"Heydon Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hickethier Ranch","place_name":"Hickethier Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Hideway Trailer Court","place_name":"Hideway Trailer Court","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"High Bar 1","place_name":"","community":"High Bar 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Highland Valley Subdivision","place_name":"Highland Valley Subdivision","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Highlands","place_name":"","community":"Highlands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 3"},{"location":"Hiina'is","place_name":"Hiina'is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hillcrest","place_name":"Hillcrest","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hilliers","place_name":"Hilliers","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hills","place_name":"Hills","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hillside Mobile Home Park","place_name":"Hillside Mobile Home Park","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hilltop Ranch","place_name":"Hilltop Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Hippa","place_name":"Hippa","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Hisnit","place_name":"Hisnit","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hitacu","place_name":"Hitacu","community":"Ittatsoo 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hi'tatis","place_name":"Hi'tatis","community":"Elhlateese 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hiusta Meadow","place_name":"Hiusta Meadow","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Hixon","place_name":"Hixon","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hkusam","place_name":"Hkusam","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Holachten 8","place_name":"","community":"Holachten 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Holberg","place_name":"Holberg","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Holiday Family Trailer Park","place_name":"Holiday Family Trailer Park","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hollyburn","place_name":"Hollyburn","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Holmwood","place_name":"Holmwood","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Homalco 9","place_name":"","community":"Homalco 9","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Homestead Trailer Park","place_name":"Homestead Trailer Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Homfray Creek","place_name":"Homfray Creek","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Honeymoon Bay","place_name":"Honeymoon Bay","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Honeymoon Creek","place_name":"Honeymoon Creek","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hoodoos","place_name":"Hoodoos","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hoo-ii","place_name":"Hoo-ii","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hope","place_name":"","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hope Bay","place_name":"Hope Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hope Island 1","place_name":"","community":"Hope Island 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hopetown","place_name":"Hopetown","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hopetown 10A","place_name":"","community":"Hopetown 10A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hopington","place_name":"Hopington","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hopkins Landing","place_name":"Hopkins Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Horlick Point","place_name":"Horlick Point","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hornby Island","place_name":"Hornby Island","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Horsefly","place_name":"Horsefly","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Horseshoe Bay","place_name":"Horseshoe Bay","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hosmatqts'os","place_name":"Hosmatqts'os","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hosmer","place_name":"Hosmer","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hosmer Trailer Park","place_name":"Hosmer Trailer Park","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hospital Hill","place_name":"Hospital Hill","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hot Springs Cove","place_name":"Hot Springs Cove","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Houpsitas","place_name":"Houpsitas","community":"Houpsitas 6","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Houpsitas 6","place_name":"","community":"Houpsitas 6","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Houston","place_name":"","community":"Houston","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Houston Trailer Court","place_name":"Houston Trailer Court","community":"Houston","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Howser","place_name":"Howser","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hudson Hope","place_name":"Hudson Hope","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hudson's Hope","place_name":"","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hullcar","place_name":"Hullcar","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Humpback Bay","place_name":"Humpback Bay","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Huntingdon","place_name":"Huntingdon","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hunts Inlet","place_name":"Hunts Inlet","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Hupel","place_name":"Hupel","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Huscroft","place_name":"Huscroft","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Hustalen 1","place_name":"","community":"Hustalen 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hutchinson","place_name":"Hutchinson","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hu'ul","place_name":"Hu'ul","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hyacinthe Bay","place_name":"Hyacinthe Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hyde Creek","place_name":"Hyde Creek","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hydraulic","place_name":"Hydraulic","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Hyland Post","place_name":"Hyland Post","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Hyland Ranch","place_name":"Hyland Ranch","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Idabel Lake","place_name":"Idabel Lake","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Indian Rock","place_name":"Indian Rock","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ingenika Mine","place_name":"Ingenika Mine","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Ingenika Point","place_name":"","community":"Ingenika Point","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Inkahtsaph 6","place_name":"","community":"Inkahtsaph 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Inkaneep","place_name":"Inkaneep","community":"Osoyoos 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen","place_name":"","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen 21","place_name":"Inkluckcheen 21","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen 21B","place_name":"Inkluckcheen 21B","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inklyuhkinatko 2","place_name":"","community":"Inklyuhkinatko 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Invermere","place_name":"","community":"Invermere","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ioco","place_name":"Ioco","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Iron Bay","place_name":"Iron Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Iron Mask Trailer Park","place_name":"Iron Mask Trailer Park","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Irvines Landing","place_name":"Irvines Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Isaac (Gale Lake) 8","place_name":"Isaac (Gale Lake) 8","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Isidore's Ranch 4","place_name":"","community":"Isidore's Ranch 4","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Iskut","place_name":"Iskut","community":"Iskut 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Iskut 6","place_name":"","community":"Iskut 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Island Cache","place_name":"Island Cache","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Isle Pierre","place_name":"Isle Pierre","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ittatsoo 1","place_name":"","community":"Ittatsoo 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ivy Green Mobile Home Park","place_name":"Ivy Green Mobile Home Park","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Jackfish Lake Subdivision","place_name":"Jackfish Lake Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Jackman","place_name":"Jackman","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Jackpine Flats","place_name":"Jackpine Flats","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Jackson Bay","place_name":"Jackson Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Jacksons","place_name":"Jacksons","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Jade City","place_name":"Jade City","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Jaffray","place_name":"Jaffray","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Jaffray Estates","place_name":"Jaffray Estates","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"James Bay","place_name":"James Bay","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Jean Baptiste 28","place_name":"","community":"Jean Baptiste 28","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Jedway","place_name":"Jedway","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Jellicoe","place_name":"Jellicoe","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Jersey","place_name":"Jersey","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Jervis Inlet","place_name":"Jervis Inlet","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Jesmond","place_name":"Jesmond","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Jeune Landing","place_name":"Jeune Landing","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Jim Smith Lake and Area","place_name":"Jim Smith Lake and Area","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Joeyaska 2","place_name":"","community":"Joeyaska 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Johnson","place_name":"Johnson","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Johnson Heights","place_name":"Johnson Heights","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Johnsons Landing","place_name":"Johnsons Landing","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Johny Sticks 2","place_name":"","community":"Johny Sticks 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Jordan River","place_name":"Jordan River","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca","place_name":"Juan de Fuca","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca (Part 1)","place_name":"","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca (Part 2)","place_name":"","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Jumbo Glacier","place_name":"Jumbo Glacier","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"June Springs Estates","place_name":"June Springs Estates","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Juniper Ridge","place_name":"Juniper Ridge","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Jura","place_name":"Jura","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Juskatla","place_name":"Juskatla","community":"Port Clements","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Ka:ook","place_name":"Ka:ook","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ka:oop:insh","place_name":"Ka:oop:insh","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ka:youk","place_name":"Ka:youk","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kahmoose 4","place_name":"","community":"Kahmoose 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kahntah","place_name":"Kahntah","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Kahntah 3","place_name":"","community":"Kahntah 3","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Kaisun","place_name":"Kaisun","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kakawis","place_name":"Kakawis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kaleden","place_name":"Kaleden","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kaleva","place_name":"Kaleva","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kamloops","place_name":"","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Kamloops 1","place_name":"","community":"Kamloops 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar","place_name":"","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar - Thompson-Nicola I (Blue Sky Country)","place_name":"Kanaka Bar","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kanaka Bar 1A","place_name":"Kanaka Bar 1A","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar 2","place_name":"Kanaka Bar 2","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Karlukwees","place_name":"Karlukwees","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Karlukwees 1","place_name":"Karlukwees 1","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kaslo","place_name":"","community":"Kaslo","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Katit 1","place_name":"","community":"Katit 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Katzie 1","place_name":"","community":"Katzie 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Katzie 2","place_name":"","community":"Katzie 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Ka-x-shiitl","place_name":"Ka-x-shiitl","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Keating","place_name":"Keating","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Keats Island","place_name":"Keats Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kedleston","place_name":"Kedleston","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Keekwillie Subdivision","place_name":"Keekwillie Subdivision","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Keekwillie Trailer Park","place_name":"Keekwillie Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Keeshan 9","place_name":"Keeshan 9","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Keithley Creek","place_name":"Keithley Creek","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Keith-Lynn","place_name":"Keith-Lynn","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kelly Lake - Peace River D","place_name":"Kelly Lake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Kelly Lake - Thompson-Nicola E (Bonaparte Plateau)","place_name":"Kelly Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kelly Lake Road Estates","place_name":"Kelly Lake Road Estates","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kelowna","place_name":"","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Kelvin","place_name":"Kelvin","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kemano","place_name":"Kemano","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kemano Beach","place_name":"Kemano Beach","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kendrick Camp","place_name":"Kendrick Camp","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kensington-Cedar Cottage","place_name":"Kensington-Cedar Cottage","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kent","place_name":"","community":"Kent","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Keremeos","place_name":"","community":"Keremeos","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kerr Creek","place_name":"Kerr Creek","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kerrisdale","place_name":"Kerrisdale","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kershaw Subdivision","place_name":"Kershaw Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kersley","place_name":"Kersley","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Kettle Valley","place_name":"Kettle Valley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Khahanie Trailer Court","place_name":"Khahanie Trailer Court","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Khenipsen","place_name":"Khenipsen","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"K'i Deldel","place_name":"K'i Deldel","community":"Charley Boy's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Kia Ora Trailer Park","place_name":"Kia Ora Trailer Park","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kicking Horse","place_name":"Kicking Horse","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kiikiixink'ok","place_name":"Kiikiixink'ok","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kiix aa","place_name":"Kiix aa","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kiix-in","place_name":"Kiix-in","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kilbella Bay","place_name":"Kilbella Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kildala Arm","place_name":"Kildala Arm","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kildonan","place_name":"Kildonan","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kilgard","place_name":"Kilgard","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kilkerran","place_name":"Kilkerran","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Killarney","place_name":"Killarney","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Killiney Beach","place_name":"Killiney Beach","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Kil-pah-las 3","place_name":"","community":"Kil-pah-las 3","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kimberley","place_name":"","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kimsquit","place_name":"Kimsquit","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kincolith 14","place_name":"Kincolith 14","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kingcome","place_name":"Kingcome","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kingcome Inlet - Mount Waddington A","place_name":"Kingcome Inlet","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kingcome Inlet - Quaee 7","place_name":"Kingcome Inlet","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kingfisher","place_name":"Kingfisher","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kingsgate","place_name":"Kingsgate","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kinnaird","place_name":"Kinnaird","community":"Castlegar","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Kippase 2","place_name":"","community":"Kippase 2","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kispiox","place_name":"Kispiox","community":"Kispiox 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kispiox 1","place_name":"","community":"Kispiox 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kispiox Valley","place_name":"Kispiox Valley","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitamaat 2","place_name":"","community":"Kitamaat 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitamaat Village","place_name":"Kitamaat Village","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitasoo 1","place_name":"","community":"Kitasoo 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitchener","place_name":"Kitchener","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kitimat","place_name":"","community":"Kitimat","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine A","place_name":"","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine B","place_name":"","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine C (Part 1)","place_name":"","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine C (Part 2)","place_name":"","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine D","place_name":"","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine E","place_name":"","community":"Kitimat-Stikine E","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine F","place_name":"","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. A","place_name":"Kitimat-Stikine, Subd. A","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. B","place_name":"Kitimat-Stikine, Subd. B","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine, Subd. C","place_name":"Kitimat-Stikine, Subd. C","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine, Subd. D","place_name":"Kitimat-Stikine, Subd. D","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitkatla","place_name":"Kitkatla","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitsault","place_name":"Kitsault","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitseguecla","place_name":"Kitseguecla","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitselas 1","place_name":"","community":"Kitselas 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitsilano","place_name":"Kitsilano","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kitsumkalum","place_name":"Kitsumkalum","community":"Terrace","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Kitsumkaylum 1","place_name":"","community":"Kitsumkaylum 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitty Coleman","place_name":"Kitty Coleman","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Kitwanga","place_name":"Kitwanga","community":"Gitwangak 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitzowit 20","place_name":"","community":"Kitzowit 20","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kiusta","place_name":"Kiusta","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Klahkamich 17","place_name":"","community":"Klahkamich 17","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Klahkowit 5","place_name":"Klahkowit 5","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kleanza Creek Subdivision","place_name":"Kleanza Creek Subdivision","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kleecoot","place_name":"Kleecoot","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kleena Kleene","place_name":"Kleena Kleene","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Kleetlekut 22","place_name":"","community":"Kleetlekut 22","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Klehkoot 2","place_name":"","community":"Klehkoot 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kleindale","place_name":"Kleindale","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Klemtu","place_name":"Klemtu","community":"Kitasoo 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Klickkumcheen 18","place_name":"","community":"Klickkumcheen 18","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kliikliihuwis","place_name":"Kliikliihuwis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Klit-kle-mah-ah","place_name":"Klit-kle-mah-ah","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kloklowuck 7","place_name":"","community":"Kloklowuck 7","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kluachon Lake 1","place_name":"Kluachon Lake 1","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kluskus 1","place_name":"","community":"Kluskus 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Knutsford","place_name":"Knutsford","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kobes","place_name":"Kobes","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Kokish","place_name":"Kokish","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Koksilah","place_name":"Koksilah","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kookswees","place_name":"Kookswees","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kootenay 1","place_name":"","community":"Kootenay 1","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Kootenay Bay","place_name":"Kootenay Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary A","place_name":"","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary B","place_name":"Kootenay Boundary B","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary B / Lower Columbia-Old-Glory","place_name":"","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary C","place_name":"Kootenay Boundary C","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary C / Christina Lake","place_name":"","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary D","place_name":"Kootenay Boundary D","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary D / Rural Grand Forks","place_name":"","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary E","place_name":"Kootenay Boundary E","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary E / West Boundary","place_name":"","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary, Subd. A","place_name":"Kootenay Boundary, Subd. A","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary, Subd. B","place_name":"Kootenay Boundary, Subd. B","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Cove Mobile Village","place_name":"Kootenay Cove Mobile Village","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Crossing","place_name":"Kootenay Crossing","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Flats West","place_name":"Kootenay Flats West","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kopchitchin 2","place_name":"","community":"Kopchitchin 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kowtain 17","place_name":"","community":"Kowtain 17","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"K'oxsinqii","place_name":"K'oxsinqii","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kragmont","place_name":"Kragmont","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Krestova","place_name":"Krestova","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ksan","place_name":"Ksan","community":"Gitanmaax 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kshish 4","place_name":"","community":"Kshish 4","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kuldo","place_name":"Kuldo","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Kulkayu (Hartley Bay) 4","place_name":"","community":"Kulkayu (Hartley Bay) 4","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulkayu (Hartley Bay) 4A","place_name":"","community":"Kulkayu (Hartley Bay) 4A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulkayu 4","place_name":"Kulkayu 4","community":"Kulkayu (Hartley Bay) 4","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulspai 6","place_name":"","community":"Kulspai 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kumcheen 1","place_name":"","community":"Kumcheen 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kung","place_name":"Kung","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kuper Island 7","place_name":"Kuper Island 7","community":"Penelakut Island 7","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kushya Creek 7","place_name":"Kushya Creek 7","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Kuskonook","place_name":"Kuskonook","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kuthlalth 3","place_name":"Kuthlalth 3","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kuz Che 5","place_name":"Kuz Che 5","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Kwawkwawapilt 6","place_name":"","community":"Kwawkwawapilt 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kwinaquth","place_name":"Kwinaquth","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kwisitis","place_name":"Kwisitis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kye Bay","place_name":"Kye Bay","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Kyuquot","place_name":"Kyuquot","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Lac la Hache","place_name":"Lac la Hache","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Lac Le Jeune","place_name":"Lac Le Jeune","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lachkaltsap 9","place_name":"Lachkaltsap 9","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ladner","place_name":"Ladner","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ladysmith","place_name":"","community":"Ladysmith","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Laidlaw","place_name":"Laidlaw","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lakahahmen 11","place_name":"","community":"Lakahahmen 11","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lake Buntzen","place_name":"Lake Buntzen","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Lake Country","place_name":"","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Lake Cowichan","place_name":"","community":"Lake Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lake Errock","place_name":"Lake Errock","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lake Hill","place_name":"Lake Hill","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Lake Kathlyn","place_name":"Lake Kathlyn","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Lakelse Lake","place_name":"Lakelse Lake","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Lakeshore Highlands","place_name":"Lakeshore Highlands","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Laketon","place_name":"Laketon","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Laketown 3","place_name":"","community":"Laketown 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lakeview Heights","place_name":"Lakeview Heights","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Lambourn Trailer Park","place_name":"Lambourn Trailer Park","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lamming Mills","place_name":"Lamming Mills","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lang Bay","place_name":"Lang Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Langdale","place_name":"Langdale","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Langford","place_name":"","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Langley - City","place_name":"","community":"Langley - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langley - District municipality","place_name":"","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langley 2","place_name":"","community":"Langley 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Langley 5","place_name":"Langley 5","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langner Trailer Park","place_name":"Langner Trailer Park","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Lantzville","place_name":"","community":"Lantzville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Larch Hill","place_name":"Larch Hill","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lardeau","place_name":"Lardeau","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Larsons Landing","place_name":"Larsons Landing","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Laurentian Belaire","place_name":"Laurentian Belaire","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lavington","place_name":"Lavington","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Lawnhill","place_name":"Lawnhill","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Lax Kw'alaams","place_name":"Lax Kw'alaams","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Lax Kw'alaams 1","place_name":"","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Laxgalts'ap","place_name":"Laxgalts'ap","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Lazo","place_name":"Lazo","community":"Comox","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lebahdo","place_name":"Lebahdo","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lee Creek","place_name":"Lee Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Leechtown","place_name":"Leechtown","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lees Corner","place_name":"Lees Corner","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lejac","place_name":"Lejac","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Lemon Creek","place_name":"Lemon Creek","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lemoray","place_name":"Lemoray","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Leo Creek","place_name":"Leo Creek","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Leon Creek 2","place_name":"Leon Creek 2","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lexau Ranch","place_name":"Lexau Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Lexington Subdivision","place_name":"Lexington Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Lezbye 6","place_name":"Lezbye 6","community":"Lezbye 6","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Lezbye 6","place_name":"","community":"Lezbye 6","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Liard River","place_name":"Liard River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Liard River 3","place_name":"","community":"Liard River 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lighthouse Point","place_name":"Lighthouse Point","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Likely","place_name":"Likely","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Lillooet","place_name":"","community":"Lillooet","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Lillooet 1","place_name":"","community":"Lillooet 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lily Lake","place_name":"Lily Lake","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Lincoln Park","place_name":"Lincoln Park","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lindell","place_name":"Lindell","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lindell Beach","place_name":"Lindell Beach","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lindeman","place_name":"Lindeman","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Lions Bay","place_name":"","community":"Lions Bay","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Lismore Trailer Park","place_name":"Lismore Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lister","place_name":"Lister","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Little Acres Trailer Court","place_name":"Little Acres Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Little Fort","place_name":"Little Fort","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Little River","place_name":"Little River","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Little Springs","place_name":"","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Little Springs 8","place_name":"Little Springs 8","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Little Springs 18","place_name":"Little Springs 18","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Liumchen Village Mobile Home Park","place_name":"Liumchen Village Mobile Home Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Living Waters Trailer Park","place_name":"Living Waters Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lockeport","place_name":"Lockeport","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Lodge Pole Trailer Park","place_name":"Lodge Pole Trailer Park","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Logan Lake","place_name":"","community":"Logan Lake","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lohbiee 3","place_name":"","community":"Lohbiee 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Lone Butte","place_name":"Lone Butte","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Lone Prairie","place_name":"Lone Prairie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Long Harbour","place_name":"Long Harbour","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Longbeach","place_name":"Longbeach","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Longworth","place_name":"Longworth","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Loon Lake","place_name":"Loon Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Loon Lake Subdivision","place_name":"Loon Lake Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Loos","place_name":"Loos","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Louis Creek","place_name":"Louis Creek","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Louis Creek 4","place_name":"","community":"Louis Creek 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Louis Squinas Ranch 14","place_name":"Louis Squinas Ranch 14","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lower China Creek","place_name":"Lower China Creek","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lower Hat Creek 2","place_name":"","community":"Lower Hat Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lower Lodge Pole Trailer Court","place_name":"Lower Lodge Pole Trailer Court","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lower Lonsdale","place_name":"Lower Lonsdale","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lower Nicola","place_name":"Lower Nicola","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lower Nicola Trailer Park","place_name":"Lower Nicola Trailer Park","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lower Post","place_name":"","community":"Lower Post","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lower Similkameen 2","place_name":"","community":"Lower Similkameen 2","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lucerne","place_name":"Lucerne","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lukseetsissum 9","place_name":"","community":"Lukseetsissum 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lulu 5","place_name":"","community":"Lulu 5","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lumberton","place_name":"Lumberton","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Lumby","place_name":"","community":"Lumby","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lund","place_name":"Lund","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Lust Subdivision","place_name":"Lust Subdivision","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Luxton","place_name":"Luxton","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Lyacksun 3","place_name":"","community":"Lyacksun 3","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Lynn Valley","place_name":"Lynn Valley","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lynnmour","place_name":"Lynnmour","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lynx Creek","place_name":"Lynx Creek","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Lytton","place_name":"","community":"Lytton","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lytton 27B","place_name":"Lytton 27B","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lytton 4A","place_name":"","community":"Lytton 4A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 4E","place_name":"","community":"Lytton 4E","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 9A","place_name":"","community":"Lytton 9A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 9B","place_name":"","community":"Lytton 9B","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Maalth-sit","place_name":"Maalth-sit","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Mabel Lake","place_name":"Mabel Lake","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Macalister","place_name":"Macalister","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Mackenzie","place_name":"","community":"Mackenzie","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Macoah","place_name":"Macoah","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Macoah 1","place_name":"","community":"Macoah 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Madeira Park","place_name":"Madeira Park","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Magic Lake Estates","place_name":"Magic Lake Estates","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Magna Bay","place_name":"Magna Bay","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Magnum Mine","place_name":"Magnum Mine","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mah:kiit","place_name":"Mah:kiit","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahatta River","place_name":"Mahatta River","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahmalillikullah 1","place_name":"Mahmalillikullah 1","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahood Falls","place_name":"Mahood Falls","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Mahope","place_name":"Mahope","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Maht'ii'as","place_name":"Maht'ii'as","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Maillardville","place_name":"Maillardville","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Makinson","place_name":"Makinson","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Malachan 11","place_name":"","community":"Malachan 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Malahat","place_name":"Malahat","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Malahat 11","place_name":"","community":"Malahat 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Malakwa","place_name":"Malakwa","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Malakwa Trailer Park","place_name":"Malakwa Trailer Park","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Malibu","place_name":"Malibu","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Mammel Subdivision","place_name":"Mammel Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Manca Subdivision","place_name":"Manca Subdivision","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Manning Park","place_name":"Manning Park","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Manson Creek","place_name":"Manson Creek","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Mansons Landing","place_name":"Mansons Landing","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mapes","place_name":"Mapes","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Maple Bay","place_name":"Maple Bay","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Maple Ridge","place_name":"","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Maplewood","place_name":"Maplewood","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Maq:cup","place_name":"Maq:cup","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mara","place_name":"Mara","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Marble Canyon 3","place_name":"","community":"Marble Canyon 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Marblehead","place_name":"Marblehead","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Margaret Bay","place_name":"Margaret Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Marguerite","place_name":"Marguerite","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Marigold","place_name":"Marigold","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Marilla","place_name":"Marilla","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Marktosis","place_name":"Marktosis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Marktosis 15","place_name":"","community":"Marktosis 15","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Marne","place_name":"Marne","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Marpole","place_name":"Marpole","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Marron Valley","place_name":"Marron Valley","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Marsh Creek Area","place_name":"Marsh Creek Area","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Marsh Subdivision","place_name":"Marsh Subdivision","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Marshall School Junction","place_name":"Marshall School Junction","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Martin Prairie","place_name":"Martin Prairie","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Martin Valley","place_name":"Martin Valley","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mary Hill","place_name":"Mary Hill","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Marysville","place_name":"Marysville","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mason Creek","place_name":"Mason Creek","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Masset","place_name":"","community":"Masset","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Masset 1","place_name":"","community":"Masset 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Matilpi","place_name":"Matilpi","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Matsayno 5","place_name":"Matsayno 5","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Matsqui","place_name":"Matsqui","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Matsqui 4","place_name":"","community":"Matsqui 4","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Matsqui Main 2","place_name":"","community":"Matsqui Main 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Maurelle Island","place_name":"Maurelle Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Maxan Lake 4","place_name":"Maxan Lake 4","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Mayfair","place_name":"Mayfair","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mayne Island","place_name":"Mayne Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mayne Island 6","place_name":"Mayne Island 6","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mayook","place_name":"Mayook","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"McBride","place_name":"","community":"McBride","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McCalls Landing","place_name":"McCalls Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"McCartney's Flat 4","place_name":"","community":"McCartney's Flat 4","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"McCulloch","place_name":"McCulloch","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"McDame","place_name":"McDame","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"McDonalds Landing","place_name":"McDonalds Landing","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"McGillivray","place_name":"McGillivray","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"McGregor","place_name":"McGregor","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"McGuire","place_name":"McGuire","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"McKearney Ranch","place_name":"McKearney Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"McKinley Landing","place_name":"McKinley Landing","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"McLean Ranch","place_name":"McLean Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"McLeese Lake","place_name":"McLeese Lake","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"McLeod Lake","place_name":"McLeod Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McLeod Lake 1","place_name":"","community":"McLeod Lake 1","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"McLeod Lake 5","place_name":"McLeod Lake 5","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McLeod Subdivision","place_name":"McLeod Subdivision","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"McLure","place_name":"McLure","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"McMillan Island 6","place_name":"","community":"McMillan Island 6","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"McNab Creek","place_name":"McNab Creek","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Meachen","place_name":"Meachen","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Meadow Creek - Central Kootenay D","place_name":"Meadow Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Meadow Creek - Columbia-Shuswap F","place_name":"Meadow Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Meadow Lake","place_name":"Meadow Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Meadowbrook","place_name":"Meadowbrook","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Meadowbrook Estates Trailer Park","place_name":"Meadowbrook Estates Trailer Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Meadows","place_name":"Meadows","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Meem Quam Leese","place_name":"Meem Quam Leese","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Meldrum Creek","place_name":"Meldrum Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Merritt","place_name":"","community":"Merritt","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Merville","place_name":"Merville","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mesachie Lake","place_name":"Mesachie Lake","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mesilinka 7","place_name":"","community":"Mesilinka 7","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Metchosin","place_name":"","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Metlakatla","place_name":"Metlakatla","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Metro Vancouver A","place_name":"","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Metrotown","place_name":"Metrotown","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Meziadin Junction","place_name":"Meziadin Junction","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Meziadin Subdivision","place_name":"Meziadin Subdivision","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Mica Creek","place_name":"Mica Creek","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Michel Gardens 36","place_name":"","community":"Michel Gardens 36","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Middle River","place_name":"Middle River","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Middlegate","place_name":"Middlegate","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Midway","place_name":"","community":"Midway","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mile 16 (Hwy 97)","place_name":"Mile 16 (Hwy 97)","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mile 19 Overhead","place_name":"Mile 19 Overhead","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mile 292 Subdivision Alaska Hwy","place_name":"Mile 292 Subdivision Alaska Hwy","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 293 Alaska Highway","place_name":"Mile 293 Alaska Highway","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 422 Alaska Highway","place_name":"Mile 422 Alaska Highway","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 5 Alaska Highway","place_name":"Mile 5 Alaska Highway","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 62 1/2","place_name":"Mile 62 1/2","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mill Bay - Bulkley-Nechako G","place_name":"Mill Bay","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Mill Bay - Cowichan Valley A","place_name":"Mill Bay","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mill Bay - Nisga'a","place_name":"Mill Bay","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Miller Creek Subdivision","place_name":"Miller Creek Subdivision","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Miller Subdivision","place_name":"Miller Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Millers Landing","place_name":"Millers Landing","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Millstream","place_name":"Millstream","community":"Highlands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 3"},{"location":"Milner","place_name":"Milner","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Milnes Landing","place_name":"Milnes Landing","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Minaty Bay","place_name":"Minaty Bay","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Minstrel Island","place_name":"Minstrel Island","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Minto Landing","place_name":"Minto Landing","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Miocene","place_name":"Miocene","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Miracle Beach","place_name":"Miracle Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Miracle Valley","place_name":"Miracle Valley","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Mirror Lake","place_name":"Mirror Lake","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Missezula Lake","place_name":"Missezula Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mission","place_name":"","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mission 1","place_name":"","community":"Mission 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mission 5","place_name":"","community":"Mission 5","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mission Hill","place_name":"Mission Hill","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Mission Island 2","place_name":"Mission Island 2","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mission Lands 17","place_name":"","community":"Mission Lands 17","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Mitchell Bay","place_name":"Mitchell Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Miworth","place_name":"Miworth","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Moberly Lake","place_name":"Moberly Lake","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Moha","place_name":"Moha","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Montague Harbour","place_name":"Montague Harbour","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Monte Creek","place_name":"Monte Creek","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Monte Lake","place_name":"Monte Lake","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Montizambert Wynd","place_name":"Montizambert Wynd","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Montney","place_name":"Montney","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Montrose","place_name":"","community":"Montrose","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Moose Heights","place_name":"Moose Heights","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Mooyah Bay","place_name":"Mooyah Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Moresby Camp","place_name":"Moresby Camp","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Morgan Subdivision","place_name":"Morgan Subdivision","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Moricetown","place_name":"Moricetown","community":"Babine 17","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Moricetown 1","place_name":"","community":"Moricetown 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Morrissey","place_name":"Morrissey","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mound Road Subdivision","place_name":"Mound Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mount Baldy","place_name":"Mount Baldy","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mount Currie","place_name":"","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 1","place_name":"Mount Currie 1","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 2","place_name":"Mount Currie 2","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 6","place_name":"Mount Currie 6","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 8","place_name":"Mount Currie 8","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 10","place_name":"Mount Currie 10","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Gardner","place_name":"Mount Gardner","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Mount Lehman","place_name":"Mount Lehman","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mount Pleasant","place_name":"Mount Pleasant","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mount Robson","place_name":"Mount Robson","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Mount View Trailer Court","place_name":"Mount View Trailer Court","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mount Waddington A","place_name":"","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington B","place_name":"","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington C","place_name":"","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington D","place_name":"","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington, Subd. A","place_name":"Mount Waddington, Subd. A","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington, Subd. B","place_name":"Mount Waddington, Subd. B","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Washington","place_name":"Mount Washington","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mountain Peak Trailer Court","place_name":"Mountain Peak Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mountain Shadow Trailer Court","place_name":"Mountain Shadow Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mountain Shadows Trailer Court","place_name":"Mountain Shadows Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mountain Station","place_name":"Mountain Station","community":"Nelson","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Mountain View","place_name":"Mountain View","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mountain View Trailer Court","place_name":"Mountain View Trailer Court","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Mountainview Trailer Park","place_name":"Mountainview Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Moyie","place_name":"Moyie","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Moyie Lake","place_name":"Moyie Lake","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Moyie River","place_name":"Moyie River","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Moyie Shore Estates","place_name":"Moyie Shore Estates","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Mud Bay - Comox Valley A","place_name":"Mud Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mud Bay - Surrey","place_name":"Mud Bay","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mud River","place_name":"Mud River","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Mudge Island","place_name":"Mudge Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Muncho Lake","place_name":"Muncho Lake","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Murdale","place_name":"Murdale","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Murrayville","place_name":"Murrayville","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Musgrave Landing","place_name":"Musgrave Landing","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Muskwa","place_name":"Muskwa","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Musqueam 2","place_name":"","community":"Musqueam 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Musqueam 4","place_name":"","community":"Musqueam 4","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Myra","place_name":"Myra","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Myrtle Point","place_name":"Myrtle Point","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ná:mint","place_name":"Ná:mint","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nadu","place_name":"Nadu","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Nahmint","place_name":"Nahmint","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nahun","place_name":"Nahun","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Nak'azdli","place_name":"","community":"Nak'azdli","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nak'azdli (Necoslie 1)","place_name":"Nak'azdli (Necoslie 1)","community":"Nak'azdli","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nakusp","place_name":"","community":"Nakusp","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nalos Landing","place_name":"Nalos Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Namu","place_name":"Namu","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nanaimo","place_name":"","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Nanaimo A","place_name":"","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo B","place_name":"","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nanaimo C","place_name":"","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo D","place_name":"Nanaimo D","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo E","place_name":"","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo F","place_name":"","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo G","place_name":"","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo H","place_name":"","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo River","place_name":"","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 2","place_name":"Nanaimo River 2","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 3","place_name":"Nanaimo River 3","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 4","place_name":"Nanaimo River 4","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo Town 1","place_name":"","community":"Nanaimo Town 1","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo, Subd. A","place_name":"Nanaimo, Subd. A","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo, Subd. B","place_name":"Nanaimo, Subd. B","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanoose","place_name":"","community":"Nanoose","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanoose Bay","place_name":"Nanoose Bay","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Naramata","place_name":"Naramata","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Narcosli Creek","place_name":"Narcosli Creek","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Nasookin Road Subdivision","place_name":"Nasookin Road Subdivision","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nass Camp","place_name":"Nass Camp","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Nautley (Fort Fraser) 1","place_name":"","community":"Nautley (Fort Fraser) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nazco 20","place_name":"","community":"Nazco 20","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Nazko","place_name":"Nazko","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Necait 6","place_name":"","community":"Necait 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nechako","place_name":"Nechako","community":"Kitimat","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Nedoats 11","place_name":"","community":"Nedoats 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Needles","place_name":"Needles","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nekalliston 2","place_name":"","community":"Nekalliston 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nekliptum 1","place_name":"Nekliptum 1","community":"Nekliptum 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nekliptum 1","place_name":"","community":"Nekliptum 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nelson","place_name":"","community":"Nelson","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Nelson Forks","place_name":"Nelson Forks","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Nelson Island","place_name":"Nelson Island","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Nelway","place_name":"Nelway","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nemaiah Valley","place_name":"Nemaiah Valley","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Nemiah Valley","place_name":"Nemiah Valley","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Nenagwas 12","place_name":"","community":"Nenagwas 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nequatque","place_name":"","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nequatque 1","place_name":"Nequatque 1","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nequatque 2","place_name":"Nequatque 2","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Nequatque 3A","place_name":"Nequatque 3A","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nesikep 6","place_name":"","community":"Nesikep 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Neskonlith","place_name":"","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 1","place_name":"Neskonlith 1","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 1 (Neskainlith 1)","place_name":"Neskonlith 1 (Neskainlith 1)","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 2","place_name":"Neskonlith 2","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nesters","place_name":"Nesters","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Nesuch 3","place_name":"","community":"Nesuch 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"New Aiyansh","place_name":"New Aiyansh","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"New Aiyansh 1","place_name":"New Aiyansh 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"New Barkerville","place_name":"New Barkerville","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"New Brighton","place_name":"New Brighton","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"New Clew","place_name":"New Clew","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"New Denver","place_name":"","community":"New Denver","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"New Hazelton","place_name":"","community":"New Hazelton","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"New Remo","place_name":"New Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"New Settlement","place_name":"New Settlement","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"New Songhees 1A","place_name":"","community":"New Songhees 1A","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"New Westminster","place_name":"","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Newcastle","place_name":"Newcastle","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Newgate","place_name":"Newgate","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Newlands","place_name":"Newlands","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Newton","place_name":"Newton","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Niagara","place_name":"Niagara","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nichols Mobile Homes","place_name":"Nichols Mobile Homes","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Nicholson","place_name":"Nicholson","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Nickel Palm 4","place_name":"","community":"Nickel Palm 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nickeyeah 25","place_name":"","community":"Nickeyeah 25","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicks Island","place_name":"Nicks Island","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nicola","place_name":"Nicola","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Nicola Lake 1","place_name":"","community":"Nicola Lake 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicola Mameet 1","place_name":"","community":"Nicola Mameet 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicomen 1","place_name":"","community":"Nicomen 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nimpkish","place_name":"Nimpkish","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nimpkish 2","place_name":"","community":"Nimpkish 2","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nimpkish Heights","place_name":"Nimpkish Heights","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nimpo Lake","place_name":"Nimpo Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninety Five Mile House","place_name":"Ninety Five Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ninety Four Mile House","place_name":"Ninety Four Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ninety Seven Mile House","place_name":"Ninety Seven Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ninety Three Mile House","place_name":"Ninety Three Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ninstints","place_name":"Ninstints","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Nisga'a","place_name":"","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Nkaih 10","place_name":"","community":"Nkaih 10","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nohomeen 23","place_name":"","community":"Nohomeen 23","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nooaitch 10","place_name":"","community":"Nooaitch 10","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Noonla 6","place_name":"","community":"Noonla 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nootka","place_name":"Nootka","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Noralee","place_name":"Noralee","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Norgate","place_name":"Norgate","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Bay 5","place_name":"","community":"North Bay 5","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"North Bend","place_name":"North Bend","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"North Bonaparte","place_name":"North Bonaparte","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Bulkley","place_name":"North Bulkley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"North Campbell River","place_name":"North Campbell River","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"North Coast A","place_name":"","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Coast C","place_name":"","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"North Coast D","place_name":"","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Coast E","place_name":"","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Cowichan","place_name":"","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"North Delta","place_name":"North Delta","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Galiano","place_name":"North Galiano","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"North Kamloops","place_name":"North Kamloops","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"North Lonsdale","place_name":"North Lonsdale","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Nechako","place_name":"North Nechako","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"North Okanagan B","place_name":"","community":"North Okanagan B","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"North Okanagan C","place_name":"","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"North Okanagan D","place_name":"","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan E","place_name":"","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan F","place_name":"","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan, Subd. A","place_name":"North Okanagan, Subd. A","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan, Subd. B","place_name":"North Okanagan, Subd. B","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Pender Island","place_name":"North Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"North Pine","place_name":"North Pine","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"North Poplar","place_name":"North Poplar","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Saanich","place_name":"","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"North Star","place_name":"North Star","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"North Tacla Lake","place_name":"","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"North Tacla Lake 7","place_name":"North Tacla Lake 7","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"North Tacla Lake 7A","place_name":"North Tacla Lake 7A","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"North Thompson 1","place_name":"","community":"North Thompson 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"North Vancouver - City","place_name":"","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Vancouver - District municipality","place_name":"","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Woodlands","place_name":"North Woodlands","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Northern Rockies","place_name":"","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies A","place_name":"Northern Rockies A","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies B","place_name":"Northern Rockies B","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies Regional Municipality","place_name":"Northern Rockies Regional Municipality","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northfield","place_name":"Northfield","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Northridge","place_name":"Northridge","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Notch Hill","place_name":"Notch Hill","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Nourse Subdivision","place_name":"Nourse Subdivision","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Nuchaquis","place_name":"Nuchaquis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nuchatl 1","place_name":"Nuchatl 1","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nuchatl 2","place_name":"Nuchatl 2","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nuchatlitz","place_name":"Nuchatlitz","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nukko Lake","place_name":"Nukko Lake","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Nulki","place_name":"Nulki","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Numukamis 1","place_name":"","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nursery","place_name":"Nursery","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nuuautin 2","place_name":"","community":"Nuuautin 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nuumaqimyis","place_name":"Nuumaqimyis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Oak Bay","place_name":"","community":"Oak Bay","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Oak Hills","place_name":"Oak Hills","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Oakridge","place_name":"Oakridge","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oasis","place_name":"Oasis","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Oasis Trailer Court","place_name":"Oasis Trailer Court","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ocean Falls","place_name":"Ocean Falls","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ocean Grove","place_name":"Ocean Grove","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Ocean Park","place_name":"Ocean Park","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oclucje 7","place_name":"","community":"Oclucje 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oetco Flats","place_name":"Oetco Flats","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Ogden","place_name":"Ogden","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Ohamil 1","place_name":"","community":"Ohamil 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Okanagan (Part) 1 - North Okanagan","place_name":"","community":"Okanagan (Part) 1 - North Okanagan","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Okanagan (Part) 1 - Thompson/Okanagan","place_name":"","community":"Okanagan (Part) 1 - Thompson/Okanagan","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Okanagan Centre","place_name":"Okanagan Centre","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan Falls","place_name":"Okanagan Falls","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan Landing","place_name":"Okanagan Landing","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan Mission","place_name":"Okanagan Mission","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan Terrace Trailer Park","place_name":"Okanagan Terrace Trailer Park","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan-Similkameen A","place_name":"","community":"Okanagan-Similkameen A","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen B","place_name":"","community":"Okanagan-Similkameen B","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen C","place_name":"","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen D","place_name":"","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen E","place_name":"","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen F","place_name":"","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan-Similkameen G","place_name":"","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen H","place_name":"","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen I","place_name":"","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen, Subd. A","place_name":"Okanagan-Similkameen, Subd. A","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan-Similkameen, Subd. B","place_name":"Okanagan-Similkameen, Subd. B","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen, Subd. C","place_name":"Okanagan-Similkameen, Subd. C","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Olalla","place_name":"Olalla","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Old Bella Bella","place_name":"Old Bella Bella","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Old Fort - Nedoats 11","place_name":"Old Fort","community":"Nedoats 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Old Fort - Peace River C","place_name":"Old Fort","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Old Fort Nelson","place_name":"Old Fort Nelson","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Old Hogem","place_name":"Old Hogem","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Old Massett","place_name":"Old Massett","community":"Masset 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Old Remo","place_name":"Old Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Old Town","place_name":"Old Town","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Oliver","place_name":"","community":"Oliver","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Oliver's Landing","place_name":"Oliver's Landing","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Omineca 1","place_name":"","community":"Omineca 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"One Forty One Mile House","place_name":"One Forty One Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"One Hundred Mile House","place_name":"","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Oona River","place_name":"Oona River","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ootischenia","place_name":"Ootischenia","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ootischenia Flats","place_name":"Ootischenia Flats","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ootsa Lake","place_name":"Ootsa Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Openit 27","place_name":"Openit 27","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Opitsat","place_name":"Opitsat","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Opitsat 1","place_name":"","community":"Opitsat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oregon Jack Creek 5","place_name":"","community":"Oregon Jack Creek 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Orlomah Beach","place_name":"Orlomah Beach","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Osborn","place_name":"Osborn","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Osland","place_name":"Osland","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Osoyoos","place_name":"","community":"Osoyoos","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Osoyoos 1","place_name":"","community":"Osoyoos 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Osprey Lake","place_name":"Osprey Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Othello","place_name":"Othello","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ots'oo-a","place_name":"Ots'oo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Otter Bay","place_name":"Otter Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Otway","place_name":"Otway","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Ououkinsh","place_name":"Ououkinsh","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Oweekeno","place_name":"Oweekeno","community":"Katit 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Owen Bay","place_name":"Owen Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Owl Creek","place_name":"Owl Creek","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Oxford Heights","place_name":"Oxford Heights","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oyama","place_name":"Oyama","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Oyster Bay 12","place_name":"","community":"Oyster Bay 12","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oyster River","place_name":"Oyster River","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pacheena 1","place_name":"Pacheena 1","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pahas 3","place_name":"Pahas 3","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Paldi","place_name":"Paldi","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Palling","place_name":"Palling","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Palling 1","place_name":"","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Palling 1A","place_name":"Palling 1A","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Panorama","place_name":"Panorama","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Panorama Ridge","place_name":"Panorama Ridge","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Panorama Subdivision","place_name":"Panorama Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Panorama Trailer Court","place_name":"Panorama Trailer Court","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Papyum 27","place_name":"","community":"Papyum 27","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Papyum 27A","place_name":"Papyum 27A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Paqulh","place_name":"","community":"Paqulh","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Paradise Point","place_name":"Paradise Point","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Paradise Valley - qathet B","place_name":"Paradise Valley","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Paradise Valley - Squamish","place_name":"Paradise Valley","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Paradise Valley Trailer Court","place_name":"Paradise Valley Trailer Court","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Park Royal","place_name":"Park Royal","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Park Siding","place_name":"Park Siding","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Parkdale Gardens","place_name":"Parkdale Gardens","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Parkland","place_name":"Parkland","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Parksville","place_name":"","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Parkville Trailer Park","place_name":"Parkville Trailer Park","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Parsnip 5","place_name":"Parsnip 5","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Parson","place_name":"Parson","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pashilqua 2","place_name":"","community":"Pashilqua 2","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Paska Island 3","place_name":"","community":"Paska Island 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pasley Island","place_name":"Pasley Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pass Creek","place_name":"Pass Creek","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Passmore","place_name":"Passmore","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Paterson","place_name":"Paterson","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Paul Lake","place_name":"Paul Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Paul's Basin 2","place_name":"","community":"Paul's Basin 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Paulson","place_name":"Paulson","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pavilion","place_name":"Pavilion","community":"Pavilion 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Pavilion 1","place_name":"","community":"Pavilion 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Pavillon Lake","place_name":"Pavillon Lake","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Paxton Valley","place_name":"Paxton Valley","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Peace River B","place_name":"","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peace River C","place_name":"","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peace River D","place_name":"","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peace River E","place_name":"","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peace River, Subd. B","place_name":"Peace River, Subd. B","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peace River, Subd. C","place_name":"Peace River, Subd. C","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Peachland","place_name":"","community":"Peachland","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pebble Beach","place_name":"Pebble Beach","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Peejay","place_name":"Peejay","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Pemberton","place_name":"","community":"Pemberton","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pemberton Heights","place_name":"Pemberton Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Pemberton Meadows","place_name":"Pemberton Meadows","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pemynoos 9","place_name":"","community":"Pemynoos 9","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pender Island","place_name":"Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pendleton Bay","place_name":"Pendleton Bay","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Penelakut Island 7","place_name":"","community":"Penelakut Island 7","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Penny","place_name":"Penny","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Penticton","place_name":"Penticton","community":"Penticton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Penticton 1","place_name":"","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pentledge 2","place_name":"","community":"Pentledge 2","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Peq-Paq 22","place_name":"","community":"Peq-Paq 22","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Perow","place_name":"Perow","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Perrys","place_name":"Perrys","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Peters 1","place_name":"","community":"Peters 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Phillips Arm","place_name":"Phillips Arm","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Phoenix","place_name":"Phoenix","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Piers Island","place_name":"Piers Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pilot Bay","place_name":"Pilot Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pinantan Lake","place_name":"Pinantan Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pinchi","place_name":"Pinchi","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Pinchi Lake","place_name":"Pinchi Lake","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Pine Hills Mobile Home Park","place_name":"Pine Hills Mobile Home Park","community":"Peachland","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pine Springs","place_name":"Pine Springs","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pine Trailer Court","place_name":"Pine Trailer Court","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Pine Valley - Cariboo D","place_name":"Pine Valley","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Pine Valley - Peace River E","place_name":"Pine Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Pinecrest Mobile Home Park","place_name":"Pinecrest Mobile Home Park","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pinegrove","place_name":"Pinegrove","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Pinegrove Trailer Park","place_name":"Pinegrove Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pineridge Estates","place_name":"Pineridge Estates","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pineview - Fraser-Fort George D","place_name":"Pineview","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Pineview - Peace River C","place_name":"Pineview","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Pinewood Subdivision","place_name":"Pinewood Subdivision","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pink Mountain","place_name":"Pink Mountain","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Pioneer Mine","place_name":"Pioneer Mine","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Pioneer Subdivision","place_name":"Pioneer Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Pitt Meadows","place_name":"","community":"Pitt Meadows","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Pixie Beach","place_name":"Pixie Beach","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Playmor Junction","place_name":"Playmor Junction","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pleasant Camp","place_name":"Pleasant Camp","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Pleasantside","place_name":"Pleasantside","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Plumper Harbour","place_name":"Plumper Harbour","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Point Holmes","place_name":"Point Holmes","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Poison Creek 17A","place_name":"","community":"Poison Creek 17A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Ponderosa Trailer Park","place_name":"Ponderosa Trailer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pope Landing","place_name":"Pope Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Popkum","place_name":"Popkum","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Popkum 1","place_name":"","community":"Popkum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Poplar Creek","place_name":"Poplar Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Poplar Grove","place_name":"Poplar Grove","community":"Penticton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Porcher Island","place_name":"Porcher Island","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Porpoise Bay","place_name":"Porpoise Bay","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Alberni","place_name":"","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Port Albion","place_name":"Port Albion","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Alice","place_name":"","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Port Clements","place_name":"","community":"Port Clements","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Port Coquitlam","place_name":"","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Desire","place_name":"Port Desire","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Douglas","place_name":"Port Douglas","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Edward","place_name":"","community":"Port Edward","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Port Essington","place_name":"Port Essington","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Port Guichon","place_name":"Port Guichon","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hammond","place_name":"Port Hammond","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hammond - Haney","place_name":"Port Hammond - Haney","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hardy","place_name":"","community":"Port Hardy","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Kells","place_name":"Port Kells","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Mann","place_name":"Port Mann","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port McNeill","place_name":"","community":"Port McNeill","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Mellon","place_name":"Port Mellon","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Moody","place_name":"","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Neville","place_name":"Port Neville","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Port Renfrew","place_name":"Port Renfrew","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Port Simpson 1","place_name":"Port Simpson 1","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Port Washington","place_name":"Port Washington","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Porteau","place_name":"Porteau","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Porter Landing","place_name":"Porter Landing","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Portier Pass 5","place_name":"","community":"Portier Pass 5","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Porto Rico","place_name":"Porto Rico","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pouce Coupe","place_name":"","community":"Pouce Coupe","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Powell River","place_name":"","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Powell River A","place_name":"Powell River A","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River B","place_name":"Powell River B","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River C","place_name":"Powell River C","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River D","place_name":"Powell River D","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River E","place_name":"Powell River E","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River, Subd. A","place_name":"Powell River, Subd. A","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powers Addition","place_name":"Powers Addition","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Prairie Valley","place_name":"Prairie Valley","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Prairiedale","place_name":"Prairiedale","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Premier","place_name":"Premier","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Premier Lake","place_name":"Premier Lake","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Prespatou","place_name":"Prespatou","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Pressy Lake","place_name":"Pressy Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Priest's Valley 6","place_name":"","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Prince George","place_name":"","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Prince Rupert","place_name":"","community":"Prince Rupert","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Princeton","place_name":"","community":"Princeton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pritchard","place_name":"Pritchard","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pritchard Mobile Subdivision","place_name":"Pritchard Mobile Subdivision","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Procter","place_name":"Procter","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Progress","place_name":"Progress","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Promontory","place_name":"Promontory","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Prophet River - Northern Rockies","place_name":"Prophet River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Prophet River - Prophet River 4","place_name":"Prophet River","community":"Prophet River 4","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Prophet River 4","place_name":"","community":"Prophet River 4","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Prospect Lake","place_name":"Prospect Lake","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Puckatholetchin 11","place_name":"","community":"Puckatholetchin 11","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Punchaw","place_name":"Punchaw","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Puntledge","place_name":"Puntledge","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Puntzi Lake 2","place_name":"","community":"Puntzi Lake 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Purden Lake","place_name":"Purden Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Q'alatkú7em","place_name":"","community":"Q'alatkú7em","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"qathet A","place_name":"","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet B","place_name":"","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet C","place_name":"","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet D","place_name":"","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet E","place_name":"","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quaaout 1","place_name":"","community":"Quaaout 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Quadra Loop","place_name":"Quadra Loop","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quaee 7","place_name":"","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Qualicum","place_name":"","community":"Qualicum","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Qualicum Bay","place_name":"Qualicum Bay","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Qualicum Beach","place_name":"","community":"Qualicum Beach","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Quamichan","place_name":"Quamichan","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Quathiaski Cove","place_name":"Quathiaski Cove","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quatsino","place_name":"Quatsino","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quatsino Subdivision 18","place_name":"","community":"Quatsino Subdivision 18","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Quattishe 1","place_name":"Quattishe 1","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Queen Charlotte","place_name":"","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Queens Bay","place_name":"Queens Bay","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Queens Cove","place_name":"Queens Cove","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Queens Park","place_name":"Queens Park","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Queensborough","place_name":"Queensborough","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Quesnel","place_name":"","community":"Quesnel","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Quesnel 1","place_name":"","community":"Quesnel 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Quesnel Canyon","place_name":"Quesnel Canyon","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Quesnel Forks","place_name":"Quesnel Forks","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Quesnel View","place_name":"Quesnel View","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Quick","place_name":"Quick","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Quilchena","place_name":"Quilchena","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Quin-e-ex","place_name":"Quin-e-ex","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quinsam","place_name":"Quinsam","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Quinsam 12","place_name":"","community":"Quinsam 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Race Point","place_name":"Race Point","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Radium Hot Springs","place_name":"","community":"Radium Hot Springs","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Raft River","place_name":"Raft River","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rail Lake","place_name":"Rail Lake","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Rainbow Trailer Court","place_name":"Rainbow Trailer Court","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Rainy Hollow","place_name":"Rainy Hollow","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Ranch Park","place_name":"Ranch Park","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ranch Park Trailer Park","place_name":"Ranch Park Trailer Park","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Ranchero","place_name":"Ranchero","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Raspberry","place_name":"Raspberry","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rayleigh","place_name":"Rayleigh","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Read Island","place_name":"Read Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Red Bluff","place_name":"Red Bluff","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Red Mountain","place_name":"Red Mountain","community":"Rossland","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Red Pass","place_name":"Red Pass","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Red Rock","place_name":"Red Rock","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Red Rose","place_name":"Red Rose","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Redroofs","place_name":"Redroofs","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Redstone","place_name":"Redstone","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Redstone Flat 1","place_name":"","community":"Redstone Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Refuge Cove","place_name":"Refuge Cove","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Refuge Cove 6","place_name":"","community":"Refuge Cove 6","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Reid Lake","place_name":"Reid Lake","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Remac","place_name":"Remac","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Remo","place_name":"Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Renata","place_name":"Renata","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rendez-Vous Island","place_name":"Rendez-Vous Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Renfrew-Collingwood","place_name":"Renfrew-Collingwood","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rennie Subdivision","place_name":"Rennie Subdivision","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Retallack","place_name":"Retallack","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Revelstoke","place_name":"","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rhone","place_name":"Rhone","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rich Bar","place_name":"Rich Bar","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Richmond","place_name":"","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ridgedale","place_name":"Ridgedale","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Riley Park","place_name":"Riley Park","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Riondel","place_name":"Riondel","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Riske Creek","place_name":"Riske Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Riva Ridge Trailer Park","place_name":"Riva Ridge Trailer Park","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"River Bend Trailer Court","place_name":"River Bend Trailer Court","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"River Jordan","place_name":"River Jordan","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"River Springs","place_name":"River Springs","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rivers Inlet","place_name":"Rivers Inlet","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rivershore","place_name":"Rivershore","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Riverside Trailer Court","place_name":"Riverside Trailer Court","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rivervale","place_name":"Rivervale","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Roberts Creek","place_name":"Roberts Creek","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Robson","place_name":"Robson","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Robson West","place_name":"Robson West","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Roche Lake Resort","place_name":"Roche Lake Resort","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rock Bay","place_name":"Rock Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rock Creek","place_name":"Rock Creek","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rockyview","place_name":"Rockyview","community":"Cranbrook","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Roe Lake","place_name":"Roe Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Rogers Pass","place_name":"Rogers Pass","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rolla","place_name":"Rolla","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Rolling Hills Park","place_name":"Rolling Hills Park","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Roosville","place_name":"Roosville","community":"Tobacco Plains 2","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Rose Harbour","place_name":"Rose Harbour","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Rose Lake","place_name":"Rose Lake","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Rose Prairie","place_name":"Rose Prairie","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Rosebery","place_name":"Rosebery","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rosedale","place_name":"Rosedale","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Rosen Lake Trailer Court","place_name":"Rosen Lake Trailer Court","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ross Spur","place_name":"Ross Spur","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rossland","place_name":"","community":"Rossland","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rosswood","place_name":"Rosswood","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Rough Bay","place_name":"Rough Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Round Lake","place_name":"Round Lake","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Round Prairie","place_name":"Round Prairie","community":"Elkford","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Roy","place_name":"Roy","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Royal Oak","place_name":"Royal Oak","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Royston","place_name":"Royston","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Ruault Road Subdivision","place_name":"Ruault Road Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ruby Creek","place_name":"Ruby Creek","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ruby Creek 2","place_name":"","community":"Ruby Creek 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Rumble Beach","place_name":"Rumble Beach","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rupert","place_name":"Rupert","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Ruskin","place_name":"Ruskin","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rutland","place_name":"Rutland","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Ryder Lake","place_name":"Ryder Lake","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Rykerts","place_name":"Rykerts","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ryter's Trailer Court","place_name":"Ryter's Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"S1/2 Tsimpsean 2","place_name":"","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Saaiyouck 6","place_name":"Saaiyouck 6","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Saanich","place_name":"","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Saanichton","place_name":"Saanichton","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sachawil","place_name":"Sachawil","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sachsa","place_name":"Sachsa","community":"Sachsa 4","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sachsa 4","place_name":"","community":"Sachsa 4","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sachteen","place_name":"","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sachteen 2","place_name":"Sachteen 2","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sachteen 2A","place_name":"Sachteen 2A","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Saddle Rock 9","place_name":"","community":"Saddle Rock 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sahali","place_name":"Sahali","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Sahara Heights","place_name":"Sahara Heights","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sahhaltkum 4","place_name":"","community":"Sahhaltkum 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sahtlam","place_name":"Sahtlam","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Salmo","place_name":"","community":"Salmo","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Salmon Arm","place_name":"","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Salmon Beach","place_name":"Salmon Beach","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Salmon River 1","place_name":"","community":"Salmon River 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Salmon River Meadow 7","place_name":"","community":"Salmon River Meadow 7","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Salmon Valley","place_name":"Salmon Valley","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Saloon","place_name":"Saloon","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Saltair","place_name":"Saltair","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saltery Bay","place_name":"Saltery Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Saltspring Island","place_name":"","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Samahquam 1","place_name":"Samahquam 1","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"San Josef","place_name":"San Josef","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sanca","place_name":"Sanca","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sanderson Site","place_name":"Sanderson Site","community":"Quesnel","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sandon","place_name":"Sandon","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sandspit","place_name":"Sandspit","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Sandwick","place_name":"Sandwick","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sandy Beach Resort","place_name":"Sandy Beach Resort","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sandy Cove","place_name":"Sandy Cove","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sandy Harry 4","place_name":"","community":"Sandy Harry 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sandy Point","place_name":"Sandy Point","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sandyville","place_name":"Sandyville","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sapperton","place_name":"Sapperton","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Saratoga Beach","place_name":"Saratoga Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sardis","place_name":"Sardis","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Sarita","place_name":"Sarita","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Saseenos","place_name":"Saseenos","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saturna","place_name":"Saturna","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saturna Island","place_name":"Saturna Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Savarie Subdivision","place_name":"Savarie Subdivision","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Savona","place_name":"Savona","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sayward","place_name":"","community":"Sayward","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Schaltuuch 27","place_name":"Schaltuuch 27","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Schelowat 1","place_name":"","community":"Schelowat 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Schemenauer Subdivision","place_name":"Schemenauer Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Schkam 2","place_name":"","community":"Schkam 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Scotch Creek","place_name":"Scotch Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Scotch Creek 4","place_name":"","community":"Scotch Creek 4","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Scotia Bay","place_name":"Scotia Bay","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Scott Cove","place_name":"Scott Cove","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Scotties Trailer Park","place_name":"Scotties Trailer Park","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Scotty Creek","place_name":"Scotty Creek","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Scowlitz 1","place_name":"","community":"Scowlitz 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seabird Island","place_name":"","community":"Seabird Island","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seabird Mobile Home Park","place_name":"Seabird Mobile Home Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Seafair","place_name":"Seafair","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seaford","place_name":"Seaford","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Seah 5","place_name":"","community":"Seah 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Seaichem 16","place_name":"","community":"Seaichem 16","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seal Bay Subdivision","place_name":"Seal Bay Subdivision","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Seaside Park","place_name":"Seaside Park","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Seaspunkut 4","place_name":"","community":"Seaspunkut 4","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Sechelt","place_name":"","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sechelt (Part) - qathet","place_name":"","community":"Sechelt (Part) - qathet","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sechelt (Part) - Sunshine Coast","place_name":"","community":"Sechelt (Part) - Sunshine Coast","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Secret Cove","place_name":"Secret Cove","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Selma Park","place_name":"Selma Park","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Semiahmoo","place_name":"","community":"Semiahmoo","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sentinel Hill","place_name":"Sentinel Hill","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seton Lake 5","place_name":"","community":"Seton Lake 5","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seton Lake 5A","place_name":"Seton Lake 5A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Seton Portage","place_name":"Seton Portage","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Seven Mile Corner","place_name":"Seven Mile Corner","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sevenoaks","place_name":"Sevenoaks","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Seventy Mile House","place_name":"Seventy Mile House","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sewall","place_name":"Sewall","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Sewell Inlet","place_name":"Sewell Inlet","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Seymour Arm","place_name":"Seymour Arm","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Seymour Creek 2","place_name":"","community":"Seymour Creek 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seymour Heights","place_name":"Seymour Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seymour Inlet","place_name":"Seymour Inlet","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Seymour Lake","place_name":"Seymour Lake","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Seymour Landing","place_name":"Seymour Landing","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Seymour Meadows 19","place_name":"Seymour Meadows 19","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sha:wiis","place_name":"Sha:wiis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shackan 11","place_name":"","community":"Shackan 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shady Valley","place_name":"Shady Valley","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Shaha Estates","place_name":"Shaha Estates","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shalalth","place_name":"Shalalth","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Shannon Bay","place_name":"Shannon Bay","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Shannon Trailer Park","place_name":"Shannon Trailer Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sharpe Lake","place_name":"Sharpe Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shaughnessy","place_name":"Shaughnessy","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Shawl Bay","place_name":"Shawl Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shawnaire Resort","place_name":"Shawnaire Resort","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan","place_name":"Shawnigan","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan Lake","place_name":"Shawnigan Lake","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan Lake Mobile Home Park","place_name":"Shawnigan Lake Mobile Home Park","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawniken 4B","place_name":"","community":"Shawniken 4B","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shearer Dale","place_name":"Shearer Dale","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Shearwater","place_name":"Shearwater","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shell Beach","place_name":"Shell Beach","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shelley","place_name":"Shelley","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Shelter Bay","place_name":"Shelter Bay","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Shelter Point","place_name":"Shelter Point","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Shepherds Inn","place_name":"Shepherds Inn","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sheraton","place_name":"Sheraton","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Shere","place_name":"Shere","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sheridan Lake","place_name":"Sheridan Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sheslay","place_name":"Sheslay","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Shingle Creek","place_name":"Shingle Creek","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Shingle Point 4","place_name":"","community":"Shingle Point 4","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Shirley","place_name":"Shirley","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shitlthmaq-is","place_name":"Shitlthmaq-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sho-ook 5","place_name":"Sho-ook 5","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Shoreacres","place_name":"Shoreacres","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Shoreholme","place_name":"Shoreholme","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Shorewood San Parreil","place_name":"Shorewood San Parreil","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shulus","place_name":"Shulus","community":"Nicola Mameet 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shushartie","place_name":"Shushartie","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shuswap","place_name":"","community":"Shuswap","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Shuswap - Thompson-Nicola L (Grasslands)","place_name":"Shuswap","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shuswap Falls","place_name":"Shuswap Falls","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shuswap Lake Estates","place_name":"Shuswap Lake Estates","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Shutty Bench","place_name":"Shutty Bench","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sicamous","place_name":"","community":"Sicamous","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sidley","place_name":"Sidley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sidney","place_name":"","community":"Sidney","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sikanni Chief","place_name":"Sikanni Chief","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sik-e-dakh 2","place_name":"","community":"Sik-e-dakh 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Silica","place_name":"Silica","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Silver Creek - Columbia-Shuswap D","place_name":"Silver Creek","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Silver Creek - Hope","place_name":"Silver Creek","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Silver River","place_name":"Silver River","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Silver Star","place_name":"Silver Star","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Silver Star Trailer Park","place_name":"Silver Star Trailer Park","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Silver Valley","place_name":"Silver Valley","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Silverhill","place_name":"Silverhill","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Silverton","place_name":"","community":"Silverton","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Simpson Ranch","place_name":"Simpson Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sinclair Mills","place_name":"Sinclair Mills","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sinkut River","place_name":"Sinkut River","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Sirdar","place_name":"Sirdar","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Siska Flat","place_name":"","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Siska Flat 3","place_name":"Siska Flat 3","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Siska Flat 5A","place_name":"Siska Flat 5A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Siska Flat 5B","place_name":"Siska Flat 5B","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Siska Flat 8","place_name":"Siska Flat 8","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Six Mile Point","place_name":"Six Mile Point","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Six Mile Ranch","place_name":"Six Mile Ranch","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Skawahlook 1","place_name":"","community":"Skawahlook 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skedans","place_name":"Skedans","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena Crossing","place_name":"Skeena Crossing","community":"Gitsegukla 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte A","place_name":"Skeena-Queen Charlotte A","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte C","place_name":"Skeena-Queen Charlotte C","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte D","place_name":"Skeena-Queen Charlotte D","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte E","place_name":"Skeena-Queen Charlotte E","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte F","place_name":"Skeena-Queen Charlotte F","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte, Subd. A","place_name":"Skeena-Queen Charlotte, Subd. A","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte, Subd. B","place_name":"Skeena-Queen Charlotte, Subd. B","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeetchestn","place_name":"","community":"Skeetchestn","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skidegate","place_name":"Skidegate","community":"Skidegate 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skidegate 1","place_name":"","community":"Skidegate 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skidegate Landing","place_name":"Skidegate Landing","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skins Lake 16A","place_name":"","community":"Skins Lake 16A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Skins Lake 16B","place_name":"","community":"Skins Lake 16B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Skooks Landing","place_name":"Skooks Landing","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Skookumchuck - East Kootenay E","place_name":"Skookumchuck","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Skookumchuck - Skookumchuck 4","place_name":"Skookumchuck","community":"Skookumchuck 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skookumchuck 4","place_name":"","community":"Skookumchuck 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale","place_name":"","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale 10","place_name":"Skowkale 10","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale 11","place_name":"Skowkale 11","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skuppah 2A","place_name":"","community":"Skuppah 2A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skuppah 4","place_name":"","community":"Skuppah 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skwah 4","place_name":"","community":"Skwah 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skwahla 2","place_name":"Skwahla 2","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Skwali 3","place_name":"","community":"Skwali 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skway 5","place_name":"","community":"Skway 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skwayaynope 26","place_name":"","community":"Skwayaynope 26","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skweahm 10","place_name":"","community":"Skweahm 10","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Slaterville","place_name":"Slaterville","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Sleepy Hollow Road Trailer Park","place_name":"Sleepy Hollow Road Trailer Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Slesse Park","place_name":"Slesse Park","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sliammon","place_name":"Sliammon","community":"Sliammon 1","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sliammon 1","place_name":"","community":"Sliammon 1","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Slocan","place_name":"","community":"Slocan","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Slocan Park","place_name":"Slocan Park","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Slosh 1","place_name":"","community":"Slosh 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Slosh 1A","place_name":"Slosh 1A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Smith River","place_name":"Smith River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Smithers","place_name":"","community":"Smithers","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Smithers - Telkwa","place_name":"Smithers","community":"Telkwa","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Smithers Landing","place_name":"Smithers Landing","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Snake 5","place_name":"Snake 5","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Snake River","place_name":"Snake River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Snow Peak Trailer Court","place_name":"Snow Peak Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Snug Cove","place_name":"Snug Cove","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Soames Point","place_name":"Soames Point","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Soda Creek","place_name":"Soda Creek","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Soda Creek 1","place_name":"","community":"Soda Creek 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sointula","place_name":"Sointula","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Solly","place_name":"Solly","community":"Alberni-Clayoquot E","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Solsqua","place_name":"Solsqua","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Somenos","place_name":"Somenos","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sonora Island","place_name":"Sonora Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sooke","place_name":"","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Soowahlie 14","place_name":"","community":"Soowahlie 14","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sorrento","place_name":"Sorrento","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"South Bentinck","place_name":"South Bentinck","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"South Cambie","place_name":"South Cambie","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Canoe","place_name":"South Canoe","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"South Dawson","place_name":"South Dawson","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"South Fort George","place_name":"South Fort George","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"South Hazelton","place_name":"South Hazelton","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"South Lakeside","place_name":"South Lakeside","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"South Lakeside (Williams Lake)","place_name":"South Lakeside (Williams Lake)","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"South Pender Island","place_name":"South Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"South Poplar","place_name":"South Poplar","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Saanich 1","place_name":"","community":"South Saanich 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"South Shalalth","place_name":"South Shalalth","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"South Slocan","place_name":"South Slocan","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"South Slope","place_name":"South Slope","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Sumas","place_name":"South Sumas","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"South Surrey","place_name":"South Surrey","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Taylor","place_name":"South Taylor","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"South Thormanby Island","place_name":"South Thormanby Island","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"South Wellington","place_name":"South Wellington","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Southarm","place_name":"Southarm","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Southbank","place_name":"Southbank","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Southern Gulf Islands","place_name":"","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sowchea 3","place_name":"","community":"Sowchea 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Soyandostar 2","place_name":"Soyandostar 2","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Spallumcheen","place_name":"","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Sparwood","place_name":"","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Spatsum","place_name":"Spatsum","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Spatsum 11","place_name":"Spatsum 11","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Spectacle Lake Mobile Home Park","place_name":"Spectacle Lake Mobile Home Park","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Spences Bridge","place_name":"","community":"Spences Bridge","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Spences Bridge 4","place_name":"Spences Bridge 4","community":"Spences Bridge","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Spences Bridge 4C","place_name":"Spences Bridge 4C","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Speyum 3","place_name":"","community":"Speyum 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Spillimacheen","place_name":"Spillimacheen","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Spintlum Flat 3","place_name":"","community":"Spintlum Flat 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Springhouse","place_name":"Springhouse","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sproat Lake","place_name":"Sproat Lake","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sproat Trailer Park","place_name":"Sproat Trailer Park","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sproatt","place_name":"Sproatt","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sproule Creek","place_name":"Sproule Creek","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Spur Valley Subdivision","place_name":"Spur Valley Subdivision","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Spuzzum","place_name":"Spuzzum","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Spuzzum 1","place_name":"","community":"Spuzzum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squaam 2","place_name":"","community":"Squaam 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Squaam Bay","place_name":"Squaam Bay","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Squamish","place_name":"","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet A","place_name":"","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet B","place_name":"","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet C","place_name":"","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet D","place_name":"","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet, Subd. A","place_name":"Squamish-Lillooet, Subd. A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet, Subd. B","place_name":"Squamish-Lillooet, Subd. B","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squaw-Hay-One 11","place_name":"","community":"Squaw-Hay-One 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Squawkum Creek 3","place_name":"","community":"Squawkum Creek 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squeah","place_name":"Squeah","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squiaala","place_name":"","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squiaala 7","place_name":"Squiaala 7","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squiaala 8","place_name":"Squiaala 8","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squilax","place_name":"Squilax","community":"Quaaout 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Squinas 2","place_name":"","community":"Squinas 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Squirrel Cove","place_name":"Squirrel Cove","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Squirrel Cove 8","place_name":"","community":"Squirrel Cove 8","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"St. Andrews","place_name":"St. Andrews","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"St. Eugene Mission","place_name":"St. Eugene Mission","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"St. Ives","place_name":"St. Ives","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"St. Joseph Mission","place_name":"St. Joseph Mission","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"St. Mary Lake","place_name":"St. Mary Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"St. Mary's","place_name":"","community":"St. Mary's","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"St. Vincent Bay","place_name":"St. Vincent Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Staiyahanny 8","place_name":"Staiyahanny 8","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Stanley","place_name":"Stanley","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Star Subdivision","place_name":"Star Subdivision","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Stave Falls","place_name":"Stave Falls","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stawamus 24","place_name":"","community":"Stawamus 24","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Steamboat","place_name":"Steamboat","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Steelhead","place_name":"Steelhead","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stellako","place_name":"Stellako","community":"Stellaquo (Stella) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stellaquo (Stella) 1","place_name":"","community":"Stellaquo (Stella) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stepping Stones Estates","place_name":"Stepping Stones Estates","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Stequmwhulpa 5","place_name":"","community":"Stequmwhulpa 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Steveston","place_name":"Steveston","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stewardson Inlet","place_name":"Stewardson Inlet","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Stewart","place_name":"","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stikine","place_name":"Stikine","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stikine Region","place_name":"","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Stikine, Subd. A","place_name":"Stikine, Subd. A","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stillwater - qathet C","place_name":"Stillwater","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stillwater - Thompson-Nicola A (Wells Gray Country)","place_name":"Stillwater","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Stone 1","place_name":"","community":"Stone 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Stoner","place_name":"Stoner","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Stones Bay","place_name":"Stones Bay","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Stony Creek 1","place_name":"","community":"Stony Creek 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stories Beach","place_name":"Stories Beach","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Strachan Creek","place_name":"Strachan Creek","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Straiton","place_name":"Straiton","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strathcona","place_name":"Strathcona","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strathcona A","place_name":"","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona B","place_name":"","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona C","place_name":"","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona D (Oyster Bay - Buttle Lake)","place_name":"","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Strathnaver","place_name":"Strathnaver","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Strawberry Hill","place_name":"Strawberry Hill","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strawberry Vale","place_name":"Strawberry Vale","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Streatham","place_name":"Streatham","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Stryen 9","place_name":"","community":"Stryen 9","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Stuart Bay 6","place_name":"Stuart Bay 6","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Stuart Island","place_name":"Stuart Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stuart River","place_name":"Stuart River","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Stuie","place_name":"Stuie","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stullawheets 8","place_name":"","community":"Stullawheets 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Stump Lake","place_name":"Stump Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sturdies Bay","place_name":"Sturdies Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sugarcane","place_name":"Sugarcane","community":"Williams Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sullivan","place_name":"Sullivan","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sullivan Bay","place_name":"Sullivan Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sullivan Heights","place_name":"Sullivan Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Summerland","place_name":"","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Summit Lake - Central Kootenay H","place_name":"Summit Lake","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Summit Lake - Fraser-Fort George G","place_name":"Summit Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Summit Lake - Northern Rockies","place_name":"Summit Lake","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sun Peaks","place_name":"Sun Peaks","community":"Sun Peaks Mountain","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sun Peaks Mountain","place_name":"","community":"Sun Peaks Mountain","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sun Valley","place_name":"Sun Valley","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunbury","place_name":"Sunbury","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Suncrest","place_name":"Suncrest","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sundance Subdivision - Columbia-Shuswap E","place_name":"Sundance Subdivision","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sundance Subdivision - Peace River E","place_name":"Sundance Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sundayman's Meadow 3","place_name":"","community":"Sundayman's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sunningdale","place_name":"Sunningdale","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Sunny Dale","place_name":"Sunny Dale","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sunnybrae","place_name":"Sunnybrae","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Sunnyside - Surrey","place_name":"Sunnyside","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunnyside - Tache 1","place_name":"Sunnyside","community":"Tache 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Sunnyside Trailer Court","place_name":"Sunnyside Trailer Court","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sunnyview Trailer Court","place_name":"Sunnyview Trailer Court","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunrise Valley","place_name":"Sunrise Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sunset","place_name":"Sunset","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunset Beach - Lantzville","place_name":"Sunset Beach","community":"Lantzville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sunset Beach - West Vancouver","place_name":"Sunset Beach","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunset Prairie","place_name":"Sunset Prairie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sunset Trailer Park","place_name":"Sunset Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunshine","place_name":"Sunshine","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunshine Bay","place_name":"Sunshine Bay","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sunshine Coast A","place_name":"","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Coast B","place_name":"","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Coast D","place_name":"","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast E","place_name":"","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast F","place_name":"","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast Trailer Court","place_name":"Sunshine Coast Trailer Court","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast, Subd. A","place_name":"Sunshine Coast, Subd. A","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Hills","place_name":"Sunshine Hills","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunshine Valley - Clearwater","place_name":"Sunshine Valley","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunshine Valley - Fraser Valley B","place_name":"Sunshine Valley","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Suquash","place_name":"Suquash","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Surge Narrows","place_name":"Surge Narrows","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Surprise","place_name":"Surprise","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Surrey","place_name":"","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Surrey Centre","place_name":"Surrey Centre","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Swahliseah 14","place_name":"Swahliseah 14","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Swan Lake 3","place_name":"Swan Lake 3","community":"Swan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Swan Lake 3","place_name":"","community":"Swan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Swartz Bay","place_name":"Swartz Bay","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sweetwater","place_name":"Sweetwater","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Switsemalph","place_name":"","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 3","place_name":"","community":"Switsemalph 3","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 6","place_name":"Switsemalph 6","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 7","place_name":"Switsemalph 7","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ta Ta Creek","place_name":"Ta Ta Creek","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ta:shiis","place_name":"Ta:shiis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tabor Lake","place_name":"Tabor Lake","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Tache 1","place_name":"","community":"Tache 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tachie","place_name":"Tachie","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tacla Lake (Ferry Landing) 9","place_name":"","community":"Tacla Lake (Ferry Landing) 9","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tadanac","place_name":"Tadanac","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Tadinlay 15","place_name":"","community":"Tadinlay 15","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Taghum","place_name":"Taghum","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Taghum Hill","place_name":"Taghum Hill","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Tahltan","place_name":"Tahltan","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tahltan 1","place_name":"","community":"Tahltan 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tahsis","place_name":"","community":"Tahsis","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Takla Landing","place_name":"Takla Landing","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Taku","place_name":"Taku","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Takysie Lake","place_name":"Takysie Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tall Timbers Trailer Park","place_name":"Tall Timbers Trailer Park","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tallheo","place_name":"Tallheo","community":"Central Coast E","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tamarisk","place_name":"Tamarisk","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tanakut 4","place_name":"","community":"Tanakut 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tantalus Acres","place_name":"Tantalus Acres","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tanu","place_name":"Tanu","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tappen","place_name":"Tappen","community":"North Bay 5","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tarrys","place_name":"Tarrys","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Tasu","place_name":"Tasu","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tatalrose","place_name":"Tatalrose","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tatelkus Lake 28","place_name":"Tatelkus Lake 28","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Tatla Lake","place_name":"Tatla Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tatla West 11","place_name":"","community":"Tatla West 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tatla't East 2","place_name":"","community":"Tatla't East 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tatlayoko Lake","place_name":"Tatlayoko Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tatlow","place_name":"Tatlow","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tatogga","place_name":"Tatogga","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tatpo-oose 10","place_name":"Tatpo-oose 10","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tatton","place_name":"Tatton","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Taylor","place_name":"","community":"Taylor","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tchesinkut Lake","place_name":"Tchesinkut Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Teakerne Arm","place_name":"Teakerne Arm","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Telachick","place_name":"Telachick","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Telegraph Cove","place_name":"Telegraph Cove","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Telegraph Creek","place_name":"","community":"Telegraph Creek","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Telegraph Creek 6","place_name":"Telegraph Creek 6","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Telegraph Creek 6A","place_name":"Telegraph Creek 6A","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Telkwa","place_name":"","community":"Telkwa","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Telkwa - Bulkley-Nechako A","place_name":"Telkwa","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Telkwa Trailer Park","place_name":"Telkwa Trailer Park","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Ten Mile Lake","place_name":"Ten Mile Lake","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Terrace","place_name":"","community":"Terrace","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Tetachuk","place_name":"Tetachuk","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tête Jaune Cache","place_name":"Tête Jaune Cache","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Theik 2","place_name":"","community":"Theik 2","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Theodosia Arm","place_name":"Theodosia Arm","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thetis Island","place_name":"Thetis Island","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Thomas Point 5","place_name":"","community":"Thomas Point 5","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Thomas Point 5A","place_name":"","community":"Thomas Point 5A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Thomas Squinas Ranch 2A","place_name":"","community":"Thomas Squinas Ranch 2A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Thompson","place_name":"Thompson","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Thompson River Estates","place_name":"Thompson River Estates","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson Sound","place_name":"Thompson Sound","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thompson-Nicola A (Wells Gray Country)","place_name":"","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola B (Thompson Headwaters)","place_name":"","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola E (Bonaparte Plateau)","place_name":"","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola I (Blue Sky Country)","place_name":"","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola J (Copper Desert Country)","place_name":"","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola L","place_name":"Thompson-Nicola L","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola L (Grasslands)","place_name":"","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola M","place_name":"Thompson-Nicola M","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola M (Beautiful Nicola Valley - North)","place_name":"","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola N","place_name":"Thompson-Nicola N","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola N (Beautiful Nicola Valley - South)","place_name":"","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola O (Lower North Thompson)","place_name":"","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola P (Rivers and the Peaks)","place_name":"","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. A","place_name":"Thompson-Nicola, Subd. A","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. B","place_name":"Thompson-Nicola, Subd. B","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. C","place_name":"Thompson-Nicola, Subd. C","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. D","place_name":"Thompson-Nicola, Subd. D","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. E","place_name":"Thompson-Nicola, Subd. E","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thornhill","place_name":"Thornhill","community":"Kitimat-Stikine E","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Three Forks","place_name":"Three Forks","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Thrums","place_name":"Thrums","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Thunder Bay","place_name":"Thunder Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thurlow","place_name":"Thurlow","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thurston Harbour","place_name":"Thurston Harbour","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Thwaytes","place_name":"Thwaytes","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tie Lake","place_name":"Tie Lake","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Tiili Landing","place_name":"Tiili Landing","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Tillicum","place_name":"Tillicum","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Timberland Trailer Park","place_name":"Timberland Trailer Park","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tin Wis 11","place_name":"","community":"Tin Wis 11","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tintagel","place_name":"Tintagel","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tipella","place_name":"Tipella","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tipella 7","place_name":"","community":"Tipella 7","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tlaa Gaa Aawtlaas 28","place_name":"","community":"Tlaa Gaa Aawtlaas 28","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tl'aaniiwa'a","place_name":"Tl'aaniiwa'a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tlakmaqis","place_name":"Tlakmaqis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tlell","place_name":"Tlell","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tl'esqox","place_name":"Tl'esqox","community":"Toosey 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tl'etinqox","place_name":"Tl'etinqox","community":"Anahim's Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tl'isnachis","place_name":"Tl'isnachis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tl'itsnit","place_name":"Tl'itsnit","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tloohat-a","place_name":"Tloohat-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Toad River","place_name":"Toad River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tobacco Plains 2","place_name":"","community":"Tobacco Plains 2","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Tobiano","place_name":"Tobiano","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Toby Creek","place_name":"Toby Creek","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Toby's Meadow 4","place_name":"Toby's Meadow 4","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tofino","place_name":"","community":"Tofino","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tomslake","place_name":"Tomslake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Toosey 1","place_name":"","community":"Toosey 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Topley","place_name":"Topley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Topley Landing","place_name":"Topley Landing","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tork 7","place_name":"","community":"Tork 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tow Hill Road","place_name":"Tow Hill Road","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Towdystan","place_name":"Towdystan","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Towdystan Lake 3","place_name":"","community":"Towdystan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tower Lake","place_name":"Tower Lake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Towinock 2","place_name":"","community":"Towinock 2","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Traders Cove","place_name":"Traders Cove","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trail","place_name":"","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Tranquille","place_name":"Tranquille","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Trépanier","place_name":"Trépanier","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trevor Channel","place_name":"Trevor Channel","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Trinity Valley","place_name":"Trinity Valley","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Triple E Trailer Park","place_name":"Triple E Trailer Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Trout Creek","place_name":"Trout Creek","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trout Lake","place_name":"Trout Lake","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Trout Lake Alec 16","place_name":"","community":"Trout Lake Alec 16","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Trutch","place_name":"Trutch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tsa Xana 18","place_name":"","community":"Tsa Xana 18","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsahaheh 1","place_name":"","community":"Tsahaheh 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsaukan 12","place_name":"","community":"Tsaukan 12","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsawwassen","place_name":"","community":"Tsawwassen","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tsawwassen - Delta","place_name":"Tsawwassen","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tsawwassen Beach","place_name":"Tsawwassen Beach","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ts'axq'oo-is","place_name":"Ts'axq'oo-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tsay Cho 4","place_name":"Tsay Cho 4","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tsay Keh Dene","place_name":"Tsay Keh Dene","community":"Finlay River 6","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Tseatah 2","place_name":"","community":"Tseatah 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tsideldel","place_name":"Tsideldel","community":"Redstone Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ts'iispoo-a","place_name":"Ts'iispoo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tsimpsean 2 North Part","place_name":"Tsimpsean 2 North Part","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tsinstikeptum 9","place_name":"Tsinstikeptum 9","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsinstikeptum 10","place_name":"","community":"Tsinstikeptum 10","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsinstikeptum 9","place_name":"","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsolum","place_name":"Tsolum","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tsolum River","place_name":"Tsolum River","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"T'Sou-ke","place_name":"","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"T'Sou-ke 1 (Sooke 1)","place_name":"T'Sou-ke 1 (Sooke 1)","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"T'Sou-ke 2 (Sooke 2)","place_name":"T'Sou-ke 2 (Sooke 2)","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsulquate 4","place_name":"","community":"Tsulquate 4","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsunnia Lake 5","place_name":"Tsunnia Lake 5","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tsussie 6","place_name":"","community":"Tsussie 6","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tuckkwiowhum 1","place_name":"","community":"Tuckkwiowhum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tulameen","place_name":"Tulameen","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Tulsequah","place_name":"Tulsequah","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tumbler Ridge","place_name":"","community":"Tumbler Ridge","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tupper","place_name":"Tupper","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Turner Subdivision","place_name":"Turner Subdivision","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Turtle Valley","place_name":"Turtle Valley","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Tuwanek","place_name":"Tuwanek","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Twidwell Bend","place_name":"Twidwell Bend","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Twin Bays","place_name":"Twin Bays","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Twin Creeks","place_name":"Twin Creeks","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Twin Firs Trailer Park","place_name":"Twin Firs Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Twin Islands","place_name":"Twin Islands","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Twin Lakes","place_name":"Twin Lakes","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Twin Sevens Trailer Park","place_name":"Twin Sevens Trailer Park","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Two Mile","place_name":"Two Mile","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Two Mile Hazelton","place_name":"Two Mile Hazelton","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Two Rivers","place_name":"Two Rivers","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Twoyqhalsht 16","place_name":"","community":"Twoyqhalsht 16","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tyax Lake","place_name":"Tyax Lake","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Tyhee Trailer Park","place_name":"Tyhee Trailer Park","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Tynehead","place_name":"Tynehead","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tzart-Lam 5","place_name":"","community":"Tzart-Lam 5","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tzeachten 13","place_name":"","community":"Tzeachten 13","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tzetzi Lake 11","place_name":"Tzetzi Lake 11","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tzouhalem","place_name":"Tzouhalem","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Ucluelet","place_name":"","community":"Ucluelet","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Ulkatcho","place_name":"Ulkatcho","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ulkatcho 13","place_name":"","community":"Ulkatcho 13","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ulkatcho 14A","place_name":"","community":"Ulkatcho 14A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Uncha Lake 13A","place_name":"","community":"Uncha Lake 13A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Union Bay","place_name":"Union Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Union Bay 4","place_name":"","community":"Union Bay 4","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"University Endowment Area","place_name":"University Endowment Area","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"University Hill","place_name":"University Hill","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Unnamed 10","place_name":"","community":"Unnamed 10","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Upland Trailer Court","place_name":"Upland Trailer Court","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Upper Bench","place_name":"Upper Bench","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Upper China Creek","place_name":"Upper China Creek","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Upper Cutbank","place_name":"Upper Cutbank","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Upper Fraser","place_name":"Upper Fraser","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Upper Halfway","place_name":"Upper Halfway","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Upper Hat Creek","place_name":"Upper Hat Creek","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Upper Hat Creek 1","place_name":"","community":"Upper Hat Creek 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Upper Lynn","place_name":"Upper Lynn","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Upper Nepa 6","place_name":"","community":"Upper Nepa 6","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Upper Squamish Valley","place_name":"Upper Squamish Valley","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Upper Sumas 6","place_name":"","community":"Upper Sumas 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Upsowis","place_name":"Upsowis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Usk","place_name":"Usk","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Uuts","place_name":"Uuts","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Valemount","place_name":"","community":"Valemount","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Valhalla","place_name":"Valhalla","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Valhalla Subdivision","place_name":"Valhalla Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Valley Mobile Home","place_name":"Valley Mobile Home","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Valley Road Subdivision","place_name":"Valley Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Valley View","place_name":"Valley View","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Valleycliffe","place_name":"Valleycliffe","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Valleyview","place_name":"Valleyview","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Vallican","place_name":"Vallican","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Van Anda","place_name":"Van Anda","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Vancouver","place_name":"","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Vanderhoof","place_name":"","community":"Vanderhoof","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Vanway","place_name":"Vanway","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Vaseaux Lake","place_name":"Vaseaux Lake","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Vaucroft Beach","place_name":"Vaucroft Beach","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Vavenby","place_name":"Vavenby","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Vedder Crossing","place_name":"Vedder Crossing","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Vermilion Crossing","place_name":"Vermilion Crossing","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Vernon","place_name":"","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Vesuvius","place_name":"Vesuvius","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Victoria","place_name":"","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Victoria Lake","place_name":"Victoria Lake","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Victoria-Fraserview","place_name":"Victoria-Fraserview","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Vidette","place_name":"Vidette","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"View Royal","place_name":"","community":"View Royal","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Village Bay","place_name":"Village Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Village Island 1","place_name":"","community":"Village Island 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Village of Queen Charlotte","place_name":"Village of Queen Charlotte","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Vinsulla","place_name":"Vinsulla","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"W'aayi","place_name":"W'aayi","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wabi Estates","place_name":"Wabi Estates","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Wabi Hill Trailer Court","place_name":"Wabi Hill Trailer Court","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Wadhams","place_name":"Wadhams","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wagner Ranch","place_name":"Wagner Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Waiwakum 14","place_name":"","community":"Waiwakum 14","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Walcott","place_name":"Walcott","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Walhachin","place_name":"Walhachin","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Walkers","place_name":"Walkers","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Wall Beach","place_name":"Wall Beach","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Walnut Grove","place_name":"Walnut Grove","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Waneta","place_name":"Waneta","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Waneta Junction","place_name":"Waneta Junction","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Wardner","place_name":"Wardner","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Warfield","place_name":"","community":"Warfield","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Warner Bay","place_name":"Warner Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wasa","place_name":"Wasa","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Water's Subdivision","place_name":"Water's Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Webber Site","place_name":"Webber Site","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Websters Corners","place_name":"Websters Corners","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Weeping Willow Trailer Court","place_name":"Weeping Willow Trailer Court","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Weewanie","place_name":"Weewanie","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Welcome Beach","place_name":"Welcome Beach","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Weldwood","place_name":"Weldwood","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wellington","place_name":"Wellington","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Wells","place_name":"","community":"Wells","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Weneez","place_name":"Weneez","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"West Bay","place_name":"West Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Bench","place_name":"West Bench","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"West Creston","place_name":"West Creston","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"West End - New Westminster","place_name":"West End","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West End - Vancouver","place_name":"West End","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West End Trailer Park","place_name":"West End Trailer Park","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"West Heights","place_name":"West Heights","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Kelowna","place_name":"","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"West Landing","place_name":"West Landing","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"West Lynn","place_name":"West Lynn","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Mara Lake","place_name":"West Mara Lake","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"West Midway","place_name":"West Midway","community":"Midway","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"West Moberly Lake 168A","place_name":"","community":"West Moberly Lake 168A","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"West Point Grey","place_name":"West Point Grey","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Road Subdivision","place_name":"West Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"West Sechelt","place_name":"West Sechelt","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"West Thurlow","place_name":"West Thurlow","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"West Trail","place_name":"West Trail","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"West Vancouver","place_name":"","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Westbank - Tsinstikeptum 9","place_name":"Westbank","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Westbank - West Kelowna","place_name":"Westbank","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Westbridge","place_name":"Westbridge","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Westcoast Energy","place_name":"Westcoast Energy","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Westholme","place_name":"Westholme","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Westmount","place_name":"Westmount","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Westmount Acres Trailer Court","place_name":"Westmount Acres Trailer Court","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Westridge","place_name":"Westridge","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Westside","place_name":"Westside","community":"Tsinstikeptum 10","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Westsyde","place_name":"Westsyde","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Westview","place_name":"Westview","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Westwold","place_name":"Westwold","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Wet'suwet'en Village","place_name":"Wet'suwet'en Village","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Weyerhaeuser Subdivision","place_name":"Weyerhaeuser Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Whaletown","place_name":"Whaletown","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Whalley","place_name":"Whalley","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Wheel Estates-Saratoga Beach","place_name":"Wheel Estates-Saratoga Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whiplash Ranch","place_name":"Whiplash Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Whisky Creek","place_name":"Whisky Creek","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whispering Pines 4","place_name":"","community":"Whispering Pines 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Whispering Pines Trailer Park","place_name":"Whispering Pines Trailer Park","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Whispering Winds Trailer Court","place_name":"Whispering Winds Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Whistler","place_name":"","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Whistler Creek","place_name":"Whistler Creek","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"White Lake","place_name":"White Lake","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"White Rock","place_name":"","community":"White Rock","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"White Spruce Trailer Court","place_name":"White Spruce Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Whitecroft","place_name":"Whitecroft","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Whiterock Passage","place_name":"Whiterock Passage","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Whonnock","place_name":"Whonnock","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Whonnock 1","place_name":"","community":"Whonnock 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Whyac","place_name":"Whyac","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whytecliff","place_name":"Whytecliff","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Wigwam Inn","place_name":"Wigwam Inn","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Wihat'a","place_name":"Wihat'a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wii Lax K'ap","place_name":"Wii Lax K'ap","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Wildwood","place_name":"Wildwood","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wildwood Subdivision","place_name":"Wildwood Subdivision","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Wildwood Trailer Park","place_name":"Wildwood Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Wiley","place_name":"Wiley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Williams Beach","place_name":"Williams Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Williams Lake","place_name":"","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"Williams Lake 1","place_name":"","community":"Williams Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Williams Landing","place_name":"Williams Landing","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Williams Prairie Meadow 1A","place_name":"","community":"Williams Prairie Meadow 1A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Williamsons Landing","place_name":"Williamsons Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Willingdon Heights","place_name":"Willingdon Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Willow Brook","place_name":"Willow Brook","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willow Flats","place_name":"Willow Flats","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Willow Point","place_name":"Willow Point","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Willow Ranch","place_name":"Willow Ranch","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willow River","place_name":"Willow River","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Willow Valley","place_name":"Willow Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Willowbrook - Okanagan-Similkameen C","place_name":"Willowbrook","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willowbrook - Peace River D","place_name":"Willowbrook","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Willowvale","place_name":"Willowvale","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Wilmer","place_name":"Wilmer","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Wilson Creek","place_name":"Wilson Creek","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Wilson Landing","place_name":"Wilson Landing","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Windermere","place_name":"Windermere","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Windmill Trailer Park","place_name":"Windmill Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Windsor Park","place_name":"Windsor Park","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Windy Mouth 7","place_name":"","community":"Windy Mouth 7","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Winfield","place_name":"Winfield","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Winfield Mobile Home Park","place_name":"Winfield Mobile Home Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Wingdam","place_name":"Wingdam","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Winlaw","place_name":"Winlaw","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Winter Harbour","place_name":"Winter Harbour","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wistaria","place_name":"Wistaria","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Wisteria","place_name":"Wisteria","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Wolf","place_name":"Wolf","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Wonowon","place_name":"Wonowon","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Woodcock","place_name":"Woodcock","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Woodcreek","place_name":"Woodcreek","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Woodfibre","place_name":"Woodfibre","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Woodhaven","place_name":"Woodhaven","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Woodland Park Estates","place_name":"Woodland Park Estates","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Woodlands","place_name":"Woodlands","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Woodmere","place_name":"Woodmere","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Woodpecker","place_name":"Woodpecker","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Woods Landing","place_name":"Woods Landing","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Woodsdale","place_name":"Woodsdale","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Woss","place_name":"Woss","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Woyenne 27","place_name":"","community":"Woyenne 27","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Wright","place_name":"Wright","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Wyah 3","place_name":"Wyah 3","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Wycliffe","place_name":"Wycliffe","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Wycliffe Trailer Park","place_name":"Wycliffe Trailer Park","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Wyndhaven Subdivision","place_name":"Wyndhaven Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Wynndel","place_name":"Wynndel","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Xeni","place_name":"Xeni","community":"Lohbiee 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Y.D. Ranch Subdivision","place_name":"Y.D. Ranch Subdivision","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ya:kats","place_name":"Ya:kats","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yaashitquo-a","place_name":"Yaashitquo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Yaculta","place_name":"Yaculta","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yahk","place_name":"Yahk","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Yaku","place_name":"Yaku","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Yakweakwioose 12","place_name":"","community":"Yakweakwioose 12","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yale","place_name":"Yale","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Yale Town 1","place_name":"","community":"Yale Town 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yankee Flats","place_name":"Yankee Flats","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Yarksis","place_name":"Yarksis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Yarrow","place_name":"Yarrow","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Yawaucht 11","place_name":"","community":"Yawaucht 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ye Koo Che 3","place_name":"","community":"Ye Koo Che 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Yekooche","place_name":"Yekooche","community":"Ye Koo Che 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Yekwaupsum 18","place_name":"","community":"Yekwaupsum 18","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yellow Point","place_name":"Yellow Point","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Yennadon","place_name":"Yennadon","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ymir","place_name":"Ymir","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Youbou","place_name":"Youbou","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Youbou West","place_name":"Youbou West","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Young Lake","place_name":"Young Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Yreka","place_name":"Yreka","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"YunesÌ‚it'in","place_name":"YunesÌ‚it'in","community":"Stone 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Yuquot","place_name":"Yuquot","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yuquot 1","place_name":"","community":"Yuquot 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Yuuhluth","place_name":"Yuuhluth","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Zacht 5","place_name":"","community":"Zacht 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Zamora","place_name":"Zamora","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Zeballos","place_name":"","community":"Zeballos","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Zincton","place_name":"Zincton","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Zoht 4","place_name":"","community":"Zoht 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"}] \ No newline at end of file +[{"location":"100 Mile House","place_name":"100 Mile House","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"105 Mile House","place_name":"105 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"105 Mile Post 2","place_name":"","community":"105 Mile Post 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"108 Mile Ranch","place_name":"108 Mile Ranch","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"111 Mile House","place_name":"111 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"114 Mile House","place_name":"114 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"12 Mile","place_name":"12 Mile","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"122 Mile House","place_name":"122 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"127 Mile House","place_name":"127 Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"141 Mile House","place_name":"141 Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"150 Mile House","place_name":"150 Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"40 Mile Flats","place_name":"40 Mile Flats","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"70 Mile House","place_name":"70 Mile House","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"93 Mile","place_name":"93 Mile","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"A:mai","place_name":"A:mai","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Aa-at-sow-is","place_name":"Aa-at-sow-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Abbotsford","place_name":"","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Abbott Heights","place_name":"Abbott Heights","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Aberdeen - Abbotsford","place_name":"Aberdeen","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Aberdeen - Kamloops","place_name":"Aberdeen","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Acous","place_name":"Acous","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Adams Lake","place_name":"Adams Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Agassiz","place_name":"Agassiz","community":"Kent","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Agate","place_name":"Agate","community":"Shackan 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Agats Meadow 8","place_name":"","community":"Agats Meadow 8","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ah:tliish","place_name":"Ah:tliish","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ahahswinis 1","place_name":"","community":"Ahahswinis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ahaminaquus 12","place_name":"","community":"Ahaminaquus 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ahbau","place_name":"Ahbau","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ahousat","place_name":"Ahousat","community":"Marktosis 15","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ainsworth Hot Springs","place_name":"Ainsworth Hot Springs","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Aitchelitch 9","place_name":"","community":"Aitchelitch 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Aiyansh (Kitladamas) 1","place_name":"Aiyansh (Kitladamas) 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Aiyansh 1","place_name":"Aiyansh 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ak:tiis","place_name":"Ak:tiis","community":"Village Island 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Akiskinook","place_name":"Akiskinook","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Alamo","place_name":"Alamo","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Albas","place_name":"Albas","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Alberni","place_name":"Alberni","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni 2","place_name":"","community":"Alberni 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alberni-Clayoquot A","place_name":"","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot B","place_name":"","community":"Alberni-Clayoquot B","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot C","place_name":"","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot D","place_name":"","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot E","place_name":"","community":"Alberni-Clayoquot E","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot F","place_name":"","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Alberni-Clayoquot, Subd. A","place_name":"Alberni-Clayoquot, Subd. A","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Alberni-Clayoquot, Subd. B","place_name":"Alberni-Clayoquot, Subd. B","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Albert Flat 5","place_name":"","community":"Albert Flat 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Albert Head","place_name":"Albert Head","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Albion","place_name":"Albion","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Albreda","place_name":"Albreda","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alder Creek","place_name":"Alder Creek","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Aldergrove","place_name":"Aldergrove","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Alert Bay","place_name":"Alert Bay","community":"Alert Bay - Village","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Alert Bay - Indian reserve","place_name":"","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alert Bay - Village","place_name":"","community":"Alert Bay - Village","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Alert Bay 1","place_name":"Alert Bay 1","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alert Bay 1A","place_name":"Alert Bay 1A","community":"Alert Bay - Indian reserve","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Alexandria","place_name":"","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 1","place_name":"Alexandria 1","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 1A","place_name":"Alexandria 1A","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 3","place_name":"Alexandria 3","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexandria 3A","place_name":"Alexandria 3A","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis 9","place_name":"","community":"Alexis 9","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Alexis Creek","place_name":"Alexis Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 6","place_name":"Alexis Creek 6","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 14","place_name":"","community":"Alexis Creek 14","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 16","place_name":"","community":"Alexis Creek 16","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 17","place_name":"Alexis Creek 17","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 21","place_name":"","community":"Alexis Creek 21","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alexis Creek 24","place_name":"Alexis Creek 24","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 25","place_name":"Alexis Creek 25","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alexis Creek 34","place_name":"","community":"Alexis Creek 34","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Aleza Lake","place_name":"Aleza Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Alice Arm","place_name":"Alice Arm","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Alice Siding","place_name":"Alice Siding","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Alkali Lake","place_name":"Alkali Lake","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Alkali Lake 1","place_name":"","community":"Alkali Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Alkali Lake 4A","place_name":"","community":"Alkali Lake 4A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Allenby","place_name":"Allenby","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Allens Addition","place_name":"Allens Addition","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Alliford Bay","place_name":"Alliford Bay","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Allison Lake","place_name":"Allison Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Almond Gardens","place_name":"Almond Gardens","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Almond Gardens Trailer Park","place_name":"Almond Gardens Trailer Park","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Alpine Meadows","place_name":"Alpine Meadows","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Alpine Trailer Park","place_name":"Alpine Trailer Park","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Alta Lake","place_name":"Alta Lake","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Altamont","place_name":"Altamont","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Altona","place_name":"Altona","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Alvin","place_name":"Alvin","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ambleside","place_name":"Ambleside","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Anacla 12","place_name":"","community":"Anacla 12","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Anaconda","place_name":"Anaconda","community":"Greenwood","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Anahim Lake","place_name":"Anahim Lake","community":"Squinas 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Flat 1","place_name":"","community":"Anahim's Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow","place_name":"","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow 2","place_name":"Anahim's Meadow 2","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anahim's Meadow 2A","place_name":"Anahim's Meadow 2A","community":"Anahim's Meadow","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Anaqtl'a","place_name":"Anaqtl'a","community":"Anacla 12","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Anderson","place_name":"Anderson","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Andy Cahoose Meadow 16","place_name":"Andy Cahoose Meadow 16","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Anglemont","place_name":"Anglemont","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Anmore","place_name":"","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Anniedale","place_name":"Anniedale","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Annis","place_name":"Annis","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Annis Bay","place_name":"Annis Bay","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Anvil Island","place_name":"Anvil Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Anyox","place_name":"Anyox","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Anzac","place_name":"Anzac","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Apex Mountain","place_name":"Apex Mountain","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Appledale","place_name":"Appledale","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Applegrove","place_name":"Applegrove","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Apsagayu 1A","place_name":"Apsagayu 1A","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Arbutus","place_name":"Arbutus","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Arbutus Ridge","place_name":"Arbutus Ridge","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Archibald Subdivision","place_name":"Archibald Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ardmore","place_name":"Ardmore","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Argenta","place_name":"Argenta","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Armitage Trailer Court","place_name":"Armitage Trailer Court","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Armstrong","place_name":"","community":"Armstrong","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Armstrong - Armstrong","place_name":"Armstrong","community":"Armstrong","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Armstrong - Spallumcheen","place_name":"Armstrong","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Arnold","place_name":"Arnold","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Arras","place_name":"Arras","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Arrow Creek","place_name":"Arrow Creek","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Arrow Creek-Lakeview","place_name":"Arrow Creek-Lakeview","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Arrow Park","place_name":"Arrow Park","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Arrowhead","place_name":"Arrowhead","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Arrowview Heights","place_name":"Arrowview Heights","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Artina Trailer Court","place_name":"Artina Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Aschcroft Ranch","place_name":"Aschcroft Ranch","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashcroft","place_name":"","community":"Ashcroft","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashcroft 4","place_name":"","community":"Ashcroft 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ashcroft Manor","place_name":"Ashcroft Manor","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ashnola 10","place_name":"","community":"Ashnola 10","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ashton Creek","place_name":"Ashton Creek","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Aspen Grove","place_name":"Aspen Grove","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Aspen Mobile Trailer Court","place_name":"Aspen Mobile Trailer Court","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Atchelitz","place_name":"Atchelitz","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Athalmer","place_name":"Athalmer","community":"Shuswap","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Atlin","place_name":"Atlin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Atluck","place_name":"Atluck","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Atnarko","place_name":"Atnarko","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Attachie","place_name":"Attachie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Aupe 6","place_name":"Aupe 6","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Aupe 6A","place_name":"Aupe 6A","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Austin Heights","place_name":"Austin Heights","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Australian","place_name":"Australian","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Avola","place_name":"Avola","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Aywawwis 15","place_name":"Aywawwis 15","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Azu Ski Village","place_name":"Azu Ski Village","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"B and D Trailer Court","place_name":"B and D Trailer Court","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Babcock Subdivision","place_name":"Babcock Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Babine 6","place_name":"Babine 6","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 16","place_name":"","community":"Babine 16","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 17","place_name":"","community":"Babine 17","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Babine 25","place_name":"","community":"Babine 25","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine 6","place_name":"","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Babine Lake 21B","place_name":"","community":"Babine Lake 21B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Baezaeko River 25","place_name":"Baezaeko River 25","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Baezaeko River 26","place_name":"Baezaeko River 26","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Baezaeko River 27","place_name":"","community":"Baezaeko River 27","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Baker","place_name":"Baker","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Baker Creek","place_name":"Baker Creek","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Baldonnel","place_name":"Baldonnel","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Baldy Hughes","place_name":"Baldy Hughes","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Balfour","place_name":"Balfour","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Balmoral","place_name":"Balmoral","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Balmoral Beach","place_name":"Balmoral Beach","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bamberton","place_name":"Bamberton","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bamfield","place_name":"Bamfield","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Bankeir","place_name":"Bankeir","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Baptiste Meadow 2","place_name":"","community":"Baptiste Meadow 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Bargain Harbour","place_name":"Bargain Harbour","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Barkerville","place_name":"Barkerville","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Barlow Creek","place_name":"Barlow Creek","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Barnet","place_name":"Barnet","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Barnhartvale","place_name":"Barnhartvale","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Barnston Island","place_name":"Barnston Island","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Barnston Island 3","place_name":"","community":"Barnston Island 3","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Barrett Lake","place_name":"Barrett Lake","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Barriere","place_name":"","community":"Barriere","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Barrowtown","place_name":"Barrowtown","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Basque 18","place_name":"","community":"Basque 18","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bastion Bay","place_name":"Bastion Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Batchelor Hills","place_name":"Batchelor Hills","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Bates Beach","place_name":"Bates Beach","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Baynes Lake","place_name":"Baynes Lake","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Bayview Estates","place_name":"Bayview Estates","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Beach Grove","place_name":"Beach Grove","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Beachcomber","place_name":"Beachcomber","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Beachcomber Bay","place_name":"Beachcomber Bay","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Bealby Point","place_name":"Bealby Point","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Bear Camp","place_name":"Bear Camp","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bear Creek","place_name":"Bear Creek","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bear Flat","place_name":"Bear Flat","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bear Lake - Fraser-Fort George G","place_name":"Bear Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bear Lake - Stikine Region","place_name":"Bear Lake","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bear Mountain","place_name":"Bear Mountain","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Bear River Trailer Court","place_name":"Bear River Trailer Court","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Beard's Creek","place_name":"Beard's Creek","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Beasley","place_name":"Beasley","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Beaton","place_name":"Beaton","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Beatton Ranch","place_name":"Beatton Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Beaver Cove","place_name":"Beaver Cove","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Beaver Creek","place_name":"Beaver Creek","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Beaver Falls","place_name":"Beaver Falls","community":"Montrose","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beaver Lake","place_name":"Beaver Lake","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Beaver Pass House","place_name":"Beaver Pass House","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Beaver Point","place_name":"Beaver Point","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Beaverdell","place_name":"Beaverdell","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Beaverley","place_name":"Beaverley","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Beban Trailer Park","place_name":"Beban Trailer Park","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Becher Bay 1","place_name":"","community":"Becher Bay 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Becher Bay 2","place_name":"Becher Bay 2","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Becher House","place_name":"Becher House","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bedwell Harbour","place_name":"Bedwell Harbour","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Belaire Estates Trailer Park","place_name":"Belaire Estates Trailer Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Belcarra","place_name":"","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Bell II","place_name":"Bell II","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Bella Bella","place_name":"Bella Bella","community":"Bella Bella 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Bella 1","place_name":"","community":"Bella Bella 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Coola","place_name":"Bella Coola","community":"Bella Coola 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bella Coola 1","place_name":"","community":"Bella Coola 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Belle Vue Trailer Court","place_name":"Belle Vue Trailer Court","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Belleview","place_name":"Belleview","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Belmont Park","place_name":"Belmont Park","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Belva's Trailer Park","place_name":"Belva's Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Belvedere","place_name":"Belvedere","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Ben-My-Chree","place_name":"Ben-My-Chree","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bennett","place_name":"Bennett","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Benson Lake","place_name":"Benson Lake","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Benvoulin","place_name":"Benvoulin","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Beresford","place_name":"Beresford","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Bergs","place_name":"Bergs","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Beryl Prairie","place_name":"Beryl Prairie","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bessborough","place_name":"Bessborough","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bestwick","place_name":"Bestwick","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Betty Creek 18","place_name":"","community":"Betty Creek 18","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Bevan","place_name":"Bevan","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Big Bar","place_name":"Big Bar","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Big Bar Creek","place_name":"Big Bar Creek","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Big Bay","place_name":"Big Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Big Creek","place_name":"Big Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Big Eddy","place_name":"Big Eddy","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Big Lake Ranch","place_name":"Big Lake Ranch","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Big White","place_name":"Big White","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Big White Village","place_name":"Big White Village","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bihl' k'a 18","place_name":"Bihl' k'a 18","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bihlk'a 6","place_name":"Bihlk'a 6","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Billings","place_name":"Billings","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Billings Bay","place_name":"Billings Bay","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Binche 2","place_name":"","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Binche 2 (Pinchie 2)","place_name":"Binche 2 (Pinchie 2)","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Birch Island","place_name":"Birch Island","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Birchdale","place_name":"Birchdale","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Birchland Manor","place_name":"Birchland Manor","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Birken","place_name":"Birken","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Black Creek - Cariboo F","place_name":"Black Creek","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Black Creek - Comox Valley C (Puntledge - Black Creek)","place_name":"Black Creek","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Black Pines","place_name":"Black Pines","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blackcomb","place_name":"Blackcomb","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Blackloam","place_name":"Blackloam","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Blackpool","place_name":"Blackpool","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Blackstock Subdivision","place_name":"Blackstock Subdivision","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Blackwater - Cariboo I","place_name":"Blackwater","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Blackwater - Squamish-Lillooet C","place_name":"Blackwater","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Blackwater Meadow 11","place_name":"Blackwater Meadow 11","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Blaeberry","place_name":"Blaeberry","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Blakeburn","place_name":"Blakeburn","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blewett","place_name":"Blewett","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Blind Bay","place_name":"Blind Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blind Channel","place_name":"Blind Channel","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blind Creek 6","place_name":"","community":"Blind Creek 6","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bliss Landing","place_name":"Bliss Landing","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Bloedel","place_name":"Bloedel","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blowhole","place_name":"Blowhole","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blubber Bay","place_name":"Blubber Bay","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Blucher Hall","place_name":"Blucher Hall","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Blue Hills","place_name":"Blue Hills","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Blue River","place_name":"Blue River","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Blue Springs","place_name":"Blue Springs","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Blueberry Creek","place_name":"Blueberry Creek","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Blueberry Farm","place_name":"Blueberry Farm","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Blueberry River 205","place_name":"","community":"Blueberry River 205","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Blueridge","place_name":"Blueridge","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Boat Basin","place_name":"Boat Basin","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Boat Harbour","place_name":"Boat Harbour","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bob Quinn Lake","place_name":"Bob Quinn Lake","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Bold Point","place_name":"Bold Point","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Bonaparte 3","place_name":"","community":"Bonaparte 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Bonaventure Trailer Park","place_name":"Bonaventure Trailer Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Bonnet Hill","place_name":"Bonnet Hill","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Bonnington Falls","place_name":"Bonnington Falls","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Boothroyd","place_name":"Boothroyd","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boothroyd (Part) 8A","place_name":"Boothroyd (Part) 8A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Boothroyd 13","place_name":"","community":"Boothroyd 13","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Boothroyd 5A","place_name":"Boothroyd 5A","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boothroyd 8A","place_name":"","community":"Boothroyd 8A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Boring Ranch","place_name":"Boring Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Boston Bar","place_name":"Boston Bar","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Boston Bar 1A","place_name":"","community":"Boston Bar 1A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Boston Flats","place_name":"Boston Flats","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Boswell - Central Coast A","place_name":"Boswell","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Boswell - Central Kootenay A","place_name":"Boswell","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Bouchie Lake","place_name":"Bouchie Lake","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Boulder City","place_name":"Boulder City","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Boundary Bay","place_name":"Boundary Bay","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Boundary Falls","place_name":"Boundary Falls","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bowen Bay","place_name":"Bowen Bay","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowen Island","place_name":"","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowen Island Trust","place_name":"Bowen Island Trust","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bowron Lake","place_name":"Bowron Lake","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bowser","place_name":"Bowser","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Box Lake","place_name":"Box Lake","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Brackendale","place_name":"Brackendale","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bradner","place_name":"Bradner","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brady Ranch","place_name":"Brady Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Braeloch","place_name":"Braeloch","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Braemar Heights","place_name":"Braemar Heights","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Braeside","place_name":"Braeside","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bralorne","place_name":"Bralorne","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Brandon","place_name":"Brandon","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Brauns Island","place_name":"Brauns Island","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Brem River","place_name":"Brem River","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brennan Creek","place_name":"Brennan Creek","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Brentwood Bay","place_name":"Brentwood Bay","community":"South Saanich 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Brentwood Park","place_name":"Brentwood Park","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brew Bay","place_name":"Brew Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brexton","place_name":"Brexton","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Briar Ridge","place_name":"Briar Ridge","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bridal Falls","place_name":"Bridal Falls","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Bridesville","place_name":"Bridesville","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bridge Lake","place_name":"Bridge Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Bridge River 1","place_name":"","community":"Bridge River 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Bridgeview","place_name":"Bridgeview","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brigade Lake","place_name":"Brigade Lake","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brighouse","place_name":"Brighouse","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brighton Beach","place_name":"Brighton Beach","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brilliant","place_name":"Brilliant","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Brisco","place_name":"Brisco","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Britannia Beach","place_name":"Britannia Beach","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"British Properties","place_name":"British Properties","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Broadmoor","place_name":"Broadmoor","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Broadview","place_name":"Broadview","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Broadview Villa","place_name":"Broadview Villa","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Brocklehurst","place_name":"Brocklehurst","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Broman Lake","place_name":"Broman Lake","community":"Duncan Lake 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Brookfield Trailers","place_name":"Brookfield Trailers","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brookmere","place_name":"Brookmere","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Brookswood","place_name":"Brookswood","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brouse","place_name":"Brouse","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Brown Road Trailer Park","place_name":"Brown Road Trailer Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Browns Bay","place_name":"Browns Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brunette Creek","place_name":"Brunette Creek","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Brunswick","place_name":"Brunswick","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Brunswick Beach","place_name":"Brunswick Beach","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Buccaneer Bay","place_name":"Buccaneer Bay","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Buckhorn","place_name":"Buckhorn","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Buckingham Heights","place_name":"Buckingham Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Buckinghorse River","place_name":"Buckinghorse River","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Buckley Bay","place_name":"Buckley Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Bucktum 4","place_name":"","community":"Bucktum 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Buena Vista Estates","place_name":"Buena Vista Estates","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Buffalo Creek","place_name":"Buffalo Creek","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Buick","place_name":"Buick","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Bulkley House","place_name":"Bulkley House","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley River 19","place_name":"","community":"Bulkley River 19","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Bulkley-Nechako A","place_name":"","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako B","place_name":"","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako C","place_name":"","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako D","place_name":"","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako E","place_name":"","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako F","place_name":"","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako G","place_name":"","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako, Subd. A","place_name":"Bulkley-Nechako, Subd. A","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako, Subd. B","place_name":"Bulkley-Nechako, Subd. B","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bulkley-Nechako, Subd. C","place_name":"Bulkley-Nechako, Subd. C","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Bull Harbour","place_name":"Bull Harbour","community":"Hope Island 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Bull River","place_name":"Bull River","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Bummers Flat 6","place_name":"Bummers Flat 6","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Buntzen Bay","place_name":"Buntzen Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Burkeville","place_name":"Burkeville","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burnaby","place_name":"","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burnaby Heights","place_name":"Burnaby Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burns Lake","place_name":"","community":"Burns Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Burns Lake 18","place_name":"","community":"Burns Lake 18","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Burnt Flats","place_name":"Burnt Flats","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Burquitlam","place_name":"Burquitlam","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Burrard Inlet 3","place_name":"","community":"Burrard Inlet 3","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Burton","place_name":"Burton","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Butedale","place_name":"Butedale","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cache Creek","place_name":"","community":"Cache Creek","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Cache Creek Campground","place_name":"Cache Creek Campground","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cadboro Bay","place_name":"Cadboro Bay","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Caesars","place_name":"Caesars","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Cahilty","place_name":"Cahilty","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Cahoose 8","place_name":"Cahoose 8","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cahoose 10","place_name":"Cahoose 10","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cahoose 12","place_name":"Cahoose 12","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Caithness","place_name":"Caithness","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Caithness Trailer Court","place_name":"Caithness Trailer Court","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Callison Ranch","place_name":"Callison Ranch","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cambie-Solsqua","place_name":"Cambie-Solsqua","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Camborne","place_name":"Camborne","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Cameron Bar 13","place_name":"Cameron Bar 13","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cameron Heights","place_name":"Cameron Heights","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Camp Artaban","place_name":"Camp Artaban","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Camp Homewood","place_name":"Camp Homewood","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Camp McKinney","place_name":"Camp McKinney","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Campbell Creek","place_name":"Campbell Creek","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Campbell Island","place_name":"Campbell Island","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Campbell River","place_name":"","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Campbell River 11","place_name":"","community":"Campbell River 11","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Campbellton","place_name":"Campbellton","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Canal Flats","place_name":"","community":"Canal Flats","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Canford","place_name":"Canford","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Canim Lake","place_name":"Canim Lake","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Canim Lake 1","place_name":"","community":"Canim Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canim Lake 2","place_name":"","community":"Canim Lake 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canim Lake 4","place_name":"","community":"Canim Lake 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canoe","place_name":"Canoe","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Canoe Creek 1","place_name":"","community":"Canoe Creek 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Canoe Creek 2","place_name":"","community":"Canoe Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Canoe Creek 3","place_name":"","community":"Canoe Creek 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Canyon","place_name":"Canyon","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Canyon Alpine","place_name":"Canyon Alpine","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Canyon Heights","place_name":"Canyon Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Canyon Hot Springs","place_name":"Canyon Hot Springs","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Canyon Trailer Park","place_name":"Canyon Trailer Park","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cape Mudge 10","place_name":"","community":"Cape Mudge 10","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Capilano 5","place_name":"","community":"Capilano 5","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Capilano Highlands","place_name":"Capilano Highlands","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Capital B","place_name":"Capital B","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital D","place_name":"Capital D","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. A","place_name":"Capital, Subd. A","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. B","place_name":"Capital, Subd. B","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. C","place_name":"Capital, Subd. C","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capital, Subd. D","place_name":"Capital, Subd. D","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Capitol Hill","place_name":"Capitol Hill","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cariboo - Cariboo C","place_name":"Cariboo","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo - Coquitlam","place_name":"Cariboo","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cariboo A","place_name":"","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo B","place_name":"","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo C","place_name":"","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo D","place_name":"","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo E","place_name":"","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo F","place_name":"","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo G","place_name":"","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo H","place_name":"","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo I","place_name":"","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo J","place_name":"","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo K","place_name":"","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo L","place_name":"","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo Meadows","place_name":"Cariboo Meadows","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cariboo, Subd. A","place_name":"Cariboo, Subd. A","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo, Subd. B","place_name":"Cariboo, Subd. B","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cariboo, Subd. C","place_name":"Cariboo, Subd. C","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Carlin","place_name":"Carlin","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Carlson","place_name":"Carlson","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Carmi","place_name":"Carmi","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Carmi Subdivision","place_name":"Carmi Subdivision","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Carnaby","place_name":"Carnaby","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Carraholly","place_name":"Carraholly","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Carrolls Landing","place_name":"Carrolls Landing","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Carrs","place_name":"Carrs","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Carrs Landing","place_name":"Carrs Landing","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Carson","place_name":"Carson","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Cascade - Belcarra","place_name":"Cascade","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Cascade - Kootenay Boundary C / Christina Lake","place_name":"Cascade","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Cascade Heights","place_name":"Cascade Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Casimiel Meadows 15A","place_name":"Casimiel Meadows 15A","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Casino","place_name":"Casino","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cassiar","place_name":"Cassiar","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cassidy","place_name":"Cassidy","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cassidy Mobile Home Park","place_name":"Cassidy Mobile Home Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cassimayooks (Mayook) 5","place_name":"","community":"Cassimayooks (Mayook) 5","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Cassin","place_name":"Cassin","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Castle Rock","place_name":"Castle Rock","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Castledale","place_name":"Castledale","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Castlegar","place_name":"","community":"Castlegar","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Caulfeild","place_name":"Caulfeild","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cawston","place_name":"Cawston","community":"Okanagan-Similkameen B","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Caycuse","place_name":"Caycuse","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cayoosh Creek 1","place_name":"","community":"Cayoosh Creek 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cecil Lake","place_name":"Cecil Lake","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Cedar","place_name":"Cedar","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar By The Sea","place_name":"Cedar By The Sea","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar Creek Mobile Home Park","place_name":"Cedar Creek Mobile Home Park","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cedar Grove","place_name":"Cedar Grove","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Cedar Heights Estates","place_name":"Cedar Heights Estates","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cedardale","place_name":"Cedardale","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cedarside","place_name":"Cedarside","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cedarvale","place_name":"Cedarvale","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Ceepeecee","place_name":"Ceepeecee","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Celista","place_name":"Celista","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Central Coast A","place_name":"","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast C","place_name":"","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast D","place_name":"","community":"Central Coast D","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast E","place_name":"","community":"Central Coast E","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Coast, Subd. A","place_name":"Central Coast, Subd. A","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Central Fraser Valley, Subd. A","place_name":"Central Fraser Valley, Subd. A","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Central Kootenay A","place_name":"","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay B","place_name":"","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay C","place_name":"","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay D","place_name":"","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay E","place_name":"","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay F","place_name":"","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay G","place_name":"","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay H","place_name":"","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay I","place_name":"","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay J","place_name":"","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay K","place_name":"","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay, Subd. A","place_name":"Central Kootenay, Subd. A","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay, Subd. B","place_name":"Central Kootenay, Subd. B","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Kootenay, Subd. C","place_name":"Central Kootenay, Subd. C","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Central Okanagan","place_name":"","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan G","place_name":"Central Okanagan G","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan H","place_name":"Central Okanagan H","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan J","place_name":"Central Okanagan J","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan West","place_name":"","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan, Subd. A","place_name":"Central Okanagan, Subd. A","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Okanagan, Subd. B","place_name":"Central Okanagan, Subd. B","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Central Saanich","place_name":"","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Centreville","place_name":"Centreville","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cha cha tsi tsi us","place_name":"Cha cha tsi tsi us","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chaatl","place_name":"Chaatl","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Chain Lake","place_name":"Chain Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chamiss Bay","place_name":"Chamiss Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Channel Ridge","place_name":"Channel Ridge","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chap-is","place_name":"Chap-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chapman Camp","place_name":"Chapman Camp","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Chapmans","place_name":"Chapmans","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Chapperon Ranch","place_name":"Chapperon Ranch","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Charella Garden","place_name":"Charella Garden","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Charley Boy's Meadow 3","place_name":"","community":"Charley Boy's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Charlie Lake","place_name":"Charlie Lake","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Charlotte Lake","place_name":"Charlotte Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chase","place_name":"","community":"Chase","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Chase River","place_name":"Chase River","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Chasm","place_name":"Chasm","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Chateau Village Trailer Court","place_name":"Chateau Village Trailer Court","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Chaumox","place_name":"Chaumox","community":"Speyum 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chaumox 11","place_name":"Chaumox 11","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Chawathil 4","place_name":"","community":"Chawathil 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheakamus","place_name":"Cheakamus","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cheakamus 11","place_name":"","community":"Cheakamus 11","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheam 1","place_name":"","community":"Cheam 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Cheam View","place_name":"Cheam View","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cheekye","place_name":"Cheekye","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chehalis 5","place_name":"","community":"Chehalis 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chekwelp 26","place_name":"","community":"Chekwelp 26","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chekwelp 26A","place_name":"Chekwelp 26A","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chemainus","place_name":"Chemainus","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Chemainus 13","place_name":"","community":"Chemainus 13","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chenahkint 12","place_name":"","community":"Chenahkint 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Chenatha","place_name":"Chenatha","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chequis","place_name":"Chequis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cherry Creek - Alberni-Clayoquot F","place_name":"Cherry Creek","community":"Alberni-Clayoquot F","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cherry Creek - Thompson-Nicola J (Copper Desert Country)","place_name":"Cherry Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cherryville","place_name":"Cherryville","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ches-la-kee 3","place_name":"Ches-la-kee 3","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Cheslatta","place_name":"Cheslatta","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cheslatta 1","place_name":"","community":"Cheslatta 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Chetarpe","place_name":"Chetarpe","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Chetwynd","place_name":"","community":"Chetwynd","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Chezacut","place_name":"Chezacut","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chicoltin Estates Trailer Park","place_name":"Chicoltin Estates Trailer Park","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chilanko Forks","place_name":"Chilanko Forks","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chilco Lake 1","place_name":"","community":"Chilco Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Chilco Lake 1A","place_name":"","community":"Chilco Lake 1A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Chilcotin Forest","place_name":"Chilcotin Forest","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chilhil 6","place_name":"","community":"Chilhil 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Chilliwack","place_name":"","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Chilton Subdivision","place_name":"Chilton Subdivision","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Chimney Valley","place_name":"Chimney Valley","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Chineside","place_name":"Chineside","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Chinook Cove","place_name":"Chinook Cove","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Chinook Mobile Home Park","place_name":"Chinook Mobile Home Park","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Choate","place_name":"Choate","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Chopaka","place_name":"Chopaka","community":"Chopaka 7 & 8","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chopaka 7 & 8","place_name":"","community":"Chopaka 7 & 8","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Christian Valley","place_name":"Christian Valley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Christina Lake","place_name":"Christina Lake","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Chu Chua","place_name":"Chu Chua","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Chuchhraischin","place_name":"","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchhriaschin 5","place_name":"Chuchhriaschin 5","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchhriaschin 5A","place_name":"Chuchhriaschin 5A","community":"Chuchhraischin","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chuchuwayha 2","place_name":"","community":"Chuchuwayha 2","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chum Creek 2","place_name":"","community":"Chum Creek 2","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Chumata","place_name":"Chumata","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Church House","place_name":"Church House","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Chute Lake","place_name":"Chute Lake","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cinema","place_name":"Cinema","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cinnabar Valley","place_name":"Cinnabar Valley","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"City of West Kelowna","place_name":"City of West Kelowna","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Clairmont","place_name":"Clairmont","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Clakamucus 2","place_name":"","community":"Clakamucus 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Claoose 4","place_name":"Claoose 4","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Clapperton","place_name":"Clapperton","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Claremont Subdivision","place_name":"Claremont Subdivision","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Clayburn","place_name":"Clayburn","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clayhurst","place_name":"Clayhurst","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Clayoquot","place_name":"Clayoquot","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cleagh Creek","place_name":"Cleagh Creek","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Clearbrook","place_name":"Clearbrook","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clearwater","place_name":"","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Clearwater Trailer Park","place_name":"Clearwater Trailer Park","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Clem Clem","place_name":"Clem Clem","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Clemretta","place_name":"Clemretta","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cleveland Park","place_name":"Cleveland Park","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clinton","place_name":"","community":"Clinton","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Clo-oose","place_name":"Clo-oose","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Clover Acres Mobile Villa","place_name":"Clover Acres Mobile Villa","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cloverdale","place_name":"Cloverdale","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Clutus","place_name":"Clutus","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Coal Harbour","place_name":"Coal Harbour","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Coal River","place_name":"Coal River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Coalmont","place_name":"Coalmont","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cobble Hill","place_name":"Cobble Hill","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cody","place_name":"Cody","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Coffin Point","place_name":"Coffin Point","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coglistiko River 29","place_name":"","community":"Coglistiko River 29","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Cokato","place_name":"Cokato","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Coldspring House","place_name":"Coldspring House","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Coldstream","place_name":"","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Coldstream Ranch","place_name":"Coldstream Ranch","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Coldwater 1","place_name":"","community":"Coldwater 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Coldwell Beach","place_name":"Coldwell Beach","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cole Bay 3","place_name":"","community":"Cole Bay 3","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"College Heights","place_name":"College Heights","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Collettville","place_name":"Collettville","community":"Merritt","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Colleymount","place_name":"Colleymount","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Colquitz","place_name":"Colquitz","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Columbia Gardens","place_name":"Columbia Gardens","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Columbia Lake 3","place_name":"","community":"Columbia Lake 3","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Columbia Lake Resort Trailer Park","place_name":"Columbia Lake Resort Trailer Park","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Columbia-Shuswap A","place_name":"","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap B","place_name":"","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap C","place_name":"","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap D","place_name":"","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap E","place_name":"","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap F","place_name":"","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columbia-Shuswap, Subd. A","place_name":"Columbia-Shuswap, Subd. A","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap, Subd. B","place_name":"Columbia-Shuswap, Subd. B","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Columbia-Shuswap, Subd. C","place_name":"Columbia-Shuswap, Subd. C","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Columere Park","place_name":"Columere Park","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Colwood","place_name":"","community":"Colwood","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Comer Hill Trailer Park","place_name":"Comer Hill Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Comiaken","place_name":"Comiaken","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Commodore Heights","place_name":"Commodore Heights","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Comox","place_name":"","community":"Comox","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox 1","place_name":"","community":"Comox 1","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Comox Valley A","place_name":"","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox Valley B (Lazo North)","place_name":"","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox Valley C (Puntledge - Black Creek)","place_name":"","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona A","place_name":"Comox-Strathcona A","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona B","place_name":"Comox-Strathcona B","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona C","place_name":"Comox-Strathcona C","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona D","place_name":"Comox-Strathcona D","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Comox-Strathcona G","place_name":"Comox-Strathcona G","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona H","place_name":"Comox-Strathcona H","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona I","place_name":"Comox-Strathcona I","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona J","place_name":"Comox-Strathcona J","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona K","place_name":"Comox-Strathcona K","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona, Subd. A","place_name":"Comox-Strathcona, Subd. A","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Comox-Strathcona, Subd. B","place_name":"Comox-Strathcona, Subd. B","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Comox-Strathcona, Subd. C","place_name":"Comox-Strathcona, Subd. C","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Comox-Strathcona, Subd. D","place_name":"Comox-Strathcona, Subd. D","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Compton Island 6","place_name":"Compton Island 6","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Connaught Heights","place_name":"Connaught Heights","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Coombe","place_name":"Coombe","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Coombs","place_name":"Coombs","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coombs Trailer Park","place_name":"Coombs Trailer Park","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cooper Creek","place_name":"Cooper Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Copper City","place_name":"Copper City","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Copper Cove","place_name":"Copper Cove","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Copper Creek","place_name":"Copper Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Copper Mountain","place_name":"Copper Mountain","community":"Princeton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Coquitlam","place_name":"","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Coquitlam 1","place_name":"","community":"Coquitlam 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Coquitlam 2","place_name":"","community":"Coquitlam 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Coral Beach","place_name":"Coral Beach","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Corbin","place_name":"Corbin","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Cordova Bay","place_name":"Cordova Bay","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Cornwall Lodge Trailer Park","place_name":"Cornwall Lodge Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Corra Linn","place_name":"Corra Linn","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Cortes Bay","place_name":"Cortes Bay","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Coryatsaqua (Moricetown) 2","place_name":"","community":"Coryatsaqua (Moricetown) 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Coryville","place_name":"Coryville","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Cosy Cove","place_name":"Cosy Cove","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Cottonwood","place_name":"Cottonwood","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cottonwood Trailer Park","place_name":"Cottonwood Trailer Park","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Couldwell Subdivision","place_name":"Couldwell Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Country Lane Park","place_name":"Country Lane Park","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Country Side Estates Trailer Court","place_name":"Country Side Estates Trailer Court","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Courtenay","place_name":"","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Coutlee","place_name":"Coutlee","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cove Cliff","place_name":"Cove Cliff","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Cowans Point","place_name":"Cowans Point","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Cowichan","place_name":"","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan 1","place_name":"Cowichan 1","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan 9","place_name":"Cowichan 9","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan Bay","place_name":"Cowichan Bay","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Lake","place_name":"","community":"Cowichan Lake","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Cowichan Station","place_name":"Cowichan Station","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley A","place_name":"","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley B","place_name":"","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley C","place_name":"","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley D","place_name":"","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley E","place_name":"","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley F","place_name":"","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley G","place_name":"","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley H","place_name":"","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley I","place_name":"","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. A","place_name":"Cowichan Valley, Subd. A","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. B","place_name":"Cowichan Valley, Subd. B","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. C","place_name":"Cowichan Valley, Subd. C","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cowichan Valley, Subd. D","place_name":"Cowichan Valley, Subd. D","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Coyle","place_name":"Coyle","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Cracroft","place_name":"Cracroft","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Craigellachie","place_name":"Craigellachie","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Craigs Trailer Court","place_name":"Craigs Trailer Court","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Cranberry","place_name":"Cranberry","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Cranberry Junction","place_name":"Cranberry Junction","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Cranbrook","place_name":"","community":"Cranbrook","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Cranbrook Trailer Court","place_name":"Cranbrook Trailer Court","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Crawford Bay","place_name":"Crawford Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Creekside","place_name":"Creekside","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Creekside Trailer Park","place_name":"Creekside Trailer Park","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Creighton Valley","place_name":"Creighton Valley","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Crescent","place_name":"Crescent","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Crescent Bay - Central Kootenay F","place_name":"Crescent Bay","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Crescent Bay - Central Kootenay K","place_name":"Crescent Bay","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Crescent Beach - Okanagan-Similkameen F","place_name":"Crescent Beach","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Crescent Beach - Surrey","place_name":"Crescent Beach","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Crescent Spur","place_name":"Crescent Spur","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Crescent Valley","place_name":"Crescent Valley","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Crest-A-Way","place_name":"Crest-A-Way","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Creston","place_name":"","community":"Creston","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Creston 1","place_name":"","community":"Creston 1","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Creston Valley Mobile Park","place_name":"Creston Valley Mobile Park","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Creston Wyndle Road","place_name":"Creston Wyndle Road","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Crestwood Subdivision","place_name":"Crestwood Subdivision","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Criss Creek","place_name":"Criss Creek","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Crofton","place_name":"Crofton","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Crotteau Subdivision","place_name":"Crotteau Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Crowsnest","place_name":"Crowsnest","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Croydon","place_name":"Croydon","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Cultus Lake","place_name":"Cultus Lake","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cultus Lake Estates Mobile Home Park","place_name":"Cultus Lake Estates Mobile Home Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Cumberland","place_name":"","community":"Cumberland","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Cumshewa","place_name":"Cumshewa","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Curzon","place_name":"Curzon","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Cypress Park","place_name":"Cypress Park","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dadens","place_name":"Dadens","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Dallas","place_name":"Dallas","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Danskin","place_name":"Danskin","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"D'Arcy","place_name":"D'Arcy","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Darfield","place_name":"Darfield","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Darrell Bay","place_name":"Darrell Bay","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dartmoor","place_name":"Dartmoor","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dashwood","place_name":"Dashwood","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Davis Bay","place_name":"Davis Bay","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dawson Creek","place_name":"","community":"Dawson Creek","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 3"},{"location":"Dawsons Landing","place_name":"Dawsons Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Days Ranch","place_name":"Days Ranch","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Day's Subdivision","place_name":"Day's Subdivision","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"De Courcy Island","place_name":"De Courcy Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dead Point 5","place_name":"","community":"Dead Point 5","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Deadtree Point","place_name":"Deadtree Point","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Deadwood","place_name":"Deadwood","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Dease Lake","place_name":"Dease Lake","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Dease Lake 9","place_name":"","community":"Dease Lake 9","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dease River 1","place_name":"","community":"Dease River 1","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Decker Lake","place_name":"Decker Lake","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Deekyakus","place_name":"Deekyakus","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Deep Bay","place_name":"Deep Bay","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Deep Cove - North Saanich","place_name":"Deep Cove","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Deep Cove - North Vancouver - District municipality","place_name":"Deep Cove","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Deep Creek","place_name":"Deep Creek","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Deep Creek 2","place_name":"","community":"Deep Creek 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Deer Park","place_name":"Deer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Deerholme","place_name":"Deerholme","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Defot","place_name":"Defot","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Deka Lake","place_name":"Deka Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Deka Lake Subdivision","place_name":"Deka Lake Subdivision","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Del Oro Subdivision","place_name":"Del Oro Subdivision","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Delbrook","place_name":"Delbrook","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Delkatla","place_name":"Delkatla","community":"Masset","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Delta","place_name":"","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Denman Island","place_name":"Denman Island","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dentville","place_name":"Dentville","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Departure Bay","place_name":"Departure Bay","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Deroche","place_name":"Deroche","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Devine","place_name":"Devine","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dewdney","place_name":"Dewdney","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Dewdney-Alouette, Subd. A","place_name":"Dewdney-Alouette, Subd. A","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dibble Subdivision","place_name":"Dibble Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Digby Island","place_name":"Digby Island","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dochsupple","place_name":"Dochsupple","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dodge Cove","place_name":"Dodge Cove","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Doe River","place_name":"Doe River","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Dog Creek - Bulkley-Nechako F","place_name":"Dog Creek","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Dog Creek - Cariboo E","place_name":"Dog Creek","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Dog Creek 1","place_name":"","community":"Dog Creek 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Dog Creek 2","place_name":"","community":"Dog Creek 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Dogpatch","place_name":"Dogpatch","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dogwood Valley","place_name":"Dogwood Valley","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Doig River","place_name":"Doig River","community":"Doig River 206","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Doig River 206","place_name":"","community":"Doig River 206","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Dokie Siding","place_name":"Dokie Siding","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Dokkie Subdivision","place_name":"Dokkie Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Dolan Road Subdivision","place_name":"Dolan Road Subdivision","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dollarton","place_name":"Dollarton","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dolphin Beach","place_name":"Dolphin Beach","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dolphin Beach Estates","place_name":"Dolphin Beach Estates","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dolphin Island 1","place_name":"","community":"Dolphin Island 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Dome Creek","place_name":"Dome Creek","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Donald","place_name":"Donald","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Donald Landing","place_name":"Donald Landing","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Donnely Landing","place_name":"Donnely Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Don's Trailer Court","place_name":"Don's Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Dookqua","place_name":"Dookqua","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Dorcas Point","place_name":"Dorcas Point","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Doriston","place_name":"Doriston","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Dorreen","place_name":"Dorreen","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Douglas","place_name":"Douglas","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Douglas 8","place_name":"","community":"Douglas 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Douglas Hill Estates","place_name":"Douglas Hill Estates","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Douglas Lake","place_name":"Douglas Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Douglas Lake 3","place_name":"","community":"Douglas Lake 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Dove Creek","place_name":"Dove Creek","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dragon Lake 3","place_name":"","community":"Dragon Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Drew Harbour","place_name":"Drew Harbour","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Driftwood Creek","place_name":"Driftwood Creek","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Dry Gulch","place_name":"Dry Gulch","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Duck Lake 7","place_name":"","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Duck Range","place_name":"Duck Range","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dufferin","place_name":"Dufferin","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Dugan Lake","place_name":"Dugan Lake","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Dunbar-Southlands","place_name":"Dunbar-Southlands","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Duncan","place_name":"","community":"Duncan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Duncan Bay","place_name":"Duncan Bay","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Duncan Lake 2","place_name":"","community":"Duncan Lake 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Duncanby Landing","place_name":"Duncanby Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Dundarave","place_name":"Dundarave","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Dunkley","place_name":"Dunkley","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Dunsmuir","place_name":"Dunsmuir","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Dunster","place_name":"Dunster","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Durieu","place_name":"Durieu","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Dutch Creek Subdivision","place_name":"Dutch Creek Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Dutch Lake","place_name":"Dutch Lake","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Resort","place_name":"Dutch Lake Resort","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Subdivision","place_name":"Dutch Lake Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dutch Lake Trailer Park","place_name":"Dutch Lake Trailer Park","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Dzitline Lee 9","place_name":"","community":"Dzitline Lee 9","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Êâ€Esdilagh","place_name":"Êâ€Esdilagh","community":"Alexandria","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Eagle Bay","place_name":"Eagle Bay","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Eagle Bay Estates Subdivision","place_name":"Eagle Bay Estates Subdivision","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Eagle Bluff","place_name":"Eagle Bluff","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Eagle Creek","place_name":"Eagle Creek","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Eagle Harbour","place_name":"Eagle Harbour","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eagle Heights","place_name":"Eagle Heights","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Eagle Ridge","place_name":"Eagle Ridge","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eagle Rock Trailer Park","place_name":"Eagle Rock Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Eagle Run","place_name":"Eagle Run","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Earls Cove","place_name":"Earls Cove","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"East Arrow Park","place_name":"East Arrow Park","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Gate - Columbia-Shuswap A","place_name":"East Gate","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"East Gate - Okanagan-Similkameen H","place_name":"East Gate","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"East Kelowna","place_name":"East Kelowna","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"East Kootenay A","place_name":"","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay B","place_name":"","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay C","place_name":"","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay E","place_name":"","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay F","place_name":"","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay G","place_name":"","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay, Subd. A","place_name":"East Kootenay, Subd. A","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Kootenay, Subd. B","place_name":"East Kootenay, Subd. B","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"East Kootenay, Subd. C","place_name":"East Kootenay, Subd. C","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"East Moberly Lake 169","place_name":"","community":"East Moberly Lake 169","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"East Osoyoos","place_name":"East Osoyoos","community":"Okanagan-Similkameen A","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"East Pine","place_name":"East Pine","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"East Saanich 2","place_name":"","community":"East Saanich 2","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"East Sooke","place_name":"East Sooke","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"East Trail","place_name":"East Trail","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"East Wellington","place_name":"East Wellington","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Eastbourne","place_name":"Eastbourne","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Eastburn","place_name":"Eastburn","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Eastgate","place_name":"Eastgate","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Echo Bay","place_name":"Echo Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ecoole","place_name":"Ecoole","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Eddontenajon","place_name":"Eddontenajon","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Eddy","place_name":"Eddy","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Edelweiss","place_name":"Edelweiss","community":"Golden","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Edgewater","place_name":"Edgewater","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Edgewood","place_name":"Edgewood","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Edgewood Trailer Court","place_name":"Edgewood Trailer Court","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Egmont","place_name":"Egmont","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Ehatis 11","place_name":"","community":"Ehatis 11","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ehatisaht","place_name":"Ehatisaht","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Eholt","place_name":"Eholt","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ekins Point","place_name":"Ekins Point","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Elephant Crossing","place_name":"Elephant Crossing","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Eleven Mile Site","place_name":"Eleven Mile Site","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Elgin","place_name":"Elgin","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Elhlateese 2","place_name":"","community":"Elhlateese 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Elk Bay","place_name":"Elk Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Elk Prairie","place_name":"Elk Prairie","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elk Valley Trailer Court","place_name":"Elk Valley Trailer Court","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elkford","place_name":"","community":"Elkford","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Elko","place_name":"Elko","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ellison","place_name":"Ellison","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Ellsworth Trailer Camp","place_name":"Ellsworth Trailer Camp","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Elphinstone","place_name":"Elphinstone","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Endako","place_name":"Endako","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Enderby","place_name":"","community":"Enderby","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Enderby 2","place_name":"","community":"Enderby 2","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Engen","place_name":"Engen","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Engineer","place_name":"Engineer","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Enterprise","place_name":"Enterprise","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Entlqwekkinh 19","place_name":"","community":"Entlqwekkinh 19","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Erickson","place_name":"Erickson","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Erie","place_name":"Erie","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Errington","place_name":"Errington","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Esler","place_name":"Esler","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Esowista 3","place_name":"","community":"Esowista 3","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Esperanza","place_name":"Esperanza","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Espinosa Inlet","place_name":"Espinosa Inlet","community":"Oclucje 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Esquimalt - District municipality","place_name":"","community":"Esquimalt - District municipality","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Esquimalt - Indian reserve","place_name":"","community":"Esquimalt - Indian reserve","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Essondale","place_name":"Essondale","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Estevan Point","place_name":"Estevan Point","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Est-Patrolas 4","place_name":"","community":"Est-Patrolas 4","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Euchinico Creek 17","place_name":"","community":"Euchinico Creek 17","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Evergreen Acres - Clearwater","place_name":"Evergreen Acres","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Evergreen Acres - Peace River B","place_name":"Evergreen Acres","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Evergreen Trailer Park","place_name":"Evergreen Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ewing","place_name":"Ewing","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Exeter","place_name":"Exeter","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Exlou","place_name":"Exlou","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Extension","place_name":"Extension","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fair Harbour","place_name":"Fair Harbour","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fairbridge","place_name":"Fairbridge","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fairfield - Chilliwack","place_name":"Fairfield","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Fairfield - Victoria","place_name":"Fairfield","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Fairmont Hot Springs","place_name":"Fairmont Hot Springs","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fairview - Okanagan-Similkameen C","place_name":"Fairview","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fairview - Vancouver","place_name":"Fairview","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fairview Subdivision","place_name":"Fairview Subdivision","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fairwinds","place_name":"Fairwinds","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Falkland","place_name":"Falkland","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fallsway","place_name":"Fallsway","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"False Bay","place_name":"False Bay","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fanny Bay - Comox Valley A","place_name":"Fanny Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fanny Bay - Strathcona C","place_name":"Fanny Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Farmington","place_name":"Farmington","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Farrell Creek","place_name":"Farrell Creek","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Fauquier","place_name":"Fauquier","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Federal Ranch","place_name":"Federal Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Fellers Heights","place_name":"Fellers Heights","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Ferguson","place_name":"Ferguson","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Fern Ridge","place_name":"Fern Ridge","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ferndale","place_name":"Ferndale","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fernie","place_name":"","community":"Fernie","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fernlee","place_name":"Fernlee","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Fernwood","place_name":"Fernwood","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Field","place_name":"Field","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Fife","place_name":"Fife","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fifth Cabin","place_name":"Fifth Cabin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Finlay River 6","place_name":"","community":"Finlay River 6","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fintry","place_name":"Fintry","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Fireside","place_name":"Fireside","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Firvale","place_name":"Firvale","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Fishtrap 19","place_name":"","community":"Fishtrap 19","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Five Mile","place_name":"Five Mile","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Five Mile Point 3","place_name":"Five Mile Point 3","community":"Five Mile Point 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Five Mile Point 3","place_name":"","community":"Five Mile Point 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Flathead","place_name":"Flathead","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Flatrock","place_name":"Flatrock","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Flats","place_name":"Flats","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Fleetwood","place_name":"Fleetwood","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Floods","place_name":"Floods","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fontas","place_name":"Fontas","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fontas 1","place_name":"","community":"Fontas 1","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fontas 1 - Northern Rockies","place_name":"Fontas 1","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Forde","place_name":"Forde","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Foreman","place_name":"Foreman","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Forest Grove","place_name":"Forest Grove","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Forest Grove Trailer Park","place_name":"Forest Grove Trailer Park","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Forest Hills","place_name":"Forest Hills","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Forest Knolls","place_name":"Forest Knolls","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Forest Lawn Trailer Court","place_name":"Forest Lawn Trailer Court","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Forestdale","place_name":"Forestdale","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Forestglade Trailer Park","place_name":"Forestglade Trailer Park","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fort Babine","place_name":"Fort Babine","community":"Babine 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Fort Fraser","place_name":"Fort Fraser","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Fort George (Shelley) 2","place_name":"Fort George (Shelley) 2","community":"Fort George 2","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Fort George 2","place_name":"","community":"Fort George 2","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Fort Langley","place_name":"Fort Langley","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fort Nelson","place_name":"Fort Nelson","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fort Nelson 2","place_name":"","community":"Fort Nelson 2","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fort Nelson-Liard, Subd. A","place_name":"Fort Nelson-Liard, Subd. A","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Fort Rupert","place_name":"Fort Rupert","community":"Port Hardy","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Fort Rupert 1","place_name":"","community":"Fort Rupert 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Fort St. James","place_name":"","community":"Fort St. James","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Fort St. John","place_name":"","community":"Fort St. John","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 3"},{"location":"Fort Steele","place_name":"Fort Steele","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fort Ware","place_name":"Fort Ware","community":"Fort Ware 1","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fort Ware 1","place_name":"","community":"Fort Ware 1","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Fosthall","place_name":"Fosthall","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fountain","place_name":"Fountain","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Fountain 1","place_name":"Fountain 1","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3","place_name":"Fountain 3","community":"Fountain 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1","place_name":"","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 10","place_name":"","community":"Fountain 10","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 11","place_name":"","community":"Fountain 11","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 12","place_name":"","community":"Fountain 12","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1B","place_name":"","community":"Fountain 1B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 1D","place_name":"","community":"Fountain 1D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3","place_name":"","community":"Fountain 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain 3A","place_name":"","community":"Fountain 3A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain Creek 8","place_name":"","community":"Fountain Creek 8","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fountain Valley","place_name":"Fountain Valley","community":"Fountain 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Fourth Cabin","place_name":"Fourth Cabin","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Fourways Trailer Park","place_name":"Fourways Trailer Park","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fowler","place_name":"Fowler","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Fox Mountain","place_name":"Fox Mountain","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Frames","place_name":"Frames","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Francis Peninsula","place_name":"Francis Peninsula","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"François Lake","place_name":"François Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Francois Lake 7","place_name":"","community":"Francois Lake 7","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Franklin Camp","place_name":"Franklin Camp","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Franks 10","place_name":"Franks 10","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser","place_name":"Fraser","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fraser Heights","place_name":"Fraser Heights","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Lake","place_name":"","community":"Fraser Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Fraser Mills","place_name":"Fraser Mills","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Valley A","place_name":"","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Fraser Valley B","place_name":"","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley C","place_name":"","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley D","place_name":"","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley E","place_name":"","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley F","place_name":"","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley G","place_name":"","community":"Fraser Valley G","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Fraser Valley H","place_name":"","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. A","place_name":"Fraser Valley, Subd. A","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. B","place_name":"Fraser Valley, Subd. B","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. C","place_name":"Fraser Valley, Subd. C","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser Valley, Subd. D","place_name":"Fraser Valley, Subd. D","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Fraser Valley, Subd. E","place_name":"Fraser Valley, Subd. E","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Fraser-Fort George A","place_name":"","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George C","place_name":"","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George D","place_name":"","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George E","place_name":"","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George F","place_name":"","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Fraser-Fort George G","place_name":"","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George H","place_name":"","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George, Subd. A","place_name":"Fraser-Fort George, Subd. A","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Fraser-Fort George, Subd. B","place_name":"Fraser-Fort George, Subd. B","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Freeport Trailer Park","place_name":"Freeport Trailer Park","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"French Creek","place_name":"French Creek","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Fruitvale","place_name":"","community":"Fruitvale","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Fry Creek","place_name":"Fry Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Fulford Harbour","place_name":"Fulford Harbour","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Furry Creek","place_name":"Furry Creek","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gabriola","place_name":"Gabriola","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Gabriola Island","place_name":"Gabriola Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Gabriola Island Trust Area part A","place_name":"Gabriola Island Trust Area part A","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Galena","place_name":"Galena","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Galena Bay","place_name":"Galena Bay","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Galiano Island 9","place_name":"","community":"Galiano Island 9","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Gallagher Lake","place_name":"Gallagher Lake","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Galloway","place_name":"Galloway","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Gambier Harbour","place_name":"Gambier Harbour","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gambier Island","place_name":"Gambier Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gang Ranch","place_name":"Gang Ranch","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ganges","place_name":"Ganges","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Garden","place_name":"","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden 2","place_name":"Garden 2","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden 2A","place_name":"Garden 2A","community":"Garden","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Garden Bay","place_name":"Garden Bay","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Garden Village","place_name":"Garden Village","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gardner Lake Mobile Home Park","place_name":"Gardner Lake Mobile Home Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Garibaldi","place_name":"Garibaldi","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Garibaldi Estates","place_name":"Garibaldi Estates","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Garnet Rock Trailer Court","place_name":"Garnet Rock Trailer Court","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Garnet Valley","place_name":"Garnet Valley","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Garry Oaks","place_name":"Garry Oaks","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gates","place_name":"Gates","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gateway","place_name":"Gateway","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Gellatly","place_name":"Gellatly","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Genelle","place_name":"Genelle","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Genoa Bay","place_name":"Genoa Bay","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"George River","place_name":"George River","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Georgetown Mills","place_name":"Georgetown Mills","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Germansen Landing","place_name":"Germansen Landing","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Gerow Island","place_name":"Gerow Island","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Gerrard","place_name":"Gerrard","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Gibson Creek","place_name":"Gibson Creek","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Gibsons","place_name":"","community":"Gibsons","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Gifford","place_name":"Gifford","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gillies Bay","place_name":"Gillies Bay","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gilpin","place_name":"Gilpin","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Gingolx","place_name":"Gingolx","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Giscome","place_name":"Giscome","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Gitanmaax 1","place_name":"","community":"Gitanmaax 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitanyow","place_name":"Gitanyow","community":"Gitanyow 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitanyow 1","place_name":"","community":"Gitanyow 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitlaxksiip","place_name":"Gitlaxksiip","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitsegukla 1","place_name":"","community":"Gitsegukla 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwangak 1","place_name":"","community":"Gitwangak 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwinksihlkw","place_name":"Gitwinksihlkw","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitwinksihlkw 7","place_name":"Gitwinksihlkw 7","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Gitzault 24","place_name":"Gitzault 24","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Glacier Gulch","place_name":"Glacier Gulch","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Glade","place_name":"Glade","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Gladwin Trailer Court","place_name":"Gladwin Trailer Court","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Glen Lake","place_name":"Glen Lake","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Glen Valley","place_name":"Glen Valley","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glen Vowell","place_name":"Glen Vowell","community":"Sik-e-dakh 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Glenannan","place_name":"Glenannan","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Glenbank","place_name":"Glenbank","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Glenbrooke North","place_name":"Glenbrooke North","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glendale","place_name":"Glendale","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"Gleneagles","place_name":"Gleneagles","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gleneden","place_name":"Gleneden","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Glenemma","place_name":"Glenemma","community":"Okanagan (Part) 1 - Thompson/Okanagan","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Glen-Gla-Ouch 5","place_name":"Glen-Gla-Ouch 5","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Glenlily","place_name":"Glenlily","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Glenmerry","place_name":"Glenmerry","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Glenmore","place_name":"Glenmore","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Glenora - Cowichan Valley E","place_name":"Glenora","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Glenora - Kitimat-Stikine D","place_name":"Glenora","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Glenrosa","place_name":"Glenrosa","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Glentanna","place_name":"Glentanna","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Glimpse Lake","place_name":"Glimpse Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Gold Bridge","place_name":"Gold Bridge","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Gold River","place_name":"","community":"Gold River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Golden","place_name":"","community":"Golden","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Goldstream","place_name":"Goldstream","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Good Hope","place_name":"Good Hope","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Good Hope Lake","place_name":"","community":"Good Hope Lake","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Goodlow","place_name":"Goodlow","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Goose Bay","place_name":"Goose Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gordon Head","place_name":"Gordon Head","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Gordon River","place_name":"Gordon River","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gordon River 2","place_name":"","community":"Gordon River 2","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Gorge Harbour","place_name":"Gorge Harbour","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Gossen Creek","place_name":"Gossen Creek","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Gossip Island","place_name":"Gossip Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Gowlland Harbour","place_name":"Gowlland Harbour","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Graffunder Trailer Park","place_name":"Graffunder Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Gramsons","place_name":"Gramsons","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Grand Forks","place_name":"","community":"Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Grand Haven","place_name":"Grand Haven","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Grand Rapids","place_name":"Grand Rapids","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Granduc","place_name":"Granduc","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Grandview","place_name":"Grandview","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Grandview Bench","place_name":"Grandview Bench","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Grandview-Woodlands","place_name":"Grandview-Woodlands","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Granisle","place_name":"","community":"Granisle","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Granite","place_name":"Granite","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Granite Bay","place_name":"Granite Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Granite Falls","place_name":"Granite Falls","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Granite Trailer Park","place_name":"Granite Trailer Park","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Grantham","place_name":"Grantham","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Granthams Landing","place_name":"Granthams Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Grasmere","place_name":"Grasmere","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Grassy Plains","place_name":"Grassy Plains","community":"Cheslatta 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Gravelle Ferry","place_name":"Gravelle Ferry","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Gray Creek","place_name":"Gray Creek","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Great Central","place_name":"Great Central","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Great Central Lake","place_name":"Great Central Lake","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Greata","place_name":"Greata","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Greater Vancouver A","place_name":"Greater Vancouver A","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Greater Vancouver C","place_name":"Greater Vancouver C","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Greater Vancouver, Subd. A","place_name":"Greater Vancouver, Subd. A","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Green Acres Trailer Park - Central Kootenay J","place_name":"Green Acres Trailer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Green Acres Trailer Park - Columbia-Shuswap E","place_name":"Green Acres Trailer Park","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Green Bay Resort","place_name":"Green Bay Resort","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Green Cove","place_name":"Green Cove","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Greendale","place_name":"Greendale","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Greenwood","place_name":"","community":"Greenwood","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Greenwood Mobile Park","place_name":"Greenwood Mobile Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Grindrod","place_name":"Grindrod","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Groundbirch","place_name":"Groundbirch","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Guhthe Tah 12","place_name":"","community":"Guhthe Tah 12","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Guildford","place_name":"Guildford","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Gun Lake","place_name":"Gun Lake","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Gundy","place_name":"Gundy","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Gwayasdums 1","place_name":"","community":"Gwayasdums 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hagensborg","place_name":"Hagensborg","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hagwilget","place_name":"Hagwilget","community":"Hagwilget 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Hagwilget 1","place_name":"","community":"Hagwilget 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Haig","place_name":"Haig","community":"Schkam 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Haina","place_name":"Haina","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Halalt 2","place_name":"","community":"Halalt 2","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Halfmoon Bay","place_name":"Halfmoon Bay","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Halfway Graham Subdivision","place_name":"Halfway Graham Subdivision","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Halfway Ranch","place_name":"Halfway Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Halfway River 168","place_name":"","community":"Halfway River 168","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Halhalaeden","place_name":"","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Halhalaeden 14","place_name":"Halhalaeden 14","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Halhalaeden 14A","place_name":"Halhalaeden 14A","community":"Halhalaeden","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hall","place_name":"Hall","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Halyn Trailer Court","place_name":"Halyn Trailer Court","community":"Canal Flats","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hamilton Creek 2","place_name":"","community":"Hamilton Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hamilton Creek 7","place_name":"Hamilton Creek 7","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hanbury","place_name":"Hanbury","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hanceville","place_name":"Hanceville","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Haney","place_name":"Haney","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Happy Valley","place_name":"Happy Valley","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Happy Valley Trailer Park","place_name":"Happy Valley Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Harbour Chines","place_name":"Harbour Chines","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Harbour Village","place_name":"Harbour Village","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hardwicke Island","place_name":"Hardwicke Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Harmac","place_name":"Harmac","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Harmony Heights Trailer Park","place_name":"Harmony Heights Trailer Park","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Harris 3","place_name":"","community":"Harris 3","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Harrison Hot Springs","place_name":"","community":"Harrison Hot Springs","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Harrison Mills","place_name":"Harrison Mills","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Harrogate","place_name":"Harrogate","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Harrop","place_name":"Harrop","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hart Highlands","place_name":"Hart Highlands","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Hartley Bay","place_name":"Hartley Bay","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Harwood Island 2","place_name":"Harwood Island 2","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hasler Flat","place_name":"Hasler Flat","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hasler Flats Subdivision","place_name":"Hasler Flats Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hastings-Sunrise","place_name":"Hastings-Sunrise","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hatzic","place_name":"Hatzic","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hawkins Lake Subdivision","place_name":"Hawkins Lake Subdivision","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hayview Mobile Home","place_name":"Hayview Mobile Home","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hayward Subdivision","place_name":"Hayward Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hazelmere","place_name":"Hazelmere","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hazelton","place_name":"","community":"Hazelton","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Headquarters","place_name":"Headquarters","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Headwaters Ranch","place_name":"Headwaters Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Health Bay","place_name":"Health Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hecate","place_name":"Hecate","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hedley","place_name":"Hedley","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Heffley Creek","place_name":"Heffley Creek","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Hells Gate","place_name":"Hells Gate","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Hemlock Valley","place_name":"Hemlock Valley","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hendrix Lake","place_name":"Hendrix Lake","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Henry And Ann Trailer Park","place_name":"Henry And Ann Trailer Park","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Heriot Bay","place_name":"Heriot Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hesquiat","place_name":"Hesquiat","community":"Hesquiat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hesquiat 1","place_name":"","community":"Hesquiat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Heydon Bay","place_name":"Heydon Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hickethier Ranch","place_name":"Hickethier Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hideway Trailer Court","place_name":"Hideway Trailer Court","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"High Bar 1","place_name":"","community":"High Bar 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Highland Valley Subdivision","place_name":"Highland Valley Subdivision","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Highlands","place_name":"","community":"Highlands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 3"},{"location":"Hiina'is","place_name":"Hiina'is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hillcrest","place_name":"Hillcrest","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hilliers","place_name":"Hilliers","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hills","place_name":"Hills","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hillside Mobile Home Park","place_name":"Hillside Mobile Home Park","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Hilltop Ranch","place_name":"Hilltop Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hippa","place_name":"Hippa","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Hisnit","place_name":"Hisnit","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hitacu","place_name":"Hitacu","community":"Ittatsoo 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hi'tatis","place_name":"Hi'tatis","community":"Elhlateese 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hiusta Meadow","place_name":"Hiusta Meadow","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Hixon","place_name":"Hixon","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hkusam","place_name":"Hkusam","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Holachten 8","place_name":"","community":"Holachten 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Holberg","place_name":"Holberg","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Holiday Family Trailer Park","place_name":"Holiday Family Trailer Park","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hollyburn","place_name":"Hollyburn","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Holmwood","place_name":"Holmwood","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Homalco 9","place_name":"","community":"Homalco 9","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Homestead Trailer Park","place_name":"Homestead Trailer Park","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Homfray Creek","place_name":"Homfray Creek","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Honeymoon Bay","place_name":"Honeymoon Bay","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Honeymoon Creek","place_name":"Honeymoon Creek","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hoodoos","place_name":"Hoodoos","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hoo-ii","place_name":"Hoo-ii","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hope","place_name":"","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hope Bay","place_name":"Hope Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hope Island 1","place_name":"","community":"Hope Island 1","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hopetown","place_name":"Hopetown","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hopetown 10A","place_name":"","community":"Hopetown 10A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Hopington","place_name":"Hopington","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hopkins Landing","place_name":"Hopkins Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Horlick Point","place_name":"Horlick Point","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hornby Island","place_name":"Hornby Island","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Horsefly","place_name":"Horsefly","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Horseshoe Bay","place_name":"Horseshoe Bay","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hosmatqts'os","place_name":"Hosmatqts'os","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hosmer","place_name":"Hosmer","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hosmer Trailer Park","place_name":"Hosmer Trailer Park","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hospital Hill","place_name":"Hospital Hill","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Hot Springs Cove","place_name":"Hot Springs Cove","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Houpsitas","place_name":"Houpsitas","community":"Houpsitas 6","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Houpsitas 6","place_name":"","community":"Houpsitas 6","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Houston","place_name":"","community":"Houston","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Houston Trailer Court","place_name":"Houston Trailer Court","community":"Houston","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Howser","place_name":"Howser","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hudson Hope","place_name":"Hudson Hope","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hudson's Hope","place_name":"","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Hullcar","place_name":"Hullcar","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Humpback Bay","place_name":"Humpback Bay","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Huntingdon","place_name":"Huntingdon","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Hunts Inlet","place_name":"Hunts Inlet","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Hupel","place_name":"Hupel","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Huscroft","place_name":"Huscroft","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Hustalen 1","place_name":"","community":"Hustalen 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Hutchinson","place_name":"Hutchinson","community":"Cowichan Valley C","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Hu'ul","place_name":"Hu'ul","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Hyacinthe Bay","place_name":"Hyacinthe Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hyde Creek","place_name":"Hyde Creek","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Hydraulic","place_name":"Hydraulic","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Hyland Post","place_name":"Hyland Post","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Hyland Ranch","place_name":"Hyland Ranch","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Idabel Lake","place_name":"Idabel Lake","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Indian Rock","place_name":"Indian Rock","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ingenika Mine","place_name":"Ingenika Mine","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Ingenika Point","place_name":"","community":"Ingenika Point","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Inkahtsaph 6","place_name":"","community":"Inkahtsaph 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Inkaneep","place_name":"Inkaneep","community":"Osoyoos 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen","place_name":"","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen 21","place_name":"Inkluckcheen 21","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inkluckcheen 21B","place_name":"Inkluckcheen 21B","community":"Inkluckcheen","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Inklyuhkinatko 2","place_name":"","community":"Inklyuhkinatko 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Invermere","place_name":"","community":"Invermere","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Ioco","place_name":"Ioco","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Iron Bay","place_name":"Iron Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Iron Mask Trailer Park","place_name":"Iron Mask Trailer Park","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Irvines Landing","place_name":"Irvines Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Isaac (Gale Lake) 8","place_name":"Isaac (Gale Lake) 8","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Isidore's Ranch 4","place_name":"","community":"Isidore's Ranch 4","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Iskut","place_name":"Iskut","community":"Iskut 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Iskut 6","place_name":"","community":"Iskut 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Island Cache","place_name":"Island Cache","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Isle Pierre","place_name":"Isle Pierre","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Ittatsoo 1","place_name":"","community":"Ittatsoo 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Ivy Green Mobile Home Park","place_name":"Ivy Green Mobile Home Park","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Jackfish Lake Subdivision","place_name":"Jackfish Lake Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Jackman","place_name":"Jackman","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Jackpine Flats","place_name":"Jackpine Flats","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Jackson Bay","place_name":"Jackson Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Jacksons","place_name":"Jacksons","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Jade City","place_name":"Jade City","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Jaffray","place_name":"Jaffray","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Jaffray Estates","place_name":"Jaffray Estates","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"James Bay","place_name":"James Bay","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Jean Baptiste 28","place_name":"","community":"Jean Baptiste 28","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Jedway","place_name":"Jedway","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Jellicoe","place_name":"Jellicoe","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Jersey","place_name":"Jersey","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Jervis Inlet","place_name":"Jervis Inlet","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Jesmond","place_name":"Jesmond","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Jeune Landing","place_name":"Jeune Landing","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Jim Smith Lake and Area","place_name":"Jim Smith Lake and Area","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Joeyaska 2","place_name":"","community":"Joeyaska 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Johnson","place_name":"Johnson","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Johnson Heights","place_name":"Johnson Heights","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Johnsons Landing","place_name":"Johnsons Landing","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Johny Sticks 2","place_name":"","community":"Johny Sticks 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Jordan River","place_name":"Jordan River","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca","place_name":"Juan de Fuca","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca (Part 1)","place_name":"","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Juan de Fuca (Part 2)","place_name":"","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Jumbo Glacier","place_name":"Jumbo Glacier","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"June Springs Estates","place_name":"June Springs Estates","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Juniper Ridge","place_name":"Juniper Ridge","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Jura","place_name":"Jura","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Juskatla","place_name":"Juskatla","community":"Port Clements","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Ka:ook","place_name":"Ka:ook","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ka:oop:insh","place_name":"Ka:oop:insh","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ka:youk","place_name":"Ka:youk","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kahmoose 4","place_name":"","community":"Kahmoose 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kahntah","place_name":"Kahntah","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Kahntah 3","place_name":"","community":"Kahntah 3","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Kaisun","place_name":"Kaisun","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kakawis","place_name":"Kakawis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kaleden","place_name":"Kaleden","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kaleva","place_name":"Kaleva","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kamloops","place_name":"","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Kamloops 1","place_name":"","community":"Kamloops 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar","place_name":"","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar - Thompson-Nicola I (Blue Sky Country)","place_name":"Kanaka Bar","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kanaka Bar 1A","place_name":"Kanaka Bar 1A","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kanaka Bar 2","place_name":"Kanaka Bar 2","community":"Kanaka Bar","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Karlukwees","place_name":"Karlukwees","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Karlukwees 1","place_name":"Karlukwees 1","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kaslo","place_name":"","community":"Kaslo","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Katit 1","place_name":"","community":"Katit 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Katzie 1","place_name":"","community":"Katzie 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Katzie 2","place_name":"","community":"Katzie 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Ka-x-shiitl","place_name":"Ka-x-shiitl","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Keating","place_name":"Keating","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Keats Island","place_name":"Keats Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kedleston","place_name":"Kedleston","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Keekwillie Subdivision","place_name":"Keekwillie Subdivision","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Keekwillie Trailer Park","place_name":"Keekwillie Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Keeshan 9","place_name":"Keeshan 9","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Keithley Creek","place_name":"Keithley Creek","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Keith-Lynn","place_name":"Keith-Lynn","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kelly Lake - Peace River D","place_name":"Kelly Lake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Kelly Lake - Thompson-Nicola E (Bonaparte Plateau)","place_name":"Kelly Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Kelly Lake Road Estates","place_name":"Kelly Lake Road Estates","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Kelowna","place_name":"","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Kelvin","place_name":"Kelvin","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kemano","place_name":"Kemano","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kemano Beach","place_name":"Kemano Beach","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kendrick Camp","place_name":"Kendrick Camp","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kensington-Cedar Cottage","place_name":"Kensington-Cedar Cottage","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kent","place_name":"","community":"Kent","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Keremeos","place_name":"","community":"Keremeos","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kerr Creek","place_name":"Kerr Creek","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kerrisdale","place_name":"Kerrisdale","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kershaw Subdivision","place_name":"Kershaw Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kersley","place_name":"Kersley","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Kettle Valley","place_name":"Kettle Valley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Khahanie Trailer Court","place_name":"Khahanie Trailer Court","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Khenipsen","place_name":"Khenipsen","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"K'i Deldel","place_name":"K'i Deldel","community":"Charley Boy's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Kia Ora Trailer Park","place_name":"Kia Ora Trailer Park","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kicking Horse","place_name":"Kicking Horse","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Kiikiixink'ok","place_name":"Kiikiixink'ok","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kiix aa","place_name":"Kiix aa","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kiix-in","place_name":"Kiix-in","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kilbella Bay","place_name":"Kilbella Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kildala Arm","place_name":"Kildala Arm","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kildonan","place_name":"Kildonan","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kilgard","place_name":"Kilgard","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kilkerran","place_name":"Kilkerran","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Killarney","place_name":"Killarney","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Killiney Beach","place_name":"Killiney Beach","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Kil-pah-las 3","place_name":"","community":"Kil-pah-las 3","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kimberley","place_name":"","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kimsquit","place_name":"Kimsquit","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kincolith 14","place_name":"Kincolith 14","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kingcome","place_name":"Kingcome","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kingcome Inlet - Mount Waddington A","place_name":"Kingcome Inlet","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Kingcome Inlet - Quaee 7","place_name":"Kingcome Inlet","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kingfisher","place_name":"Kingfisher","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kingsgate","place_name":"Kingsgate","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kinnaird","place_name":"Kinnaird","community":"Castlegar","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Kippase 2","place_name":"","community":"Kippase 2","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kispiox","place_name":"Kispiox","community":"Kispiox 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kispiox 1","place_name":"","community":"Kispiox 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kispiox Valley","place_name":"Kispiox Valley","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitamaat 2","place_name":"","community":"Kitamaat 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitamaat Village","place_name":"Kitamaat Village","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitasoo 1","place_name":"","community":"Kitasoo 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitchener","place_name":"Kitchener","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kitimat","place_name":"","community":"Kitimat","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Kitimat-Stikine A","place_name":"","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine B","place_name":"","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine C (Part 1)","place_name":"","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine C (Part 2)","place_name":"","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine D","place_name":"","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine E","place_name":"","community":"Kitimat-Stikine E","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine F","place_name":"","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. A","place_name":"Kitimat-Stikine, Subd. A","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. B","place_name":"Kitimat-Stikine, Subd. B","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. C","place_name":"Kitimat-Stikine, Subd. C","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitimat-Stikine, Subd. D","place_name":"Kitimat-Stikine, Subd. D","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitkatla","place_name":"Kitkatla","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitsault","place_name":"Kitsault","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitseguecla","place_name":"Kitseguecla","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kitselas 1","place_name":"","community":"Kitselas 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitsilano","place_name":"Kitsilano","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Kitsumkalum","place_name":"Kitsumkalum","community":"Terrace","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Kitsumkaylum 1","place_name":"","community":"Kitsumkaylum 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitty Coleman","place_name":"Kitty Coleman","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Kitwanga","place_name":"Kitwanga","community":"Gitwangak 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kitzowit 20","place_name":"","community":"Kitzowit 20","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kiusta","place_name":"Kiusta","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Klahkamich 17","place_name":"","community":"Klahkamich 17","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Klahkowit 5","place_name":"Klahkowit 5","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kleanza Creek Subdivision","place_name":"Kleanza Creek Subdivision","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kleecoot","place_name":"Kleecoot","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kleena Kleene","place_name":"Kleena Kleene","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Kleetlekut 22","place_name":"","community":"Kleetlekut 22","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Klehkoot 2","place_name":"","community":"Klehkoot 2","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kleindale","place_name":"Kleindale","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Klemtu","place_name":"Klemtu","community":"Kitasoo 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Klickkumcheen 18","place_name":"","community":"Klickkumcheen 18","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kliikliihuwis","place_name":"Kliikliihuwis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Klit-kle-mah-ah","place_name":"Klit-kle-mah-ah","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kloklowuck 7","place_name":"","community":"Kloklowuck 7","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kluachon Lake 1","place_name":"Kluachon Lake 1","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kluskus 1","place_name":"","community":"Kluskus 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Knutsford","place_name":"Knutsford","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Kobes","place_name":"Kobes","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Kokish","place_name":"Kokish","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Koksilah","place_name":"Koksilah","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kookswees","place_name":"Kookswees","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kootenay 1","place_name":"","community":"Kootenay 1","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Kootenay Bay","place_name":"Kootenay Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Boundary A","place_name":"","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary B","place_name":"Kootenay Boundary B","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary B / Lower Columbia-Old-Glory","place_name":"","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary C","place_name":"Kootenay Boundary C","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Boundary C / Christina Lake","place_name":"","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Boundary D","place_name":"Kootenay Boundary D","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Boundary D / Rural Grand Forks","place_name":"","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Boundary E","place_name":"Kootenay Boundary E","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary E / West Boundary","place_name":"","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary, Subd. A","place_name":"Kootenay Boundary, Subd. A","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Boundary, Subd. B","place_name":"Kootenay Boundary, Subd. B","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Kootenay Cove Mobile Village","place_name":"Kootenay Cove Mobile Village","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Crossing","place_name":"Kootenay Crossing","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kootenay Flats West","place_name":"Kootenay Flats West","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kopchitchin 2","place_name":"","community":"Kopchitchin 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kowtain 17","place_name":"","community":"Kowtain 17","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"K'oxsinqii","place_name":"K'oxsinqii","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kragmont","place_name":"Kragmont","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Krestova","place_name":"Krestova","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ksan","place_name":"Ksan","community":"Gitanmaax 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kshish 4","place_name":"","community":"Kshish 4","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kuldo","place_name":"Kuldo","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Kulkayu (Hartley Bay) 4","place_name":"","community":"Kulkayu (Hartley Bay) 4","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulkayu (Hartley Bay) 4A","place_name":"","community":"Kulkayu (Hartley Bay) 4A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulkayu 4","place_name":"Kulkayu 4","community":"Kulkayu (Hartley Bay) 4","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kulspai 6","place_name":"","community":"Kulspai 6","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Kumcheen 1","place_name":"","community":"Kumcheen 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Kung","place_name":"Kung","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Kuper Island 7","place_name":"Kuper Island 7","community":"Penelakut Island 7","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Kushya Creek 7","place_name":"Kushya Creek 7","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Kuskonook","place_name":"Kuskonook","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Kuthlalth 3","place_name":"Kuthlalth 3","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Kuz Che 5","place_name":"Kuz Che 5","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Kwawkwawapilt 6","place_name":"","community":"Kwawkwawapilt 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Kwinaquth","place_name":"Kwinaquth","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kwisitis","place_name":"Kwisitis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Kye Bay","place_name":"Kye Bay","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Kyuquot","place_name":"Kyuquot","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Lac la Hache","place_name":"Lac la Hache","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lac Le Jeune","place_name":"Lac Le Jeune","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lachkaltsap 9","place_name":"Lachkaltsap 9","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ladner","place_name":"Ladner","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ladysmith","place_name":"","community":"Ladysmith","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Laidlaw","place_name":"Laidlaw","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lakahahmen 11","place_name":"","community":"Lakahahmen 11","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lake Buntzen","place_name":"Lake Buntzen","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Lake Country","place_name":"","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Lake Cowichan","place_name":"","community":"Lake Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lake Errock","place_name":"Lake Errock","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lake Hill","place_name":"Lake Hill","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Lake Kathlyn","place_name":"Lake Kathlyn","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Lakelse Lake","place_name":"Lakelse Lake","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Lakeshore Highlands","place_name":"Lakeshore Highlands","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Laketon","place_name":"Laketon","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Laketown 3","place_name":"","community":"Laketown 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lakeview Heights","place_name":"Lakeview Heights","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Lambourn Trailer Park","place_name":"Lambourn Trailer Park","community":"Cowichan Valley D","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lamming Mills","place_name":"Lamming Mills","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lang Bay","place_name":"Lang Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Langdale","place_name":"Langdale","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Langford","place_name":"","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Langley - City","place_name":"","community":"Langley - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langley - District municipality","place_name":"","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langley 2","place_name":"","community":"Langley 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Langley 5","place_name":"Langley 5","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Langner Trailer Park","place_name":"Langner Trailer Park","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Lantzville","place_name":"","community":"Lantzville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Larch Hill","place_name":"Larch Hill","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lardeau","place_name":"Lardeau","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Larsons Landing","place_name":"Larsons Landing","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Laurentian Belaire","place_name":"Laurentian Belaire","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lavington","place_name":"Lavington","community":"Coldstream","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Lawnhill","place_name":"Lawnhill","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Lax Kw'alaams","place_name":"Lax Kw'alaams","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Lax Kw'alaams 1","place_name":"","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Laxgalts'ap","place_name":"Laxgalts'ap","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Lazo","place_name":"Lazo","community":"Comox","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lebahdo","place_name":"Lebahdo","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Lee Creek","place_name":"Lee Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Leechtown","place_name":"Leechtown","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Lees Corner","place_name":"Lees Corner","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lejac","place_name":"Lejac","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Lemon Creek","place_name":"Lemon Creek","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Lemoray","place_name":"Lemoray","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Leo Creek","place_name":"Leo Creek","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Leon Creek 2","place_name":"Leon Creek 2","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Lexau Ranch","place_name":"Lexau Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Lexington Subdivision","place_name":"Lexington Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lezbye 6","place_name":"Lezbye 6","community":"Lezbye 6","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Lezbye 6","place_name":"","community":"Lezbye 6","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Liard River","place_name":"Liard River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Liard River 3","place_name":"","community":"Liard River 3","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lighthouse Point","place_name":"Lighthouse Point","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Likely","place_name":"Likely","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lillooet","place_name":"","community":"Lillooet","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Lillooet 1","place_name":"","community":"Lillooet 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lily Lake","place_name":"Lily Lake","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Lincoln Park","place_name":"Lincoln Park","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lindell","place_name":"Lindell","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lindell Beach","place_name":"Lindell Beach","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lindeman","place_name":"Lindeman","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Lions Bay","place_name":"","community":"Lions Bay","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Lismore Trailer Park","place_name":"Lismore Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Lister","place_name":"Lister","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Little Acres Trailer Court","place_name":"Little Acres Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Little Fort","place_name":"Little Fort","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Little River","place_name":"Little River","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Little Springs","place_name":"","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Little Springs 8","place_name":"Little Springs 8","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Little Springs 18","place_name":"Little Springs 18","community":"Little Springs","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Liumchen Village Mobile Home Park","place_name":"Liumchen Village Mobile Home Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Living Waters Trailer Park","place_name":"Living Waters Trailer Park","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lockeport","place_name":"Lockeport","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Lodge Pole Trailer Park","place_name":"Lodge Pole Trailer Park","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Logan Lake","place_name":"","community":"Logan Lake","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lohbiee 3","place_name":"","community":"Lohbiee 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Lone Butte","place_name":"Lone Butte","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lone Prairie","place_name":"Lone Prairie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Long Harbour","place_name":"Long Harbour","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Longbeach","place_name":"Longbeach","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Longworth","place_name":"Longworth","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Loon Lake","place_name":"Loon Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Loon Lake Subdivision","place_name":"Loon Lake Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Loos","place_name":"Loos","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Louis Creek","place_name":"Louis Creek","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Louis Creek 4","place_name":"","community":"Louis Creek 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Louis Squinas Ranch 14","place_name":"Louis Squinas Ranch 14","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lower China Creek","place_name":"Lower China Creek","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lower Hat Creek 2","place_name":"","community":"Lower Hat Creek 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lower Lodge Pole Trailer Court","place_name":"Lower Lodge Pole Trailer Court","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lower Lonsdale","place_name":"Lower Lonsdale","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lower Nicola","place_name":"Lower Nicola","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lower Nicola Trailer Park","place_name":"Lower Nicola Trailer Park","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lower Post","place_name":"","community":"Lower Post","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Lower Similkameen 2","place_name":"","community":"Lower Similkameen 2","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lucerne","place_name":"Lucerne","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Lukseetsissum 9","place_name":"","community":"Lukseetsissum 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Lulu 5","place_name":"","community":"Lulu 5","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lumberton","place_name":"Lumberton","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Lumby","place_name":"","community":"Lumby","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lund","place_name":"Lund","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Lust Subdivision","place_name":"Lust Subdivision","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Luxton","place_name":"Luxton","community":"Langford","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Lyacksun 3","place_name":"","community":"Lyacksun 3","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Lynn Valley","place_name":"Lynn Valley","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lynnmour","place_name":"Lynnmour","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Lynx Creek","place_name":"Lynx Creek","community":"Hudson's Hope","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Lytton","place_name":"","community":"Lytton","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lytton 27B","place_name":"Lytton 27B","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Lytton 4A","place_name":"","community":"Lytton 4A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 4E","place_name":"","community":"Lytton 4E","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 9A","place_name":"","community":"Lytton 9A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Lytton 9B","place_name":"","community":"Lytton 9B","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Maalth-sit","place_name":"Maalth-sit","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Mabel Lake","place_name":"Mabel Lake","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Macalister","place_name":"Macalister","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Mackenzie","place_name":"","community":"Mackenzie","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Macoah","place_name":"Macoah","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Macoah 1","place_name":"","community":"Macoah 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Madeira Park","place_name":"Madeira Park","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Magic Lake Estates","place_name":"Magic Lake Estates","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Magna Bay","place_name":"Magna Bay","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Magnum Mine","place_name":"Magnum Mine","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mah:kiit","place_name":"Mah:kiit","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahatta River","place_name":"Mahatta River","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahmalillikullah 1","place_name":"Mahmalillikullah 1","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mahood Falls","place_name":"Mahood Falls","community":"Cariboo H","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Mahope","place_name":"Mahope","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Maht'ii'as","place_name":"Maht'ii'as","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Maillardville","place_name":"Maillardville","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Makinson","place_name":"Makinson","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Malachan 11","place_name":"","community":"Malachan 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Malahat","place_name":"Malahat","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Malahat 11","place_name":"","community":"Malahat 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Malakwa","place_name":"Malakwa","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Malakwa Trailer Park","place_name":"Malakwa Trailer Park","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Malibu","place_name":"Malibu","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Mammel Subdivision","place_name":"Mammel Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Manca Subdivision","place_name":"Manca Subdivision","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Manning Park","place_name":"Manning Park","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Manson Creek","place_name":"Manson Creek","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Mansons Landing","place_name":"Mansons Landing","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mapes","place_name":"Mapes","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Maple Bay","place_name":"Maple Bay","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Maple Ridge","place_name":"","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Maplewood","place_name":"Maplewood","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Maq:cup","place_name":"Maq:cup","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mara","place_name":"Mara","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Marble Canyon 3","place_name":"","community":"Marble Canyon 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Marblehead","place_name":"Marblehead","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Margaret Bay","place_name":"Margaret Bay","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Marguerite","place_name":"Marguerite","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Marigold","place_name":"Marigold","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Marilla","place_name":"Marilla","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Marktosis","place_name":"Marktosis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Marktosis 15","place_name":"","community":"Marktosis 15","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Marne","place_name":"Marne","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Marpole","place_name":"Marpole","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Marron Valley","place_name":"Marron Valley","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Marsh Creek Area","place_name":"Marsh Creek Area","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Marsh Subdivision","place_name":"Marsh Subdivision","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Marshall School Junction","place_name":"Marshall School Junction","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Martin Prairie","place_name":"Martin Prairie","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Martin Valley","place_name":"Martin Valley","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mary Hill","place_name":"Mary Hill","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Marysville","place_name":"Marysville","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mason Creek","place_name":"Mason Creek","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Masset","place_name":"","community":"Masset","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Masset 1","place_name":"","community":"Masset 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Matilpi","place_name":"Matilpi","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Matsayno 5","place_name":"Matsayno 5","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Matsqui","place_name":"Matsqui","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Matsqui 4","place_name":"","community":"Matsqui 4","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Matsqui Main 2","place_name":"","community":"Matsqui Main 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Maurelle Island","place_name":"Maurelle Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Maxan Lake 4","place_name":"Maxan Lake 4","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Mayfair","place_name":"Mayfair","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mayne Island","place_name":"Mayne Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mayne Island 6","place_name":"Mayne Island 6","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mayook","place_name":"Mayook","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"McBride","place_name":"","community":"McBride","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McCalls Landing","place_name":"McCalls Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"McCartney's Flat 4","place_name":"","community":"McCartney's Flat 4","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"McCulloch","place_name":"McCulloch","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"McDame","place_name":"McDame","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"McDonalds Landing","place_name":"McDonalds Landing","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"McGillivray","place_name":"McGillivray","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"McGregor","place_name":"McGregor","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"McGuire","place_name":"McGuire","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"McKearney Ranch","place_name":"McKearney Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"McKinley Landing","place_name":"McKinley Landing","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"McLean Ranch","place_name":"McLean Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"McLeese Lake","place_name":"McLeese Lake","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McLeod Lake","place_name":"McLeod Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McLeod Lake 1","place_name":"","community":"McLeod Lake 1","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"N/A"},{"location":"McLeod Lake 5","place_name":"McLeod Lake 5","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"McLeod Subdivision","place_name":"McLeod Subdivision","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"McLure","place_name":"McLure","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"McMillan Island 6","place_name":"","community":"McMillan Island 6","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"McNab Creek","place_name":"McNab Creek","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Meachen","place_name":"Meachen","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Meadow Creek - Central Kootenay D","place_name":"Meadow Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Meadow Creek - Columbia-Shuswap F","place_name":"Meadow Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Meadow Lake","place_name":"Meadow Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Meadowbrook","place_name":"Meadowbrook","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Meadowbrook Estates Trailer Park","place_name":"Meadowbrook Estates Trailer Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Meadows","place_name":"Meadows","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Meem Quam Leese","place_name":"Meem Quam Leese","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Meldrum Creek","place_name":"Meldrum Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Merritt","place_name":"","community":"Merritt","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Merville","place_name":"Merville","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mesachie Lake","place_name":"Mesachie Lake","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mesilinka 7","place_name":"","community":"Mesilinka 7","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Metchosin","place_name":"","community":"Metchosin","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Metlakatla","place_name":"Metlakatla","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Metro Vancouver A","place_name":"","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Metrotown","place_name":"Metrotown","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Meziadin Junction","place_name":"Meziadin Junction","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Meziadin Subdivision","place_name":"Meziadin Subdivision","community":"Kitimat-Stikine A","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Mica Creek","place_name":"Mica Creek","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Michel Gardens 36","place_name":"","community":"Michel Gardens 36","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Middle River","place_name":"Middle River","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Middlegate","place_name":"Middlegate","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Midway","place_name":"","community":"Midway","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mile 16 (Hwy 97)","place_name":"Mile 16 (Hwy 97)","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mile 19 Overhead","place_name":"Mile 19 Overhead","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mile 292 Subdivision Alaska Hwy","place_name":"Mile 292 Subdivision Alaska Hwy","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 293 Alaska Highway","place_name":"Mile 293 Alaska Highway","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 422 Alaska Highway","place_name":"Mile 422 Alaska Highway","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Mile 5 Alaska Highway","place_name":"Mile 5 Alaska Highway","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Mile 62 1/2","place_name":"Mile 62 1/2","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Mill Bay - Bulkley-Nechako G","place_name":"Mill Bay","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Mill Bay - Cowichan Valley A","place_name":"Mill Bay","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mill Bay - Nisga'a","place_name":"Mill Bay","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Miller Creek Subdivision","place_name":"Miller Creek Subdivision","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Miller Subdivision","place_name":"Miller Subdivision","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Millers Landing","place_name":"Millers Landing","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Millstream","place_name":"Millstream","community":"Highlands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 3"},{"location":"Milner","place_name":"Milner","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Milnes Landing","place_name":"Milnes Landing","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Minaty Bay","place_name":"Minaty Bay","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Minstrel Island","place_name":"Minstrel Island","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Minto Landing","place_name":"Minto Landing","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Miocene","place_name":"Miocene","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Miracle Beach","place_name":"Miracle Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Miracle Valley","place_name":"Miracle Valley","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Mirror Lake","place_name":"Mirror Lake","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Missezula Lake","place_name":"Missezula Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Mission","place_name":"","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mission 1","place_name":"","community":"Mission 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mission 5","place_name":"","community":"Mission 5","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mission Hill","place_name":"Mission Hill","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Mission Island 2","place_name":"Mission Island 2","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mission Lands 17","place_name":"","community":"Mission Lands 17","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Mitchell Bay","place_name":"Mitchell Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Miworth","place_name":"Miworth","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Moberly Lake","place_name":"Moberly Lake","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Moha","place_name":"Moha","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Montague Harbour","place_name":"Montague Harbour","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Monte Creek","place_name":"Monte Creek","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Monte Lake","place_name":"Monte Lake","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Montizambert Wynd","place_name":"Montizambert Wynd","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Montney","place_name":"Montney","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Montrose","place_name":"","community":"Montrose","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Moose Heights","place_name":"Moose Heights","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Mooyah Bay","place_name":"Mooyah Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Moresby Camp","place_name":"Moresby Camp","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Morgan Subdivision","place_name":"Morgan Subdivision","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Moricetown","place_name":"Moricetown","community":"Babine 17","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Moricetown 1","place_name":"","community":"Moricetown 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Morrissey","place_name":"Morrissey","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Mound Road Subdivision","place_name":"Mound Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Mount Baldy","place_name":"Mount Baldy","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mount Currie","place_name":"","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 1","place_name":"Mount Currie 1","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 2","place_name":"Mount Currie 2","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 6","place_name":"Mount Currie 6","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 8","place_name":"Mount Currie 8","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Currie 10","place_name":"Mount Currie 10","community":"Mount Currie","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Mount Gardner","place_name":"Mount Gardner","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Mount Lehman","place_name":"Mount Lehman","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mount Pleasant","place_name":"Mount Pleasant","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mount Robson","place_name":"Mount Robson","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Mount View Trailer Court","place_name":"Mount View Trailer Court","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Mount Waddington A","place_name":"","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington B","place_name":"","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington C","place_name":"","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington D","place_name":"","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington, Subd. A","place_name":"Mount Waddington, Subd. A","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Waddington, Subd. B","place_name":"Mount Waddington, Subd. B","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Mount Washington","place_name":"Mount Washington","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mountain Peak Trailer Court","place_name":"Mountain Peak Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Mountain Shadow Trailer Court","place_name":"Mountain Shadow Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Mountain Shadows Trailer Court","place_name":"Mountain Shadows Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Mountain Station","place_name":"Mountain Station","community":"Nelson","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Mountain View","place_name":"Mountain View","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Mountain View Trailer Court","place_name":"Mountain View Trailer Court","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Mountainview Trailer Park","place_name":"Mountainview Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Moyie","place_name":"Moyie","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Moyie Lake","place_name":"Moyie Lake","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Moyie River","place_name":"Moyie River","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Moyie Shore Estates","place_name":"Moyie Shore Estates","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Mud Bay - Comox Valley A","place_name":"Mud Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Mud Bay - Surrey","place_name":"Mud Bay","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Mud River","place_name":"Mud River","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Mudge Island","place_name":"Mudge Island","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Muncho Lake","place_name":"Muncho Lake","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Murdale","place_name":"Murdale","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Murrayville","place_name":"Murrayville","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Musgrave Landing","place_name":"Musgrave Landing","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Muskwa","place_name":"Muskwa","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Musqueam 2","place_name":"","community":"Musqueam 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Musqueam 4","place_name":"","community":"Musqueam 4","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Myra","place_name":"Myra","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Myrtle Point","place_name":"Myrtle Point","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ná:mint","place_name":"Ná:mint","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nadu","place_name":"Nadu","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Nahmint","place_name":"Nahmint","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nahun","place_name":"Nahun","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Nak'azdli","place_name":"","community":"Nak'azdli","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nak'azdli (Necoslie 1)","place_name":"Nak'azdli (Necoslie 1)","community":"Nak'azdli","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nakusp","place_name":"","community":"Nakusp","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Nalos Landing","place_name":"Nalos Landing","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Namu","place_name":"Namu","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nanaimo","place_name":"","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Nanaimo A","place_name":"","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo B","place_name":"","community":"Nanaimo B","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nanaimo C","place_name":"","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo D","place_name":"Nanaimo D","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo E","place_name":"","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo F","place_name":"","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo G","place_name":"","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo H","place_name":"","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo River","place_name":"","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 2","place_name":"Nanaimo River 2","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 3","place_name":"Nanaimo River 3","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo River 4","place_name":"Nanaimo River 4","community":"Nanaimo River","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo Town 1","place_name":"","community":"Nanaimo Town 1","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanaimo, Subd. A","place_name":"Nanaimo, Subd. A","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanaimo, Subd. B","place_name":"Nanaimo, Subd. B","community":"Nanaimo G","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Nanoose","place_name":"","community":"Nanoose","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nanoose Bay","place_name":"Nanoose Bay","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Naramata","place_name":"Naramata","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Narcosli Creek","place_name":"Narcosli Creek","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Nasookin Road Subdivision","place_name":"Nasookin Road Subdivision","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nass Camp","place_name":"Nass Camp","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Nautley (Fort Fraser) 1","place_name":"","community":"Nautley (Fort Fraser) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nazco 20","place_name":"","community":"Nazco 20","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Nazko","place_name":"Nazko","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Necait 6","place_name":"","community":"Necait 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nechako","place_name":"Nechako","community":"Kitimat","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 2"},{"location":"Nedoats 11","place_name":"","community":"Nedoats 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Needles","place_name":"Needles","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nekalliston 2","place_name":"","community":"Nekalliston 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nekliptum 1","place_name":"Nekliptum 1","community":"Nekliptum 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nekliptum 1","place_name":"","community":"Nekliptum 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nelson","place_name":"","community":"Nelson","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Nelson Forks","place_name":"Nelson Forks","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Nelson Island","place_name":"Nelson Island","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Nelway","place_name":"Nelway","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nemaiah Valley","place_name":"Nemaiah Valley","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Nemiah Valley","place_name":"Nemiah Valley","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Nenagwas 12","place_name":"","community":"Nenagwas 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nequatque","place_name":"","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nequatque 1","place_name":"Nequatque 1","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nequatque 2","place_name":"Nequatque 2","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Nequatque 3A","place_name":"Nequatque 3A","community":"Nequatque","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Nesikep 6","place_name":"","community":"Nesikep 6","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Neskonlith","place_name":"","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 1","place_name":"Neskonlith 1","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 1 (Neskainlith 1)","place_name":"Neskonlith 1 (Neskainlith 1)","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Neskonlith 2","place_name":"Neskonlith 2","community":"Neskonlith","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nesters","place_name":"Nesters","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Nesuch 3","place_name":"","community":"Nesuch 3","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"New Aiyansh","place_name":"New Aiyansh","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"New Aiyansh 1","place_name":"New Aiyansh 1","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"New Barkerville","place_name":"New Barkerville","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"New Brighton","place_name":"New Brighton","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"New Clew","place_name":"New Clew","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"New Denver","place_name":"","community":"New Denver","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"New Hazelton","place_name":"","community":"New Hazelton","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"New Remo","place_name":"New Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"New Settlement","place_name":"New Settlement","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"New Songhees 1A","place_name":"","community":"New Songhees 1A","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"New Westminster","place_name":"","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Newcastle","place_name":"Newcastle","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Newgate","place_name":"Newgate","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Newlands","place_name":"Newlands","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Newton","place_name":"Newton","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Niagara","place_name":"Niagara","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nichols Mobile Homes","place_name":"Nichols Mobile Homes","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Nicholson","place_name":"Nicholson","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Nickel Palm 4","place_name":"","community":"Nickel Palm 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nickeyeah 25","place_name":"","community":"Nickeyeah 25","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicks Island","place_name":"Nicks Island","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nicola","place_name":"Nicola","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Nicola Lake 1","place_name":"","community":"Nicola Lake 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicola Mameet 1","place_name":"","community":"Nicola Mameet 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nicomen 1","place_name":"","community":"Nicomen 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nimpkish","place_name":"Nimpkish","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nimpkish 2","place_name":"","community":"Nimpkish 2","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nimpkish Heights","place_name":"Nimpkish Heights","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nimpo Lake","place_name":"Nimpo Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninety Five Mile House","place_name":"Ninety Five Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninety Four Mile House","place_name":"Ninety Four Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninety Seven Mile House","place_name":"Ninety Seven Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninety Three Mile House","place_name":"Ninety Three Mile House","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ninstints","place_name":"Ninstints","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Nisga'a","place_name":"","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Nkaih 10","place_name":"","community":"Nkaih 10","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nohomeen 23","place_name":"","community":"Nohomeen 23","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nooaitch 10","place_name":"","community":"Nooaitch 10","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Noonla 6","place_name":"","community":"Noonla 6","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Nootka","place_name":"Nootka","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Noralee","place_name":"Noralee","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Norgate","place_name":"Norgate","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Bay 5","place_name":"","community":"North Bay 5","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"North Bend","place_name":"North Bend","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"North Bonaparte","place_name":"North Bonaparte","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"North Bulkley","place_name":"North Bulkley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"North Campbell River","place_name":"North Campbell River","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"North Coast A","place_name":"","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Coast C","place_name":"","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"North Coast D","place_name":"","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Coast E","place_name":"","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"North Cowichan","place_name":"","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"North Delta","place_name":"North Delta","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Galiano","place_name":"North Galiano","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"North Kamloops","place_name":"North Kamloops","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"North Lonsdale","place_name":"North Lonsdale","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Nechako","place_name":"North Nechako","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"North Okanagan B","place_name":"","community":"North Okanagan B","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"North Okanagan C","place_name":"","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"North Okanagan D","place_name":"","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan E","place_name":"","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan F","place_name":"","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan, Subd. A","place_name":"North Okanagan, Subd. A","community":"North Okanagan F","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Okanagan, Subd. B","place_name":"North Okanagan, Subd. B","community":"North Okanagan E","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"North Pender Island","place_name":"North Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"North Pine","place_name":"North Pine","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"North Poplar","place_name":"North Poplar","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Saanich","place_name":"","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"North Star","place_name":"North Star","community":"Kimberley","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"North Tacla Lake","place_name":"","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"North Tacla Lake 7","place_name":"North Tacla Lake 7","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"North Tacla Lake 7A","place_name":"North Tacla Lake 7A","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"North Thompson 1","place_name":"","community":"North Thompson 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"North Vancouver - City","place_name":"","community":"North Vancouver - City","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Vancouver - District municipality","place_name":"","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"North Woodlands","place_name":"North Woodlands","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Northern Rockies","place_name":"","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies A","place_name":"Northern Rockies A","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies B","place_name":"Northern Rockies B","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northern Rockies Regional Municipality","place_name":"Northern Rockies Regional Municipality","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Northfield","place_name":"Northfield","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Northridge","place_name":"Northridge","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Notch Hill","place_name":"Notch Hill","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Nourse Subdivision","place_name":"Nourse Subdivision","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Nuchaquis","place_name":"Nuchaquis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Nuchatl 1","place_name":"Nuchatl 1","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nuchatl 2","place_name":"Nuchatl 2","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nuchatlitz","place_name":"Nuchatlitz","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Nukko Lake","place_name":"Nukko Lake","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Nulki","place_name":"Nulki","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Numukamis 1","place_name":"","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Nursery","place_name":"Nursery","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Nuuautin 2","place_name":"","community":"Nuuautin 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Nuumaqimyis","place_name":"Nuumaqimyis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Oak Bay","place_name":"","community":"Oak Bay","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Oak Hills","place_name":"Oak Hills","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Oakridge","place_name":"Oakridge","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oasis","place_name":"Oasis","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Oasis Trailer Court","place_name":"Oasis Trailer Court","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ocean Falls","place_name":"Ocean Falls","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Ocean Grove","place_name":"Ocean Grove","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Ocean Park","place_name":"Ocean Park","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oclucje 7","place_name":"","community":"Oclucje 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oetco Flats","place_name":"Oetco Flats","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Ogden","place_name":"Ogden","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Ohamil 1","place_name":"","community":"Ohamil 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Okanagan (Part) 1 - North Okanagan","place_name":"","community":"Okanagan (Part) 1 - North Okanagan","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Okanagan (Part) 1 - Thompson/Okanagan","place_name":"","community":"Okanagan (Part) 1 - Thompson/Okanagan","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Okanagan Centre","place_name":"Okanagan Centre","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan Falls","place_name":"Okanagan Falls","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan Landing","place_name":"Okanagan Landing","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan Mission","place_name":"Okanagan Mission","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan Terrace Trailer Park","place_name":"Okanagan Terrace Trailer Park","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Okanagan-Similkameen A","place_name":"","community":"Okanagan-Similkameen A","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen B","place_name":"","community":"Okanagan-Similkameen B","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen C","place_name":"","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen D","place_name":"","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen E","place_name":"","community":"Okanagan-Similkameen E","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen F","place_name":"","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan-Similkameen G","place_name":"","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen H","place_name":"","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen I","place_name":"","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen, Subd. A","place_name":"Okanagan-Similkameen, Subd. A","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Okanagan-Similkameen, Subd. B","place_name":"Okanagan-Similkameen, Subd. B","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Okanagan-Similkameen, Subd. C","place_name":"Okanagan-Similkameen, Subd. C","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Olalla","place_name":"Olalla","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Old Bella Bella","place_name":"Old Bella Bella","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Old Fort - Nedoats 11","place_name":"Old Fort","community":"Nedoats 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Old Fort - Peace River C","place_name":"Old Fort","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Old Fort Nelson","place_name":"Old Fort Nelson","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Old Hogem","place_name":"Old Hogem","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Old Massett","place_name":"Old Massett","community":"Masset 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Old Remo","place_name":"Old Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Old Town","place_name":"Old Town","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Oliver","place_name":"","community":"Oliver","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Oliver's Landing","place_name":"Oliver's Landing","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Omineca 1","place_name":"","community":"Omineca 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"One Forty One Mile House","place_name":"One Forty One Mile House","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"One Hundred Mile House","place_name":"","community":"One Hundred Mile House","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Oona River","place_name":"Oona River","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Ootischenia","place_name":"Ootischenia","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ootischenia Flats","place_name":"Ootischenia Flats","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ootsa Lake","place_name":"Ootsa Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Openit 27","place_name":"Openit 27","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Opitsat","place_name":"Opitsat","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Opitsat 1","place_name":"","community":"Opitsat 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oregon Jack Creek 5","place_name":"","community":"Oregon Jack Creek 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Orlomah Beach","place_name":"Orlomah Beach","community":"Anmore","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Osborn","place_name":"Osborn","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Osland","place_name":"Osland","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Osoyoos","place_name":"","community":"Osoyoos","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Osoyoos 1","place_name":"","community":"Osoyoos 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Osprey Lake","place_name":"Osprey Lake","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Othello","place_name":"Othello","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ots'oo-a","place_name":"Ots'oo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Otter Bay","place_name":"Otter Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Otway","place_name":"Otway","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Ououkinsh","place_name":"Ououkinsh","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Oweekeno","place_name":"Oweekeno","community":"Katit 1","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Owen Bay","place_name":"Owen Bay","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Owl Creek","place_name":"Owl Creek","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Oxford Heights","place_name":"Oxford Heights","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Oyama","place_name":"Oyama","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Oyster Bay 12","place_name":"","community":"Oyster Bay 12","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Oyster River","place_name":"Oyster River","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pacheena 1","place_name":"Pacheena 1","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pahas 3","place_name":"Pahas 3","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Paldi","place_name":"Paldi","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Palling","place_name":"Palling","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Palling 1","place_name":"","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Palling 1A","place_name":"Palling 1A","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Panorama","place_name":"Panorama","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Panorama Ridge","place_name":"Panorama Ridge","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Panorama Subdivision","place_name":"Panorama Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Panorama Trailer Court","place_name":"Panorama Trailer Court","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Papyum 27","place_name":"","community":"Papyum 27","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Papyum 27A","place_name":"Papyum 27A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Paqulh","place_name":"","community":"Paqulh","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Paradise Point","place_name":"Paradise Point","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Paradise Valley - qathet B","place_name":"Paradise Valley","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Paradise Valley - Squamish","place_name":"Paradise Valley","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Paradise Valley Trailer Court","place_name":"Paradise Valley Trailer Court","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Park Royal","place_name":"Park Royal","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Park Siding","place_name":"Park Siding","community":"Kootenay Boundary A","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Parkdale Gardens","place_name":"Parkdale Gardens","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Parkland","place_name":"Parkland","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Parksville","place_name":"","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Parkville Trailer Park","place_name":"Parkville Trailer Park","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Parsnip 5","place_name":"Parsnip 5","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Parson","place_name":"Parson","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Pashilqua 2","place_name":"","community":"Pashilqua 2","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Paska Island 3","place_name":"","community":"Paska Island 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pasley Island","place_name":"Pasley Island","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pass Creek","place_name":"Pass Creek","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Passmore","place_name":"Passmore","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Paterson","place_name":"Paterson","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Paul Lake","place_name":"Paul Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Paul's Basin 2","place_name":"","community":"Paul's Basin 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Paulson","place_name":"Paulson","community":"Kootenay Boundary C / Christina Lake","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pavilion","place_name":"Pavilion","community":"Pavilion 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Pavilion 1","place_name":"","community":"Pavilion 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Pavillon Lake","place_name":"Pavillon Lake","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Paxton Valley","place_name":"Paxton Valley","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Peace River B","place_name":"","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peace River C","place_name":"","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peace River D","place_name":"","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peace River E","place_name":"","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peace River, Subd. B","place_name":"Peace River, Subd. B","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peace River, Subd. C","place_name":"Peace River, Subd. C","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Peachland","place_name":"","community":"Peachland","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pebble Beach","place_name":"Pebble Beach","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Peejay","place_name":"Peejay","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Pemberton","place_name":"","community":"Pemberton","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pemberton Heights","place_name":"Pemberton Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Pemberton Meadows","place_name":"Pemberton Meadows","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Pemynoos 9","place_name":"","community":"Pemynoos 9","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pender Island","place_name":"Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pendleton Bay","place_name":"Pendleton Bay","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Penelakut Island 7","place_name":"","community":"Penelakut Island 7","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Penny","place_name":"Penny","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Penticton","place_name":"Penticton","community":"Penticton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Penticton 1","place_name":"","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Pentledge 2","place_name":"","community":"Pentledge 2","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Peq-Paq 22","place_name":"","community":"Peq-Paq 22","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Perow","place_name":"Perow","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Perrys","place_name":"Perrys","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Peters 1","place_name":"","community":"Peters 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Phillips Arm","place_name":"Phillips Arm","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Phoenix","place_name":"Phoenix","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Piers Island","place_name":"Piers Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Pilot Bay","place_name":"Pilot Bay","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pinantan Lake","place_name":"Pinantan Lake","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pinchi","place_name":"Pinchi","community":"Binche 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Pinchi Lake","place_name":"Pinchi Lake","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Pine Hills Mobile Home Park","place_name":"Pine Hills Mobile Home Park","community":"Peachland","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pine Springs","place_name":"Pine Springs","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pine Trailer Court","place_name":"Pine Trailer Court","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Pine Valley - Cariboo D","place_name":"Pine Valley","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Pine Valley - Peace River E","place_name":"Pine Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Pinecrest Mobile Home Park","place_name":"Pinecrest Mobile Home Park","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Pinegrove","place_name":"Pinegrove","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Pinegrove Trailer Park","place_name":"Pinegrove Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Pineridge Estates","place_name":"Pineridge Estates","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pineview - Fraser-Fort George D","place_name":"Pineview","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Pineview - Peace River C","place_name":"Pineview","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Pinewood Subdivision","place_name":"Pinewood Subdivision","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pink Mountain","place_name":"Pink Mountain","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Pioneer Mine","place_name":"Pioneer Mine","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Pioneer Subdivision","place_name":"Pioneer Subdivision","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Pitt Meadows","place_name":"","community":"Pitt Meadows","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Pixie Beach","place_name":"Pixie Beach","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Playmor Junction","place_name":"Playmor Junction","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pleasant Camp","place_name":"Pleasant Camp","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Pleasantside","place_name":"Pleasantside","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Plumper Harbour","place_name":"Plumper Harbour","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Point Holmes","place_name":"Point Holmes","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Poison Creek 17A","place_name":"","community":"Poison Creek 17A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Ponderosa Trailer Park","place_name":"Ponderosa Trailer Park","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pope Landing","place_name":"Pope Landing","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Popkum","place_name":"Popkum","community":"Fraser Valley D","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Popkum 1","place_name":"","community":"Popkum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Poplar Creek","place_name":"Poplar Creek","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Poplar Grove","place_name":"Poplar Grove","community":"Penticton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Porcher Island","place_name":"Porcher Island","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Porpoise Bay","place_name":"Porpoise Bay","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Alberni","place_name":"","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Port Albion","place_name":"Port Albion","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Alice","place_name":"","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Port Clements","place_name":"","community":"Port Clements","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Port Coquitlam","place_name":"","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Desire","place_name":"Port Desire","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Douglas","place_name":"Port Douglas","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Edward","place_name":"","community":"Port Edward","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Port Essington","place_name":"Port Essington","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Port Guichon","place_name":"Port Guichon","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hammond","place_name":"Port Hammond","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hammond - Haney","place_name":"Port Hammond - Haney","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Hardy","place_name":"","community":"Port Hardy","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Kells","place_name":"Port Kells","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Mann","place_name":"Port Mann","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port McNeill","place_name":"","community":"Port McNeill","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Port Mellon","place_name":"Port Mellon","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Port Moody","place_name":"","community":"Port Moody","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Port Neville","place_name":"Port Neville","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Port Renfrew","place_name":"Port Renfrew","community":"Juan de Fuca (Part 2)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Port Simpson 1","place_name":"Port Simpson 1","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Port Washington","place_name":"Port Washington","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Porteau","place_name":"Porteau","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Porter Landing","place_name":"Porter Landing","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Portier Pass 5","place_name":"","community":"Portier Pass 5","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Porto Rico","place_name":"Porto Rico","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Pouce Coupe","place_name":"","community":"Pouce Coupe","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Powell River","place_name":"","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Powell River A","place_name":"Powell River A","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River B","place_name":"Powell River B","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River C","place_name":"Powell River C","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River D","place_name":"Powell River D","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River E","place_name":"Powell River E","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powell River, Subd. A","place_name":"Powell River, Subd. A","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Powers Addition","place_name":"Powers Addition","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Prairie Valley","place_name":"Prairie Valley","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Prairiedale","place_name":"Prairiedale","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Premier","place_name":"Premier","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Premier Lake","place_name":"Premier Lake","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Prespatou","place_name":"Prespatou","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Pressy Lake","place_name":"Pressy Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Priest's Valley 6","place_name":"","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Prince George","place_name":"","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Prince Rupert","place_name":"","community":"Prince Rupert","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Princeton","place_name":"","community":"Princeton","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pritchard","place_name":"Pritchard","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Pritchard Mobile Subdivision","place_name":"Pritchard Mobile Subdivision","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Procter","place_name":"Procter","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Progress","place_name":"Progress","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Promontory","place_name":"Promontory","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Prophet River - Northern Rockies","place_name":"Prophet River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Prophet River - Prophet River 4","place_name":"Prophet River","community":"Prophet River 4","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Prophet River 4","place_name":"","community":"Prophet River 4","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"N/A"},{"location":"Prospect Lake","place_name":"Prospect Lake","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Puckatholetchin 11","place_name":"","community":"Puckatholetchin 11","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Punchaw","place_name":"Punchaw","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Puntledge","place_name":"Puntledge","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Puntzi Lake 2","place_name":"","community":"Puntzi Lake 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Purden Lake","place_name":"Purden Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Q'alatkú7em","place_name":"","community":"Q'alatkú7em","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"qathet A","place_name":"","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet B","place_name":"","community":"qathet B","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet C","place_name":"","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet D","place_name":"","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"qathet E","place_name":"","community":"qathet E","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quaaout 1","place_name":"","community":"Quaaout 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Quadra Loop","place_name":"Quadra Loop","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quaee 7","place_name":"","community":"Quaee 7","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Qualicum","place_name":"","community":"Qualicum","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Qualicum Bay","place_name":"Qualicum Bay","community":"Nanaimo H","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Qualicum Beach","place_name":"","community":"Qualicum Beach","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Quamichan","place_name":"Quamichan","community":"Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Quathiaski Cove","place_name":"Quathiaski Cove","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quatsino","place_name":"Quatsino","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quatsino Subdivision 18","place_name":"","community":"Quatsino Subdivision 18","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Quattishe 1","place_name":"Quattishe 1","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Queen Charlotte","place_name":"","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Queens Bay","place_name":"Queens Bay","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Queens Cove","place_name":"Queens Cove","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Queens Park","place_name":"Queens Park","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Queensborough","place_name":"Queensborough","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Quesnel","place_name":"","community":"Quesnel","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Quesnel 1","place_name":"","community":"Quesnel 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Quesnel Canyon","place_name":"Quesnel Canyon","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Quesnel Forks","place_name":"Quesnel Forks","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Quesnel View","place_name":"Quesnel View","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Quick","place_name":"Quick","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Quilchena","place_name":"Quilchena","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Quin-e-ex","place_name":"Quin-e-ex","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Quinsam","place_name":"Quinsam","community":"Campbell River","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Quinsam 12","place_name":"","community":"Quinsam 12","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Race Point","place_name":"Race Point","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Radium Hot Springs","place_name":"","community":"Radium Hot Springs","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Raft River","place_name":"Raft River","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rail Lake","place_name":"Rail Lake","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Rainbow Trailer Court","place_name":"Rainbow Trailer Court","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Rainy Hollow","place_name":"Rainy Hollow","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Ranch Park","place_name":"Ranch Park","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ranch Park Trailer Park","place_name":"Ranch Park Trailer Park","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Ranchero","place_name":"Ranchero","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Raspberry","place_name":"Raspberry","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Rayleigh","place_name":"Rayleigh","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Read Island","place_name":"Read Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Red Bluff","place_name":"Red Bluff","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Red Mountain","place_name":"Red Mountain","community":"Rossland","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Red Pass","place_name":"Red Pass","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Red Rock","place_name":"Red Rock","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Red Rose","place_name":"Red Rose","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Redroofs","place_name":"Redroofs","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Redstone","place_name":"Redstone","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Redstone Flat 1","place_name":"","community":"Redstone Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Refuge Cove","place_name":"Refuge Cove","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Refuge Cove 6","place_name":"","community":"Refuge Cove 6","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Reid Lake","place_name":"Reid Lake","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Remac","place_name":"Remac","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Remo","place_name":"Remo","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Renata","place_name":"Renata","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Rendez-Vous Island","place_name":"Rendez-Vous Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Renfrew-Collingwood","place_name":"Renfrew-Collingwood","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rennie Subdivision","place_name":"Rennie Subdivision","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Retallack","place_name":"Retallack","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Revelstoke","place_name":"","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rhone","place_name":"Rhone","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rich Bar","place_name":"Rich Bar","community":"Cariboo A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Richmond","place_name":"","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ridgedale","place_name":"Ridgedale","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Riley Park","place_name":"Riley Park","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Riondel","place_name":"Riondel","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Riske Creek","place_name":"Riske Creek","community":"Cariboo K","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Riva Ridge Trailer Park","place_name":"Riva Ridge Trailer Park","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"River Bend Trailer Court","place_name":"River Bend Trailer Court","community":"Revelstoke","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"River Jordan","place_name":"River Jordan","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"River Springs","place_name":"River Springs","community":"Port Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rivers Inlet","place_name":"Rivers Inlet","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rivershore","place_name":"Rivershore","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Riverside Trailer Court","place_name":"Riverside Trailer Court","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Rivervale","place_name":"Rivervale","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Roberts Creek","place_name":"Roberts Creek","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Robson","place_name":"Robson","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Robson West","place_name":"Robson West","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Roche Lake Resort","place_name":"Roche Lake Resort","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Rock Bay","place_name":"Rock Bay","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rock Creek","place_name":"Rock Creek","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rockyview","place_name":"Rockyview","community":"Cranbrook","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Roe Lake","place_name":"Roe Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Rogers Pass","place_name":"Rogers Pass","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Rolla","place_name":"Rolla","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Rolling Hills Park","place_name":"Rolling Hills Park","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Roosville","place_name":"Roosville","community":"Tobacco Plains 2","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Rose Harbour","place_name":"Rose Harbour","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Rose Lake","place_name":"Rose Lake","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Rose Prairie","place_name":"Rose Prairie","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Rosebery","place_name":"Rosebery","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Rosedale","place_name":"Rosedale","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Rosen Lake Trailer Court","place_name":"Rosen Lake Trailer Court","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ross Spur","place_name":"Ross Spur","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Rossland","place_name":"","community":"Rossland","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Rosswood","place_name":"Rosswood","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Rough Bay","place_name":"Rough Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Round Lake","place_name":"Round Lake","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Round Prairie","place_name":"Round Prairie","community":"Elkford","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Roy","place_name":"Roy","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Royal Oak","place_name":"Royal Oak","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Royston","place_name":"Royston","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Ruault Road Subdivision","place_name":"Ruault Road Subdivision","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ruby Creek","place_name":"Ruby Creek","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Ruby Creek 2","place_name":"","community":"Ruby Creek 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Rumble Beach","place_name":"Rumble Beach","community":"Port Alice","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Rupert","place_name":"Rupert","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Ruskin","place_name":"Ruskin","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Rutland","place_name":"Rutland","community":"Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Ryder Lake","place_name":"Ryder Lake","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Rykerts","place_name":"Rykerts","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ryter's Trailer Court","place_name":"Ryter's Trailer Court","community":"Columbia-Shuswap A","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"S1/2 Tsimpsean 2","place_name":"","community":"S1/2 Tsimpsean 2","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Saaiyouck 6","place_name":"Saaiyouck 6","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Saanich","place_name":"","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Saanichton","place_name":"Saanichton","community":"Central Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sachawil","place_name":"Sachawil","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sachsa","place_name":"Sachsa","community":"Sachsa 4","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sachsa 4","place_name":"","community":"Sachsa 4","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sachteen","place_name":"","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sachteen 2","place_name":"Sachteen 2","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sachteen 2A","place_name":"Sachteen 2A","community":"Sachteen","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Saddle Rock 9","place_name":"","community":"Saddle Rock 9","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sahali","place_name":"Sahali","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Sahara Heights","place_name":"Sahara Heights","community":"Port Alberni","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sahhaltkum 4","place_name":"","community":"Sahhaltkum 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sahtlam","place_name":"Sahtlam","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Salmo","place_name":"","community":"Salmo","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Salmon Arm","place_name":"","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Salmon Beach","place_name":"Salmon Beach","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Salmon River 1","place_name":"","community":"Salmon River 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Salmon River Meadow 7","place_name":"","community":"Salmon River Meadow 7","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Salmon Valley","place_name":"Salmon Valley","community":"Fraser-Fort George A","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Saloon","place_name":"Saloon","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Saltair","place_name":"Saltair","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saltery Bay","place_name":"Saltery Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Saltspring Island","place_name":"","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Samahquam 1","place_name":"Samahquam 1","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"San Josef","place_name":"San Josef","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sanca","place_name":"Sanca","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sanderson Site","place_name":"Sanderson Site","community":"Quesnel","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sandon","place_name":"Sandon","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sandspit","place_name":"Sandspit","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Sandwick","place_name":"Sandwick","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sandy Beach Resort","place_name":"Sandy Beach Resort","community":"Priest's Valley 6","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sandy Cove","place_name":"Sandy Cove","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sandy Harry 4","place_name":"","community":"Sandy Harry 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sandy Point","place_name":"Sandy Point","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Sandyville","place_name":"Sandyville","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sapperton","place_name":"Sapperton","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Saratoga Beach","place_name":"Saratoga Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sardis","place_name":"Sardis","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Sarita","place_name":"Sarita","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Saseenos","place_name":"Saseenos","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saturna","place_name":"Saturna","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Saturna Island","place_name":"Saturna Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Savarie Subdivision","place_name":"Savarie Subdivision","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Savona","place_name":"Savona","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sayward","place_name":"","community":"Sayward","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Schaltuuch 27","place_name":"Schaltuuch 27","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Schelowat 1","place_name":"","community":"Schelowat 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Schemenauer Subdivision","place_name":"Schemenauer Subdivision","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Schkam 2","place_name":"","community":"Schkam 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Scotch Creek","place_name":"Scotch Creek","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Scotch Creek 4","place_name":"","community":"Scotch Creek 4","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Scotia Bay","place_name":"Scotia Bay","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Scott Cove","place_name":"Scott Cove","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Scotties Trailer Park","place_name":"Scotties Trailer Park","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Scotty Creek","place_name":"Scotty Creek","community":"Central Okanagan","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Scowlitz 1","place_name":"","community":"Scowlitz 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seabird Island","place_name":"","community":"Seabird Island","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seabird Mobile Home Park","place_name":"Seabird Mobile Home Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Seafair","place_name":"Seafair","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seaford","place_name":"Seaford","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Seah 5","place_name":"","community":"Seah 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Seaichem 16","place_name":"","community":"Seaichem 16","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seal Bay Subdivision","place_name":"Seal Bay Subdivision","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Seaside Park","place_name":"Seaside Park","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Seaspunkut 4","place_name":"","community":"Seaspunkut 4","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Sechelt","place_name":"","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sechelt (Part) - qathet","place_name":"","community":"Sechelt (Part) - qathet","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sechelt (Part) - Sunshine Coast","place_name":"","community":"Sechelt (Part) - Sunshine Coast","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Secret Cove","place_name":"Secret Cove","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Selma Park","place_name":"Selma Park","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Semiahmoo","place_name":"","community":"Semiahmoo","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sentinel Hill","place_name":"Sentinel Hill","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seton Lake 5","place_name":"","community":"Seton Lake 5","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seton Lake 5A","place_name":"Seton Lake 5A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Seton Portage","place_name":"Seton Portage","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Seven Mile Corner","place_name":"Seven Mile Corner","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sevenoaks","place_name":"Sevenoaks","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Seventy Mile House","place_name":"Seventy Mile House","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Sewall","place_name":"Sewall","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Sewell Inlet","place_name":"Sewell Inlet","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Seymour Arm","place_name":"Seymour Arm","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Seymour Creek 2","place_name":"","community":"Seymour Creek 2","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Seymour Heights","place_name":"Seymour Heights","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Seymour Inlet","place_name":"Seymour Inlet","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Seymour Lake","place_name":"Seymour Lake","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Seymour Landing","place_name":"Seymour Landing","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Seymour Meadows 19","place_name":"Seymour Meadows 19","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sha:wiis","place_name":"Sha:wiis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shackan 11","place_name":"","community":"Shackan 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shady Valley","place_name":"Shady Valley","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Shaha Estates","place_name":"Shaha Estates","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shalalth","place_name":"Shalalth","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Shannon Bay","place_name":"Shannon Bay","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Shannon Trailer Park","place_name":"Shannon Trailer Park","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sharpe Lake","place_name":"Sharpe Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Shaughnessy","place_name":"Shaughnessy","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Shawl Bay","place_name":"Shawl Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shawnaire Resort","place_name":"Shawnaire Resort","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan","place_name":"Shawnigan","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan Lake","place_name":"Shawnigan Lake","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawnigan Lake Mobile Home Park","place_name":"Shawnigan Lake Mobile Home Park","community":"Cowichan Valley B","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shawniken 4B","place_name":"","community":"Shawniken 4B","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shearer Dale","place_name":"Shearer Dale","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Shearwater","place_name":"Shearwater","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shell Beach","place_name":"Shell Beach","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shelley","place_name":"Shelley","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Shelter Bay","place_name":"Shelter Bay","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Shelter Point","place_name":"Shelter Point","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Shepherds Inn","place_name":"Shepherds Inn","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sheraton","place_name":"Sheraton","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Shere","place_name":"Shere","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sheridan Lake","place_name":"Sheridan Lake","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sheslay","place_name":"Sheslay","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Shingle Creek","place_name":"Shingle Creek","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Shingle Point 4","place_name":"","community":"Shingle Point 4","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Shirley","place_name":"Shirley","community":"Juan de Fuca (Part 1)","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shitlthmaq-is","place_name":"Shitlthmaq-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sho-ook 5","place_name":"Sho-ook 5","community":"Fraser Valley A","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Shoreacres","place_name":"Shoreacres","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Shoreholme","place_name":"Shoreholme","community":"Central Kootenay K","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Shorewood San Parreil","place_name":"Shorewood San Parreil","community":"Parksville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Shulus","place_name":"Shulus","community":"Nicola Mameet 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Shushartie","place_name":"Shushartie","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Shuswap","place_name":"","community":"Shuswap","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Shuswap - Thompson-Nicola L (Grasslands)","place_name":"Shuswap","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shuswap Falls","place_name":"Shuswap Falls","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shuswap Lake Estates","place_name":"Shuswap Lake Estates","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Shutty Bench","place_name":"Shutty Bench","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sicamous","place_name":"","community":"Sicamous","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sidley","place_name":"Sidley","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sidney","place_name":"","community":"Sidney","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sikanni Chief","place_name":"Sikanni Chief","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sik-e-dakh 2","place_name":"","community":"Sik-e-dakh 2","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Silica","place_name":"Silica","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Silver Creek - Columbia-Shuswap D","place_name":"Silver Creek","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Silver Creek - Hope","place_name":"Silver Creek","community":"Hope","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Silver River","place_name":"Silver River","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Silver Star","place_name":"Silver Star","community":"North Okanagan C","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Silver Star Trailer Park","place_name":"Silver Star Trailer Park","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Silver Valley","place_name":"Silver Valley","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Silverhill","place_name":"Silverhill","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Silverton","place_name":"","community":"Silverton","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Simpson Ranch","place_name":"Simpson Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sinclair Mills","place_name":"Sinclair Mills","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Sinkut River","place_name":"Sinkut River","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Sirdar","place_name":"Sirdar","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Siska Flat","place_name":"","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Siska Flat 3","place_name":"Siska Flat 3","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Siska Flat 5A","place_name":"Siska Flat 5A","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Siska Flat 5B","place_name":"Siska Flat 5B","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Siska Flat 8","place_name":"Siska Flat 8","community":"Siska Flat","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Six Mile Point","place_name":"Six Mile Point","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Six Mile Ranch","place_name":"Six Mile Ranch","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Skawahlook 1","place_name":"","community":"Skawahlook 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skedans","place_name":"Skedans","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena Crossing","place_name":"Skeena Crossing","community":"Gitsegukla 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte A","place_name":"Skeena-Queen Charlotte A","community":"North Coast A","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte C","place_name":"Skeena-Queen Charlotte C","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte D","place_name":"Skeena-Queen Charlotte D","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte E","place_name":"Skeena-Queen Charlotte E","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte F","place_name":"Skeena-Queen Charlotte F","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeena-Queen Charlotte, Subd. A","place_name":"Skeena-Queen Charlotte, Subd. A","community":"North Coast C","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skeena-Queen Charlotte, Subd. B","place_name":"Skeena-Queen Charlotte, Subd. B","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skeetchestn","place_name":"","community":"Skeetchestn","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skidegate","place_name":"Skidegate","community":"Skidegate 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skidegate 1","place_name":"","community":"Skidegate 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Skidegate Landing","place_name":"Skidegate Landing","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Skins Lake 16A","place_name":"","community":"Skins Lake 16A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Skins Lake 16B","place_name":"","community":"Skins Lake 16B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Skooks Landing","place_name":"Skooks Landing","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Skookumchuck - East Kootenay E","place_name":"Skookumchuck","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Skookumchuck - Skookumchuck 4","place_name":"Skookumchuck","community":"Skookumchuck 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skookumchuck 4","place_name":"","community":"Skookumchuck 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale","place_name":"","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale 10","place_name":"Skowkale 10","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skowkale 11","place_name":"Skowkale 11","community":"Skowkale","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skuppah 2A","place_name":"","community":"Skuppah 2A","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skuppah 4","place_name":"","community":"Skuppah 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skwah 4","place_name":"","community":"Skwah 4","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skwahla 2","place_name":"Skwahla 2","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Skwali 3","place_name":"","community":"Skwali 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skway 5","place_name":"","community":"Skway 5","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Skwayaynope 26","place_name":"","community":"Skwayaynope 26","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Skweahm 10","place_name":"","community":"Skweahm 10","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Slaterville","place_name":"Slaterville","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Sleepy Hollow Road Trailer Park","place_name":"Sleepy Hollow Road Trailer Park","community":"Fraser Valley H","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Slesse Park","place_name":"Slesse Park","community":"Fraser Valley E","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sliammon","place_name":"Sliammon","community":"Sliammon 1","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Sliammon 1","place_name":"","community":"Sliammon 1","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Slocan","place_name":"","community":"Slocan","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Slocan Park","place_name":"Slocan Park","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Slosh 1","place_name":"","community":"Slosh 1","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Slosh 1A","place_name":"Slosh 1A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Smith River","place_name":"Smith River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Smithers","place_name":"","community":"Smithers","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Smithers - Telkwa","place_name":"Smithers","community":"Telkwa","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Smithers Landing","place_name":"Smithers Landing","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Snake 5","place_name":"Snake 5","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Snake River","place_name":"Snake River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Snow Peak Trailer Court","place_name":"Snow Peak Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Snug Cove","place_name":"Snug Cove","community":"Bowen Island","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Soames Point","place_name":"Soames Point","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Soda Creek","place_name":"Soda Creek","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Soda Creek 1","place_name":"","community":"Soda Creek 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sointula","place_name":"Sointula","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Solly","place_name":"Solly","community":"Alberni-Clayoquot E","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Solsqua","place_name":"Solsqua","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Somenos","place_name":"Somenos","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sonora Island","place_name":"Sonora Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sooke","place_name":"","community":"Sooke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Soowahlie 14","place_name":"","community":"Soowahlie 14","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Sorrento","place_name":"Sorrento","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"South Bentinck","place_name":"South Bentinck","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"South Cambie","place_name":"South Cambie","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Canoe","place_name":"South Canoe","community":"Salmon Arm","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"South Dawson","place_name":"South Dawson","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"South Fort George","place_name":"South Fort George","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"South Hazelton","place_name":"South Hazelton","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"South Lakeside","place_name":"South Lakeside","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"South Lakeside (Williams Lake)","place_name":"South Lakeside (Williams Lake)","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"South Pender Island","place_name":"South Pender Island","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"South Poplar","place_name":"South Poplar","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Saanich 1","place_name":"","community":"South Saanich 1","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"South Shalalth","place_name":"South Shalalth","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"South Slocan","place_name":"South Slocan","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"South Slope","place_name":"South Slope","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Sumas","place_name":"South Sumas","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"South Surrey","place_name":"South Surrey","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"South Taylor","place_name":"South Taylor","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"South Thormanby Island","place_name":"South Thormanby Island","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"South Wellington","place_name":"South Wellington","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Southarm","place_name":"Southarm","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Southbank","place_name":"Southbank","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Southern Gulf Islands","place_name":"","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sowchea 3","place_name":"","community":"Sowchea 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Soyandostar 2","place_name":"Soyandostar 2","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Spallumcheen","place_name":"","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Sparwood","place_name":"","community":"Sparwood","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Spatsum","place_name":"Spatsum","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Spatsum 11","place_name":"Spatsum 11","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Spectacle Lake Mobile Home Park","place_name":"Spectacle Lake Mobile Home Park","community":"Cowichan Valley A","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Spences Bridge","place_name":"","community":"Spences Bridge","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Spences Bridge 4","place_name":"Spences Bridge 4","community":"Spences Bridge","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Spences Bridge 4C","place_name":"Spences Bridge 4C","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Speyum 3","place_name":"","community":"Speyum 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Spillimacheen","place_name":"Spillimacheen","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Spintlum Flat 3","place_name":"","community":"Spintlum Flat 3","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Springhouse","place_name":"Springhouse","community":"Cariboo E","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Sproat Lake","place_name":"Sproat Lake","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sproat Trailer Park","place_name":"Sproat Trailer Park","community":"Alberni-Clayoquot D","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Sproatt","place_name":"Sproatt","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sproule Creek","place_name":"Sproule Creek","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Spur Valley Subdivision","place_name":"Spur Valley Subdivision","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Spuzzum","place_name":"Spuzzum","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Spuzzum 1","place_name":"","community":"Spuzzum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squaam 2","place_name":"","community":"Squaam 2","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Squaam Bay","place_name":"Squaam Bay","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Squamish","place_name":"","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet A","place_name":"","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet B","place_name":"","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet C","place_name":"","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet D","place_name":"","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squamish-Lillooet, Subd. A","place_name":"Squamish-Lillooet, Subd. A","community":"Squamish-Lillooet B","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Squamish-Lillooet, Subd. B","place_name":"Squamish-Lillooet, Subd. B","community":"Squamish-Lillooet C","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squaw-Hay-One 11","place_name":"","community":"Squaw-Hay-One 11","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Squawkum Creek 3","place_name":"","community":"Squawkum Creek 3","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squeah","place_name":"Squeah","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Squiaala","place_name":"","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squiaala 7","place_name":"Squiaala 7","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squiaala 8","place_name":"Squiaala 8","community":"Squiaala","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Squilax","place_name":"Squilax","community":"Quaaout 1","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Squinas 2","place_name":"","community":"Squinas 2","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Squirrel Cove","place_name":"Squirrel Cove","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Squirrel Cove 8","place_name":"","community":"Squirrel Cove 8","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"St. Andrews","place_name":"St. Andrews","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"St. Eugene Mission","place_name":"St. Eugene Mission","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"St. Ives","place_name":"St. Ives","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"St. Joseph Mission","place_name":"St. Joseph Mission","community":"Cariboo F","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"St. Mary Lake","place_name":"St. Mary Lake","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"St. Mary's","place_name":"","community":"St. Mary's","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"St. Vincent Bay","place_name":"St. Vincent Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Staiyahanny 8","place_name":"Staiyahanny 8","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Stanley","place_name":"Stanley","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Star Subdivision","place_name":"Star Subdivision","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Stave Falls","place_name":"Stave Falls","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stawamus 24","place_name":"","community":"Stawamus 24","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Steamboat","place_name":"Steamboat","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Steelhead","place_name":"Steelhead","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stellako","place_name":"Stellako","community":"Stellaquo (Stella) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stellaquo (Stella) 1","place_name":"","community":"Stellaquo (Stella) 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stepping Stones Estates","place_name":"Stepping Stones Estates","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Stequmwhulpa 5","place_name":"","community":"Stequmwhulpa 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Steveston","place_name":"Steveston","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Stewardson Inlet","place_name":"Stewardson Inlet","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Stewart","place_name":"","community":"Stewart","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stikine","place_name":"Stikine","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stikine Region","place_name":"","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Stikine, Subd. A","place_name":"Stikine, Subd. A","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Stillwater - qathet C","place_name":"Stillwater","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stillwater - Thompson-Nicola A (Wells Gray Country)","place_name":"Stillwater","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Stone 1","place_name":"","community":"Stone 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Stoner","place_name":"Stoner","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Stones Bay","place_name":"Stones Bay","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Stony Creek 1","place_name":"","community":"Stony Creek 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Stories Beach","place_name":"Stories Beach","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Strachan Creek","place_name":"Strachan Creek","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Straiton","place_name":"Straiton","community":"Abbotsford","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strathcona","place_name":"Strathcona","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strathcona A","place_name":"","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona B","place_name":"","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona C","place_name":"","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Strathcona D (Oyster Bay - Buttle Lake)","place_name":"","community":"Strathcona D (Oyster Bay - Buttle Lake)","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Strathnaver","place_name":"Strathnaver","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Strawberry Hill","place_name":"Strawberry Hill","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Strawberry Vale","place_name":"Strawberry Vale","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Streatham","place_name":"Streatham","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Stryen 9","place_name":"","community":"Stryen 9","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Stuart Bay 6","place_name":"Stuart Bay 6","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Stuart Island","place_name":"Stuart Island","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stuart River","place_name":"Stuart River","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Stuie","place_name":"Stuie","community":"Central Coast C","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Stullawheets 8","place_name":"","community":"Stullawheets 8","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Stump Lake","place_name":"Stump Lake","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sturdies Bay","place_name":"Sturdies Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sugarcane","place_name":"Sugarcane","community":"Williams Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sullivan","place_name":"Sullivan","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sullivan Bay","place_name":"Sullivan Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Sullivan Heights","place_name":"Sullivan Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Summerland","place_name":"","community":"Summerland","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Summit Lake - Central Kootenay H","place_name":"Summit Lake","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Summit Lake - Fraser-Fort George G","place_name":"Summit Lake","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Summit Lake - Northern Rockies","place_name":"Summit Lake","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Sun Peaks","place_name":"Sun Peaks","community":"Sun Peaks Mountain","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sun Peaks Mountain","place_name":"","community":"Sun Peaks Mountain","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sun Valley","place_name":"Sun Valley","community":"Coquitlam","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunbury","place_name":"Sunbury","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Suncrest","place_name":"Suncrest","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sundance Subdivision - Columbia-Shuswap E","place_name":"Sundance Subdivision","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sundance Subdivision - Peace River E","place_name":"Sundance Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sundayman's Meadow 3","place_name":"","community":"Sundayman's Meadow 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Sunningdale","place_name":"Sunningdale","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Sunny Dale","place_name":"Sunny Dale","community":"Courtenay","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Sunnybrae","place_name":"Sunnybrae","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunnyside - Surrey","place_name":"Sunnyside","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunnyside - Tache 1","place_name":"Sunnyside","community":"Tache 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Sunnyside Trailer Court","place_name":"Sunnyside Trailer Court","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sunnyview Trailer Court","place_name":"Sunnyview Trailer Court","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunrise Valley","place_name":"Sunrise Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sunset","place_name":"Sunset","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunset Beach - Lantzville","place_name":"Sunset Beach","community":"Lantzville","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Sunset Beach - West Vancouver","place_name":"Sunset Beach","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunset Prairie","place_name":"Sunset Prairie","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Sunset Trailer Park","place_name":"Sunset Trailer Park","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Sunshine","place_name":"Sunshine","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunshine Bay","place_name":"Sunshine Bay","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Sunshine Coast A","place_name":"","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Coast B","place_name":"","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Coast D","place_name":"","community":"Sunshine Coast D","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast E","place_name":"","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast F","place_name":"","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast Trailer Court","place_name":"Sunshine Coast Trailer Court","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Sunshine Coast, Subd. A","place_name":"Sunshine Coast, Subd. A","community":"Sunshine Coast A","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Sunshine Hills","place_name":"Sunshine Hills","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Sunshine Valley - Clearwater","place_name":"Sunshine Valley","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Sunshine Valley - Fraser Valley B","place_name":"Sunshine Valley","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Suquash","place_name":"Suquash","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Surge Narrows","place_name":"Surge Narrows","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Surprise","place_name":"Surprise","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Surrey","place_name":"","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Surrey Centre","place_name":"Surrey Centre","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Swahliseah 14","place_name":"Swahliseah 14","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Swan Lake 3","place_name":"Swan Lake 3","community":"Swan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Swan Lake 3","place_name":"","community":"Swan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Swartz Bay","place_name":"Swartz Bay","community":"North Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Sweetwater","place_name":"Sweetwater","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Switsemalph","place_name":"","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 3","place_name":"","community":"Switsemalph 3","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 6","place_name":"Switsemalph 6","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Switsemalph 7","place_name":"Switsemalph 7","community":"Switsemalph","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ta Ta Creek","place_name":"Ta Ta Creek","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Ta:shiis","place_name":"Ta:shiis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tabor Lake","place_name":"Tabor Lake","community":"Fraser-Fort George D","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Tache 1","place_name":"","community":"Tache 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tachie","place_name":"Tachie","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tacla Lake (Ferry Landing) 9","place_name":"","community":"Tacla Lake (Ferry Landing) 9","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tadanac","place_name":"Tadanac","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Tadinlay 15","place_name":"","community":"Tadinlay 15","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Taghum","place_name":"Taghum","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Taghum Hill","place_name":"Taghum Hill","community":"Central Kootenay E","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Tahltan","place_name":"Tahltan","community":"Kitimat-Stikine F","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tahltan 1","place_name":"","community":"Tahltan 1","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tahsis","place_name":"","community":"Tahsis","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Takla Landing","place_name":"Takla Landing","community":"North Tacla Lake","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Taku","place_name":"Taku","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Takysie Lake","place_name":"Takysie Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tall Timbers Trailer Park","place_name":"Tall Timbers Trailer Park","community":"Cowichan Valley E","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tallheo","place_name":"Tallheo","community":"Central Coast E","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tamarisk","place_name":"Tamarisk","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tanakut 4","place_name":"","community":"Tanakut 4","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tantalus Acres","place_name":"Tantalus Acres","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tanu","place_name":"Tanu","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tappen","place_name":"Tappen","community":"North Bay 5","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tarrys","place_name":"Tarrys","community":"Central Kootenay I","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Tasu","place_name":"Tasu","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tatalrose","place_name":"Tatalrose","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tatelkus Lake 28","place_name":"Tatelkus Lake 28","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tatla Lake","place_name":"Tatla Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tatla West 11","place_name":"","community":"Tatla West 11","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tatla't East 2","place_name":"","community":"Tatla't East 2","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Tatlayoko Lake","place_name":"Tatlayoko Lake","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tatlow","place_name":"Tatlow","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tatogga","place_name":"Tatogga","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tatpo-oose 10","place_name":"Tatpo-oose 10","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Tatton","place_name":"Tatton","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Taylor","place_name":"","community":"Taylor","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tchesinkut Lake","place_name":"Tchesinkut Lake","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Teakerne Arm","place_name":"Teakerne Arm","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Telachick","place_name":"Telachick","community":"Fraser-Fort George C","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Telegraph Cove","place_name":"Telegraph Cove","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Telegraph Creek","place_name":"","community":"Telegraph Creek","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Telegraph Creek 6","place_name":"Telegraph Creek 6","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Telegraph Creek 6A","place_name":"Telegraph Creek 6A","community":"Kitimat-Stikine D","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Telkwa","place_name":"","community":"Telkwa","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Telkwa - Bulkley-Nechako A","place_name":"Telkwa","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Telkwa Trailer Park","place_name":"Telkwa Trailer Park","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Ten Mile Lake","place_name":"Ten Mile Lake","community":"Cariboo B","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Terrace","place_name":"","community":"Terrace","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 3"},{"location":"Tetachuk","place_name":"Tetachuk","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tête Jaune Cache","place_name":"Tête Jaune Cache","community":"Fraser-Fort George H","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Theik 2","place_name":"","community":"Theik 2","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Theodosia Arm","place_name":"Theodosia Arm","community":"qathet A","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thetis Island","place_name":"Thetis Island","community":"Cowichan Valley G","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Thomas Point 5","place_name":"","community":"Thomas Point 5","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Thomas Point 5A","place_name":"","community":"Thomas Point 5A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Thomas Squinas Ranch 2A","place_name":"","community":"Thomas Squinas Ranch 2A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Thompson","place_name":"Thompson","community":"Richmond","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Thompson River Estates","place_name":"Thompson River Estates","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson Sound","place_name":"Thompson Sound","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thompson-Nicola A (Wells Gray Country)","place_name":"","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola B (Thompson Headwaters)","place_name":"","community":"Thompson-Nicola B (Thompson Headwaters)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola E (Bonaparte Plateau)","place_name":"","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola I (Blue Sky Country)","place_name":"","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola J (Copper Desert Country)","place_name":"","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola L","place_name":"Thompson-Nicola L","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola L (Grasslands)","place_name":"","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola M","place_name":"Thompson-Nicola M","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola M (Beautiful Nicola Valley - North)","place_name":"","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola N","place_name":"Thompson-Nicola N","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola N (Beautiful Nicola Valley - South)","place_name":"","community":"Thompson-Nicola N (Beautiful Nicola Valley - South)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola O (Lower North Thompson)","place_name":"","community":"Thompson-Nicola O (Lower North Thompson)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola P (Rivers and the Peaks)","place_name":"","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. A","place_name":"Thompson-Nicola, Subd. A","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola, Subd. B","place_name":"Thompson-Nicola, Subd. B","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. C","place_name":"Thompson-Nicola, Subd. C","community":"Thompson-Nicola M (Beautiful Nicola Valley - North)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thompson-Nicola, Subd. D","place_name":"Thompson-Nicola, Subd. D","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Thompson-Nicola, Subd. E","place_name":"Thompson-Nicola, Subd. E","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Thornhill","place_name":"Thornhill","community":"Kitimat-Stikine E","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Three Forks","place_name":"Three Forks","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Thrums","place_name":"Thrums","community":"Central Kootenay J","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Thunder Bay","place_name":"Thunder Bay","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thurlow","place_name":"Thurlow","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Thurston Harbour","place_name":"Thurston Harbour","community":"North Coast E","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Thwaytes","place_name":"Thwaytes","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tie Lake","place_name":"Tie Lake","community":"East Kootenay B","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Tiili Landing","place_name":"Tiili Landing","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Tillicum","place_name":"Tillicum","community":"Saanich","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Timberland Trailer Park","place_name":"Timberland Trailer Park","community":"Nanaimo C","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tin Wis 11","place_name":"","community":"Tin Wis 11","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tintagel","place_name":"Tintagel","community":"Bulkley-Nechako B","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tipella","place_name":"Tipella","community":"Fraser Valley C","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Tipella 7","place_name":"","community":"Tipella 7","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tlaa Gaa Aawtlaas 28","place_name":"","community":"Tlaa Gaa Aawtlaas 28","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tl'aaniiwa'a","place_name":"Tl'aaniiwa'a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tlakmaqis","place_name":"Tlakmaqis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tlell","place_name":"Tlell","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Tl'esqox","place_name":"Tl'esqox","community":"Toosey 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tl'etinqox","place_name":"Tl'etinqox","community":"Anahim's Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tl'isnachis","place_name":"Tl'isnachis","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tl'itsnit","place_name":"Tl'itsnit","community":"Numukamis 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tloohat-a","place_name":"Tloohat-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Toad River","place_name":"Toad River","community":"Northern Rockies","regional_district":"Northern Rockies Regional Municipality","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tobacco Plains 2","place_name":"","community":"Tobacco Plains 2","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"N/A"},{"location":"Tobiano","place_name":"Tobiano","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Toby Creek","place_name":"Toby Creek","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Toby's Meadow 4","place_name":"Toby's Meadow 4","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tofino","place_name":"","community":"Tofino","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tomslake","place_name":"Tomslake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Toosey 1","place_name":"","community":"Toosey 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Topley","place_name":"Topley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Topley Landing","place_name":"Topley Landing","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tork 7","place_name":"","community":"Tork 7","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tow Hill Road","place_name":"Tow Hill Road","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Towdystan","place_name":"Towdystan","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Towdystan Lake 3","place_name":"","community":"Towdystan Lake 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Tower Lake","place_name":"Tower Lake","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Towinock 2","place_name":"","community":"Towinock 2","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Traders Cove","place_name":"Traders Cove","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trail","place_name":"","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Tranquille","place_name":"Tranquille","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Trépanier","place_name":"Trépanier","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trevor Channel","place_name":"Trevor Channel","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Trinity Valley","place_name":"Trinity Valley","community":"North Okanagan D","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Triple E Trailer Park","place_name":"Triple E Trailer Park","community":"Nanaimo A","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Trout Creek","place_name":"Trout Creek","community":"Okanagan-Similkameen F","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Trout Lake","place_name":"Trout Lake","community":"Columbia-Shuswap B","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Trout Lake Alec 16","place_name":"","community":"Trout Lake Alec 16","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Trutch","place_name":"Trutch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Tsa Xana 18","place_name":"","community":"Tsa Xana 18","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsahaheh 1","place_name":"","community":"Tsahaheh 1","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsaukan 12","place_name":"","community":"Tsaukan 12","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsawwassen","place_name":"","community":"Tsawwassen","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tsawwassen - Delta","place_name":"Tsawwassen","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tsawwassen Beach","place_name":"Tsawwassen Beach","community":"Delta","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ts'axq'oo-is","place_name":"Ts'axq'oo-is","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tsay Cho 4","place_name":"Tsay Cho 4","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tsay Keh Dene","place_name":"Tsay Keh Dene","community":"Finlay River 6","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"Tseatah 2","place_name":"","community":"Tseatah 2","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tsideldel","place_name":"Tsideldel","community":"Redstone Flat 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ts'iispoo-a","place_name":"Ts'iispoo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Tsimpsean 2 North Part","place_name":"Tsimpsean 2 North Part","community":"Lax Kw'alaams 1","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"N/A"},{"location":"Tsinstikeptum 9","place_name":"Tsinstikeptum 9","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsinstikeptum 10","place_name":"","community":"Tsinstikeptum 10","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsinstikeptum 9","place_name":"","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tsolum","place_name":"Tsolum","community":"Comox Valley B (Lazo North)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Tsolum River","place_name":"Tsolum River","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"T'Sou-ke","place_name":"","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"T'Sou-ke 1 (Sooke 1)","place_name":"T'Sou-ke 1 (Sooke 1)","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"T'Sou-ke 2 (Sooke 2)","place_name":"T'Sou-ke 2 (Sooke 2)","community":"T'Sou-ke","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsulquate 4","place_name":"","community":"Tsulquate 4","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tsunnia Lake 5","place_name":"Tsunnia Lake 5","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tsussie 6","place_name":"","community":"Tsussie 6","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tuckkwiowhum 1","place_name":"","community":"Tuckkwiowhum 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tulameen","place_name":"Tulameen","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Tulsequah","place_name":"Tulsequah","community":"Stikine Region","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tumbler Ridge","place_name":"","community":"Tumbler Ridge","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 2"},{"location":"Tupper","place_name":"Tupper","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Turner Subdivision","place_name":"Turner Subdivision","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Turtle Valley","place_name":"Turtle Valley","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Tuwanek","place_name":"Tuwanek","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Twidwell Bend","place_name":"Twidwell Bend","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Twin Bays","place_name":"Twin Bays","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Twin Creeks","place_name":"Twin Creeks","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Twin Firs Trailer Park","place_name":"Twin Firs Trailer Park","community":"Spallumcheen","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Twin Islands","place_name":"Twin Islands","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Twin Lakes","place_name":"Twin Lakes","community":"Okanagan-Similkameen I","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Twin Sevens Trailer Park","place_name":"Twin Sevens Trailer Park","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Two Mile","place_name":"Two Mile","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Two Mile Hazelton","place_name":"Two Mile Hazelton","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Two Rivers","place_name":"Two Rivers","community":"Peace River C","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Twoyqhalsht 16","place_name":"","community":"Twoyqhalsht 16","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Tyax Lake","place_name":"Tyax Lake","community":"Squamish-Lillooet A","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 1"},{"location":"Tyhee Trailer Park","place_name":"Tyhee Trailer Park","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Tynehead","place_name":"Tynehead","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Tzart-Lam 5","place_name":"","community":"Tzart-Lam 5","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Tzeachten 13","place_name":"","community":"Tzeachten 13","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Tzetzi Lake 11","place_name":"Tzetzi Lake 11","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Tzouhalem","place_name":"Tzouhalem","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Ucluelet","place_name":"","community":"Ucluelet","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Ulkatcho","place_name":"Ulkatcho","community":"Cariboo J","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Ulkatcho 13","place_name":"","community":"Ulkatcho 13","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Ulkatcho 14A","place_name":"","community":"Ulkatcho 14A","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Uncha Lake 13A","place_name":"","community":"Uncha Lake 13A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Union Bay","place_name":"Union Bay","community":"Comox Valley A","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Union Bay 4","place_name":"","community":"Union Bay 4","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"University Endowment Area","place_name":"University Endowment Area","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"University Hill","place_name":"University Hill","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Unnamed 10","place_name":"","community":"Unnamed 10","regional_district":"Stikine Region","economic_region":"Nechako","rural_category":"N/A"},{"location":"Upland Trailer Court","place_name":"Upland Trailer Court","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Upper Bench","place_name":"Upper Bench","community":"Okanagan-Similkameen G","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Upper China Creek","place_name":"Upper China Creek","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Upper Cutbank","place_name":"Upper Cutbank","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Upper Fraser","place_name":"Upper Fraser","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Upper Halfway","place_name":"Upper Halfway","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Upper Hat Creek","place_name":"Upper Hat Creek","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Upper Hat Creek 1","place_name":"","community":"Upper Hat Creek 1","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Upper Lynn","place_name":"Upper Lynn","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Upper Nepa 6","place_name":"","community":"Upper Nepa 6","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Upper Squamish Valley","place_name":"Upper Squamish Valley","community":"Squamish-Lillooet D","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Upper Sumas 6","place_name":"","community":"Upper Sumas 6","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Upsowis","place_name":"Upsowis","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Usk","place_name":"Usk","community":"Kitimat-Stikine C (Part 1)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Uuts","place_name":"Uuts","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Valemount","place_name":"","community":"Valemount","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Valhalla","place_name":"Valhalla","community":"Cariboo L","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Valhalla Subdivision","place_name":"Valhalla Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Valley Mobile Home","place_name":"Valley Mobile Home","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Valley Road Subdivision","place_name":"Valley Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Valley View","place_name":"Valley View","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Valleycliffe","place_name":"Valleycliffe","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Valleyview","place_name":"Valleyview","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Vallican","place_name":"Vallican","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Van Anda","place_name":"Van Anda","community":"qathet D","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Vancouver","place_name":"","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Vanderhoof","place_name":"","community":"Vanderhoof","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 2"},{"location":"Vanway","place_name":"Vanway","community":"Prince George","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Urban 2"},{"location":"Vaseaux Lake","place_name":"Vaseaux Lake","community":"Okanagan-Similkameen D","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Vaucroft Beach","place_name":"Vaucroft Beach","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Vavenby","place_name":"Vavenby","community":"Thompson-Nicola A (Wells Gray Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Vedder Crossing","place_name":"Vedder Crossing","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Vermilion Crossing","place_name":"Vermilion Crossing","community":"East Kootenay G","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Vernon","place_name":"","community":"Vernon","regional_district":"North Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Vesuvius","place_name":"Vesuvius","community":"Saltspring Island","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Victoria","place_name":"","community":"Victoria","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Victoria Lake","place_name":"Victoria Lake","community":"Mount Waddington C","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Victoria-Fraserview","place_name":"Victoria-Fraserview","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Vidette","place_name":"Vidette","community":"Thompson-Nicola J (Copper Desert Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"View Royal","place_name":"","community":"View Royal","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Urban 1"},{"location":"Village Bay","place_name":"Village Bay","community":"Southern Gulf Islands","regional_district":"Capital","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Village Island 1","place_name":"","community":"Village Island 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Village of Queen Charlotte","place_name":"Village of Queen Charlotte","community":"Queen Charlotte","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Vinsulla","place_name":"Vinsulla","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"W'aayi","place_name":"W'aayi","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wabi Estates","place_name":"Wabi Estates","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Wabi Hill Trailer Court","place_name":"Wabi Hill Trailer Court","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Wadhams","place_name":"Wadhams","community":"Central Coast A","regional_district":"Central Coast","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wagner Ranch","place_name":"Wagner Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Waiwakum 14","place_name":"","community":"Waiwakum 14","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Walcott","place_name":"Walcott","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Walhachin","place_name":"Walhachin","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Walkers","place_name":"Walkers","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Wall Beach","place_name":"Wall Beach","community":"Nanaimo E","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Walnut Grove","place_name":"Walnut Grove","community":"Langley - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Waneta","place_name":"Waneta","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Waneta Junction","place_name":"Waneta Junction","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"Wardner","place_name":"Wardner","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Warfield","place_name":"","community":"Warfield","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Warner Bay","place_name":"Warner Bay","community":"Mount Waddington A","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wasa","place_name":"Wasa","community":"East Kootenay E","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Water's Subdivision","place_name":"Water's Subdivision","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Webber Site","place_name":"Webber Site","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Websters Corners","place_name":"Websters Corners","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Weeping Willow Trailer Court","place_name":"Weeping Willow Trailer Court","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Weewanie","place_name":"Weewanie","community":"Kitimat-Stikine C (Part 2)","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Welcome Beach","place_name":"Welcome Beach","community":"Sunshine Coast B","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Weldwood","place_name":"Weldwood","community":"qathet C","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wellington","place_name":"Wellington","community":"Nanaimo","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Wells","place_name":"","community":"Wells","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Weneez","place_name":"Weneez","community":"Bulkley-Nechako F","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"West Bay","place_name":"West Bay","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"West Bench","place_name":"West Bench","community":"Penticton 1","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"West Creston","place_name":"West Creston","community":"Central Kootenay C","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"West End - New Westminster","place_name":"West End","community":"New Westminster","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West End - Vancouver","place_name":"West End","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West End Trailer Park","place_name":"West End Trailer Park","community":"Kootenay Boundary D / Rural Grand Forks","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"West Heights","place_name":"West Heights","community":"Mission","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Kelowna","place_name":"","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"West Landing","place_name":"West Landing","community":"Bulkley-Nechako C","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"West Lynn","place_name":"West Lynn","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Mara Lake","place_name":"West Mara Lake","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"West Midway","place_name":"West Midway","community":"Midway","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"West Moberly Lake 168A","place_name":"","community":"West Moberly Lake 168A","regional_district":"Peace River","economic_region":"Northeast","rural_category":"N/A"},{"location":"West Point Grey","place_name":"West Point Grey","community":"Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"West Road Subdivision","place_name":"West Road Subdivision","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"West Sechelt","place_name":"West Sechelt","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"West Thurlow","place_name":"West Thurlow","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"West Trail","place_name":"West Trail","community":"Trail","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 3"},{"location":"West Vancouver","place_name":"","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Westbank - Tsinstikeptum 9","place_name":"Westbank","community":"Tsinstikeptum 9","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Westbank - West Kelowna","place_name":"Westbank","community":"West Kelowna","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Westbridge","place_name":"Westbridge","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Westcoast Energy","place_name":"Westcoast Energy","community":"Fraser-Fort George G","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Westholme","place_name":"Westholme","community":"North Cowichan","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Urban 2"},{"location":"Westmount","place_name":"Westmount","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Westmount Acres Trailer Court","place_name":"Westmount Acres Trailer Court","community":"Columbia-Shuswap E","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Westridge","place_name":"Westridge","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Westside","place_name":"Westside","community":"Tsinstikeptum 10","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Westsyde","place_name":"Westsyde","community":"Kamloops","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Urban 2"},{"location":"Westview","place_name":"Westview","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Westwold","place_name":"Westwold","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Wet'suwet'en Village","place_name":"Wet'suwet'en Village","community":"Palling 1","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Weyerhaeuser Subdivision","place_name":"Weyerhaeuser Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Whaletown","place_name":"Whaletown","community":"Strathcona B","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Whalley","place_name":"Whalley","community":"Surrey","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Wheel Estates-Saratoga Beach","place_name":"Wheel Estates-Saratoga Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whiplash Ranch","place_name":"Whiplash Ranch","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Whisky Creek","place_name":"Whisky Creek","community":"Nanaimo F","regional_district":"Nanaimo","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whispering Pines 4","place_name":"","community":"Whispering Pines 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Whispering Pines Trailer Park","place_name":"Whispering Pines Trailer Park","community":"Kootenay Boundary B / Lower Columbia-Old-Glory","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Whispering Winds Trailer Court","place_name":"Whispering Winds Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Whistler","place_name":"","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Whistler Creek","place_name":"Whistler Creek","community":"Whistler","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"White Lake","place_name":"White Lake","community":"Columbia-Shuswap C","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"White Rock","place_name":"","community":"White Rock","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"White Spruce Trailer Court","place_name":"White Spruce Trailer Court","community":"East Kootenay A","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Whitecroft","place_name":"Whitecroft","community":"Thompson-Nicola P (Rivers and the Peaks)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Whiterock Passage","place_name":"Whiterock Passage","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Whonnock","place_name":"Whonnock","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Whonnock 1","place_name":"","community":"Whonnock 1","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Whyac","place_name":"Whyac","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Whytecliff","place_name":"Whytecliff","community":"West Vancouver","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Wigwam Inn","place_name":"Wigwam Inn","community":"Metro Vancouver A","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Wihat'a","place_name":"Wihat'a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wii Lax K'ap","place_name":"Wii Lax K'ap","community":"Nisga'a","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"N/A"},{"location":"Wildwood","place_name":"Wildwood","community":"Powell River","regional_district":"qathet","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Wildwood Subdivision","place_name":"Wildwood Subdivision","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Wildwood Trailer Park","place_name":"Wildwood Trailer Park","community":"Cariboo D","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Wiley","place_name":"Wiley","community":"Bulkley-Nechako G","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Williams Beach","place_name":"Williams Beach","community":"Comox Valley C (Puntledge - Black Creek)","regional_district":"Comox Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Williams Lake","place_name":"","community":"Williams Lake","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 3"},{"location":"Williams Lake 1","place_name":"","community":"Williams Lake 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Williams Landing","place_name":"Williams Landing","community":"Fraser Valley F","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Williams Prairie Meadow 1A","place_name":"","community":"Williams Prairie Meadow 1A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Williamsons Landing","place_name":"Williamsons Landing","community":"Sunshine Coast F","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Willingdon Heights","place_name":"Willingdon Heights","community":"Burnaby","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Willow Brook","place_name":"Willow Brook","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willow Flats","place_name":"Willow Flats","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Willow Point","place_name":"Willow Point","community":"Central Kootenay F","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Willow Ranch","place_name":"Willow Ranch","community":"Thompson-Nicola L (Grasslands)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willow River","place_name":"Willow River","community":"Fraser-Fort George F","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 2"},{"location":"Willow Valley","place_name":"Willow Valley","community":"Peace River E","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Willowbrook - Okanagan-Similkameen C","place_name":"Willowbrook","community":"Okanagan-Similkameen C","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Willowbrook - Peace River D","place_name":"Willowbrook","community":"Peace River D","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Willowvale","place_name":"Willowvale","community":"Bulkley-Nechako D","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Wilmer","place_name":"Wilmer","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Wilson Creek","place_name":"Wilson Creek","community":"Sechelt","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 2"},{"location":"Wilson Landing","place_name":"Wilson Landing","community":"Central Okanagan West","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Windermere","place_name":"Windermere","community":"East Kootenay F","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Windmill Trailer Park","place_name":"Windmill Trailer Park","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Windsor Park","place_name":"Windsor Park","community":"North Vancouver - District municipality","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Windy Mouth 7","place_name":"","community":"Windy Mouth 7","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Winfield","place_name":"Winfield","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Winfield Mobile Home Park","place_name":"Winfield Mobile Home Park","community":"Duck Lake 7","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Wingdam","place_name":"Wingdam","community":"Cariboo C","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Winlaw","place_name":"Winlaw","community":"Central Kootenay H","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Winter Harbour","place_name":"Winter Harbour","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Wistaria","place_name":"Wistaria","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Wisteria","place_name":"Wisteria","community":"Bulkley-Nechako E","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Wolf","place_name":"Wolf","community":"Cariboo I","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Wonowon","place_name":"Wonowon","community":"Peace River B","regional_district":"Peace River","economic_region":"Northeast","rural_category":"Rural 1"},{"location":"Woodcock","place_name":"Woodcock","community":"Kitimat-Stikine B","regional_district":"Kitimat-Stikine","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Woodcreek","place_name":"Woodcreek","community":"Sunshine Coast E","regional_district":"Sunshine Coast","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Woodfibre","place_name":"Woodfibre","community":"Squamish","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Woodhaven","place_name":"Woodhaven","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Woodland Park Estates","place_name":"Woodland Park Estates","community":"Okanagan-Similkameen H","regional_district":"Okanagan-Similkameen","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Woodlands","place_name":"Woodlands","community":"Belcarra","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 3"},{"location":"Woodmere","place_name":"Woodmere","community":"Bulkley-Nechako A","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"Rural 1"},{"location":"Woodpecker","place_name":"Woodpecker","community":"Fraser-Fort George E","regional_district":"Fraser-Fort George","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Woods Landing","place_name":"Woods Landing","community":"Columbia-Shuswap F","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Woodsdale","place_name":"Woodsdale","community":"Lake Country","regional_district":"Central Okanagan","economic_region":"Thompson/Okanagan","rural_category":"Rural 3"},{"location":"Woss","place_name":"Woss","community":"Mount Waddington D","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Woyenne 27","place_name":"","community":"Woyenne 27","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Wright","place_name":"Wright","community":"Cariboo G","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"Rural 1"},{"location":"Wyah 3","place_name":"Wyah 3","community":"Cowichan Valley F","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Wycliffe","place_name":"Wycliffe","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Wycliffe Trailer Park","place_name":"Wycliffe Trailer Park","community":"East Kootenay C","regional_district":"East Kootenay","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Wyndhaven Subdivision","place_name":"Wyndhaven Subdivision","community":"Clearwater","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Wynndel","place_name":"Wynndel","community":"Central Kootenay A","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Xeni","place_name":"Xeni","community":"Lohbiee 3","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Y.D. Ranch Subdivision","place_name":"Y.D. Ranch Subdivision","community":"Thompson-Nicola I (Blue Sky Country)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Ya:kats","place_name":"Ya:kats","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yaashitquo-a","place_name":"Yaashitquo-a","community":"Alberni-Clayoquot A","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Yaculta","place_name":"Yaculta","community":"Strathcona C","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yahk","place_name":"Yahk","community":"Central Kootenay B","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Yaku","place_name":"Yaku","community":"North Coast D","regional_district":"Skeena-Queen Charlotte","economic_region":"North Coast","rural_category":"Rural 1"},{"location":"Yakweakwioose 12","place_name":"","community":"Yakweakwioose 12","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yale","place_name":"Yale","community":"Fraser Valley B","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Rural 3"},{"location":"Yale Town 1","place_name":"","community":"Yale Town 1","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yankee Flats","place_name":"Yankee Flats","community":"Columbia-Shuswap D","regional_district":"Columbia-Shuswap","economic_region":"Thompson/Okanagan","rural_category":"Rural 2"},{"location":"Yarksis","place_name":"Yarksis","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Yarrow","place_name":"Yarrow","community":"Chilliwack","regional_district":"Fraser Valley","economic_region":"Mainland/Southwest","rural_category":"Urban 2"},{"location":"Yawaucht 11","place_name":"","community":"Yawaucht 11","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Ye Koo Che 3","place_name":"","community":"Ye Koo Che 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Yekooche","place_name":"Yekooche","community":"Ye Koo Che 3","regional_district":"Bulkley-Nechako","economic_region":"Nechako","rural_category":"N/A"},{"location":"Yekwaupsum 18","place_name":"","community":"Yekwaupsum 18","regional_district":"Squamish-Lillooet","economic_region":"Mainland/Southwest","rural_category":"N/A"},{"location":"Yellow Point","place_name":"Yellow Point","community":"Cowichan Valley H","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Yennadon","place_name":"Yennadon","community":"Maple Ridge","regional_district":"Metro Vancouver","economic_region":"Mainland/Southwest","rural_category":"Urban 1"},{"location":"Ymir","place_name":"Ymir","community":"Central Kootenay G","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Youbou","place_name":"Youbou","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Youbou West","place_name":"Youbou West","community":"Cowichan Valley I","regional_district":"Cowichan Valley","economic_region":"Vancouver Island/Coast","rural_category":"Rural 3"},{"location":"Young Lake","place_name":"Young Lake","community":"Thompson-Nicola E (Bonaparte Plateau)","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"Rural 1"},{"location":"Yreka","place_name":"Yreka","community":"Mount Waddington B","regional_district":"Mount Waddington","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"YunesÌ‚it'in","place_name":"YunesÌ‚it'in","community":"Stone 1","regional_district":"Cariboo","economic_region":"Cariboo","rural_category":"N/A"},{"location":"Yuquot","place_name":"Yuquot","community":"Strathcona A","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Yuquot 1","place_name":"","community":"Yuquot 1","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"N/A"},{"location":"Yuuhluth","place_name":"Yuuhluth","community":"Alberni-Clayoquot C","regional_district":"Alberni-Clayoquot","economic_region":"Vancouver Island/Coast","rural_category":"Rural 2"},{"location":"Zacht 5","place_name":"","community":"Zacht 5","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"},{"location":"Zamora","place_name":"Zamora","community":"Kootenay Boundary E / West Boundary","regional_district":"Kootenay Boundary","economic_region":"Kootenay","rural_category":"Rural 2"},{"location":"Zeballos","place_name":"","community":"Zeballos","regional_district":"Strathcona","economic_region":"Vancouver Island/Coast","rural_category":"Rural 1"},{"location":"Zincton","place_name":"Zincton","community":"Central Kootenay D","regional_district":"Central Kootenay","economic_region":"Kootenay","rural_category":"Rural 1"},{"location":"Zoht 4","place_name":"","community":"Zoht 4","regional_district":"Thompson-Nicola","economic_region":"Thompson/Okanagan","rural_category":"N/A"}] \ No newline at end of file