Destinations Addon

The Destinations Addon is a comprehensive content management system for organizing and displaying location-based information. It allows you to create detailed profiles for destinations (such as businesses, attractions, or places of interest) and organize them using various classification systems.

Introduction

What is the Destinations Addon?

The Destinations Addon is a comprehensive content management system for organizing and displaying location-based information. It allows you to create detailed profiles for destinations (such as businesses, attractions, or places of interest) and organize them using various classification systems.

What can you do with it?

Key Features

Who is this for?

This addon is designed for:

Getting Started

Accessing the Destinations Module

  1. Log into the admin panel
  2. Navigate to the Destinations module in the main navigation menu
  3. You'll see the main Destinations dashboard with various sections

Overview of the Admin Interface

The Destinations module is organized into several sections accessible from the left sidebar:

Basic Navigation

Understanding Content Types

The Destinations Addon uses several content types to organize and classify destinations. Understanding these types will help you effectively manage your destination data.

Destinations

What are destinations?

Destinations are the main content type in this addon. A destination represents a physical location or business that visitors might want to learn about or visit. Examples include restaurants, hotels, attractions, shops, parks, or any place of interest.

What information do they contain?

Destinations can store a wide variety of information including:

When to use it:

Create a destination entry for any location or business you want to feature in your system.

Experiences

What are experiences?

Experiences are types of experiences that destinations can offer. For example, "Outdoor Adventure", "Fine Dining", "Family Fun", or "Romantic Getaway". Experiences help visitors find destinations based on the type of experience they're seeking.

How do they relate to destinations?

Destinations can be associated with one or more experiences. When a visitor searches for a specific experience type, they'll see all destinations that offer that experience.

When to use it:

Create experience types that represent the different kinds of experiences your destinations offer. Then assign these experiences to relevant destinations.

Actions

What are actions?

Actions represent specific actions or activities that can be performed at destinations. They provide another way to classify and search for destinations based on what visitors can do there.

How do they relate to destinations?

Destinations can be associated with actions, allowing visitors to find destinations where they can perform specific actions.

When to use it:

Create action types that represent common activities (e.g., "Hiking", "Shopping", "Swimming") and assign them to destinations where these actions are possible.

Accommodations

What are accommodations?

Accommodations represent types of lodging or places to stay. Examples include "Hotels", "Bed & Breakfasts", "Campgrounds", or "Vacation Rentals".

How do they relate to destinations?

Destinations that offer lodging can be associated with accommodation types. This helps visitors find places to stay.

When to use it:

Use accommodations to classify destinations that provide lodging services.

Amenities

What are amenities?

Amenities are features or services that destinations offer. Examples include "Free WiFi", "Parking", "Pet Friendly", "Wheelchair Accessible", or "Outdoor Seating".

How do they relate to destinations?

Destinations can have multiple amenities associated with them. This helps visitors filter destinations based on the features they need.

When to use it:

Create amenity types for common features that visitors might search for, then assign them to destinations that offer those features.

Activities

What are activities?

Activities are specific recreational or entertainment activities that can be done at destinations. Examples include "Hiking", "Fishing", "Wine Tasting", or "Live Music".

How do they relate to destinations?

Destinations can be associated with activities, helping visitors find places where they can participate in specific activities.

When to use it:

Create activity types for common activities in your area, then assign them to destinations that offer those activities.

Cities

What are cities?

Cities represent geographic locations where destinations are located. They help organize destinations by location.

How do they relate to destinations?

Each destination is associated with a city. This allows visitors to search for destinations in specific cities.

When to use it:

Create city entries for all cities where you have destinations. Then assign the appropriate city to each destination.

Products

What are products?

Products represent types of products that destinations might sell or offer. This could include "Local Crafts", "Fresh Produce", "Artisan Goods", or "Wine".

How do they relate to destinations?

Destinations that sell products can be associated with product types, helping visitors find places that offer specific products.

When to use it:

Use products to classify destinations that sell or offer specific types of products.

Categories

What are categories?

Categories are a primary way to organize destinations into groups. Categories support a hierarchical structure, meaning you can have parent categories and child categories (subcategories).

How do they work?

When to use it:

Create a category structure that makes sense for your destination types. Use parent categories for broad classifications and child categories for more specific groupings.

