W

Wise Visit Tracker

{{ user.name }}

Dashboard

View and manage your planned visits

πŸ“…

No planned visits

Try adjusting your date filters or create a visit plan from the Places section

{{ dateLabel }}

{{ plans.length }} {{ plans.length === 1 ? 'visit' : 'visits' }} ⚠️ Missed

{{ plan.place_name }}

πŸ“ {{ plan.city }}

{{ plan.address }}

planned
πŸ• {{ plan.planned_time || 'All day' }} πŸ‘€ {{ plan.user_name }}
Product to Suggest: {{ formatProduct(plan.product_to_suggest) }}
Notes:

{{ plan.notes }}

πŸ“ž Call

Places

Manage all your places and locations

#{{ index + 1 }}
{{ place.priority }} {{ place.status }}
City: {{ place.city || 'N/A' }}
Category: {{ place.category_name || 'Uncategorized' }}
Contact: {{ place.contact_name || 'N/A' }}
Product: {{ formatProduct(place.suggested_product) }}
πŸ“ {{ place.visit_count || 0 }} visits Min: ${{ formatAmount(place.min_price) }} Max: ${{ formatAmount(place.max_price) }}
{{ formatProduct(product) }}
πŸ“ž Call

Categories

Organize places by type to make filtering faster

πŸ—‚οΈ

No categories yet

Add your first category to start grouping places like hospitals, institutes, or shops.

{{ category.name }}

Updated {{ formatDateTime(category.updated_at) }}

{{ category.place_count }} places

{{ category.description || 'No description provided.' }}

Visit Plans

All scheduled visit plans

πŸ“…

No plans found

Create a visit plan from the Places section

{{ plan.place_name }}

πŸ“ {{ plan.city }}

πŸ“… {{ plan.planned_date }}

πŸ• {{ plan.planned_time }}

By: {{ plan.user_name }}

Product to Suggest: {{ formatProduct(plan.product_to_suggest) }}
Notes:

{{ plan.notes }}

{{ plan.status === 'done' ? 'planned' : plan.status }}

Visits

View all completed visits

βœ…

No visits recorded

Mark visits as completed from the Dashboard or Plans section

{{ dateLabel }}

{{ visitsGroup.length }} {{ visitsGroup.length === 1 ? 'visit' : 'visits' }}

{{ visit.place_name }}

πŸ“ {{ visit.city }}

πŸ• {{ new Date(visit.visited_at).toLocaleTimeString() }}

By: {{ visit.user_name }}

{{ visit.notes }}

{{ visit.outcome }}
Product: {{ formatProduct(visit.product_interest) }}
πŸ’° ${{ visit.amount_estimate }}
βœ… Offer Sent: {{ formatDateTime(visit.offer_sent_at) }}
⏳ Offer Pending

Pending Offers

Visits where clients requested offers/quotations

πŸ’°

No pending offers

Offers requested during visits will appear here

{{ offer.place_name }}

πŸ“ {{ offer.city }}

πŸ“… {{ formatDateTime(offer.visited_at) }}

By: {{ offer.user_name }}

πŸ“ž Contact Info:

πŸ‘€ {{ offer.contact_name }}
πŸ“± {{ offer.contact_phone }} πŸ“ž Call
Notes:

{{ offer.notes }}

{{ offer.outcome }}
Product: {{ formatProduct(offer.product_interest) }}
πŸ’° ${{ formatAmount(offer.amount_estimate) }}

πŸ“¨ Offers Requested

Track all visits where clients requested offers/quotations

{{ sentOffersStats.total_sent }}
Total Offers
{{ sentOffersStats.sent_this_week }}
This Week
{{ sentOffersStats.sent_this_month }}
This Month
{{ sentOffersStats.unique_places }}
Unique Places
πŸ“¨

No offers requested yet

Visits where offers were requested will appear here

{{ offer.place_name }}

πŸ“ {{ offer.city }}

