Manage camp activities and programs
| # | Image | Name | Price | Season | Locations | Rating | Bookings | Status | Actions |
|---|---|---|---|---|---|---|---|---|---|
| <%= (pagination.page - 1) * pagination.limit + index + 1 %> |
<% if (item.image) { %>
<% let imgSrc = item.image; if (!imgSrc.startsWith('http') &&
!imgSrc.startsWith('/')) { imgSrc = '/uploads/' + imgSrc; } %>
|
<%= item.name %>
<% if (item.link) { %>
<%= item.link %> <% } %> |
$<%= item.price %>
<% if (item.priceText) { %>
<%= item.priceText %> <% } %> |
<% if (item.season && item.season.length> 0) { %> <% item.season.forEach(s => { %> <%= s %> <% }) %> <% } else { %> - <% } %> | <% if (item.locations && item.locations.length> 0) { %> <%= item.locations.join(', ') %> <% } else { %> - <% } %> | <% for (let i = 0; i < 5; i++) { %> <% } %> | <% if (item.bookingCount > 0) { %> <%= item.bookingCount %> <% if (item.bookingSessions && item.bookingSessions.length > 0) { %> <% } %> <% } else { %> 0 <% } %> |
>
|
| # | Date | Activity | Session | Participant | Parent/Guardian | Contact | Gender/Age | Status | Payment | Actions |
|---|---|---|---|---|---|---|---|---|---|---|
| <%= index + 1 %> | <%= new Date(booking.createdAt).toLocaleDateString('en-GB', {day:'2-digit', month:'short', year:'2-digit'}) %> | <% if (booking.activityId) { %> <%= booking.activityId.name %> <% } else { %> Unknown <% } %> | <%= booking.sessionId ? booking.sessionId.substring(0, 15) + '...' : '-' %> | <%= booking.participantFirstName %> <%= booking.participantLastName %> DOB: <%= new Date(booking.participantBirthDate).toLocaleDateString('en-GB') %> | <%= booking.parentFirstName %> <%= booking.parentLastName %> | <%= booking.email %> <%= booking.phone %> | <%= booking.participantGender %> <% const today = new Date(); const birth = new Date(booking.participantBirthDate); let age = today.getFullYear() - birth.getFullYear(); const monthDiff = today.getMonth() - birth.getMonth(); if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birth.getDate())) age--; %> <%= age %>y | <%= booking.status %> | <%= booking.paymentStatus %> |
Booking submissions will appear here when customers book activities.