Groups

What are groups?

Groups are another way to organize destinations. Unlike categories, groups are typically used for administrative or organizational purposes.

How do they work?

Groups allow you to create custom collections of destinations for specific purposes, such as featured collections, seasonal groupings, or special promotions.

When to use it:

Use groups when you need to create custom collections of destinations that don't fit into your category structure.

Managing Destinations

This section provides step-by-step guides for managing destination entries.

Creating a New Destination

  1. Navigate to Destinations in the admin panel
  2. Click the New Destination button
  3. Fill in the required fields:
    • Name: The name of the destination (required)
    • Slug: A URL-friendly version of the name (required, must be unique)
    • Address: Street address (required)
    • City: City name (required)
    • Zip: Zip code (required)
  4. Fill in optional fields as needed
  5. Click Save to create the destination

Editing Destination Information

  1. Navigate to Destinations
  2. Click on the destination you want to edit
  3. Make your changes
  4. Click Save to update

Adding Images

Destinations support three types of images:

Main Image:

Header Image:

To add images:

  1. Open the destination for editing
  2. Find the image field you want to use (Main Image, Header Image, or Gallery Images)
  3. Click to upload or select an existing image
  4. Save your changes

Setting Location and Contact Information

Location Fields:

Contact Information:

Adding Categories, Experiences, Activities, and Amenities

To associate a destination with categories, experiences, activities, or amenities:

  1. Open the destination for editing
  2. Find the field for the type you want to add (Categories, Experiences, Activities, Amenities, etc.)
  3. Select one or more items from the list
  4. You can select multiple items in most cases
  5. Save your changes

Tips:

Managing Social Media Links

You can add social media links to destinations:

  1. Open the destination for editing
  2. Find the social media section
  3. Add URLs for:
    • Facebook
    • Twitter
    • Instagram
    • YouTube
    • Pinterest
    • Other social media platforms
  4. Save your changes

Setting Operating Hours and Special Features

Operating Information:

Special Features:

Enabling/Disabling Destinations

To control whether a destination is visible to the public:

  1. Open the destination for editing
  2. Find the Enabled checkbox
  3. Check to enable (visible) or uncheck to disable (hidden)
  4. Save your changes

Note: Disabled destinations won't appear in public listings or search results, but they remain in the system and can be re-enabled later.

Approving User-Submitted Destinations

When users submit destinations through the API, they need to be approved before going live:

  1. Navigate to Destinations
  2. Look for destinations with the Approved checkbox unchecked
  3. Review the destination information
  4. Make any necessary edits
  5. Check the Approved checkbox
  6. Ensure Enabled is also checked
  7. Save your changes

Note: Unapproved destinations are not visible to the public, even if enabled.

Managing Related Content

This section covers how to manage the various content types that support destinations.

Creating and Managing Experiences

  1. Navigate to Experiences in the admin panel
  2. Click New Experience
  3. Enter:
    • Name: The experience name (e.g., "Outdoor Adventure")
    • Slug: URL-friendly version (auto-generated from name)
    • Content: Description of the experience
    • Images: Main image and/or header image
  4. Save

Experiences can then be assigned to destinations to help visitors find destinations by experience type.

Creating and Managing Activities

  1. Navigate to Activities
  2. Click New Activity
  3. Enter the activity name, slug, and optional description
  4. Save

Activities help visitors find destinations where they can participate in specific activities.

Creating and Managing Amenities

  1. Navigate to Amenities
  2. Click New Amenity
  3. Enter the amenity name and description
  4. Save

Common amenities include "Free WiFi", "Parking", "Pet Friendly", "Wheelchair Accessible", etc.

Creating and Managing Accommodations

  1. Navigate to Accommodations
  2. Click New Accommodation
  3. Enter the accommodation type name and description
  4. Save

Use accommodations to classify destinations that provide lodging.

Creating and Managing Cities

  1. Navigate to Cities
  2. Click New City
  3. Enter:
    • Name: City name
    • Slug: URL-friendly version
    • Optional content and images
  4. Save

Cities help organize destinations by geographic location.

Creating and Managing Products

  1. Navigate to Products
  2. Click New Product
  3. Enter the product type name and description
  4. Save