βœ… Sent ⏳ Pending
${{ formatAmount(offer.offer_price) }}
Visit Date: {{ formatDateTime(offer.visited_at) }}
By: {{ offer.user_name }}
Product: {{ formatProduct(offer.product_interest) }}
πŸ‘€ {{ offer.contact_name }}
πŸ“ž {{ offer.contact_phone }} πŸ“ž Call
πŸ“ {{ offer.offer_notes }}

{{ selectedPlace.name }}

πŸ“ {{ selectedPlace.city }}, {{ selectedPlace.address }}

Details

Contact

{{ selectedPlace.contact_name || 'N/A' }}

Phone

{{ selectedPlace.contact_phone || 'N/A' }}

Priority

{{ selectedPlace.priority }}

Status

{{ selectedPlace.status }}

Suggested Product

{{ formatProduct(selectedPlace.suggested_product) }}

Category

{{ selectedPlace.category_name || 'Uncategorized' }}

Last Visited

{{ formatDateTime(selectedPlace.last_visited_at) }}

Notes

{{ note.body }}

{{ note.user_name }} - {{ formatDateTime(note.created_at) }}

No notes yet

πŸ“¨ Offers for this Place

{{ placeVisits.filter(v => parseInt(v.offer_requested)).length }}
Total Offers
{{ placeVisits.filter(v => v.offer_sent_at).length }}
Sent
{{ placeVisits.filter(v => parseInt(v.offer_requested) && !v.offer_sent_at).length }}
Pending
${{ formatAmount(placeVisits.filter(v => v.offer_price).reduce((sum, v) => sum + parseFloat(v.offer_price || 0), 0)) }}
Total Value

Visit History

{{ formatDateTime(visit.visited_at) }}

By: {{ visit.user_name }}

{{ visit.notes }}

βœ… Offer Sent ⏳ Offer Pending
Sent: {{ formatDateTime(visit.offer_sent_at) }}
πŸ’° ${{ formatAmount(visit.offer_price) }}
πŸ“ {{ visit.offer_notes }}
{{ visit.outcome }}
No visits recorded yet

πŸ• {{ user && user.role === 'admin' ? 'Attendance' : 'Check In / Check Out' }}

View all employee check-ins and check-outs

Users Management

Manage sales people and admin accounts

{{ u.name }}

{{ u.email }}

{{ u.role }}
Created: {{ formatDateTime(u.created_at) }}

πŸ“‹ Weekly Tasks Management

πŸ‘₯ Assign and track weekly tasks for employees

{{ adminSelectedBatchDetails.user_name }} - Week Details

⭐ Current Week ⚠ Incomplete

Week: {{ formatDate(adminSelectedBatchDetails.week_start_date) }} - {{ formatDate(adminSelectedBatchDetails.week_end_date) }}

{{ adminSelectedBatchDetails.completed_tasks }} / {{ adminSelectedBatchDetails.total_tasks }} tasks completed

⚠️
{{ (100 - adminSelectedBatchDetails.progress_percentage).toFixed(1) }}% REMAINING
⚠️ INCOMPLETE TASKS - ACTION REQUIRED! ⚠️
{{ adminSelectedBatchDetails.progress_percentage }}%
Tasks ({{ adminSelectedBatchTasks.length }})
{{ task.title }} {{ task.task_type }}

{{ task.description }}

Progress: {{ task.completed_count }} / {{ task.required_count }} ({{ getTaskProgressPercentage(task) }}%)
{{ task.status }}
πŸ“ Place: {{ task.place_name }}
πŸ“ {{ task.result_count }} note(s)
No tasks assigned yet

πŸ“Š Weekly Tasks Overview

πŸ“… Showing current/upcoming week Showing all weeks ({{ weeklyTaskBatches.length }} total)
πŸŽ‰ 😊 😐 😒

{{ batch.user_name }}

⭐ Current βœ… All Done! 😒 Incomplete

πŸ“… Week: {{ formatDate(batch.week_start_date) }} - {{ formatDate(batch.week_end_date) }}

