Loading VIP Self-Care...
Loading VIP Self-Care...

Booking Confirmation

Loading booking details...

Error

{{ confirmationError }}

Booking Confirmation

Please confirm or cancel your booking

Customer Details

{{ bookingConfirmData.customer_name }}

{{ bookingConfirmData.customer_email }}

{{ bookingConfirmData.customer_phone }}

Booking Details

{{ bookingConfirmData.service }}

{{ formatBookingDate(bookingConfirmData.date) }}

{{ formatBookingTime(bookingConfirmData.time) }}

{{ bookingConfirmData.slot_duration }} minutes

{{ bookingConfirmData.branch_name }}

Current Status: {{ bookingConfirmData.status.charAt(0).toUpperCase() + bookingConfirmData.status.slice(1) }}

Cancel Booking

This booking has been confirmed.

You should have received a confirmation notification.

This booking has been cancelled.

No further action is required.

Gallery Upload

Loading gallery...

Error

{{ galleryUploadError }}

{{ galleryUploadData.organization_name }} Gallery

Upload photos to your organization gallery. Maximum 12 photos allowed.

Photos Used: {{ galleryUploadData.gallery.length }} / 12

Current Photos

{{ new Date(photo.uploaded_at).toLocaleDateString() }}

Add New Photo

Preview:

Preview
Maximum photos reached (12/12)

You cannot add more photos. Please contact support if you need to replace existing photos.

{{ uploadSuccessMessage }}

{{ organizationData.organization.name }}

Loading organization...

Cover Photo

{{ organizationData.organization.name }}

Logo

{{ organizationData.organization.name }}

{{ organizationData.statistics.total_deals }}
Deals
{{ organizationData.statistics.total_branches }}
Locations

{{ organizationData.organization.description }}

Loading deals...

{{deal.branchName}}

{{deal.branchCity}}
VIP Self-Care
{{ deal.durationSlots * 15 }}m

{{capitalizeTitle(deal.title)}}

RM{{deal.originalPrice}} RM{{deal.finalPrice}}

No active deals

{{ branch.name }}

{{ branch.address }}

{{ branch.city }}, {{ branch.state }}

No branch locations

No gallery photos

โ˜…
{{ review.overall_rating.toFixed(1) }}
{{ formatReviewDate(review.created_at) }}

{{ review.comment }}

{{ review.deal_title }}
{{ review.branch_name }}

No reviews yet

{{ organization2Data.organization.name }}

Loading organization...

Cover Photo
Logo

{{ organization2Data.organization.name }}

{{ organization2Data.statistics.total_deals }}
Deals
{{ organization2Data.statistics.total_branches }}
Locations

{{ organization2Data.organization.description }}

Loading deals...

{{deal.branchName}}

{{deal.branchCity}}
VIP Self-Care
{{ deal.durationSlots * 15 }}m

{{capitalizeTitle(deal.title)}}

RM{{deal.originalPrice}} RM{{deal.finalPrice}}

No active deals

{{ branch.name }}

{{ branch.address }}

{{ branch.city }}, {{ branch.state }}

No branch locations

No gallery photos

โ˜…
{{ review.overall_rating.toFixed(1) }}
{{ review.deal_title }}
{{ review.branch_name }}
{{ formatReviewDate(review.created_at) }}

"{{ review.comment }}"

No reviews yet

VIP Self-Care Logo

{{ showMyBookings ? 'Bookings' : (showMePage ? 'Me' : 'Deals') }}

{{ bodyArea.keyword }}
Loading more deals...

No Deals Found

We couldn't find any deals matching your filters.

Try adjusting your search criteria, location settings, or filters to see more results.

Loading more deals...

No Special Offers Found

There are currently no special offers available.

Try adjusting your search criteria or filters to see more results.

Loading more deals...

No Promotions Found

There are currently no promotions available.

Try adjusting your search criteria or filters to see more results.

Loading more deals...

No Favourites Yet

You haven't added any deals to your favourites.

Click the heart icon on deals you like to save them here!

Business Portal

Pending: Create Organization

You need to create an organization before you can manage branches and deals. Go to the Organizations tab to get started.