Use products to classify destinations that sell or offer specific types of products.

Organizing with Categories

Categories support a hierarchical structure, allowing you to create parent and child categories.

Creating a Parent Category:

  1. Navigate to Categories
  2. Click New Category
  3. Enter the category name and slug
  4. Leave Parent empty
  5. Save

Creating a Child Category:

  1. Navigate to Categories
  2. Click New Category
  3. Enter the category name and slug
  4. Select a Parent category from the dropdown
  5. Save

Example Structure:

Benefits of Hierarchical Categories:

Using Groups

  1. Navigate to Groups
  2. Click New Group
  3. Enter the group name and description
  4. Save

Groups can be used to create custom collections of destinations for special purposes, promotions, or administrative organization.

Searching and Filtering

The Destinations Addon provides powerful search and filtering capabilities through both the admin interface and the API.

How to Search Destinations

In the Admin Interface:

Available Search Filters

You can filter destinations by:

Search results include:

Results can be sorted.

User-Submitted Content

The Destinations Addon allows authenticated users to submit their own destinations through the API.

How Users Can Submit Destinations

Users with authenticated API access can:

  1. Create new destinations using the API
  2. Update their existing destinations
  3. Delete their destinations (if not yet approved)

Reviewing and Approving Submissions

Review Process:

  1. Navigate to Destinations in the admin panel
  2. Look for destinations where Approved is unchecked
  3. Review all submitted information:
    • Verify accuracy of contact information
    • Check that images are appropriate
    • Ensure content meets your standards
    • Verify location information
  4. Make any necessary edits
  5. Check the Approved checkbox
  6. Ensure Enabled is checked if you want it visible immediately
  7. Save

What Happens:

Managing User-Created Content

Best Practices:

Common Tasks:

Destination Fields Reference

This section provides a comprehensive reference for all fields available on destination entries. Use this as a guide when creating or editing destinations.

Basic Information

Field Type Required Description
Name Text Yes The destination's name
Slug Text Yes URL-friendly version of the name (must be unique)
Subtitle Text No A subtitle or tagline
Description Text No Brief description (may be used in listings)
Content Rich Text No Full detailed description of the destination

Contact Information

Field Type Required Description
Email Email No Contact email address
Phone Text No Primary phone number
Toll Free Text No Toll-free phone number
Fax Text No Fax number
Website URL No Website URL

Location Details

Field Type Required Description
Address Text Yes Street address
City Text Yes City name
Zip Text Yes Zip or postal code
State Text No State or province
Region Text No Regional designation
Mailing Address Text No Separate mailing address if different
Location Address Text No Formatted location address
Location Formatted Text No Geocoded formatted address
Location Latitude Decimal No Geographic latitude (auto-populated)
Location Longitude Decimal No Geographic longitude (auto-populated)
Map Link URL No Link to map service (Google Maps, etc.)
Map Image Image No Static map image

Images

Field Type Required Description
Main Image Image No Primary image (used in listings)
Main Image Alt Text Text No Alt text for main image (accessibility)
Header Image Image No Large header image (used on detail pages)
Gallery Images Multiple Images No Image gallery (multiple images)
Field Type Required Description
Facebook Link URL No Facebook page URL
Twitter Link URL No Twitter profile URL
Instagram Link URL No Instagram profile URL
YouTube Link URL No YouTube channel URL
Pinterest Link URL No Pinterest profile URL
Social Media Other Text No Other social media links or information

Operating Information

Field Type Required Description
Operating Hours Text No Hours of operation
Call for Appointment Checkbox No Whether appointments are required
Open Date Date No Date the destination opened

Special Features and Services

