Get everything you need for a successful event, from rentals to supplies, with end-to-end support. Bouncy World makes event planning easy and seamless.
Our bouncy castle rental does not include an attendant. If you need someone to assist and supervise the kids during playtime, we can provide a trained helper at an additional cost.
Our team delivers and installs the inflatable bouncy castle at your location or venue. Setup is included in the bouncy castle rental price, so you don’t need to pay anything extra.
Yes, every bouncy castle or water slide is cleaned during setup to make sure it is ready, safe, and fresh for the children to enjoy.
The water slide rental cost includes only the inflatable. Water must be arranged by the client. If there is a tap nearby, you can use a hose to fill the pool. If not, we can arrange a water tanker with additional charges.
Yes, we provide an extension wire to run the blower machine, up to 12–15 meters. Please make sure the power socket is within that distance from the setup area.
The blower runs on normal household electricity, so a regular socket is enough.
Yes, we provide safety mats with every inflatable rental. Mats are placed at the front and back of the bouncy castle or water slide for safe entry and landing.
Yes, the air blower must stay on while kids are playing inside the inflatable. You may turn it off when the bouncy castle is not in use and switch it back on when needed.
No. You only need to fill the pool once. As children slide, the surface stays wet on its own.
Installing an inflatable usually takes 25–30 minutes, depending on the size and access to the setup location.
Yes, we handle building deliveries, but please ensure: There is easy access to the service lift and the prior security permission is taken. Additionally, there should be a service lift close to the parking area.
Each rental is for up to 10 hours of use during the day, whether it is a bouncy castle or a water slide.
Yes, delivery and pickup happen on the same day. If you want to keep the inflatable for another day or multiple days, charges will be added per day.
Delivery is free in many Dubai areas. Some distant Dubai locations have a transport fee between AED 40–85. Deliveries outside Dubai start from AED 85 and can go up to AED 475, depending on the city.
Yes, we deliver and set up in the parks and outdoor areas too. But please ensure park permission must be taken in advance, and electricity should be available within 10–12 meters of the setup point.
Electricity must be provided by the customer at the setup spot.
We don’t charge VAT, and there are no hidden charges.
Yes, we provide bouncy castle delivery across the UAE. Long-distance delivery may have higher transport fees due to fuel and travel time. Contact us for a quick quote.
WhatsApp us
Call Now Button), then please use
the "Add HTML Code" page, as this is a HTML code that links a JavaScript file.
End of comment */
document.addEventListener('DOMContentLoaded', function () {
try {
console.log("🔍 Multi-Section Load More script started...");
const rowsPerPage = 4;
// ✅ Target all applicable container classes
const containerSelectors = [
'.kadence-column886_325af4-aa',
'.kadence-column832_48b525-15'
];
containerSelectors.forEach(selector => {
const mainSection = document.querySelector(selector);
if (!mainSection) {
console.warn(`⚠️ No container found for selector: ${selector}`);
return;
}
const allRows = Array.from(mainSection.querySelectorAll(
'.kb-row-layout-wrap.alignnone.wp-block-kadence-rowlayout'
));
if (allRows.length === 0) {
console.warn(`⚠️ No rows found inside ${selector}`);
return;
}
let currentIndex = 0;
allRows.forEach(row => row.style.display = 'none');
const loadMoreBtn = document.createElement('button');
loadMoreBtn.textContent = 'Load More';
loadMoreBtn.style.display = 'block';
loadMoreBtn.style.margin = '30px auto';
loadMoreBtn.style.padding = '10px 20px';
loadMoreBtn.style.fontSize = '16px';
loadMoreBtn.style.cursor = 'pointer';
function showNextRows() {
const nextIndex = currentIndex + rowsPerPage;
for (let i = currentIndex; i < nextIndex && i < allRows.length; i++) {
allRows[i].style.display = '';
}
currentIndex = nextIndex;
if (currentIndex >= allRows.length) {
loadMoreBtn.style.display = 'none';
console.log(`✅ All rows loaded for ${selector}`);
}
}
showNextRows();
loadMoreBtn.onclick = showNextRows;
mainSection.appendChild(loadMoreBtn);
});
console.log("✅ Multi-Section Load More setup complete.");
} catch (error) {
console.error("❌ Error in Load More script:", error);
}
});
document.addEventListener('DOMContentLoaded', function () {
try {
console.log("🔍 Load More script started...");
const rowsPerPage = 5;
// ✅ Get the first main section only — ignore other similar ones (like in footer)
const mainSection = document.querySelector('.kadence-column1743_f6b4a0-f5');
if (!mainSection) {
console.warn("⚠️ Main section container not found.");
return;
}
// ✅ Get rows only from inside the main section
const allRows = Array.from(mainSection.querySelectorAll(
'.kb-row-layout-wrap.alignnone.wp-block-kadence-rowlayout'
));
if (allRows.length === 0) {
console.warn("⚠️ No rows found inside main section.");
return;
}
let currentIndex = 0;
// Hide all rows initially
allRows.forEach(row => row.style.display = 'none');
// Create Load More button
const loadMoreBtn = document.createElement('button');
loadMoreBtn.textContent = 'Load More';
loadMoreBtn.style.display = 'block';
loadMoreBtn.style.margin = '30px auto';
loadMoreBtn.style.padding = '10px 20px';
loadMoreBtn.style.fontSize = '16px';
loadMoreBtn.style.cursor = 'pointer';
// Show next set of rows
function showNextRows() {
const nextIndex = currentIndex + rowsPerPage;
for (let i = currentIndex; i < nextIndex && i < allRows.length; i++) {
allRows[i].style.display = '';
}
currentIndex = nextIndex;
// Hide button if all rows are shown
if (currentIndex >= allRows.length) {
loadMoreBtn.style.display = 'none';
console.log("✅ All rows loaded.");
}
}
// Initial load
showNextRows();
// Add click event
loadMoreBtn.onclick = showNextRows;
// ✅ Append button inside the same main section, after all rows
mainSection.appendChild(loadMoreBtn);
console.log("✅ Load More setup complete.");
} catch (error) {
console.error("❌ Error in Load More script:", error);
}
});
document.addEventListener('DOMContentLoaded', function () {
try {
console.log("🔍 Load More script started...");
const rowsPerPage = 6;
// ✅ Get the first main section only — ignore other similar ones (like in footer)
const mainSection = document.querySelector('.kadence-column928_68be44-20');
if (!mainSection) {
console.warn("⚠️ Main section container not found.");
return;
}
// ✅ Get rows only from inside the main section
const allRows = Array.from(mainSection.querySelectorAll(
'.kb-row-layout-wrap.alignnone.wp-block-kadence-rowlayout'
));
if (allRows.length === 0) {
console.warn("⚠️ No rows found inside main section.");
return;
}
let currentIndex = 0;
// Hide all rows initially
allRows.forEach(row => row.style.display = 'none');
// Create Load More button
const loadMoreBtn = document.createElement('button');
loadMoreBtn.textContent = 'Load More';
loadMoreBtn.style.display = 'block';
loadMoreBtn.style.margin = '30px auto';
loadMoreBtn.style.padding = '10px 20px';
loadMoreBtn.style.fontSize = '16px';
loadMoreBtn.style.cursor = 'pointer';
// Show next set of rows
function showNextRows() {
const nextIndex = currentIndex + rowsPerPage;
for (let i = currentIndex; i < nextIndex && i < allRows.length; i++) {
allRows[i].style.display = '';
}
currentIndex = nextIndex;
// Hide button if all rows are shown
if (currentIndex >= allRows.length) {
loadMoreBtn.style.display = 'none';
console.log("✅ All rows loaded.");
}
}
// Initial load
showNextRows();
// Add click event
loadMoreBtn.onclick = showNextRows;
// ✅ Append button inside the same main section, after all rows
mainSection.appendChild(loadMoreBtn);
console.log("✅ Load More setup complete.");
} catch (error) {
console.error("❌ Error in Load More script:", error);
}
});
document.addEventListener('DOMContentLoaded', function () {
try {
console.log("🔍 Load More script started...");
const rowsPerPage = 1;
// ✅ Updated selector for the main container
const mainSection = document.querySelector('.post-938 .entry-content.single-content');
if (!mainSection) {
console.warn("⚠️ Main container not found.");
return;
}
// ✅ Target only the rows inside this main // ✅ Only direct children of mainSection
const allRows = Array.from(
mainSection.querySelectorAll(':scope > .kb-row-layout-wrap')
);
console.log(`🔢 Rows found: ${allRows.length}`);
if (allRows.length === 0) {
console.warn("⚠️ No rows found inside main section.");
return;
}
let currentIndex = 0;
// Hide all rows initially
allRows.forEach(row => row.style.display = 'none');
// Create Load More button
const loadMoreBtn = document.createElement('button');
loadMoreBtn.textContent = 'Load More';
loadMoreBtn.style.display = 'block';
loadMoreBtn.style.margin = '30px auto';
loadMoreBtn.style.padding = '10px 20px';
loadMoreBtn.style.fontSize = '16px';
loadMoreBtn.style.cursor = 'pointer';
// Show next set of rows
function showNextRows() {
const nextIndex = currentIndex + rowsPerPage;
for (let i = currentIndex; i < nextIndex && i < allRows.length; i++) {
allRows[i].style.display = '';
}
currentIndex = nextIndex;
if (currentIndex >= allRows.length) {
loadMoreBtn.style.display = 'none';
console.log("✅ All rows loaded.");
}
}
// Initial load
showNextRows();
// Add click event
loadMoreBtn.onclick = showNextRows;
// ✅ Append the button inside the same main section
mainSection.appendChild(loadMoreBtn);
console.log("✅ Load More setup complete.");
} catch (error) {
console.error("❌ Error in Load More script:", error);
}
});