Pending: Create Branch

Your organization is set up! Now create your first branch location to start adding deals. Go to the Branches tab to continue.

{{ userSearchQuery.length >= 2 ? 'No users found' : 'No users available' }}
{{ user.name || 'Unknown' }}
{{ user.country_code }}{{ user.mobile_number }}

Please select a user from the filter above to manage organizations.

Please select a user and organization from the filters above to manage branches.

Please select an organization from the filter above to manage branches.

Please select a user and organization from the filters above to manage deals.

Please select an organization from the filter above to manage deals.

Please select a user and organization from the filters above to manage bookings.

Please select an organization from the filter above to manage bookings.

View:
{{ column.replace('_', ' ').toUpperCase() }} ACTIONS
{{ (item.name || '?').charAt(0).toUpperCase() }}
{{ formatValue(item[column], column, item) }}
Edit
Delete
No admin users available

Invoice Management

Invoice # Issue Date Partner Organization Amount Discount Status Actions
{{ invoice.invoice_number }} {{ formatDateInvoice(invoice.issue_date) }} {{ invoice.partner_name }} {{ invoice.organization_name }} RM {{ parseFloat(invoice.total_amount).toFixed(2) }} {{ invoice.discount_value }}% RM {{ parseFloat(invoice.discount_value).toFixed(2) }} - {{ invoice.status.toUpperCase() }}
View

No invoices found. Click "Generate Invoice" to create one.

Loading dashboard...

Platform Metrics

Admins

Today {{ dashboardStats.admins_today }}
Yesterday {{ dashboardStats.admins_yesterday }}
Total {{ dashboardStats.admins_total }}

Partners

Today {{ dashboardStats.partners_today }}
Yesterday {{ dashboardStats.partners_yesterday }}
Total {{ dashboardStats.partners_total }}

Customers

Today {{ dashboardStats.users_today }}
Yesterday {{ dashboardStats.users_yesterday }}
Total {{ dashboardStats.users_total }}

Organizations

Today {{ dashboardStats.organizations_today }}
Yesterday {{ dashboardStats.organizations_yesterday }}
Total {{ dashboardStats.organizations_total }}

Branches

Today {{ dashboardStats.branches_today }}
Yesterday {{ dashboardStats.branches_yesterday }}
Total {{ dashboardStats.branches_total }}

Photos

Today {{ dashboardStats.photos_today }}
Yesterday {{ dashboardStats.photos_yesterday }}
Total {{ dashboardStats.photos_total }}

Videos

Today {{ dashboardStats.videos_today }}
Yesterday {{ dashboardStats.videos_yesterday }}
Total {{ dashboardStats.videos_total }}

Deals

Today {{ dashboardStats.deals_today }}
Yesterday {{ dashboardStats.deals_yesterday }}
Total {{ dashboardStats.deals_total }}

Bookings

Today {{ dashboardStats.bookings_today }}
Yesterday {{ dashboardStats.bookings_yesterday }}
Total {{ dashboardStats.bookings_total }}

WhatsApp API Calls

Today {{ dashboardStats.whatsapp_today }}
Yesterday {{ dashboardStats.whatsapp_yesterday }}
Total {{ dashboardStats.whatsapp_total }}

Reviews

Today {{ dashboardStats.reviews_today }}
Yesterday {{ dashboardStats.reviews_yesterday }}
Total {{ dashboardStats.reviews_total }}

Invoices

Today {{ dashboardStats.invoices_today }}
Yesterday {{ dashboardStats.invoices_yesterday }}
Total {{ dashboardStats.invoices_total }}

Booking Analytics

Total Bookings

{{ analytics.total_bookings }}

Completion Rate

{{ analytics.completion_rate }}%

Cancellation Rate

{{ analytics.cancellation_rate }}%

No-Show Rate

{{ analytics.no_show_rate }}%

Booking Status Distribution

{{ getStatusText(status.status) }}
{{ status.count }} ({{ status.percentage }}%)

Cancellation Breakdown

Customer Cancellations

After confirmation

{{ analytics.cancelled_by_customer }}

Partner Cancellations

After confirmation