{{ batch.progress_percentage }}%
Progress {{ batch.completed_tasks }} / {{ batch.total_tasks }} tasks ({{ batch.progress_percentage }}% complete)
⚠️
{{ (100 - batch.progress_percentage).toFixed(1) }}% REMAINING
⚠️ INCOMPLETE TASKS - ACTION REQUIRED! ⚠️
πŸ“ Weekly Plan
{{ getDayLabel(item.day) }}: {{ item.note }}

No weekly plan added yet

Tasks ({{ batch.tasks.length }})
{{ task.title }} {{ task.task_type }} ✨ Added by {{ task.created_by_name }} πŸ‘€ You added

{{ task.description }}

Progress: {{ task.completed_count }} / {{ task.required_count }} ({{ getTaskProgressPercentage(task) }}%)
{{ task.status }}
πŸ“ Place: {{ task.place_name }}
πŸ“ {{ task.result_count }} note(s)
No tasks assigned yet
πŸ“‹

No weekly tasks found

Create weekly tasks for employees to get started

⚠️
You have {{ getUnfinishedPreviousWeeks().length }} previous week(s) with unfinished tasks! {{ formatDate(week.week_start_date) }} ({{ week.progress_percentage }}% done),
πŸŽ‰
All done! Excellent work this week! You're a star! ⭐
{{ getProgressMessage(currentWeeklyBatch.progress_percentage).emoji }}
{{ getProgressMessage(currentWeeklyBatch.progress_percentage).message }}

πŸ“‹ My Weekly Tasks

πŸ‘‹ View and complete your assigned tasks

{{ getProgressMessage(currentWeeklyBatch.progress_percentage).emoji }}

Week: {{ formatDate(currentWeeklyBatch.week_start_date) }} - {{ formatDate(currentWeeklyBatch.week_end_date) }}

⭐ Current Week πŸŽ‰ All Done! πŸ“ In Progress
βœ… πŸ“‹

{{ currentWeeklyBatch.completed_tasks }} / {{ currentWeeklyBatch.total_tasks }} tasks completed

πŸŽ‰
100% Complete - {{ getProgressMessage(100).message }}
{{ getProgressMessage(currentWeeklyBatch.progress_percentage).emoji }}
{{ (100 - currentWeeklyBatch.progress_percentage).toFixed(1) }}% remaining - {{ getProgressMessage(currentWeeklyBatch.progress_percentage).message }}
{{ currentWeeklyBatch.progress_percentage }}%
πŸ“‹

Your Weekly Plan

πŸ“… {{ getDayLabel(item.day) }}

{{ item.note }}

πŸ“ πŸ“ πŸŽ₯ πŸ’‘ πŸ“‹

{{ type }} Tasks ({{ tasks.length }})

βœ… πŸ“Œ
{{ task.title }}
✨ My Task πŸ‘€ Added by {{ task.created_by_name }}

{{ task.description }}

πŸ“ Place: {{ task.place_name }}
πŸ“… Visit: {{ formatDate(task.visit_planned_date) }}
βœ… Done ⏳ Pending
πŸ“Š Progress: {{ task.completed_count }} / {{ task.required_count }} ({{ getTaskProgressPercentage(task) }}%)
πŸ“‹

No tasks assigned yet

😊 Contact your admin to get tasks assigned

πŸ“‹

No weekly tasks found

No tasks have been assigned for this week

πŸ“Š Reports & Analytics

Comprehensive reports and statistics

Total Visits
{{ reportData.visits.total }}
Unique Places
{{ reportData.visits.unique_places }}
Positive Visits
{{ reportData.visits.by_outcome.positive }}

Visits by Outcome

Daily Visits Trend

Product Interest Distribution

Top Visited Places

Place City Visits Positive Negative
{{ place.name }} {{ place.city }} {{ place.visit_count }} {{ place.positive_count }} {{ place.negative_count }}
πŸ“Š

No report data available

Select a date range to view reports

{{ snackbar.message }}