Field Type Required Description
Family Owned Checkbox No Whether the business is family-owned
Percent Sourced Locally Number No Percentage of locally sourced products
Associations Text No Professional or industry associations
Visitor Parking Checkbox No Whether parking is available
Visitor Restrooms Checkbox No Whether restrooms are available
Handicap Accessible Checkbox No Whether the location is wheelchair accessible
Kid Friendly Checkbox No Whether suitable for children
Pet Friendly Checkbox No Whether pets are allowed
Kennels Checkbox No Whether pet kennels are available
Overnight Stay Checkbox No Whether overnight accommodations are available
Overnight Amenities Text No Details about overnight amenities
Group Tours Checkbox No Whether group tours are offered
Group Tours Info Text No Information about group tours
Classes Checkbox No Whether classes or workshops are offered
Classes Info Text No Information about classes
Direct Buy Checkbox No Whether direct purchasing is available
Pick Products Checkbox No Whether customers can pick products
Free WiFi Checkbox No Whether free WiFi is available
Feed Animals Checkbox No Whether visitors can feed animals
Event Rentals Checkbox No Whether event space is available for rent
Event Rentals Contact Text No Contact information for event rentals
Special Events Checkbox No Whether special events are hosted
Special Clothing Text No Special clothing requirements
Physical Needs Text No Information about physical requirements
Food Served Checkbox No Whether food is served
Food Served Info Text No Details about food service
Alcohol Served Checkbox No Whether alcohol is served
Alcohol Served Info Text No Details about alcohol service

Owner Information

Field Type Required Description
Owner First Name Text No Owner's first name
Owner Last Name Text No Owner's last name
Owner Contact Number Text No Owner's contact phone
Owner Email Text No Owner's email address
Field Type Required Description
Services Type Text No Type of services offered
Reservations Link URL No Link to reservations system
Restaurant Link URL No Link to restaurant menu or page
Golf Link URL No Link to golf course information

Relationships

Field Type Required Description
Categories Multiple Select No Associated categories
Experiences Multiple Select No Associated experiences
Actions Multiple Select No Associated actions
Accommodations Multiple Select No Associated accommodation types
Amenities Multiple Select No Associated amenities
Activities Multiple Select No Associated activities
Products Multiple Select No Associated product types
City Page Select No Associated city page

Content and Media

Field Type Required Description
Content Blocks Blocks No Flexible content blocks for rich layouts
Extra Content Rich Text No Additional content section
Callout Content Rich Text No Highlighted callout content
Sidebar Callout Content Rich Text No Sidebar callout content
Video Code Text No Embedded video code (YouTube, Vimeo, etc.)
Files Multiple Files No Downloadable files
Prices Repeater No Price information (title and content)
Columns Repeater No Column content (title and content)

Status and Visibility

Field Type Required Description
Enabled Checkbox No Whether the destination is visible to the public
Approved Checkbox No Whether the destination has been approved by an admin
Featured Checkbox No Whether the destination is featured
Package Checkbox No Package designation

SEO Fields

Field Type Required Description
Meta Title Text No SEO meta title
Meta Description Text No SEO meta description

Additional Fields

Field Type Required Description
Notes Text No Internal notes (not visible to public)
Lodging Status Text No Lodging status information
Lodging User Text No Lodging user information
Lodging Pass Text No Lodging pass information
TA Location ID Text No TripAdvisor location ID
Destination Type Select No Type classification
Google Calendar URL No Google Calendar URL
ICS Calendar URL No ICS calendar file URL
Scripts Text No Custom scripts

Common Tasks and Workflows

This section provides step-by-step guides for common tasks you'll perform when managing destinations.

Setting Up a New Destination from Scratch

What you'll need:

