Documentation

Package Management

Voucher Packages in NettPortal are templates that define voucher specifications (time limits, data limits, pricing, and settings) without generating actual voucher codes upfront. When customers purchase a package, a unique voucher is automatically generated and created on your router. Packages are perfect for offering standardized internet access plans to customers through your customer portal, allowing them to purchase vouchers on-demand.

🎯 What is a Voucher Package?

A package is a template that defines what a voucher will include—time limits, data limits, speed limits, pricing, and router settings. Unlike direct voucher generation, packages don't create voucher codes until a customer purchases them. When a customer buys a package from your customer portal, NettPortal automatically generates a unique voucher code and password, creates a Hotspot user on your router, and assigns it to the customer. This approach is perfect for customer self-service, e-commerce integration, or automated voucher distribution.

Why Use Packages?

Packages offer several advantages over direct voucher generation:

🛒 Customer Self-Service

Let customers purchase vouchers themselves: Packages enable customers to browse available plans, see pricing, and purchase vouchers directly through the customer portal. No need for manual voucher generation or distribution—customers can buy vouchers on-demand whenever they need internet access.

  • Example: Create a "1 Day - 5GB" package for $5—customers can purchase it anytime
  • Benefit: Reduces administrative overhead and enables 24/7 voucher sales

🔐 Secure Voucher Generation

Vouchers are generated only when purchased: Unlike batch voucher generation, packages don't create voucher codes until a customer makes a purchase. This prevents voucher codes from being exposed before purchase, ensuring security and preventing unauthorized use. Each customer gets a unique voucher code and password when they purchase.

  • Example: Create a "7 Day - 20GB" package—no vouchers exist until someone buys it
  • Benefit: No risk of voucher codes being leaked or used before purchase

💰 Flexible Pricing

Set prices for each package: Each package can have its own price, allowing you to offer different plans at different price points. Customers see the price in your organization's local currency, and you can set prices to match your business model (free, paid, or subscription-based).

  • Example: "1 Hour - 1GB" for $2, "1 Day - 10GB" for $10, "7 Days - 50GB" for $50
  • Benefit: Create tiered pricing plans to maximize revenue

📦 Standardized Plans

Create reusable voucher templates: Define standard plans once and reuse them for multiple customers. Instead of creating vouchers individually with the same settings, create a package and let customers purchase from it. Perfect for recurring plans, standard offerings, or consistent service tiers.

  • Example: Create "Daily Plan", "Weekly Plan", and "Monthly Plan" packages
  • Benefit: Consistent service offerings with less manual configuration

🤖 Automatic Voucher Creation

Vouchers are created automatically on purchase: When a customer purchases a package, a voucher is automatically generated with a unique code and password, a Hotspot user is created on your router, and the voucher is assigned to the customer. The customer can immediately use their voucher credentials to connect to your WiFi.

  • Example: Customer purchases "1 Day - 5GB" package → Voucher created instantly → User can connect immediately
  • Benefit: Zero manual intervention—fully automated voucher distribution

Creating Packages

Creating packages is straightforward. Navigate to the Packages page and click Add Package. You can create multiple packages with different specifications to offer various plans to your customers. Here's what you need to configure:

📝 Basic Information

  • Package Name *: A descriptive name for the package (e.g., "1 Day - 5GB Package"). This is what customers will see when browsing packages.
  • Description (Optional): Additional details about what the package includes. Helps customers understand what they're purchasing.
  • Package is active: Enable this to make the package available for purchase in the customer portal. Disable it to hide it from customers (useful for seasonal packages or temporary offerings).

💡 Tip: Use clear, descriptive names that customers can easily understand. For example, "1 Day - 5GB Package" is better than "Package A".

🛠️ Router & Service Configuration

  • Router *: Select the MikroTik router where vouchers will be created and Hotspot users will be added. Required—profiles from this router will be loaded automatically.
  • Service Type *: Whether vouchers work with Hotspot, PPPoE, or Both. Most packages use Hotspot for WiFi access.
  • Hotspot Profile *: Select a Hotspot Profile from the selected router. Required when Service Type is Hotspot or Both. The profile defines rate limits, timeouts, shared users, and other connection settings. You can create a new profile directly from the package creation page if needed.

💡 Tip: If you don't see the profile you need, click "Create Profile" to create a new one without leaving the package creation page.

⚡ What Happens When a Package is Purchased

When a customer purchases a package, NettPortal automatically generates a unique voucher code and password using the package's code generation settings, creates a Voucher record in the system, creates a Hotspot user account on the selected router with the package's settings (time limits, data limits, speed limits, and assigned profile), and assigns the voucher to the customer. The customer receives their voucher code and password immediately and can use them to connect to your WiFi.

