{"id":5283,"date":"2025-03-24T17:50:21","date_gmt":"2025-03-24T17:50:21","guid":{"rendered":"https:\/\/dev.rental.software\/eddieflores655\/concessions\/"},"modified":"2026-02-24T18:13:15","modified_gmt":"2026-02-24T18:13:15","slug":"concessions","status":"publish","type":"page","link":"https:\/\/dev.rental.software\/eddieflores655\/rentals\/concessions\/","title":{"rendered":"Concessions"},"content":{"rendered":"<!-- Start Shortcoder content --><!-- Cart -->\r\n<div class=\"cartInfo\" style=\"display:none\">\r\n    <i class=\"cartIcon fas fa-shopping-cart\"><\/i><!--no linebreak bc elementor--> <span class=\"simpleCart_quantity\"><\/span> items\r\n<\/div>\r\n\r\n<div class=\"pageDateRangeWrapper elementor-widget-button\">\r\n    <div class=\"elementor-button elementor-animation-grow\" onclick=\"checkAvailDateClick()\" style=\"display:block\">\r\n        <div class=\"ioDateRangeHeader\">Set Event Date<\/div>\r\n        <div id=\"pageDateRange\" class=\"ioDateRange\"><\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class=\"io_category_wrapper elementor-widget-heading\">\r\n    <h1 class=\"catNameIO elementor-heading-title elementor-size-default\">Concessions<span class=\"io_forrent io_forrent_178951\"> for Rent<\/span><\/h1>\r\n<\/div>\r\n\r\n<!-- Add View Toggle Buttons -->\r\n<div class=\"io_view_toggle_container\" style=\"display:none;\">\r\n    <div class=\"io_view_toggle_buttons\">\r\n        <button class=\"io_view_toggle_btn active\" data-view=\"tile\" title=\"Tile View\">\r\n            <i class=\"fas fa-th-large\"><\/i>\r\n        <\/button>\r\n        <button class=\"io_view_toggle_btn\" data-view=\"list\" title=\"List View\">\r\n            <i class=\"fas fa-list\"><\/i>\r\n        <\/button>\r\n    <\/div>\r\n<\/div>\r\n<div class=\"category_id\" style=\"display: none\">178951<\/div>\r\n<div class=\"cat_div_wrapper\"><div class=\"io_cat_description io_cat_description_178951 elementor-widget-text-editor catDescriptionIO\">Concessions machines are essential for any event to provide a light snack or a way to cool off with a refreshing snow cone after all the excitement. Concession machines can be operated by employees or volunteers.<\/div><\/div>\r\n<div class=\"io_catdiv2\"><\/div>\r\n<div class=\"io_landingpages io_landingpages_178951 elementor-widget-text-editor\"><!-- Start Shortcoder content -->Professional delivery to <span class=\\\"io_city_list\\\">Akron OH<\/span> and surrounding areas. Please submit a quote or contact us to be sure we service your area.<!-- End Shortcoder content --><\/div>\r\n<div class=\"io_cat_longdescription io_cat_longdescription_178951 elementor-widget-text-editor\">A fun way to make any event memorable is to use concession machines. Concession machines, such as cotton candy makers, popcorn poppers, and snow cone machines, can provide a variety of food for guests to enjoy. They are easy to use and can make a lot of snacks and treats, which makes them an ideal choice for crowd feeding. <\/p>\n<p>The host can save money and time by renting concession machines. A single concession machine provides a multitude of delicious treats instead of the need to buy and set-up multiple items. This reduces the need to hire additional staff as the guests can eat at the machine. <\/p>\n<p>Concession machine rentals can be a great choice for events with limited space. They are small and easy to set up, so they fit in almost any space. <\/p>\n<p>A rental of concession machines can add a unique touch to any event or party. It is both fun and affordable. Concession machine rentals are great for any type of event or party.<\/div>\r\n<script>\r\n    function CategoryGallery(rental_id, rental_name, images_arr){\r\n        var rid = rental_id;\r\n        var rentalName = rental_name;\r\n\r\n        \/\/ Normalize images_arr: it may arrive as a JSON string, an object, or be undefined\r\n        try {\r\n            if (typeof images_arr === 'string' && images_arr.length) {\r\n                images_arr = JSON.parse(images_arr);\r\n            }\r\n        } catch (e) {\r\n            images_arr = {};\r\n        }\r\n        if (!images_arr) images_arr = {};\r\n\r\n        \/\/ Where to append anchors and thumbs\r\n        var $bigAfter = jQuery('#io_img_big2_' + rid);\r\n        var $thumbAfter = jQuery('#io_img_thumb1_' + rid);\r\n\r\n        if ($bigAfter.length && $thumbAfter.length) {\r\n            var relVal = $bigAfter.attr('rel') || 'img_group noopener';\r\n\r\n            \/\/ Helper to validate a URL-like value (non-empty and not literal placeholders)\r\n            var isValid = function (u) {\r\n                if (!u) return false;\r\n                var s = String(u).trim();\r\n                if (!s) return false;\r\n                if (s.indexOf('%%') !== -1) return false; \/\/ ignore unreplaced placeholders\r\n                if (s === '0' || s.toLowerCase() === 'null' || s.toLowerCase() === 'undefined') return false;\r\n                return true;\r\n            };\r\n\r\n            var addedThumbs = 0;\r\n\r\n            \/\/ Iterate image map and append missing big anchors and thumbs\r\n            for (var key in images_arr) {\r\n                if (!images_arr.hasOwnProperty(key)) continue;\r\n                var imgObj = images_arr[key] || {};\r\n                var href = imgObj[\"rentalimage_imagelocbig\"] || imgObj[\"imagelocbig\"] || imgObj[\"big\"];\r\n                var src  = imgObj[\"rentalimage_imageloc\"]    || imgObj[\"imageloc\"]    || imgObj[\"thumb\"];\r\n\r\n                \/\/ Compute index consistent with existing templates\r\n                var n = parseInt(key, 10);\r\n                if (isNaN(n)) {\r\n                    \/\/ Try to derive from position by incrementing a counter if keys are not numeric\r\n                    n = 1;\r\n                }\r\n                \/\/ Category templates already include big1, big2, and thumb1; gallery adds 2+ when missing\r\n                var bigIndex = n + 1;   \/\/ matches io_cart_shortcode.html pattern\r\n                var thumbIndex = n + 1; \/\/ thumb id series aligns with big series in newer code\r\n\r\n                \/\/ Add big anchor if valid and not already present\r\n                if (isValid(href)) {\r\n                    var bigId = '#io_img_big' + bigIndex + '_' + rid;\r\n                    if (jQuery(bigId).length === 0) {\r\n                        var $a = jQuery('<a\/>', {\r\n                            rel: relVal,\r\n                            href: href,\r\n                            id: 'io_img_big' + bigIndex + '_' + rid\r\n                        });\r\n                        $bigAfter.after($a);\r\n                        $bigAfter = $a; \/\/ maintain insertion point\r\n                    }\r\n                }\r\n\r\n                \/\/ Add thumbnail if valid and not already present\r\n                if (isValid(src)) {\r\n                    var thumbId = '#io_img_thumb' + thumbIndex + '_' + rid;\r\n                    if (jQuery(thumbId).length === 0) {\r\n                        var $img = jQuery('<img\/>', {\r\n                            'class': 'io_image_thumb skip-lazy',\r\n                            title: rentalName,\r\n                            src: src,\r\n                            alt: rentalName,\r\n                            id: 'io_img_thumb' + thumbIndex + '_' + rid\r\n                        }).on('mouseover', function () {\r\n                            if (typeof updateMainPic === 'function') {\r\n                                updateMainPic(this);\r\n                            }\r\n                        });\r\n                        $thumbAfter.after($img);\r\n                        $thumbAfter = $img; \/\/ maintain insertion point\r\n                        addedThumbs++;\r\n                    }\r\n                }\r\n            }\r\n\r\n            \/\/ Reveal the thumbnail box if we added any extra thumbnails\r\n            if (addedThumbs > 0) {\r\n                jQuery('#io_img_thumb1_' + rid).closest('.io_image_thumbbox').show();\r\n            }\r\n        }\r\n    }\r\n\r\n    \/\/ Function to generate list view content on demand (global scope)\r\n    generateListViewContent = function() {\r\n        console.log('[IO List View] Generating list view content dynamically');\r\n        \r\n        jQuery('.io_item2_list').each(function() {\r\n            var $item = jQuery(this);\r\n            \r\n            \/\/ Skip if already generated\r\n            if ($item.find('.io_list_view_content').length > 0) {\r\n                return;\r\n            }\r\n            \r\n            \/\/ Extract rental_id from the item\r\n            var rentalId = $item.find('.item_rentalid').text().trim();\r\n            if (!rentalId) {\r\n                console.warn('[IO List View] No rental_id found for item, skipping');\r\n                return;\r\n            }\r\n            \r\n            \/\/ Read data from dynamically named global variables\r\n            \/\/ var description = String(window['data_description_' + rentalId] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var indoorOutdoor = String(window.io_category_data[rentalId][\"indoor_outdoor\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var staff = String(window.io_category_data[rentalId][\"staff\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var electric = String(window.io_category_data[rentalId][\"electric\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            var dimensions = String(window.io_category_data[rentalId][\"dimensions\"] || \"\").replace(\/[\\r\\n]+\/g, \"\").trim();\r\n            \r\n            \/\/ Helper function to strip HTML tags from text\r\n            var stripHtml = function(html) {\r\n                var tmp = document.createElement(\"DIV\");\r\n                tmp.innerHTML = html;\r\n                return (tmp.textContent || tmp.innerText || \"\").trim();\r\n            };\r\n            \r\n            \/\/ Helper function to escape HTML to prevent XSS\r\n            var escapeHtml = function(text) {\r\n                var map = {\r\n                    '&': '&amp;',\r\n                    '<': '&lt;',\r\n                    '>': '&gt;',\r\n                    '\"': '&quot;',\r\n                    \"'\": '&#039;'\r\n                };\r\n                return text.replace(\/[&<>\"']\/g, function(m) { return map[m]; });\r\n            };\r\n            \r\n            \/\/ Strip HTML tags from description\r\n            \/\/ description = stripHtml(description);\r\n            \r\n            \/\/ Build the HTML structure with escaped content\r\n            var html = '<div class=\"io_list_view_content\">';\r\n            \/\/ html += '<div class=\"io_item_description_line\">' + escapeHtml(description) + '<\/div>';\r\n            html += '<div class=\"io_item_details_labeled\">';\r\n            \r\n            \/\/ Setup field - only add if valid\r\n            if (indoorOutdoor && indoorOutdoor !== '0' && indoorOutdoor.length > 0) {\r\n                html += '<div class=\"io_detail_item io_detail_setup\">';\r\n                html += '<span class=\"io_detail_label\">Setup:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(indoorOutdoor) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n            \r\n            \/\/ Operators field - only add if valid\r\n            var operatorsText = staff ? staff + ' Adult Supervision Required' : \"\";\r\n            if (operatorsText &&\r\n                operatorsText !== '0 Adult Supervision Required' && \r\n                operatorsText !== 'Adult Supervision Required' &&\r\n                operatorsText !== '0') {\r\n                html += '<div class=\"io_detail_item io_detail_operators\">';\r\n                html += '<span class=\"io_detail_label\">Operators:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(operatorsText) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n            \r\n            \/\/ Power field - only add if valid\r\n            var powerText = electric ? electric + ' Outlets' : \"\";\r\n            if (powerText &&\r\n                powerText !== '0 Outlets' && \r\n                powerText !== '0.00 Outlets' && \r\n                powerText !== 'Outlets' &&\r\n                powerText !== '0') {\r\n                html += '<div class=\"io_detail_item io_detail_power\">';\r\n                html += '<span class=\"io_detail_label\">Power:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(powerText) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n            \r\n            \/\/ Size field - only add if valid\r\n            if (dimensions && dimensions !== '0' && dimensions.length > 0) {\r\n                html += '<div class=\"io_detail_item io_detail_size\">';\r\n                html += '<span class=\"io_detail_label\">Size:<\/span>';\r\n                html += '<span class=\"io_detail_value\">' + escapeHtml(dimensions) + '<\/span>';\r\n                html += '<\/div>';\r\n            }\r\n            \r\n            html += '<\/div>'; \/\/ close io_item_details_labeled\r\n            html += '<\/div>'; \/\/ close io_list_view_content\r\n            \r\n            \/\/ Insert before the buttons container\r\n            $item.find('.io_buttons_container').before(html);\r\n        });\r\n    }\r\n\r\n    jQuery(document).ready(function($) {\r\n\r\n    jQuery(\".io_item2_list\").each(function(){\r\n        var rentalId = jQuery(this).find('.item_rentalid').text().trim();\r\n        if (io_categoryVariantImages == 'on'){\r\n            CategoryGallery(rentalId, window.io_category_data[rentalId]['rental_name'], window.io_category_data[rentalId][\"images_arr\"]);\r\n        }\r\n    });\r\n\r\n\r\n    console.log('[IO View Toggle] Document ready, initializing view toggle functionality');\r\n    \r\n    \/\/ Check if category_id has a numeric value to identify actual category pages\r\n    \/\/ This must happen before any view state is applied\r\n    var categoryId = $('.category_id').text().trim();\r\n    var hasNumericCategoryId = categoryId && !isNaN(categoryId) && categoryId.length > 0;\r\n    \r\n    if (!hasNumericCategoryId) {\r\n        console.log('[IO View Toggle] No valid numeric category ID found, this is not a category page - skipping initialization');\r\n        return;\r\n    }\r\n    \r\n    console.log('[IO View Toggle] Category page detected with categoryId:', categoryId);\r\n    $('body').addClass('io-has-category-id');\r\n    \r\n    \/\/ Show the toggle buttons on category pages\r\n    $('.io_view_toggle_container').show();\r\n    console.log('[IO View Toggle] Toggle buttons displayed for category page');\r\n    \r\n    \/\/ Track if view toggle has been initialized\r\n    var isInitialized = false;\r\n    \r\n    \/\/ Initialize view toggle functionality\r\n    function initViewToggle(force) {\r\n        \/\/ Skip if already initialized unless forced\r\n        if (isInitialized && !force) {\r\n            console.log('[IO View Toggle] Already initialized, skipping');\r\n            return;\r\n        }\r\n        \r\n        console.log('[IO View Toggle] Initializing view toggle functionality');\r\n        \r\n        \/\/ Check if toggle buttons exist\r\n        if ($('.io_view_toggle_btn').length === 0) {\r\n            console.warn('[IO View Toggle] Toggle buttons not found in DOM');\r\n            return;\r\n        }\r\n        console.log('[IO View Toggle] Found', $('.io_view_toggle_btn').length, 'toggle buttons');\r\n        \r\n        \/\/ Check if category container exists\r\n        if ($('.io_catdiv2').length === 0) {\r\n            console.warn('[IO View Toggle] Category container (.io_catdiv2) not found');\r\n            return;\r\n        }\r\n        console.log('[IO View Toggle] Found', $('.io_catdiv2').length, 'category containers');\r\n        \r\n        \/\/ Get saved view preference from localStorage\r\n        var savedView = localStorage.getItem('io_category_view') || 'tile';\r\n        console.log('[IO View Toggle] Retrieved saved view preference:', savedView);\r\n        \r\n        \/\/ Set initial view\r\n        $('.io_catdiv2').removeClass('tile-view list-view').addClass(savedView + '-view');\r\n        console.log('[IO View Toggle] Applied initial view class:', savedView + '-view');\r\n        \r\n        \/\/ Update button states\r\n        $('.io_view_toggle_btn').removeClass('active');\r\n        $('.io_view_toggle_btn[data-view=\"' + savedView + '\"]').addClass('active');\r\n        console.log('[IO View Toggle] Updated button states, active button:', savedView);\r\n        \r\n        \/\/ Generate list view content if initial view is list\r\n        if (savedView === 'list') {\r\n            if (typeof generateListViewContent === 'function') {\r\n                generateListViewContent();\r\n            } else {\r\n                console.warn('[IO View Toggle] generateListViewContent function not available yet');\r\n            }\r\n        }\r\n        \r\n        \/\/ Log current items count\r\n        var itemCount = $('.io_item2_list').length;\r\n        console.log('[IO View Toggle] Found', itemCount, 'items in category');\r\n        \r\n        \/\/ Handle toggle button clicks using native JavaScript for better compatibility\r\n        \/\/ Remove any existing event listeners first\r\n        $('.io_view_toggle_btn').off('click.viewToggle');\r\n        \r\n        \/\/ Use native JavaScript addEventListener for more reliable event handling\r\n        var buttons = document.querySelectorAll('.io_view_toggle_btn');\r\n        console.log('[IO View Toggle] Attaching event listeners to', buttons.length, 'buttons using native JS');\r\n        \r\n        buttons.forEach(function(button) {\r\n            \/\/ Remove any existing listener\r\n            var newButton = button.cloneNode(true);\r\n            button.parentNode.replaceChild(newButton, button);\r\n            \r\n            \/\/ Add fresh event listener\r\n            newButton.addEventListener('click', function(e) {\r\n                e.preventDefault();\r\n                e.stopPropagation();\r\n                \r\n                var view = this.getAttribute('data-view');\r\n                console.log('[IO View Toggle] Button clicked (native listener), switching to view:', view);\r\n                \r\n                \/\/ Generate list view content if switching to list view\r\n                if (view === 'list') {\r\n                    if (typeof generateListViewContent === 'function') {\r\n                        generateListViewContent();\r\n                    } else {\r\n                        console.warn('[IO View Toggle] generateListViewContent function not available');\r\n                    }\r\n                }\r\n                \r\n                \/\/ Update button states\r\n                document.querySelectorAll('.io_view_toggle_btn').forEach(function(btn) {\r\n                    btn.classList.remove('active');\r\n                });\r\n                this.classList.add('active');\r\n                console.log('[IO View Toggle] Updated button active states');\r\n                \r\n                \/\/ Update grid view\r\n                var catdiv = document.querySelector('.io_catdiv2');\r\n                if (catdiv) {\r\n                    catdiv.classList.remove('tile-view', 'list-view');\r\n                    catdiv.classList.add(view + '-view');\r\n                    console.log('[IO View Toggle] Applied view class:', view + '-view');\r\n                }\r\n                \r\n                \/\/ Save preference\r\n                localStorage.setItem('io_category_view', view);\r\n                console.log('[IO View Toggle] Saved view preference to localStorage:', view);\r\n                \r\n                \/\/ Debug: Log current layout state\r\n                setTimeout(function() {\r\n                    if (catdiv) {\r\n                        var containerClasses = catdiv.className;\r\n                        var visibleItems = document.querySelectorAll('.io_item2_list:not([style*=\"display: none\"])').length;\r\n                        console.log('[IO View Toggle] Layout updated - Container classes:', containerClasses);\r\n                        console.log('[IO View Toggle] Visible items after view change:', visibleItems);\r\n                        \r\n                        \/\/ Check if list view content is properly shown\/hidden\r\n                        if (view === 'list') {\r\n                            var visibleListContent = document.querySelectorAll('.io_list_view_content:not([style*=\"display: none\"])').length;\r\n                            console.log('[IO View Toggle] Visible list content elements:', visibleListContent);\r\n                        }\r\n                    }\r\n                }, 100);\r\n            }, true); \/\/ Use capture phase\r\n            \r\n            console.log('[IO View Toggle] Event listener attached to button:', newButton.getAttribute('data-view'));\r\n        });\r\n        \r\n        console.log('[IO View Toggle] Event handlers attached successfully');\r\n        \r\n        \/\/ Mark as initialized\r\n        isInitialized = true;\r\n    }\r\n    \r\n    \/\/ Initialize when page loads\r\n    console.log('[IO View Toggle] Starting initial setup');\r\n    initViewToggle();\r\n    \r\n    \/\/ Also initialize after dynamic content loads (if applicable)\r\n    $(document).on('io_content_loaded', function() {\r\n        console.log('[IO View Toggle] Dynamic content loaded event detected, reinitializing');\r\n        initViewToggle();\r\n    });\r\n    \r\n    \/\/ Debug: Monitor for DOM changes that might affect our functionality\r\n    if (typeof MutationObserver !== 'undefined') {\r\n        var mutationTimeout;\r\n        var lastItemCount = $('.io_item2_list').length;\r\n        \r\n        var observer = new MutationObserver(function(mutations) {\r\n            \/\/ Debounce: clear existing timeout and set a new one\r\n            clearTimeout(mutationTimeout);\r\n            \r\n            mutationTimeout = setTimeout(function() {\r\n                var currentItemCount = $('.io_item2_list').length;\r\n                \r\n                \/\/ Only trigger if we have new items that weren't there before\r\n                if (currentItemCount > lastItemCount) {\r\n                    console.log('[IO View Toggle] New items detected in DOM (' + lastItemCount + ' -> ' + currentItemCount + ')');\r\n                    lastItemCount = currentItemCount;\r\n                    \r\n                    \/\/ If already initialized, just generate list view content for new items if in list view\r\n                    if (isInitialized) {\r\n                        var currentView = localStorage.getItem('io_category_view') || 'tile';\r\n                        if (currentView === 'list') {\r\n                            console.log('[IO View Toggle] Generating list view content for new items');\r\n                            if (typeof generateListViewContent === 'function') {\r\n                                generateListViewContent();\r\n                            } else {\r\n                                console.warn('[IO View Toggle] generateListViewContent function not available');\r\n                            }\r\n                        }\r\n                    } else {\r\n                        \/\/ Not initialized yet, so initialize\r\n                        console.log('[IO View Toggle] Initializing due to new items');\r\n                        initViewToggle();\r\n                    }\r\n                }\r\n            }, 250); \/\/ 250ms debounce\r\n        });\r\n        \r\n        observer.observe(document.body, {\r\n            childList: true,\r\n            subtree: true\r\n        });\r\n        console.log('[IO View Toggle] DOM mutation observer started');\r\n    }\r\n    \r\n    \/\/ Debug: Log window resize events that might affect responsive layout\r\n    $(window).on('resize.viewToggle', function() {\r\n        var windowWidth = $(window).width();\r\n        var currentView = $('.io_catdiv2').hasClass('list-view') ? 'list' : 'tile';\r\n        console.log('[IO View Toggle] Window resized to:', windowWidth, 'px, current view:', currentView);\r\n    });\r\n    \r\n    console.log('[IO View Toggle] Initialization complete');\r\n});\r\n<\/script><!-- End Shortcoder content -->\n<!-- Start Shortcoder content --><script>window.io_category_data = window.io_category_data || {}; window.io_category_data['1763047'] = {\"indoor_outdoor\":\"\",\"staff\":\"\",\"electric\":\"1.00\",\"dimensions\":\"\",\"rental_id\":\"1763047\",\"rental_name\":\"Popcorn machine\",\"images_arr\":\"{\\u00220\\u0022:{\\u0022rentalimage_id\\u0022:\\u0022915157\\u0022,\\u0022rentalimage_createtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_modifiedtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_itemid\\u0022:\\u00221763047\\u0022,\\u0022rentalimage_order\\u0022:\\u00220\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/images\\\/bf6ec4541d83eaa311f71deb5149c2f1.jpg\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/demo\\\/images\\\/5c933f8a1c1b2e67f0c738f6bcc6bebf.jpg\\u0022},\\u00221\\u0022:{\\u0022rentalimage_id\\u0022:\\u0022915159\\u0022,\\u0022rentalimage_createtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_modifiedtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_itemid\\u0022:\\u00221763047\\u0022,\\u0022rentalimage_order\\u0022:\\u00221\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/demo\\\/images\\\/popcorn2_1628678470.png\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/demo\\\/images\\\/popcorn2_1628678470_big.png\\u0022},\\u00222\\u0022:{\\u0022rentalimage_id\\u0022:\\u0022915161\\u0022,\\u0022rentalimage_createtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_modifiedtime\\u0022:\\u00221675365102\\u0022,\\u0022rentalimage_itemid\\u0022:\\u00221763047\\u0022,\\u0022rentalimage_order\\u0022:\\u00222\\u0022,\\u0022rentalimage_imageloc\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/demo\\\/images\\\/popcorn-machine-8-oz-500x500_1628678470.png\\u0022,\\u0022rentalimage_imagelocbig\\u0022:\\u0022https:\\\/\\\/rental.software\\\/users\\\/demo\\\/images\\\/popcorn-machine-8-oz-500x500_1628678470_big.png\\u0022}}\"};<\/script><div class=\"io_item2_list elementor-widget-heading simpleCart_ioShelfItem cat_div_1763047\" name=\"maindiv_Popcorn machine\">\r\n    <div class=\"cat_div\">\r\n        <a href=\"https:\/\/dev.rental.software\/eddieflores655\/rentals\/concessions\/popcorn-machine\/\">\r\n            <div class=\"btn btn-primary view-product-button\">View Product<\/div>\r\n            <img decoding=\"async\" class=\"category_big_img cat_img item_image io_image_big\" title=\"Popcorn machine\" src=\"https:\/\/rental.software\/users\/demo\/images\/5c933f8a1c1b2e67f0c738f6bcc6bebf.jpg\" alt=\"Popcorn machine\" \/>\r\n        <\/a>\r\n        <a rel=\"noopener\" href=\"https:\/\/rental.software\/users\/demo\/images\/5c933f8a1c1b2e67f0c738f6bcc6bebf.jpg\" id=\"io_img_big1_1763047\" target=\"_blank\"><\/a>\r\n        <a rel=\"img_group noopener\" href=\"https:\/\/rental.software\/users\/demo\/images\/popcorn2_1628678470_big.png\" id=\"io_img_big2_1763047\" target=\"_blank\"><\/a>\r\n        <br>\r\n        <div class=\"io_image_thumbbox io_category_thumbox\" style=\"display:none;\">\r\n            <img decoding=\"async\" class=\"io_image_thumb skip-lazy\" title=\"Popcorn machine\" src=\"https:\/\/rental.software\/users\/images\/bf6ec4541d83eaa311f71deb5149c2f1.jpg\" alt=\"Popcorn machine\"\r\n                 id=\"io_img_thumb1_1763047\" onmouseover=\"updateMainPic(this)\" \/>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"io_item2_list_inner\">\r\n        <p class=\"elementor-heading-title rentNameIO item_name\"><a href=\"https:\/\/dev.rental.software\/eddieflores655\/rentals\/concessions\/popcorn-machine\/\">Popcorn machine<\/a><\/p>\r\n        <p class=\"rentNameIO_price rentNameIO_price_1763047\"><span class=\"cat_from\" style=\"font-style:italic;font-size:smaller;\">from<\/span> <span class=\"rentNameIO_pricespan\">$140.00<\/span><\/p>\r\n        <p class=\"item_encoded\" style=\"display:none;\">Popcorn+machine<\/p>\r\n        <span class=\"item_href\" style=\"display:none;\">https:\/\/dev.rental.software\/eddieflores655\/rentals\/concessions\/popcorn-machine\/<\/span>\r\n        <p class=\"item_rentalid\" style=\"display:none;\">1763047<\/p>\r\n        <p class=\"item_vendorid\" style=\"display:none;\"><\/p>\r\n        <p class=\"item_qtytype\" style=\"display:none;\">Limited<\/p>\r\n        <p class=\"item_inputtype\" style=\"display:none;\">Dropdown<\/p>\r\n        <span class=\"item_qtyincrement\" style=\"display:none;\">1<\/span>\r\n        <div class=\"item_timeslots\" style=\"display:none;\"><\/div>\r\n        <p class=\"item_giftcardvalue\" style=\"display:none;\"><\/p>\r\n        <div class=\"item_hasRequiredAcc\" style=\"display:none;\">1<\/div>\r\n\r\n        <!-- Store list view data as attributes (lightweight) -->\r\n        <div class=\"io_list_view_data\"><\/div>\r\n        <div class=\"io_buttons_container\">\r\n            <a href=\"https:\/\/dev.rental.software\/eddieflores655\/rentals\/concessions\/popcorn-machine\/\" class=\"io_more_info_button\">MORE INFO<\/a>\r\n            <div class=\"elementor-widget-button add_cart_1763047\">\r\n                <a class=\"item_add elementor-button elementor-size-sm elementor-animation-grow io_button rentNameIO_button\"\r\n                   href=\"javascript:;\"><!--no linebreak bc elementor--><i class=\"fas fa-shopping-cart\"><\/i> Add to Cart<\/a>\r\n            <\/div>\r\n        <\/div>\r\n        <div class=\"unavailable_message unavailable_message_1763047\"  onclick=\"checkAvailDateClick()\">item unavailable (change date)<\/div>\r\n    <\/div>\r\n<\/div>\r\n<script>\r\n    jQuery(document).ready(function () {\r\n        \/\/ Hide price when zero\r\n        jQuery(\".rentNameIO_pricespan\").each(function () {\r\n            if( !Number( this.textContent.replace(\/[^0-9.-]+\/g,\"\") ) ){\r\n                jQuery(this.parentElement).hide();\r\n            }\r\n        });\r\n    });\r\n<\/script><!-- End Shortcoder content -->\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":5529,"parent":1311,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"io_meta_description":"","footnotes":""},"class_list":["post-5283","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/pages\/5283","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/comments?post=5283"}],"version-history":[{"count":3,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/pages\/5283\/revisions"}],"predecessor-version":[{"id":5530,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/pages\/5283\/revisions\/5530"}],"up":[{"embeddable":true,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/pages\/1311"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/media\/5529"}],"wp:attachment":[{"href":"https:\/\/dev.rental.software\/eddieflores655\/wp-json\/wp\/v2\/media?parent=5283"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}