{{ analytics.cancelled_by_partner }}

Average Response Time

Pending โ†’ Confirmed

{{ analytics.avg_response_time }}

Top Cancellation/Rejection Reasons

{{ index + 1 }}. {{ reason.reason || '(No reason provided)' }}
{{ reason.count }}

Organization Performance

Organization Total Completed Cancelled No-Show Rejected Avg Response
{{ org.name }} {{ org.total_bookings }} {{ org.completed }} {{ org.cancelled }} {{ org.no_show }} {{ org.rejected }} {{ org.avg_response }}

Rating & Reviews Management

Total Reviews

{{ reviewsStats.total_reviews }}

Average Rating

{{ reviewsStats.average_rating.toFixed(1) }}

With Comments

{{ reviewsStats.total_with_comments }}

ID Date & Time Customer Organization Branch Deal Rating Comment Actions
{{ review.rating_id }} {{ new Date(review.created_at).toLocaleString('en-MY', { year: 'numeric', month: 'short', day: 'numeric', hour: '2-digit', minute: '2-digit', hour12: true }) }}
{{ review.customer_name.charAt(0).toUpperCase() }}

{{ review.customer_name }}

{{ review.organization_name }}
{{ review.branch_name }}
{{ review.deal_title }}
โ˜… โ˜…
{{ review.overall_rating.toFixed(1) }}
Professionalism:
โ˜… โ˜…
Cleanliness:
โ˜… โ˜…
Ambiance:
โ˜… โ˜…
Accuracy:
โ˜… โ˜…
Value:
โ˜… โ˜…

{{ review.comment }}

No comment

Delete

No reviews found

Try adjusting your filters to see more reviews

{{ getColumnDisplayName(column) }} ACTIONS
{{ (item.name || '?').charAt(0).toUpperCase() }}
{{ formatValue(item[column], column, item) }}
Edit
Delete
No users available
ID Date Profile Name Email Organizations Status Actions
No partners or applications found
{{ item.raw_data.id }} {{ item.date }}
{{ (item.name || '?').charAt(0).toUpperCase() }}
{{ item.name }}
{{ item.mobile_number }}
{{ item.email }} {{ item.organizations_info }} {{ item.status_label }}
{{ getColumnDisplayName(column) }} Actions
{{ getStatusText(item.status) }} {{ formatValue(item[column], column, item) }}
Confirm
Reject
Cancel
Mark No Show
{{ item.deep_link_token ? 'Copy Link' : 'Generate Link' }}
Audit Trail
No data available

Booking Calendar

Confirmed
Pending
Available
Unavailable
Time
{{ getTimeSlotLabel(slotIndex).replace(/([0-9]+)(am|pm)/, '$1\n$2') }}
Deals:
{{ deal.title }}{{ !deal.is_active ? ' (Inactive)' : '' }}

Select a Branch

Choose a branch from the filters above to view the timetable.

{{ getColumnDisplayName(column) }} Actions Remark
{{ (item.name || '?').charAt(0).toUpperCase() }}
{{ formatValue(item[column], column, item) }}
{{ getBranchName(branchId) }}
{{ getWhatsAppRouting(item, branchId) }}
{{ formatValue(item[column], column, item) }}
Edit
View Page
Share Upload Link
Delete
Edit
Delete
Edit
Delete
Test Booking
Copy URL
Share via WhatsApp
Remark
No data available

No Bookings Yet

You haven't made any bookings yet. Browse our deals to get started!

Deal
VIP Self-Care

{{booking.service}}

RM{{parseFloat(booking.final_price || 0).toFixed(2)}} / {{booking.slot_duration || 60}} Minutes
{{formatDateWithDay(booking.date)}}, {{formatTime(booking.time)}}
Reason: {{booking.cancellation_reason}}
{{getSmartStatusText(booking)}}
VIP Self-Care Logo

Me

{{ (user.name || '?').charAt(0).toUpperCase() }}

{{ user.name }}

{{ user.mobile_number ? (user.country_code + user.mobile_number) : 'No phone number' }}

Profile

Legal & Privacy

Account

© 2025 VIP Self-Care. All rights reserved.