Package Settings Explained

Packages support the same settings as vouchers to control access. All limit fields are optional—you can set time limits, data limits, speed limits, or any combination. You must specify at least one limit (time or data) when creating packages:

⏱️ Time Limit

How long the user can access the internet: Set a time limit in days or hours. Once the time limit expires, the user is automatically disconnected. Useful for temporary access, events, or time-based usage.

  • Example: 24 hours = User gets access for 24 hours from when they purchase the package
  • Example: 7 days = User gets access for 7 days from purchase
  • Leave empty: For unlimited time (use data limit instead)

Note: Time starts counting when the voucher is created (at purchase), not when it's redeemed.

📊 Data Limit

How much data the user can download and upload: Set a data limit in GB or MB. Once the data limit is reached, the user is automatically disconnected. Useful for data-limited access or bandwidth management.

  • Example: 10 GB = User can download and upload up to 10 GB total
  • Example: 500 MB = User can use up to 500 MB of data
  • Leave empty: For unlimited data (use time limit instead)

Note: You must set either a time limit or data limit (or both) when creating packages.

🚀 Speed Limits (Bandwidth)

Download and upload speed limits: Control how fast users can download and upload data. Set speeds in Mbps (megabits per second). Useful for controlling bandwidth usage or offering tiered speeds.

  • Example: Download: 10 Mbps, Upload: 5 Mbps = User gets 10 Mbps download and 5 Mbps upload
  • Example: Download: 50 Mbps, Upload: 25 Mbps = User gets faster speeds
  • Leave empty (0): For unlimited speed (no rate limiting, profile settings apply)

Note: Speed limits work alongside the Hotspot Profile if one is assigned. If you assign a profile, the profile's rate limits take precedence.

💰 Pricing (Optional)

Set a price for the package: Packages can be free or paid. If you set a price, customers will see it in your organization's local currency when browsing packages. Leave the price empty if vouchers from this package should be free.

  • Example: $5.00 = Customer pays $5 (or equivalent in local currency) to purchase this package
  • Example: Free (empty price) = Package is available at no cost
  • Note: Prices are stored in USD and automatically converted to your organization's display currency for customers

💡 Tip: You can offer both free and paid packages to attract different customer segments.

🔑 Voucher Code Generation Settings

Control how voucher codes and passwords are generated: When a customer purchases a package, a unique voucher code and password are generated. You can customize the format and length of these codes.

  • Prefix: A prefix for voucher codes (e.g., "NET" creates codes like "NET-1234-ABCD"). Auto-filled from your organization name.
  • Use Prefix: Enable this to include the prefix in voucher codes. If disabled, codes are generated without a prefix.
  • Code Length: Total length of the voucher code (6 to 12 characters), including prefix and dash if prefix is used.
  • Password Length: Length of the password (4 to 16 characters). Passwords are randomly generated using letters and numbers.
  • Same as voucher code: If enabled, the password will be the same as the voucher code. Useful for simpler authentication.

💡 Tip: Use a consistent prefix across packages to help customers identify your vouchers. For example, if your organization is "Coffee Shop", use "COF" as the prefix.

Hotspot Profile Assignment

When creating packages, you must assign a Hotspot Profile from the selected router when Service Type is Hotspot or Both. Profiles define connection settings like rate limits, timeouts, shared users, and address lists. When a customer purchases a package, the user inherits all settings from the assigned profile.

👤 Selecting a Profile

When you select a router, available Hotspot Profiles are automatically loaded from that router. You can:

  • Select an existing profile from the dropdown—users will inherit all profile settings
  • Create a new profile directly from the package creation page if you need a specific profile

Note: Profile selection is required when Service Type is Hotspot or Both. You cannot create a package without a profile for Hotspot services.

⚡ How Profiles Work with Packages

If you assign a Hotspot Profile to a package, the profile's settings (rate limits, timeouts, shared users, etc.) are applied to users when they purchase the package. The package's time and data limits work alongside the profile settings. For example, if a profile has a 100 Mbps rate limit and the package has a 7-day time limit, users get 100 Mbps speed for 7 days. The profile is required for Hotspot services to ensure proper connection settings.

Managing Packages

Once you've created packages, you can view and manage them from the Packages page:

🔍 Viewing Packages

The Packages page shows all packages with:

  • Package Name: The name customers see when browsing packages
  • Description: What the package includes (time, data, speed)
  • Price: The price in your organization's currency
  • Status: Active (available for purchase) or Inactive (hidden from customers)
  • Router: Which router vouchers will be created on
  • Created At: When the package was created
  • Actions: Edit or delete the package

✏️ Editing Packages