Steps:

  1. Navigate to DestinationsNew Destination
  2. Fill in required fields:
    • Name
    • Slug (or let it auto-generate)
    • Address
    • City
    • Zip
  3. Add contact information (email, phone, website)
  4. Upload a main image
  5. Write a description in the Content field
  6. Select at least one category
  7. Add experiences, activities, or amenities as relevant
  8. Fill in any special features that apply
  9. Check Enabled to make it visible
  10. Check Approved (if you're an admin creating it directly)
  11. Click Save

Tips:

Adding Multiple Destinations

When adding many destinations:

  1. Prepare your data in a spreadsheet with columns for:

    • Name, address, city, zip
    • Phone, email, website
    • Categories, experiences, etc.
    • Image file names
  2. Create destinations one at a time (or use bulk import if available):

    • Start with the first destination
    • Fill in all information
    • Save and move to the next
  3. Use consistent naming for easier management later

  4. Batch upload images if possible, then assign them to destinations

Time-saving tips:

Organizing Destinations with Categories

Planning your category structure:

  1. List all the main types of destinations you have
  2. Group them into broad categories (parent categories)
  3. Break down into more specific subcategories (child categories)
  4. Create the category structure in the admin panel

Example structure:

Dining
├── Restaurants
│   ├── Italian
│   ├── Mexican
│   └── American
├── Cafes
└── Fast Food

Shopping
├── Retail Stores
├── Markets
└── Specialty Shops

Entertainment
├── Theaters
├── Museums
└── Parks

Assigning categories:

  1. Open a destination for editing
  2. Find the Categories field
  3. Select one or more appropriate categories
  4. Save

Best practices:

To highlight special destinations:

  1. Identify destinations you want to feature
  2. Open each destination for editing
  3. Check the Featured checkbox
  4. Save

Tips:

Managing User Submissions

Daily workflow:

  1. Check for new unapproved destinations
  2. Review each submission:
    • Verify contact information is accurate
    • Check that images are appropriate and of good quality
    • Ensure descriptions are complete and well-written
    • Verify location information
  3. Make any necessary edits
  4. Approve and enable if ready, or contact the user for more information

Communication:

Quality control:

Updating Destination Information

When to update:

How to update:

  1. Find the destination (use search if needed)
  2. Open it for editing
  3. Make your changes
  4. Save

For user-submitted destinations:

Archiving or Removing Destinations

Disabling a destination:

  1. Open the destination
  2. Uncheck the Enabled checkbox
  3. Save

The destination will no longer appear in public listings but remains in the system.

Deleting a destination:

  1. Open the destination
  2. Use the delete option (if available)
  3. Confirm deletion

Note: Approved destinations are typically disabled rather than deleted to preserve data. Unapproved user submissions can be deleted.

When to archive vs. delete:

Tips and Best Practices

Best Practices for Destination Descriptions

Writing effective descriptions:

Content structure:

  1. Opening hook (what makes it special)
  2. Key features and highlights
  3. Practical information (hours, location details)
  4. What visitors can expect
  5. Call to action (visit, call, book, etc.)

Image Recommendations

Main Image:

Header Image:

General tips:

Category Organization Tips

Creating an effective category structure:

Common mistakes to avoid:

SEO Tips

Optimizing for search engines:

Meta title best practices:

Meta description best practices:

Performance Considerations

For content managers:

For API consumers:

General tips:

Custom Next.js Frontend vs Embedded Widgets for a Destinations Brand

Summary

For a destinations brand, a custom Next.js frontend backed by API-level integrations is usually the stronger long-term solution than relying on embedded widgets. Widgets can be useful for quick, isolated features, but they tend to limit brand control, experience design, performance tuning, and cross-content orchestration.

Why a destinations brand is different

A destinations site is rarely just a single feed or booking surface. It usually has to bring together:

That means the website experience is not just "display this one data source." It is a composed product experience that connects many content types and journeys.

What embedded widgets are good at

Embedded widgets are usually best when the goal is:

Examples:

For these cases, widgets can reduce implementation time and create a lower-effort path to launch.

Where widgets start to break down

For a full destinations brand experience, embedded widgets often become constraining because they can introduce hard boundaries around:

In practice, widgets are often feature-level solutions, not site architecture solutions.

Another common limitation is that widget vendors often let us change only particular theme aspects instead of the actual component system. That means we may be able to restyle surface-level details, but not fully control markup structure, interaction patterns, responsive behavior, or how the experience aligns with the rest of the brand.

Why we favor API-level integrations

API-level integrations let us treat the CMS and related services as the content and business logic layer, while the frontend remains fully tailored to the brand.

That matters because a custom Next.js application gives us:

For a destinations brand, this usually produces a site that feels like one product instead of a collection of stitched-together tools.

Embedded widgets can be useful for narrow, fast-to-launch feature inserts, but a destinations brand usually needs a unified product experience across listings, events, editorial content, search, maps, and planning tools. That is why we favor API-level integrations and a custom Next.js frontend: they give us full control over UX, SEO, performance, and how all of those content types work together.

Practical rule of thumb

Choose embedded widgets when:

Choose a custom Next.js frontend with API integrations when:

Conclusion

For this kind of destinations platform, widgets are helpful as tactical tools, but API-driven frontend architecture is the better strategic foundation. It better matches the shape of the content model, the complexity of the user journey, and the level of control expected from a modern destinations brand.