Destinely
Loading your experience...
Connecting you to authentic local adventures
Loading your experience...
Connecting you to authentic local adventures
Comprehensive guides and tutorials to help you get the most out of Destinely
Get started with Destinely in minutes. Choose your role below to find the right guide for you.
The Destinely widget automatically displays local experiences to your guests right after they complete their hotel booking. It appears as a floating widget on your booking confirmation page, showing nearby approved experiences that guests can book instantly.
Widget Closed State

Widget Open State

💡 Automatic Experience Display: The widget automatically shows experiences that are:
No manual allocation needed - experiences appear automatically once approved!
Add this code to your booking confirmation page, just before the closing </body> tag:
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = window.location.origin + "/api/widget/embed.js";
js.setAttribute('data-hotel-id', 'YOUR_HOTEL_ID');
js.setAttribute('data-position', 'bottom-right');
js.setAttribute('data-trigger', 'booking-confirmation');
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'destinely-widget'));
</script>Replace YOUR_HOTEL_ID with your actual Hotel ID from your dashboard.
✅ Success! Your widget is now live and ready to earn commissions.
For standard HTML websites, add the widget script to your booking confirmation page:
<!-- Add before closing </body> tag -->
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = window.location.origin + "/api/widget/embed.js";
js.setAttribute('data-hotel-id', 'YOUR_HOTEL_ID');
js.setAttribute('data-position', 'bottom-right');
js.setAttribute('data-trigger', 'booking-confirmation');
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'destinely-widget'));
</script>For Next.js applications, use the Script component:
import Script from 'next/script'
export default function BookingConfirmation() {
return (
<>
{/* Your booking confirmation content */}
<Script
src={
typeof window !== 'undefined'
? window.location.origin + '/api/widget/embed.js'
: '/api/widget/embed.js'
}
data-hotel-id="YOUR_HOTEL_ID"
data-position="bottom-right"
data-trigger="booking-confirmation"
/>
</>
)
}For React applications, add the script dynamically:
import { useEffect } from 'react'
export default function BookingConfirmation() {
useEffect(() => {
const script = document.createElement('script')
script.src = window.location.origin + '/api/widget/embed.js'
script.setAttribute('data-hotel-id', 'YOUR_HOTEL_ID')
script.setAttribute('data-position', 'bottom-right')
script.setAttribute('data-trigger', 'booking-confirmation')
script.id = 'destinely-widget'
if (!document.getElementById('destinely-widget')) {
document.body.appendChild(script)
}
return () => {
const existingScript = document.getElementById('destinely-widget')
if (existingScript) {
existingScript.remove()
}
}
}, [])
return <div>{/* Your booking confirmation content */}</div>
}✅ Done! The widget will automatically appear on your booking confirmation pages.
Customize the widget appearance and behavior to match your brand. All settings can be configured through your hotel dashboard or via data attributes in the embed code.
Widget Booking Flow

| Attribute | Description | Default | Options |
|---|---|---|---|
data-hotel-id | Your unique hotel identifier | Required | Your Hotel ID |
data-position | Widget position on page | bottom-right | bottom-right, bottom-left, top-right, top-left |
data-color | Primary widget color | #10b981 | Any hex color (e.g., #FF5733) |
data-trigger | When to show widget | booking-confirmation | booking-confirmation, page-load, manual |
data-auto-open | Auto-open widget | true | true, false |
data-delay | Auto-open delay (seconds) | 5 | Any number |
Track widget performance and guest engagement through your hotel dashboard. The widget automatically tracks interactions and bookings, providing real-time analytics.
When a guest opens the widget, it automatically calls the Destinely API to fetch nearby experiences:
GET /api/widget?hotelId=YOUR_HOTEL_ID&limit=6The API returns experiences that meet all these criteria:
Your dashboard provides comprehensive analytics including:
Commission payments are processed monthly:
Possible causes:
Solution: Verify your Hotel ID, check browser console, and ensure script is correctly placed.
Solution: Update the data-trigger attribute or move the script to the correct page.
Solution: The widget uses isolated CSS to prevent conflicts. If issues persist, contact support for custom CSS solutions.
Provide your business details:
Upload required documents for verification:
Note: Verification typically takes 2-5 business days. You'll receive an email notification once your account is verified.
Once verified, you can start listing experiences:
Required Information:
Pricing Tips:
Remember: You receive 80% of each booking value. The platform retains 15% and hotels earn 5% commission.
💡 Automatic Booking Confirmation: Bookings are automatically confirmed once payment is successfully processed. You'll receive an email notification immediately when a guest books your experience.
You'll receive email notifications for:
All notifications are sent via email and also appear in your provider dashboard.
In your provider dashboard, you can:
Best Practices:
For each booking:
Example: For a 100,000 UGX booking, you receive 80,000 UGX, the platform retains 15,000 UGX, and the hotel earns 5,000 UGX commission.
Provider payments are processed:
No Account Required!
You can book experiences directly through the widget without creating an account first. Simply provide your contact information (name, email, phone) and complete your booking. An account will be created automatically during the booking process, allowing you to manage your bookings later.
After booking your hotel room, you'll see the Destinely widget on your booking confirmation page.
Click on the Destinely widget to browse available local experiences:
💡 Quick Booking: The entire booking process takes just a few minutes. Your account is created automatically during booking, so you can access your booking details and manage future bookings anytime.
Note: Your account is created automatically when you make your first booking through the widget. You'll receive a link to access your guest dashboard where you can manage all your bookings.
After booking, you can access your guest dashboard:
In your dashboard, you can:
Cancellation policies vary by experience provider. Generally:
Check the specific cancellation policy when booking each experience.
We accept the following payment methods through our secure payment gateway:
Note: After completing your booking details, you'll be redirected to our secure payment page where you can choose your preferred payment method. All payment methods are processed securely and your payment information is never stored on our servers.
All payments are processed securely:
Can't find what you're looking for? Our support team is here to help.