You can edit packages to update their settings, pricing, or status. Changes to packages only affect future purchases—existing vouchers created from the package are not modified. This allows you to adjust package offerings without affecting customers who already purchased vouchers.

Note: If you change a package's router or profile, new purchases will use the updated settings, but existing vouchers remain unchanged.

🗑️ Deleting Packages

You can delete packages that haven't been purchased yet. If a package has been purchased (vouchers created from it), it will be soft-deleted (marked as deleted but kept for historical records). Deleted packages are removed from the customer portal and cannot be purchased anymore, but existing vouchers remain functional.

Note: Only packages with no purchases can be permanently deleted. Packages with purchases are soft-deleted for tracking purposes.

👁️ Package Visibility

Use the "Package is active" toggle to control whether packages appear in the customer portal. Active packages are visible to customers and can be purchased. Inactive packages are hidden from customers but remain in your admin panel for future use or reference.

  • Active: Package is visible in customer portal and can be purchased
  • Inactive: Package is hidden from customers but can be reactivated anytime

Customer Purchase Process

When customers purchase packages from your customer portal, here's what happens:

🛒 Browsing Packages

Customers can browse available packages from the Browse Vouchers page in the customer portal. They see:

  • Package name and description
  • Time limit and data limit
  • Download and upload speeds
  • Price in your organization's local currency
  • A "Buy Voucher" button to purchase

Purchase Process

  1. Customer clicks "Buy Voucher" on a package they want
  2. System validates the package (checks if it's active and available)
  3. System generates a unique voucher code and password using the package's code generation settings
  4. System creates a Voucher record in the database with the package's settings
  5. System creates a Hotspot user account on the package's router with the voucher's credentials and settings
  6. System assigns the voucher to the customer
  7. Customer receives their voucher code and password immediately
  8. Customer can use the voucher credentials to connect to your WiFi

Note: The entire process happens automatically in seconds. Customers get instant access to their vouchers.

📱 Viewing Purchased Vouchers

After purchasing a package, customers can view their vouchers from the My Vouchers page in the customer portal. They see:

  • Voucher code and password
  • Status (Active, In-use, Used, etc.)
  • Purchase date and time
  • Price paid
  • Package details (time limit, data limit, speeds)

Packages vs. Direct Vouchers

Understanding when to use packages versus direct voucher generation:

📦 Use Packages When:

  • Customer Self-Service: You want customers to purchase vouchers themselves through the customer portal
  • Standardized Plans: You offer recurring plans (daily, weekly, monthly) that customers can purchase on-demand
  • E-commerce Integration: You want to sell vouchers online or integrate with payment systems
  • Security: You want vouchers generated only when purchased, preventing code exposure
  • Flexible Pricing: You want to set different prices for different plans

🎫 Use Direct Voucher Generation When:

  • Batch Generation: You need to create hundreds or thousands of vouchers at once for events or bulk distribution
  • Physical Distribution: You want to print vouchers on cards, stickers, or paper for physical handouts
  • One-Time Events: You need vouchers for a specific event, conference, or temporary promotion
  • Manual Distribution: You want to generate vouchers and distribute them manually (via email, SMS, or in-person)
  • No Customer Portal: You don't have a customer portal or don't want customers to purchase vouchers themselves

Use Case Examples

Here are some real-world examples of how packages can be used:

Coffee Shop WiFi

Scenario: A coffee shop wants to offer WiFi access to customers. They create packages for different durations.

  • Package 1: "1 Hour - 500MB" - Free (for quick browsing)
  • Package 2: "4 Hours - 2GB" - $2 (for longer stays)
  • Package 3: "1 Day - 5GB" - $5 (for all-day access)
  • Result: Customers can purchase WiFi access directly from their phones, no staff interaction needed

🏨 Hotel Guest Internet

Scenario: A hotel wants to offer internet packages to guests. They create packages for different stay durations.

  • Package 1: "1 Day - 10GB" - $10 (for short stays)
  • Package 2: "3 Days - 30GB" - $25 (for medium stays)
  • Package 3: "7 Days - 100GB" - $50 (for long stays)
  • Result: Guests can purchase internet access packages at check-in or through the hotel's portal, no manual voucher generation required

🏢 Co-working Space

Scenario: A co-working space offers daily, weekly, and monthly internet access plans to visitors.

  • Package 1: "1 Day - Unlimited" - $15 (for day passes)
  • Package 2: "1 Week - Unlimited" - $75 (for weekly passes)
  • Package 3: "1 Month - Unlimited" - $250 (for monthly passes)
  • Result: Visitors can purchase access plans online, get instant WiFi credentials, and start working immediately

Next Steps

Now that you understand package management:

Package Management - Documentation - NettPortal