{"id":1753,"date":"2026-03-20T01:36:57","date_gmt":"2026-03-19T18:36:57","guid":{"rendered":"https:\/\/satusatu.com\/inspiration\/?p=1753"},"modified":"2026-03-29T00:18:16","modified_gmt":"2026-03-28T17:18:16","slug":"koral-restaurant-bali","status":"publish","type":"post","link":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/","title":{"rendered":"Koral Restaurant Bali: Ultimate Guide Before You Dine"},"content":{"rendered":"\n<p>Bali has no shortage of beautiful restaurants, but very few of them stop you in your tracks the moment you walk in. Koral Restaurant at The Apurva Kempinski Bali is one of the rare exceptions.&nbsp;<\/p>\n\n\n\n<p>As the first underwater aquarium restaurant in Bali, it offers a dining experience that goes well beyond the food on your plate though the food is very much worth talking about too.&nbsp;<\/p>\n\n\n\n<p>If you&#8217;re planning a special dinner and want to make the most of your time in Nusa Dua, <a href=\"http:\/\/satusatu.com\">satusatu.com<\/a> is a great place to sort your transport and other Bali experiences beforehand, booking directly through their website so everything is confirmed before you arrive.&nbsp;<\/p>\n\n\n\n<p>But first, here&#8217;s everything you need to know about Koral Restaurant before you make that reservation.<\/p>\n\n\n    <!-- Styles -->\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* ========================= *\/\n          \/* BASE STYLES *\/\n          \/* ========================= *\/\n          .produk-container {\n              display: flex;\n              flex-direction: column;\n              gap: 12px;\n          }\n\n          .produk-card {\n            cursor: pointer;\n            display: flex;\n            margin: 0;\n            border: 1px solid #eee;\n            border-radius: 12px;\n            overflow: hidden;\n            font-family: Overpass, sans-serif;\n            background: #ffffff;\n          }\n\n          .produk-image {\n            position: relative;\n            flex-shrink: 0;\n          }\n\n          .produk-image img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n          }\n\n          .produk-location {\n            position: absolute;\n            left: 8px;\n            bottom: 8px;\n            background: #fff;\n            border-radius: 12px;\n            border: 1px solid #dadbe0;\n            padding: 4px 6px;\n            font-size: 10px;\n            line-height: 14px;\n          }\n\n          .produk-content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n          }\n\n          .produk-title {\n            font-weight: 700;\n          }\n\n          .produk-rating {\n            font-size: 16px;\n            color: #333;\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-rating-line {\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-price-main {\n            color: #cb1c4f;\n            font-weight: 800;\n            font-size: 16px;\n          }\n\n          .produk-price-strike {\n            text-decoration: line-through;\n            font-size: 14px;\n            opacity: 0.7;\n            margin-right: 8px;\n          }\n\n          .produk-discount {\n            background: #cb1c4f;\n            color: #fff;\n            padding: 2px 6px;\n            border-radius: 4px;\n            font-size: 14px;\n          }\n\n          .produk-btn {\n            background: #cb1c4f;\n            color: #ffffff;\n            padding: 10px 16px;\n            border-radius: 8px;\n            text-decoration: none;\n            font-weight: 600;\n            margin-top: 8px;\n          }\n\n          .produk-btn:hover {\n            text-decoration: none;\n            color: #ffffff;\n          }\n\n          .product-info-wrap {\n            display: flex;\n            flex-wrap: nowrap;\n            justify-content: space-between;\n          }\n\n          \/* ========================= *\/\n          \/* DESKTOP (>= 800px) *\/\n          \/* ========================= *\/\n\n          @media (min-width: 800px) {\n            .produk-image {\n              width: 200px;\n            }\n\n            .produk-content {\n              padding: 20px;\n            }\n\n            .product-info-wrap {\n              flex-direction: row;\n              align-items: center;\n            }\n\n            .produk-btn {\n              display: inline-block;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* TABLET (<= 768px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 768px) {\n            .produk-card {\n              flex-direction: column;\n            }\n\n            .produk-image {\n              width: 200px;\n              height: 220px;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 18px;\n            }\n\n            .produk-rating {\n              font-size: 14px;\n            }\n\n            .product-info-wrap {\n              flex-direction: column;\n              align-items: flex-start;\n              gap: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* MOBILE (<= 480px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 480px) {\n            .produk-image {\n              width: 100%;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 16px;\n              overflow: hidden;\n              text-overflow: ellipsis;\n            }\n\n            .produk-price-main {\n              font-size: 15px;\n            }\n\n            .produk-discount {\n              font-size: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ======================================= *\/\n          \/* CAROUSEL MODE (inside .carousel-list)  *\/\n          \/* ======================================= *\/\n\n          .carousel-wrapper {\n            position: relative;\n          }\n\n          .carousel-list {\n            overflow-x: auto;\n            overflow-y: hidden;\n            -webkit-overflow-scrolling: touch;\n            scroll-behavior: smooth;\n            scroll-snap-type: x mandatory;\n            scrollbar-width: none;\n          }\n\n          .carousel-list::-webkit-scrollbar {\n            display: none;\n          }\n\n          .carousel-list .produk-container {\n            display: flex;\n            flex-direction: row;\n            flex-wrap: nowrap;\n            width: max-content;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-card {\n            flex: 0 0 auto;\n            width: 220px;\n            flex-direction: column;\n            scroll-snap-align: start;\n          }\n\n          .carousel-list .produk-image {\n            width: 100%;\n            height: 220px;\n          }\n\n          .carousel-list .produk-content {\n            padding: 12px;\n          }\n\n          .carousel-list .produk-title {\n\t\t\t  font-size: 16px;\n\t\t\t  overflow: hidden;\n\t\t\t  text-overflow: ellipsis;\n\t\t\t  display: -webkit-box;\n\t\t\t  -webkit-line-clamp: 2;\n\t\t\t  -webkit-box-orient: vertical;\n\t\t\t  line-clamp: 2;\n\t\t\t}\n\n          .carousel-list .produk-rating {\n            font-size: 14px;\n          }\n\n          .carousel-list .produk-price-main {\n            font-size: 15px;\n          }\n\n          .carousel-list .produk-discount {\n            font-size: 12px;\n          }\n\n          .carousel-list .product-info-wrap {\n            flex-direction: column;\n            align-items: flex-start;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-btn {\n            display: none;\n          }\n\n          \/* ========================= *\/\n          \/* CAROUSEL ARROWS *\/\n          \/* ========================= *\/\n\n          .carousel-arrow {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 36px;\n            height: 36px;\n            border-radius: 50%;\n            background: #ffffff;\n            border: 1px solid #dadbe0;\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            z-index: 10;\n            transition: opacity 0.2s, box-shadow 0.2s;\n            padding: 0;\n          }\n\n          .carousel-arrow:hover {\n\t\t\tbackground: #FFFFFF;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n          }\n\n          .carousel-arrow.is-hidden {\n            opacity: 0;\n            pointer-events: none;\n          }\n\n          .carousel-arrow-left {\n            left: -18px;\n          }\n\n          .carousel-arrow-right {\n            right: -18px;\n          }\n\n          @media (max-width: 480px) {\n\t\t\t.carousel-arrow{\n\t\t\t\tdisplay: none;\n\t\t\t}\n            .carousel-arrow-left {\n              left: 4px;\n            }\n\n            .carousel-arrow-right {\n              right: 4px;\n            }\n          }\n    <\/style>\n\n    <!-- HTML -->\n    <div class=\"carousel-wrapper\" data-carousel-id=\"carousel-69d04ff4975f0\" data-is-carousel=\"1\">\n                    <button type=\"button\" class=\"carousel-arrow carousel-arrow-left is-hidden\" aria-label=\"Scroll left\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M216,88v80a8,8,0,0,1-8,8H120v48L24,128l96-96V80h88A8,8,0,0,1,216,88Z\" opacity=\"0.2\"><\/path><path d=\"M208,72H128V32a8,8,0,0,0-13.66-5.66l-96,96a8,8,0,0,0,0,11.32l96,96A8,8,0,0,0,128,224V184h80a16,16,0,0,0,16-16V88A16,16,0,0,0,208,72Zm0,96H120a8,8,0,0,0-8,8v28.69L35.31,128,112,51.31V80a8,8,0,0,0,8,8h88Z\"><\/path><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"carousel-arrow carousel-arrow-right is-hidden\" aria-label=\"Scroll right\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M136,224V176H48a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h88V32l96,96Z\" opacity=\"0.2\"><\/path><path d=\"M237.66,122.34l-96-96A8,8,0,0,0,128,32V72H48A16,16,0,0,0,32,88v80a16,16,0,0,0,16,16h80v40a8,8,0,0,0,13.66,5.66l96-96A8,8,0,0,0,237.66,122.34ZM144,204.69V176a8,8,0,0,0-8-8H48V88h88a8,8,0,0,0,8-8V51.31L220.69,128Z\"><\/path><\/svg>\n            <\/button>\n                <div class=\"carousel-list\">\n            <div class=\"produk-container\" data-slugs=\"kuber-bali-atv-adventure,icon-atv-bali-adventure,bali-diving-school-scuba-diving-courses,batara-watersport-bali-tanjung-benoa-water-adventures,timbis-beach-paragliding-experience-bali,sunrise-volcano-jeep-experience-mount-batur,mount-batur-jeep-sunset-experience,4wd-jeep-mount-batur-sunrise-experience-by-bali-volcano-jeep\"><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Script -->\n    <script>\n    (function() {\n\t\tfunction buildCatalogUrl(slug) {\n\t\t\t\/\/ UTM params hardcoded by the shortcode (these always win)\n\t\t\tconst hardcoded = {\n\t\t\t\tutm_source: \"blog\",\n\t\t\t\tutm_medium: \"in_line_product_cta\",\n\t\t\t};\n\n\t\t\t\/\/ UTM params from the current page URL (only used if hardcoded doesn't define them)\n\t\t\tconst pageParams = new URLSearchParams(window.location.search);\n\t\t\tconst utmKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"];\n\t\t\tconst merged = new URLSearchParams();\n\n\t\t\tutmKeys.forEach(key => {\n\t\t\t\tif (hardcoded[key] !== undefined) {\n\t\t\t\t\t\/\/ Hardcoded value takes priority\n\t\t\t\t\tmerged.set(key, hardcoded[key]);\n\t\t\t\t} else if (pageParams.has(key)) {\n\t\t\t\t\t\/\/ Fall back to whatever the page URL has\n\t\t\t\t\tmerged.set(key, pageParams.get(key));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn \"https:\/\/satusatu.com\/en-ID\/catalog\/\" + slug + \"?\" + merged.toString();\n\t\t}\n\t\t\n        function renderCatalogItem(p) {\n            const location = p.location?.name || \"\";\n            const rating = p.rating?.average_rating ?? null;\n            const ratingCount = p.rating?.count_rating_display || \"\";\n            const soldDisplay = p.rating?.total_sold_display || \"\";\n            const currency = p.pricing?.currency_symbol || \"Rp\";\n            const price = p.pricing?.min_price || 0;\n            const originalPrice = p.pricing?.min_original_price || 0;\n            const discount = p.pricing?.discount || 0;\n\t\t\tconst catalogUrl = buildCatalogUrl(p.slug);\n\n            return `\n                <div class=\"produk-card\" data-url=\"${catalogUrl}\">\n                    <div class=\"produk-image\">\n                        <img decoding=\"async\" src=\"${p.image_url}\" alt=\"${p.title}\" \/>\n                        <div class=\"produk-location\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M128,24a80,80,0,0,0-80,80c0,72,80,128,80,128s80-56,80-128A80,80,0,0,0,128,24Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,128,136Z\" opacity=\"0.2\"><\/path><path d=\"M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z\"><\/path><\/svg>\n                            <span>${location}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"produk-content\">\n                        <div class=\"produk-title\">${p.title}<\/div>\n                        ${rating ? `\n                        <div class=\"produk-rating\">\n                            <div class=\"produk-rating-line\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" fill=\"#F87500\" viewBox=\"0 0 256 256\"><path d=\"M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z\" opacity=\"0.2\"><\/path><path d=\"M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z\"><\/path><\/svg>\n                                <span>${rating} (${ratingCount}) &bull; ${soldDisplay} sold<\/span>\n                            <\/div>\n                        <\/div>` : ''}\n                        <div class=\"product-info-wrap\">\n                            <div>\n                                <div style=\"display:flex;gap:6px;\">\n                                    <div style=\"font-size:14px;\">From<\/div>\n                                    <div class=\"produk-price-main\">${currency} ${price.toLocaleString()}<\/div>\n                                <\/div>\n                                ${discount > 0 ? `\n                                <div>\n                                    <span class=\"produk-price-strike\">${currency} ${originalPrice.toLocaleString()}<\/span>\n                                    <span class=\"produk-discount\">-${discount}%<\/span>\n                                <\/div>` : ''}\n                            <\/div>\n                            <div>\n                                <a target=\"_blank\" href=\"${catalogUrl}\" class=\"produk-btn\">Check Availability<\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        function initSatuSatuCatalog(wrapperEl) {\n            const scrollEl = wrapperEl.querySelector(\".carousel-list\");\n            const container = wrapperEl.querySelector(\".produk-container\");\n            const slugs = container.getAttribute(\"data-slugs\");\n            const isCarousel = wrapperEl.getAttribute(\"data-is-carousel\") === \"1\";\n            const leftArrow = wrapperEl.querySelector(\".carousel-arrow-left\");\n            const rightArrow = wrapperEl.querySelector(\".carousel-arrow-right\");\n\n            fetch(\"https:\/\/api.satusatu.com\/content\/guest\/satusatu\/v1\/catalogs\/blog\/catalog-list?slugs=\" + slugs)\n                .then(res => res.json())\n                .then(data => {\n                    container.innerHTML = data.data.map(renderCatalogItem).join('');\n                    \/\/ Event handler for card click\n                    container.querySelectorAll('.produk-card').forEach(card => {\n                        card.addEventListener('click', () => {\n                            window.open(card.dataset.url, '_blank');\n                        });\n                    });\n\n                    if (isCarousel && scrollEl && leftArrow && rightArrow) {\n                        const scrollAmount = 240;\n                        function updateArrows() {\n                            const sl = scrollEl.scrollLeft;\n                            const sw = scrollEl.scrollWidth;\n                            const cw = scrollEl.clientWidth;\n                            leftArrow.classList.toggle(\"is-hidden\", sl <= 0);\n                            rightArrow.classList.toggle(\"is-hidden\", sl + cw >= sw - 1);\n                        }\n                        leftArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: -scrollAmount, behavior: \"smooth\" });\n                        });\n                        rightArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: scrollAmount, behavior: \"smooth\" });\n                        });\n                        scrollEl.addEventListener(\"scroll\", updateArrows);\n                        window.addEventListener(\"resize\", updateArrows);\n                        setTimeout(updateArrows, 200);\n                    }\n                });\n        }\n\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            document.querySelectorAll(\"[data-carousel-id]\").forEach(initSatuSatuCatalog);\n        });\n    })();\n    <\/script>\n    \n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Is Koral Restaurant?<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"590\" height=\"391\" src=\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-Bali-Bali-Rental-Car.jpg\" alt=\"Koral Restaurant\" class=\"wp-image-2219\"\/><\/figure>\n\n\n\n<p>Koral Restaurant is located inside The Apurva Kempinski Bali, one of the most architecturally striking luxury hotels on the island, at Jl. Raya Nusa Dua Selatan, Sawangan, Nusa Dua, Kabupaten Badung.&nbsp;<\/p>\n\n\n\n<p>The restaurant holds the distinction of being Bali&#8217;s first underwater aquarium restaurant a concept that sounds like a marketing line until you&#8217;re actually sitting inside and realize the entire dining room is built around a massive floor-to-ceiling aquarium filled with hundreds of exotic tropical fish, rays, and vibrant coral formations.<\/p>\n\n\n\n<p>The aquarium isn&#8217;t a backdrop or a decorative feature it&#8217;s the architecture. The curved acrylic walls wrap around the dining space in a way that makes the fish and coral feel genuinely immersive rather than incidental.&nbsp;<\/p>\n\n\n\n<p>Dining here at night, when the aquarium lighting creates a deep blue glow throughout the room, is a different experience from visiting at lunch both are worth doing for different reasons, but the evening setting is particularly dramatic.<\/p>\n\n\n\n<p>The restaurant is open for lunch from 12:00 to 15:00 WITA and for dinner from 17:30 to 22:30 WITA. Reservations are strongly recommended, especially for dinner on weekends and during peak season when tables fill up well in advance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Food and Menu<\/h2>\n\n\n\n<p>Koral&#8217;s kitchen is led by international chefs including Andrea Stone, and the culinary direction is artisanal seafood fusion dishes that combine premium ingredients with refined technique and a clear sense of place.&nbsp;<\/p>\n\n\n\n<p>The menu changes seasonally to reflect the freshest available produce and seafood, so what you eat on one visit may differ from the next, which is part of the appeal for repeat guests.<\/p>\n\n\n\n<p>The set dinner menu is the most popular format, typically priced from around IDR 1,500,000 to IDR 3,000,000 per person depending on the number of courses and beverage pairing choices.&nbsp;<\/p>\n\n\n\n<p>\u00c0 la carte options are also available for guests who prefer more flexibility. The lunch menu tends to be slightly more accessible in terms of pricing while maintaining the same quality standard in the kitchen.<\/p>\n\n\n\n<p>Seafood naturally dominates the menu given the aquarium setting and the restaurant&#8217;s coastal positioning expect carefully prepared dishes using fresh fish, shellfish, and ocean ingredients treated with the kind of precision you&#8217;d expect from an international luxury hotel kitchen. T<\/p>\n\n\n\n<p>he presentation across all dishes is deliberate and photogenic, which adds to the overall experience without feeling gimmicky.<\/p>\n\n\n\n<p>The wine and beverage list is extensive, covering premium international labels alongside curated cocktails and non-alcoholic options. The bar at Koral is worth spending time at even if you&#8217;re waiting for your table the drinks program is thoughtful and the view from the bar is excellent.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Atmosphere and Design<\/h2>\n\n\n\n<p>The design of Koral Restaurant is genuinely exceptional and worth appreciating beyond just the aquarium centerpiece. The interior combines warm wood elements, curved organic forms, and soft lighting in a way that feels luxurious without being cold or overly formal.&nbsp;<\/p>\n\n\n\n<p>The aquarium provides natural ambient light that shifts subtly throughout the meal as the fish move through it, which creates a living, breathing quality to the dining room that static d\u00e9cor simply can&#8217;t replicate.<\/p>\n\n\n\n<p>The overall atmosphere is romantic and intimate, making it one of the most popular choices in Bali for anniversary dinners, proposals, and special celebrations. The acoustics are managed well enough that the space feels private even when fully seated conversations don&#8217;t carry across tables the way they do in some open-plan luxury restaurants.<\/p>\n\n\n\n<p>At night the experience intensifies considerably. The aquarium lighting deepens to a rich blue that fills the room with an otherworldly glow, the service pace slows to match the mood, and the whole setting feels genuinely unlike anywhere else in Bali.&nbsp;<\/p>\n\n\n\n<p>If you&#8217;re choosing between a lunch and dinner visit and the budget allows only one, dinner is the stronger recommendation for the full Koral experience.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Facilities<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Free WiFi<\/strong> throughout the restaurant and The Apurva Kempinski property<\/li>\n\n\n\n<li><strong>Valet parking<\/strong> available for guests arriving by private vehicle<\/li>\n\n\n\n<li><strong>Full bar<\/strong> with premium wine, beer, cocktails, and non-alcoholic beverages<\/li>\n\n\n\n<li><strong>Credit card payments<\/strong> accepted across all major card types<\/li>\n\n\n\n<li><strong>Smoke-free dining environment<\/strong> throughout the entire restaurant<\/li>\n\n\n\n<li><strong>Reservation system<\/strong> for both lunch and dinner seatings, walk-ins are possible but not guaranteed<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Dress Code and Practical Tips<\/h2>\n\n\n\n<p>The dress code at Koral is smart casual, which in practice means neat, presentable clothing that matches the setting. Think clean trousers or a dress, collared shirts, and closed shoes or smart sandals.&nbsp;<\/p>\n\n\n\n<p>Beachwear, flip flops, and overly casual clothing are not appropriate and may result in being turned away at the door. Given the investment you&#8217;re making in the meal itself, dressing up a little genuinely adds to the experience.<\/p>\n\n\n\n<p>Making a reservation in advance is not just recommended for dinner it&#8217;s essentially essential. The restaurant seats a limited number of guests per service and the demand for evening tables, particularly on weekends and during the July to August peak season, consistently exceeds availability for walk-ins.&nbsp;<\/p>\n\n\n\n<p>Calling or emailing The Apurva Kempinski directly to book your table is the most reliable approach. Koral is accessible to non-hotel guests, which is an important point for visitors staying elsewhere in Nusa Dua or traveling from other parts of Bali.&nbsp;<\/p>\n\n\n\n<p>You don&#8217;t need to be a Kempinski guest to dine here you simply need a reservation. The hotel&#8217;s main entrance on Jl. Raya Nusa Dua Selatan is clearly signposted and the valet parking setup makes arrival straightforward for guests coming by car.<\/p>\n\n\n\n<p>For photography, the aquarium walls are at their most visually stunning during the dinner service when the ambient lighting is at its richest. Wide-angle phone camera settings or portrait mode work well for capturing the fish and coral through the acrylic. Ask to be seated closest to the aquarium wall when making your reservation if photography is a priority for your visit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Getting There<\/h2>\n\n\n\n<p>Koral Restaurant is located in Nusa Dua, approximately 20 to 30 minutes from Ngurah Rai International Airport via the Tol Bali Mandara highway.&nbsp;<\/p>\n\n\n\n<p>From Seminyak the drive is around 40 to 50 minutes, and from Canggu expect closer to an hour depending on traffic. Nusa Dua is a relatively straightforward area to navigate by car, and The Apurva Kempinski is well-signposted from the main Nusa Dua road.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get There Smoothly with SatuSatu<\/h2>\n\n\n\n<p>A dinner at Koral deserves a smooth arrival, and SatuSatu is the platform to make that happen. SatuSatu is a locally curated travel platform where you can book Bali transport and experiences directly through their website at <a href=\"http:\/\/satusatu.com\">satusatu.com<\/a> every booking is instantly confirmed with dedicated local support behind it.<\/p>\n\n\n\n<p>Their <a href=\"https:\/\/satusatu.com\/en-US\/catalog\/satusatu-airport-transfer-from-to-airport-sameday-booking\">Airport Transfer<\/a> service is a reliable, no-hassle way to get from Ngurah Rai Airport directly to Nusa Dua same-day booking is available and pricing is transparent with no surprises on arrival.&nbsp;<\/p>\n\n\n\n<p>If you&#8217;re staying in another part of Bali and want to get to Koral for dinner without worrying about navigation or parking, <a href=\"https:\/\/satusatu.com\/en-US\/catalog\/satusatu-exclusive-car-charter-sameday-booking\">the Exclusive Car<\/a> Charter available on satusatu.com gives you a dedicated driver for the evening with completely flexible timing you set the pickup and return times around your reservation.<\/p>\n\n\n\n<p>All bookings are made directly on satusatu.com and support local payment methods including BCA, Mandiri, OVO, DANA, credit cards, and more.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ about Koral Restaurant Bali<\/h2>\n\n\n\n<p><strong>Do you need to be staying at The Apurva Kempinski to dine at Koral?<\/strong>&nbsp;<\/p>\n\n\n\n<p>No. Koral Restaurant is open to all guests, whether or not you&#8217;re staying at the hotel. You simply need a reservation, which can be made by contacting The Apurva Kempinski directly.<\/p>\n\n\n\n<p><strong>How much does dinner at Koral Restaurant cost?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Set dinner menus typically start from around IDR 1,500,000 per person and can reach IDR 3,000,000 or more depending on the number of courses and beverage pairings selected. Lunch is generally more accessible in terms of price while maintaining the same kitchen quality.<\/p>\n\n\n\n<p><strong>What is the dress code at Koral Restaurant?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Smart casual. Clean trousers, dresses, collared shirts, and neat footwear are appropriate. Beachwear, flip flops, and very casual clothing are not permitted.<\/p>\n\n\n\n<p><strong>Is a reservation required?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Strongly recommended for both lunch and dinner, and essentially essential for evening seatings on weekends and during peak season. Walk-ins may be accommodated if space is available but cannot be guaranteed.<\/p>\n\n\n\n<p><strong>How far is Koral Restaurant from the airport?<\/strong>&nbsp;<\/p>\n\n\n\n<p>Approximately 20 to 30 minutes via the Tol Bali Mandara highway. Booking an airport transfer or car charter through SatuSatu at satusatu.com is a convenient way to handle the journey without any transport stress.<\/p>\n\n\n\n<p><strong>Is Koral Restaurant good for a romantic dinner?<\/strong>&nbsp;<\/p>\n\n\n\n<p>It&#8217;s one of the best options in Bali for a special occasion dinner. The aquarium setting, intimate atmosphere, quality food, and overall level of service make it a genuinely memorable choice for anniversaries, proposals, or any celebration that deserves a remarkable setting.<\/p>\n\n\n    <!-- Styles -->\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Overpass:ital,wght@0,100..900;1,100..900&display=swap\" rel=\"stylesheet\">\n    <style>\n        \/* ========================= *\/\n          \/* BASE STYLES *\/\n          \/* ========================= *\/\n          .produk-container {\n              display: flex;\n              flex-direction: column;\n              gap: 12px;\n          }\n\n          .produk-card {\n            cursor: pointer;\n            display: flex;\n            margin: 0;\n            border: 1px solid #eee;\n            border-radius: 12px;\n            overflow: hidden;\n            font-family: Overpass, sans-serif;\n            background: #ffffff;\n          }\n\n          .produk-image {\n            position: relative;\n            flex-shrink: 0;\n          }\n\n          .produk-image img {\n            width: 100%;\n            height: 100%;\n            object-fit: cover;\n          }\n\n          .produk-location {\n            position: absolute;\n            left: 8px;\n            bottom: 8px;\n            background: #fff;\n            border-radius: 12px;\n            border: 1px solid #dadbe0;\n            padding: 4px 6px;\n            font-size: 10px;\n            line-height: 14px;\n          }\n\n          .produk-content {\n            flex: 1;\n            display: flex;\n            flex-direction: column;\n            gap: 12px;\n          }\n\n          .produk-title {\n            font-weight: 700;\n          }\n\n          .produk-rating {\n            font-size: 16px;\n            color: #333;\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-rating-line {\n            display: flex;\n            align-items: flex-start;\n            gap: 4px;\n          }\n\n          .produk-price-main {\n            color: #cb1c4f;\n            font-weight: 800;\n            font-size: 16px;\n          }\n\n          .produk-price-strike {\n            text-decoration: line-through;\n            font-size: 14px;\n            opacity: 0.7;\n            margin-right: 8px;\n          }\n\n          .produk-discount {\n            background: #cb1c4f;\n            color: #fff;\n            padding: 2px 6px;\n            border-radius: 4px;\n            font-size: 14px;\n          }\n\n          .produk-btn {\n            background: #cb1c4f;\n            color: #ffffff;\n            padding: 10px 16px;\n            border-radius: 8px;\n            text-decoration: none;\n            font-weight: 600;\n            margin-top: 8px;\n          }\n\n          .produk-btn:hover {\n            text-decoration: none;\n            color: #ffffff;\n          }\n\n          .product-info-wrap {\n            display: flex;\n            flex-wrap: nowrap;\n            justify-content: space-between;\n          }\n\n          \/* ========================= *\/\n          \/* DESKTOP (>= 800px) *\/\n          \/* ========================= *\/\n\n          @media (min-width: 800px) {\n            .produk-image {\n              width: 200px;\n            }\n\n            .produk-content {\n              padding: 20px;\n            }\n\n            .product-info-wrap {\n              flex-direction: row;\n              align-items: center;\n            }\n\n            .produk-btn {\n              display: inline-block;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* TABLET (<= 768px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 768px) {\n            .produk-card {\n              flex-direction: column;\n            }\n\n            .produk-image {\n              width: 200px;\n              height: 220px;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 18px;\n            }\n\n            .produk-rating {\n              font-size: 14px;\n            }\n\n            .product-info-wrap {\n              flex-direction: column;\n              align-items: flex-start;\n              gap: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ========================= *\/\n          \/* MOBILE (<= 480px) *\/\n          \/* ========================= *\/\n\n          @media (max-width: 480px) {\n            .produk-image {\n              width: 100%;\n            }\n\n            .produk-content {\n              padding: 12px;\n            }\n\n            .produk-title {\n              font-size: 16px;\n              overflow: hidden;\n              text-overflow: ellipsis;\n            }\n\n            .produk-price-main {\n              font-size: 15px;\n            }\n\n            .produk-discount {\n              font-size: 12px;\n            }\n\n            .produk-btn {\n              display: none;\n            }\n          }\n\n          \/* ======================================= *\/\n          \/* CAROUSEL MODE (inside .carousel-list)  *\/\n          \/* ======================================= *\/\n\n          .carousel-wrapper {\n            position: relative;\n          }\n\n          .carousel-list {\n            overflow-x: auto;\n            overflow-y: hidden;\n            -webkit-overflow-scrolling: touch;\n            scroll-behavior: smooth;\n            scroll-snap-type: x mandatory;\n            scrollbar-width: none;\n          }\n\n          .carousel-list::-webkit-scrollbar {\n            display: none;\n          }\n\n          .carousel-list .produk-container {\n            display: flex;\n            flex-direction: row;\n            flex-wrap: nowrap;\n            width: max-content;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-card {\n            flex: 0 0 auto;\n            width: 220px;\n            flex-direction: column;\n            scroll-snap-align: start;\n          }\n\n          .carousel-list .produk-image {\n            width: 100%;\n            height: 220px;\n          }\n\n          .carousel-list .produk-content {\n            padding: 12px;\n          }\n\n          .carousel-list .produk-title {\n\t\t\t  font-size: 16px;\n\t\t\t  overflow: hidden;\n\t\t\t  text-overflow: ellipsis;\n\t\t\t  display: -webkit-box;\n\t\t\t  -webkit-line-clamp: 2;\n\t\t\t  -webkit-box-orient: vertical;\n\t\t\t  line-clamp: 2;\n\t\t\t}\n\n          .carousel-list .produk-rating {\n            font-size: 14px;\n          }\n\n          .carousel-list .produk-price-main {\n            font-size: 15px;\n          }\n\n          .carousel-list .produk-discount {\n            font-size: 12px;\n          }\n\n          .carousel-list .product-info-wrap {\n            flex-direction: column;\n            align-items: flex-start;\n            gap: 12px;\n          }\n\n          .carousel-list .produk-btn {\n            display: none;\n          }\n\n          \/* ========================= *\/\n          \/* CAROUSEL ARROWS *\/\n          \/* ========================= *\/\n\n          .carousel-arrow {\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 36px;\n            height: 36px;\n            border-radius: 50%;\n            background: #ffffff;\n            border: 1px solid #dadbe0;\n            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n            cursor: pointer;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            z-index: 10;\n            transition: opacity 0.2s, box-shadow 0.2s;\n            padding: 0;\n          }\n\n          .carousel-arrow:hover {\n\t\t\tbackground: #FFFFFF;\n            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n          }\n\n          .carousel-arrow.is-hidden {\n            opacity: 0;\n            pointer-events: none;\n          }\n\n          .carousel-arrow-left {\n            left: -18px;\n          }\n\n          .carousel-arrow-right {\n            right: -18px;\n          }\n\n          @media (max-width: 480px) {\n\t\t\t.carousel-arrow{\n\t\t\t\tdisplay: none;\n\t\t\t}\n            .carousel-arrow-left {\n              left: 4px;\n            }\n\n            .carousel-arrow-right {\n              right: 4px;\n            }\n          }\n    <\/style>\n\n    <!-- HTML -->\n    <div class=\"carousel-wrapper\" data-carousel-id=\"carousel-69d04ff497611\" data-is-carousel=\"1\">\n                    <button type=\"button\" class=\"carousel-arrow carousel-arrow-left is-hidden\" aria-label=\"Scroll left\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M216,88v80a8,8,0,0,1-8,8H120v48L24,128l96-96V80h88A8,8,0,0,1,216,88Z\" opacity=\"0.2\"><\/path><path d=\"M208,72H128V32a8,8,0,0,0-13.66-5.66l-96,96a8,8,0,0,0,0,11.32l96,96A8,8,0,0,0,128,224V184h80a16,16,0,0,0,16-16V88A16,16,0,0,0,208,72Zm0,96H120a8,8,0,0,0-8,8v28.69L35.31,128,112,51.31V80a8,8,0,0,0,8,8h88Z\"><\/path><\/svg>\n            <\/button>\n            <button type=\"button\" class=\"carousel-arrow carousel-arrow-right is-hidden\" aria-label=\"Scroll right\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"25\" height=\"25\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M136,224V176H48a8,8,0,0,1-8-8V88a8,8,0,0,1,8-8h88V32l96,96Z\" opacity=\"0.2\"><\/path><path d=\"M237.66,122.34l-96-96A8,8,0,0,0,128,32V72H48A16,16,0,0,0,32,88v80a16,16,0,0,0,16,16h80v40a8,8,0,0,0,13.66,5.66l96-96A8,8,0,0,0,237.66,122.34ZM144,204.69V176a8,8,0,0,0-8-8H48V88h88a8,8,0,0,0,8-8V51.31L220.69,128Z\"><\/path><\/svg>\n            <\/button>\n                <div class=\"carousel-list\">\n            <div class=\"produk-container\" data-slugs=\"kuber-bali-atv-adventure,icon-atv-bali-adventure,bali-diving-school-scuba-diving-courses,batara-watersport-bali-tanjung-benoa-water-adventures,timbis-beach-paragliding-experience-bali,sunrise-volcano-jeep-experience-mount-batur,mount-batur-jeep-sunset-experience,4wd-jeep-mount-batur-sunrise-experience-by-bali-volcano-jeep\"><\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Script -->\n    <script>\n    (function() {\n\t\tfunction buildCatalogUrl(slug) {\n\t\t\t\/\/ UTM params hardcoded by the shortcode (these always win)\n\t\t\tconst hardcoded = {\n\t\t\t\tutm_source: \"blog\",\n\t\t\t\tutm_medium: \"in_line_product_cta\",\n\t\t\t};\n\n\t\t\t\/\/ UTM params from the current page URL (only used if hardcoded doesn't define them)\n\t\t\tconst pageParams = new URLSearchParams(window.location.search);\n\t\t\tconst utmKeys = [\"utm_source\", \"utm_medium\", \"utm_campaign\", \"utm_content\", \"utm_term\"];\n\t\t\tconst merged = new URLSearchParams();\n\n\t\t\tutmKeys.forEach(key => {\n\t\t\t\tif (hardcoded[key] !== undefined) {\n\t\t\t\t\t\/\/ Hardcoded value takes priority\n\t\t\t\t\tmerged.set(key, hardcoded[key]);\n\t\t\t\t} else if (pageParams.has(key)) {\n\t\t\t\t\t\/\/ Fall back to whatever the page URL has\n\t\t\t\t\tmerged.set(key, pageParams.get(key));\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn \"https:\/\/satusatu.com\/en-ID\/catalog\/\" + slug + \"?\" + merged.toString();\n\t\t}\n\t\t\n        function renderCatalogItem(p) {\n            const location = p.location?.name || \"\";\n            const rating = p.rating?.average_rating ?? null;\n            const ratingCount = p.rating?.count_rating_display || \"\";\n            const soldDisplay = p.rating?.total_sold_display || \"\";\n            const currency = p.pricing?.currency_symbol || \"Rp\";\n            const price = p.pricing?.min_price || 0;\n            const originalPrice = p.pricing?.min_original_price || 0;\n            const discount = p.pricing?.discount || 0;\n\t\t\tconst catalogUrl = buildCatalogUrl(p.slug);\n\n            return `\n                <div class=\"produk-card\" data-url=\"${catalogUrl}\">\n                    <div class=\"produk-image\">\n                        <img decoding=\"async\" src=\"${p.image_url}\" alt=\"${p.title}\" \/>\n                        <div class=\"produk-location\">\n\t\t\t\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" fill=\"#000000\" viewBox=\"0 0 256 256\"><path d=\"M128,24a80,80,0,0,0-80,80c0,72,80,128,80,128s80-56,80-128A80,80,0,0,0,128,24Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,128,136Z\" opacity=\"0.2\"><\/path><path d=\"M128,64a40,40,0,1,0,40,40A40,40,0,0,0,128,64Zm0,64a24,24,0,1,1,24-24A24,24,0,0,1,128,128Zm0-112a88.1,88.1,0,0,0-88,88c0,31.4,14.51,64.68,42,96.25a254.19,254.19,0,0,0,41.45,38.3,8,8,0,0,0,9.18,0A254.19,254.19,0,0,0,174,200.25c27.45-31.57,42-64.85,42-96.25A88.1,88.1,0,0,0,128,16Zm0,206c-16.53-13-72-60.75-72-118a72,72,0,0,1,144,0C200,161.23,144.53,209,128,222Z\"><\/path><\/svg>\n                            <span>${location}<\/span>\n                        <\/div>\n                    <\/div>\n                    <div class=\"produk-content\">\n                        <div class=\"produk-title\">${p.title}<\/div>\n                        ${rating ? `\n                        <div class=\"produk-rating\">\n                            <div class=\"produk-rating-line\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" fill=\"#F87500\" viewBox=\"0 0 256 256\"><path d=\"M229.06,108.79l-48.7,42,14.88,62.79a8.4,8.4,0,0,1-12.52,9.17L128,189.09,73.28,222.74a8.4,8.4,0,0,1-12.52-9.17l14.88-62.79-48.7-42A8.46,8.46,0,0,1,31.73,94L95.64,88.8l24.62-59.6a8.36,8.36,0,0,1,15.48,0l24.62,59.6L224.27,94A8.46,8.46,0,0,1,229.06,108.79Z\" opacity=\"0.2\"><\/path><path d=\"M239.18,97.26A16.38,16.38,0,0,0,224.92,86l-59-4.76L143.14,26.15a16.36,16.36,0,0,0-30.27,0L90.11,81.23,31.08,86a16.46,16.46,0,0,0-9.37,28.86l45,38.83L53,211.75a16.38,16.38,0,0,0,24.5,17.82L128,198.49l50.53,31.08A16.4,16.4,0,0,0,203,211.75l-13.76-58.07,45-38.83A16.43,16.43,0,0,0,239.18,97.26Zm-15.34,5.47-48.7,42a8,8,0,0,0-2.56,7.91l14.88,62.8a.37.37,0,0,1-.17.48c-.18.14-.23.11-.38,0l-54.72-33.65a8,8,0,0,0-8.38,0L69.09,215.94c-.15.09-.19.12-.38,0a.37.37,0,0,1-.17-.48l14.88-62.8a8,8,0,0,0-2.56-7.91l-48.7-42c-.12-.1-.23-.19-.13-.5s.18-.27.33-.29l63.92-5.16A8,8,0,0,0,103,91.86l24.62-59.61c.08-.17.11-.25.35-.25s.27.08.35.25L153,91.86a8,8,0,0,0,6.75,4.92l63.92,5.16c.15,0,.24,0,.33.29S224,102.63,223.84,102.73Z\"><\/path><\/svg>\n                                <span>${rating} (${ratingCount}) &bull; ${soldDisplay} sold<\/span>\n                            <\/div>\n                        <\/div>` : ''}\n                        <div class=\"product-info-wrap\">\n                            <div>\n                                <div style=\"display:flex;gap:6px;\">\n                                    <div style=\"font-size:14px;\">From<\/div>\n                                    <div class=\"produk-price-main\">${currency} ${price.toLocaleString()}<\/div>\n                                <\/div>\n                                ${discount > 0 ? `\n                                <div>\n                                    <span class=\"produk-price-strike\">${currency} ${originalPrice.toLocaleString()}<\/span>\n                                    <span class=\"produk-discount\">-${discount}%<\/span>\n                                <\/div>` : ''}\n                            <\/div>\n                            <div>\n                                <a target=\"_blank\" href=\"${catalogUrl}\" class=\"produk-btn\">Check Availability<\/a>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        }\n\n        function initSatuSatuCatalog(wrapperEl) {\n            const scrollEl = wrapperEl.querySelector(\".carousel-list\");\n            const container = wrapperEl.querySelector(\".produk-container\");\n            const slugs = container.getAttribute(\"data-slugs\");\n            const isCarousel = wrapperEl.getAttribute(\"data-is-carousel\") === \"1\";\n            const leftArrow = wrapperEl.querySelector(\".carousel-arrow-left\");\n            const rightArrow = wrapperEl.querySelector(\".carousel-arrow-right\");\n\n            fetch(\"https:\/\/api.satusatu.com\/content\/guest\/satusatu\/v1\/catalogs\/blog\/catalog-list?slugs=\" + slugs)\n                .then(res => res.json())\n                .then(data => {\n                    container.innerHTML = data.data.map(renderCatalogItem).join('');\n                    \/\/ Event handler for card click\n                    container.querySelectorAll('.produk-card').forEach(card => {\n                        card.addEventListener('click', () => {\n                            window.open(card.dataset.url, '_blank');\n                        });\n                    });\n\n                    if (isCarousel && scrollEl && leftArrow && rightArrow) {\n                        const scrollAmount = 240;\n                        function updateArrows() {\n                            const sl = scrollEl.scrollLeft;\n                            const sw = scrollEl.scrollWidth;\n                            const cw = scrollEl.clientWidth;\n                            leftArrow.classList.toggle(\"is-hidden\", sl <= 0);\n                            rightArrow.classList.toggle(\"is-hidden\", sl + cw >= sw - 1);\n                        }\n                        leftArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: -scrollAmount, behavior: \"smooth\" });\n                        });\n                        rightArrow.addEventListener(\"click\", e => {\n                            e.stopPropagation();\n                            scrollEl.scrollBy({ left: scrollAmount, behavior: \"smooth\" });\n                        });\n                        scrollEl.addEventListener(\"scroll\", updateArrows);\n                        window.addEventListener(\"resize\", updateArrows);\n                        setTimeout(updateArrows, 200);\n                    }\n                });\n        }\n\n        document.addEventListener(\"DOMContentLoaded\", function() {\n            document.querySelectorAll(\"[data-carousel-id]\").forEach(initSatuSatuCatalog);\n        });\n    })();\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"<p>Bali has no shortage of beautiful restaurants, but very few of them stop you in your tracks the moment you walk in. Koral Restaurant at The Apurva Kempinski Bali is one of the rare exceptions.&nbsp; As the first underwater aquarium restaurant in Bali, it offers a dining experience that goes well beyond the food on&hellip;&nbsp;<\/p>\n","protected":false},"author":22,"featured_media":1754,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[546],"tags":[522,547,548,526],"class_list":["post-1753","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bali-restaurant","tag-bali","tag-bali-restaurant","tag-koral-restaurant-bali","tag-satusatu"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration<\/title>\n<meta name=\"description\" content=\"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration\" \/>\n<meta property=\"og:description\" content=\"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\" \/>\n<meta property=\"og:site_name\" content=\"SatuSatu Inspiration\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-19T18:36:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-28T17:18:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"736\" \/>\n\t<meta property=\"og:image:height\" content=\"552\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Fatiya Aulia Muthmainnah\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatiya Aulia Muthmainnah\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\"},\"author\":{\"name\":\"Fatiya Aulia Muthmainnah\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2\"},\"headline\":\"Koral Restaurant Bali: Ultimate Guide Before You Dine\",\"datePublished\":\"2026-03-19T18:36:57+00:00\",\"dateModified\":\"2026-03-28T17:18:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\"},\"wordCount\":1659,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/#organization\"},\"image\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg\",\"keywords\":[\"Bali\",\"Bali restaurant\u201d\",\"Koral Restaurant Bali\",\"SatuSatu\"],\"articleSection\":[\"Bali restaurant\u201d\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\",\"url\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\",\"name\":\"Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration\",\"isPartOf\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg\",\"datePublished\":\"2026-03-19T18:36:57+00:00\",\"dateModified\":\"2026-03-28T17:18:16+00:00\",\"description\":\"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.\",\"breadcrumb\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage\",\"url\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg\",\"contentUrl\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg\",\"width\":736,\"height\":552,\"caption\":\"Koral Restaurant Bali\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/satusatu.com\/inspiration\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Koral Restaurant Bali: Ultimate Guide Before You Dine\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/#website\",\"url\":\"https:\/\/satusatu.com\/inspiration\/\",\"name\":\"SatuSatu\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/satusatu.com\/inspiration\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/#organization\",\"name\":\"SatuSatu\",\"url\":\"https:\/\/satusatu.com\/inspiration\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png\",\"contentUrl\":\"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png\",\"width\":1024,\"height\":1024,\"caption\":\"SatuSatu\"},\"image\":{\"@id\":\"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2\",\"name\":\"Fatiya Aulia Muthmainnah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g\",\"caption\":\"Fatiya Aulia Muthmainnah\"},\"url\":\"https:\/\/satusatu.com\/inspiration\/author\/ext-fatiya-aulia\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration","description":"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/","og_locale":"en_US","og_type":"article","og_title":"Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration","og_description":"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.","og_url":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/","og_site_name":"SatuSatu Inspiration","article_published_time":"2026-03-19T18:36:57+00:00","article_modified_time":"2026-03-28T17:18:16+00:00","og_image":[{"width":736,"height":552,"url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg","type":"image\/jpeg"}],"author":"Fatiya Aulia Muthmainnah","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatiya Aulia Muthmainnah","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#article","isPartOf":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/"},"author":{"name":"Fatiya Aulia Muthmainnah","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2"},"headline":"Koral Restaurant Bali: Ultimate Guide Before You Dine","datePublished":"2026-03-19T18:36:57+00:00","dateModified":"2026-03-28T17:18:16+00:00","mainEntityOfPage":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/"},"wordCount":1659,"commentCount":0,"publisher":{"@id":"https:\/\/satusatu.com\/inspiration\/#organization"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage"},"thumbnailUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg","keywords":["Bali","Bali restaurant\u201d","Koral Restaurant Bali","SatuSatu"],"articleSection":["Bali restaurant\u201d"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/","url":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/","name":"Koral Restaurant Bali: Ultimate Guide Before You Dine - SatuSatu Inspiration","isPartOf":{"@id":"https:\/\/satusatu.com\/inspiration\/#website"},"primaryImageOfPage":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage"},"thumbnailUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg","datePublished":"2026-03-19T18:36:57+00:00","dateModified":"2026-03-28T17:18:16+00:00","description":"Koral Restaurant at The Apurva Kempinski Bali is the island\u2019s first underwater aquarium dining experience, offering immersive ocean views, refined seafood cuisine, and a romantic setting perfect for special occasions in Nusa Dua.","breadcrumb":{"@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#primaryimage","url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg","contentUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg","width":736,"height":552,"caption":"Koral Restaurant Bali"},{"@type":"BreadcrumbList","@id":"https:\/\/satusatu.com\/inspiration\/koral-restaurant-bali\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/satusatu.com\/inspiration\/"},{"@type":"ListItem","position":2,"name":"Koral Restaurant Bali: Ultimate Guide Before You Dine"}]},{"@type":"WebSite","@id":"https:\/\/satusatu.com\/inspiration\/#website","url":"https:\/\/satusatu.com\/inspiration\/","name":"SatuSatu","description":"","publisher":{"@id":"https:\/\/satusatu.com\/inspiration\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/satusatu.com\/inspiration\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/satusatu.com\/inspiration\/#organization","name":"SatuSatu","url":"https:\/\/satusatu.com\/inspiration\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/","url":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png","contentUrl":"https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/01\/Variant1024.png","width":1024,"height":1024,"caption":"SatuSatu"},"image":{"@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/satusatu.com\/inspiration\/#\/schema\/person\/4b773aced63910f3c4d3c4a8c82516c2","name":"Fatiya Aulia Muthmainnah","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f1bd35afe4fc3154c4ed985ce96b5941e11cd1aca25cc24a42ff9c58d10c640e?s=96&d=mm&r=g","caption":"Fatiya Aulia Muthmainnah"},"url":"https:\/\/satusatu.com\/inspiration\/author\/ext-fatiya-aulia\/"}]}},"uagb_featured_image_src":{"full":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false],"thumbnail":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",150,113,false],"medium":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",300,225,false],"medium_large":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false],"large":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false],"1536x1536":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false],"2048x2048":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false],"neve-blog":["https:\/\/satusatu.com\/inspiration\/wp-content\/uploads\/2026\/03\/Koral-Restaurant-_-The-Apurva-Kempinski-Bali.jpg",736,552,false]},"uagb_author_info":{"display_name":"Fatiya Aulia Muthmainnah","author_link":"https:\/\/satusatu.com\/inspiration\/author\/ext-fatiya-aulia\/"},"uagb_comment_info":0,"uagb_excerpt":"Bali has no shortage of beautiful restaurants, but very few of them stop you in your tracks the moment you walk in. Koral Restaurant at The Apurva Kempinski Bali is one of the rare exceptions.&nbsp; As the first underwater aquarium restaurant in Bali, it offers a dining experience that goes well beyond the food on&hellip;&nbsp;","_links":{"self":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/1753","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/comments?post=1753"}],"version-history":[{"count":3,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/1753\/revisions"}],"predecessor-version":[{"id":2220,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/posts\/1753\/revisions\/2220"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/media\/1754"}],"wp:attachment":[{"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/media?parent=1753"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/categories?post=1753"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/satusatu.com\/inspiration\/wp-json\/wp\/v2\/tags?post=1753"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}