Skip to main content

Welcome to AndanDo for Hosts

AndanDo is a comprehensive tour marketplace platform that empowers hosts to create, manage, and grow their tour and experience businesses. Built with Blazor Server and .NET, the platform provides a robust suite of tools designed specifically for tour operators and experience creators.

Dashboard Analytics

Track bookings, revenue, and performance metrics in real-time

Tour Management

Create and manage your tours with flexible pricing and scheduling

Booking System

Manage reservations with QR codes and payment tracking

Payment Methods

Accept payments via cards, PayPal, and bank transfers

Key Host Features

Comprehensive Dashboard

Your host dashboard provides a complete overview of your business operations:
Monitor your performance with live metrics:
  • Total Tickets: Track all tickets sold for your events
  • Reservations: View booking counts and trends
  • Revenue: Monitor total sales and payment status
  • Travel Dates: See upcoming tour schedules at a glance
Access detailed reservation information:
  • Customer details with avatar initials
  • Ticket breakdown by type and quantity
  • Payment status (Paid, Pending, Partial, Cancelled)
  • Individual QR codes for each ticket
  • Service charge calculations
The dashboard allows you to:
  • Filter data by specific tour/event
  • View aggregated statistics per event
  • Generate reports for individual tours
  • Track performance across your portfolio

Booking & Ticket Management

AndanDo provides sophisticated tools for managing customer bookings:
1

View Reservations

Access a detailed table showing:
  • Reservation ID and customer information
  • Travel date and creation timestamp
  • Total tickets and payment amount
  • Payment status badges
2

Expandable Details

Click any reservation to expand and see:
  • Complete ticket breakdown by type
  • Individual ticket pricing
  • Service charges and subtotals
  • Payment schedule for partial payments
3

QR Code Access

Generate and view QR codes for:
  • Individual tickets (with slider navigation)
  • Multiple tickets per reservation
  • Easy verification at event entry
4

Reservation Actions

Manage bookings with quick actions:
  • View/download invoices
  • Edit reservation details
  • Cancel orders (if not fully paid)
QR Code Verification: Each ticket generates a unique QR code using the reservation code, accessible through a beautiful modal interface with navigation controls.

Profile Management

Hosts can maintain their professional profile with:

Personal Information

  • Name and surname
  • Email (read-only after registration)
  • Phone number
  • Country and city

Profile Photo

  • URL-based photo upload
  • Real-time preview
  • Avatar with initials fallback

Account Security

  • Password change functionality
  • Current password verification
  • Minimum 6-character requirement

Account Status

  • Active/inactive status
  • Lock status
  • Last login timestamp

Payment Configuration

The platform supports multiple payment methods that hosts can configure:
Integrate with card processors (e.g., Stripe):
// Configuration fields
- Public Key (pk_live_...)
- Secret Key (sk_live_...)
- Webhook Secret (whsec_...)
Enable/disable with toggle switch
Payment Security: Payment credentials are sensitive. The platform uses secure storage and follows industry best practices for handling financial data.

Authentication & Security

AndanDo implements robust authentication using industry-standard security practices:

Password Security

The platform uses PBKDF2 (Password-Based Key Derivation Function 2) for password hashing:
Components/Pages/Login_Account.razor
// Password hashing configuration
Iterations: 100,000
Salt Size: 16 bytes
Key Size: 32 bytes
Algorithm: SHA256
Passwords are never stored in plain text. The system uses a salt and 100,000 iterations to protect against brute-force attacks.

Session Management

Hosts benefit from secure session handling:
  • JWT Token Authentication: Tokens are generated upon successful login
  • Protected Local Storage: Session data is encrypted in browser storage
  • Remember Email: Optional email persistence for convenience
  • Last Login Tracking: Automatic timestamp updates on each login
Services/Auth/AuthService.cs
// Session updates on login
await UpdateUltimoLoginAsync(connection, userId, cancellationToken);
var token = _jwtTokenService.GenerateToken(new UserIdentity(userId, email));

Role-Based Access

The platform implements a role-based permission system:
1

User Registration

New accounts are automatically assigned the base user role (RolId = 1)
await EnsureRoleAssignmentAsync(connection, userId, 1, cancellationToken);
2

Role Verification

The system can check if a user has specific roles:
Task<bool> IsUserInRoleAsync(int userId, int roleId, CancellationToken cancellationToken)
3

Permission Enforcement

Access to host features is controlled through role checks in the dashboard layout

Host Achievements

The platform includes a gamification system to recognize host milestones:
Services/Auth/AuthService.cs
public async Task<IReadOnlyList<HostAchievementDto>> GetHostAchievementsAsync(
    int userId,
    int take = 3,
    CancellationToken cancellationToken = default)
{
    // Retrieves unlocked achievements for display
    // Returns: AchievementId, Codigo, Titulo, Descripcion, BadgeUrl, DesbloqueadoEn
}

Achievement Tracking

  • Achievement codes and titles
  • Custom badge URLs
  • Unlock timestamps
  • Top 3 most recent achievements displayed by default

Data Models

Understanding the core data structures helps hosts make the most of the platform:

User Profile Structure

Dtos/AuthDtos.cs
public record UserProfileDto(
    int UsuarioId,
    string Email,
    string? Nombre,
    string? Apellido,
    string? Telefono,
    string? Pais,
    string? Ciudad,
    string? FotoPerfilUrl,
    bool EstaActivo,
    bool EstaBloqueado,
    DateTime? FechaCreacion,
    DateTime? FechaActualizacion,
    DateTime? UltimoLogin);

Authentication Result

Dtos/AuthDtos.cs
public record AuthResult(
    int UserId,
    string Email,
    string Token,
    string Nombre,
    string? Apellido,
    string? Telefono,
    string? FotoPerfilUrl);

Mobile-Responsive Design

All host features are fully optimized for mobile devices:

Adaptive Layouts

Dashboard and profile pages automatically adjust for mobile screens with dedicated mobile components

Touch-Friendly

All interactive elements are optimized for touch input with appropriate sizing

Mobile Menu

Dedicated mobile navigation menu with overlay and smooth animations

Responsive Tables

Reservation tables adapt to smaller screens without losing functionality
The platform detects screen size using CSS media queries (@media (max-width: 768px)) and automatically switches to mobile-optimized components.

Next Steps

Create Your Account

Get started by setting up your host account

Set Up Your First Tour

Learn how to create and publish your first tour

Configure Payments

Set up your payment methods to start accepting bookings

Manage Bookings

Master the booking management tools

Support & Resources

Need Help?

If you have questions about using AndanDo as a host:
  • Check our comprehensive guides in the documentation
  • Review the API reference for integration options
  • Contact support through your dashboard

Build docs developers (and LLMs) love