{"id":359,"date":"2026-06-18T22:08:53","date_gmt":"2026-06-18T22:08:53","guid":{"rendered":"https:\/\/activeflexmassage.com\/?page_id=359"},"modified":"2026-06-18T22:52:56","modified_gmt":"2026-06-18T22:52:56","slug":"active-flex-massage-sheduleing","status":"publish","type":"page","link":"https:\/\/activeflexmassage.com\/","title":{"rendered":"Active Flex Massage Sheduleing"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"359\" class=\"elementor elementor-359\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6fc45c5 e-flex e-con-boxed e-con e-parent\" data-id=\"6fc45c5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a396137 elementor-widget elementor-widget-html\" data-id=\"a396137\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html>\r\n<head>\r\n    <title>Book a Massage - Active Flex Massage<\/title>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        * { margin: 0; padding: 0; box-sizing: border-box; }\r\n        \r\n        body {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 500;\r\n            background-color: #000000;\r\n            min-height: 100vh;\r\n            padding: 40px 20px;\r\n        }\r\n        \r\n        .container {\r\n            max-width: 700px;\r\n            margin: 0 auto;\r\n            background-color: #000000;\r\n            border: 1px solid #b78f00;\r\n            border-radius: 8px;\r\n            overflow: hidden;\r\n        }\r\n        \r\n        .header {\r\n            background-color: #000000;\r\n            border-bottom: 2px solid #b78f00;\r\n            padding: 30px;\r\n            text-align: center;\r\n        }\r\n        \r\n        .header .gold-line {\r\n            width: 40px;\r\n            height: 2px;\r\n            background: #b78f00;\r\n            margin: 0 auto 12px;\r\n            opacity: 0.8;\r\n        }\r\n        \r\n        .header p {\r\n            color: #ffffff;\r\n            font-weight: 400;\r\n            font-size: 14px;\r\n            letter-spacing: 0.5px;\r\n            opacity: 0.8;\r\n            line-height: 1.6;\r\n        }\r\n        \r\n        .form-section { padding: 30px; }\r\n        \r\n        .section-title {\r\n            font-size: 18px;\r\n            font-weight: 600;\r\n            color: #b78f00;\r\n            margin: 24px 0 16px 0;\r\n            padding-bottom: 8px;\r\n            border-bottom: 1px solid #b78f00;\r\n        }\r\n        \r\n        .section-title:first-of-type { margin-top: 0; }\r\n        \r\n        .form-group { margin-bottom: 20px; }\r\n        \r\n        label {\r\n            display: block;\r\n            font-weight: 600;\r\n            color: #ffffff;\r\n            margin-bottom: 8px;\r\n            font-size: 14px;\r\n        }\r\n        \r\n        .required:after {\r\n            content: \" *\";\r\n            color: #b78f00;\r\n        }\r\n        \r\n        \/* ---------- INPUTS (light background, black text) ---------- *\/\r\n        input, select, textarea {\r\n            width: 100%;\r\n            padding: 12px 15px;\r\n            background-color: #f8f8f8;      \/* light grey *\/\r\n            border: 1px solid #333333;\r\n            border-radius: 6px;\r\n            font-size: 14px;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 500;\r\n            color: #000000;                \/* black text *\/\r\n            transition: border-color 0.2s, background-color 0.2s;\r\n        }\r\n        \r\n        input:focus, select:focus, textarea:focus {\r\n            outline: none;\r\n            border-color: #b78f00;\r\n            background-color: #ffffff;\r\n        }\r\n        \r\n        \/* Placeholder in medium grey *\/\r\n        input::placeholder, textarea::placeholder {\r\n            color: #999999;\r\n            font-weight: 400;\r\n        }\r\n        \r\n        \/* ---------- RADIO BUTTONS (glowy selection) ---------- *\/\r\n        .radio-group {\r\n            display: flex;\r\n            gap: 24px;\r\n            flex-wrap: wrap;\r\n        }\r\n        \r\n        .radio-option {\r\n            display: flex;\r\n            align-items: center;\r\n            cursor: pointer;\r\n            color: #cccccc;\r\n            font-weight: 400;\r\n            font-size: 14px;\r\n            transition: all 0.2s ease;\r\n            padding: 6px 12px;\r\n            border-radius: 20px;\r\n            border: 1px solid transparent;\r\n        }\r\n        \r\n        .radio-option:hover {\r\n            color: #ffffff;\r\n            border-color: #b78f00;\r\n        }\r\n        \r\n        .radio-option input {\r\n            width: 16px;\r\n            height: 16px;\r\n            margin-right: 8px;\r\n            accent-color: #b78f00;\r\n            cursor: pointer;\r\n        }\r\n        \r\n        \/* Glow when selected *\/\r\n        .radio-option input:checked + span,\r\n        .radio-option:has(input:checked) {\r\n            color: #b78f00;\r\n            font-weight: 600;\r\n            border-color: #b78f00;\r\n            box-shadow: 0 0 10px rgba(183, 143, 0, 0.4);\r\n            background: rgba(183, 143, 0, 0.1);\r\n        }\r\n        \r\n        \/* Service cards (unchanged) *\/\r\n        .service-card {\r\n            border: 1px solid #333333;\r\n            border-radius: 8px;\r\n            padding: 16px;\r\n            margin-bottom: 12px;\r\n            cursor: pointer;\r\n            transition: all 0.2s ease;\r\n            background-color: #000000;\r\n        }\r\n        \r\n        .service-card:hover {\r\n            border-color: #b78f00;\r\n            transform: translateY(-2px);\r\n            background-color: #111111;\r\n        }\r\n        \r\n        .service-card.selected {\r\n            border-color: #b78f00;\r\n            background-color: #111111;\r\n        }\r\n        \r\n        .service-title {\r\n            font-weight: 600;\r\n            font-size: 18px;\r\n            color: #ffffff;\r\n            margin-bottom: 6px;\r\n        }\r\n        \r\n        .service-desc {\r\n            font-size: 13px;\r\n            font-weight: 400;\r\n            color: #aaaaaa;\r\n            margin-bottom: 8px;\r\n            line-height: 1.4;\r\n        }\r\n        \r\n        .service-price {\r\n            font-weight: 600;\r\n            color: #b78f00;\r\n            font-size: 16px;\r\n        }\r\n        \r\n        .service-duration {\r\n            color: #888888;\r\n            font-size: 13px;\r\n            font-weight: 400;\r\n            margin-left: 10px;\r\n        }\r\n        \r\n        .slots-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));\r\n            gap: 10px;\r\n            margin-top: 10px;\r\n        }\r\n        \r\n        .slot-button {\r\n            padding: 12px 8px;\r\n            background-color: #111111;\r\n            border: 1px solid #333333;\r\n            border-radius: 6px;\r\n            color: #ffffff;\r\n            cursor: pointer;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 13px;\r\n            font-weight: 500;\r\n            transition: all 0.2s ease;\r\n            text-align: center;\r\n        }\r\n        \r\n        .slot-button:hover {\r\n            border-color: #b78f00;\r\n            background-color: #1a1a1a;\r\n        }\r\n        \r\n        .slot-button.selected {\r\n            border-color: #b78f00;\r\n            background-color: #b78f00;\r\n            color: #000000;\r\n            font-weight: 600;\r\n        }\r\n        \r\n        .loading-slots {\r\n            color: #888888;\r\n            font-style: italic;\r\n            padding: 15px 0;\r\n        }\r\n        \r\n        .no-slots {\r\n            color: #b78f00;\r\n            padding: 15px 0;\r\n            text-align: center;\r\n            border: 1px solid #333;\r\n            border-radius: 6px;\r\n            background: #0a0a0a;\r\n        }\r\n        \r\n        button {\r\n            width: 100%;\r\n            padding: 14px;\r\n            background-color: #b78f00;\r\n            color: #ffffff;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 16px;\r\n            border: none;\r\n            border-radius: 6px;\r\n            cursor: pointer;\r\n            transition: all 0.2s ease;\r\n            margin-top: 10px;\r\n            letter-spacing: 0.5px;\r\n        }\r\n        \r\n        button:hover {\r\n            background-color: #d4a000;\r\n            transform: translateY(-1px);\r\n        }\r\n        \r\n        button:disabled {\r\n            background-color: #333333;\r\n            color: #666666;\r\n            cursor: not-allowed;\r\n        }\r\n        \r\n        .message {\r\n            padding: 15px;\r\n            margin-top: 20px;\r\n            border-radius: 6px;\r\n            display: none;\r\n            font-weight: 500;\r\n            font-size: 14px;\r\n        }\r\n        \r\n        .success {\r\n            background-color: #0a2a1a;\r\n            color: #b78f00;\r\n            border: 1px solid #b78f00;\r\n        }\r\n        \r\n        .error {\r\n            background-color: #2a0a0a;\r\n            color: #ff6666;\r\n            border: 1px solid #ff6666;\r\n        }\r\n        \r\n        #addressField { display: none; }\r\n        #addressField.visible { display: block; }\r\n        \r\n        hr {\r\n            margin: 24px 0;\r\n            border: none;\r\n            border-top: 1px solid #333333;\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <div class=\"gold-line\"><\/div>\r\n            <p>Targeted, Results-driven massage to resolve the physical stress of high-performance work<\/p>\r\n        <\/div>\r\n        \r\n        <div class=\"form-section\">\r\n            <form id=\"bookingForm\">\r\n                \r\n                <!-- Step 1: Date -->\r\n                <div class=\"section-title\">SELECT DATE<\/div>\r\n                <div class=\"form-group\">\r\n                    <label class=\"required\">Preferred Date<\/label>\r\n                    <input type=\"date\" id=\"date\" required min=\"\">\r\n                <\/div>\r\n                \r\n                <!-- Step 2: Time Slots (populated dynamically) -->\r\n                <div class=\"section-title\">AVAILABLE TIMES<\/div>\r\n                <div id=\"slotsContainer\">\r\n                    <p class=\"loading-slots\">Select a date to see available times<\/p>\r\n                <\/div>\r\n                \r\n                <!-- Hidden time input -->\r\n                <input type=\"hidden\" id=\"selectedTime\" required>\r\n                \r\n                <!-- Step 3: Service -->\r\n                <div class=\"section-title\">SELECT SERVICE<\/div>\r\n                <div id=\"serviceOptions\">\r\n                    <div class=\"service-card\" data-service=\"The Targeted Reset\" data-duration=\"45\" data-price=\"95\">\r\n                        <div class=\"service-title\">The Targeted Reset<\/div>\r\n                        <div class=\"service-desc\">Ideal for focused relief and mobilization before a key meeting or during a demanding day: Neck & Shoulders or Low Back and Hips<\/div>\r\n                        <div class=\"price-row\"><span class=\"service-price\">$95<\/span><span class=\"service-duration\">(45 min)<\/span><\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"service-card\" data-service=\"The Performance Protocol\" data-duration=\"60\" data-price=\"120\">\r\n                        <div class=\"service-title\">The Performance Protocol<\/div>\r\n                        <div class=\"service-desc\">The optimal balance. A full-body session to release tension, improve posture, and boost recovery.<\/div>\r\n                        <div class=\"price-row\"><span class=\"service-price\">$120<\/span><span class=\"service-duration\">(60 min)<\/span><\/div>\r\n                    <\/div>\r\n                    \r\n                    <div class=\"service-card\" data-service=\"The Deep Recalibration\" data-duration=\"90\" data-price=\"170\">\r\n                        <div class=\"service-title\">The Deep Recalibration<\/div>\r\n                        <div class=\"service-desc\">Comprehensive solution for deep, chronic issues. Ample time for a full-body reset plus detailed work on your problem areas.<\/div>\r\n                        <div class=\"price-row\"><span class=\"service-price\">$170<\/span><span class=\"service-duration\">(90 min)<\/span><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <!-- Location Type -->\r\n                <div class=\"section-title\">LOCATION TYPE<\/div>\r\n                <div class=\"form-group\">\r\n                    <label class=\"required\">Where will the massage take place?<\/label>\r\n                    <div class=\"radio-group\">\r\n                        <label class=\"radio-option\"><input type=\"radio\" name=\"locationType\" value=\"home\" required> Home<\/label>\r\n                        <label class=\"radio-option\"><input type=\"radio\" name=\"locationType\" value=\"office\"> Office<\/label>\r\n                        <label class=\"radio-option\"><input type=\"radio\" name=\"locationType\" value=\"event\"> Event<\/label>\r\n                    <\/div>\r\n                <\/div>\r\n                \r\n                <div id=\"addressField\" class=\"form-group\">\r\n                    <label class=\"required\">Full Address<\/label>\r\n                    <input type=\"text\" id=\"address\" placeholder=\"Street, City, State, Zip\">\r\n                <\/div>\r\n                \r\n                <!-- Contact Information -->\r\n                <div class=\"section-title\">YOUR INFORMATION<\/div>\r\n                \r\n                <div class=\"form-group\">\r\n                    <label class=\"required\">Full Name :<\/label>\r\n                    <input type=\"text\" id=\"name\" placeholder=\"(First, Last)\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"form-group\">\r\n                    <label class=\"required\">Email Address<\/label>\r\n                    <input type=\"email\" id=\"email\" placeholder=\"you@example.com\" required>\r\n                <\/div>\r\n                \r\n                <div class=\"form-group\">\r\n                    <label class=\"required\">Phone Number<\/label>\r\n                    <input type=\"tel\" id=\"phone\" placeholder=\"(702) 438-6724\" required>\r\n                <\/div>\r\n                \r\n                <!-- Additional Notes -->\r\n                <div class=\"form-group\">\r\n                    <label>Special Requests \/ Focus Areas \/ event details<\/label>\r\n                    <textarea id=\"notes\" rows=\"3\" placeholder=\"Any specific areas to focus on? Injuries? Health concerns?\"><\/textarea>\r\n                <\/div>\r\n                \r\n                <hr>\r\n                \r\n                <button type=\"submit\" id=\"submitBtn\">BOOK NOW<\/button>\r\n            <\/form>\r\n            \r\n            <div id=\"message\" class=\"message\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <script>\r\n        \/\/ ===== CONFIGURATION =====\r\n        const N8N_URL = 'https:\/\/n8n-production-3c61a.up.railway.app\/webhook\/DeepBreathLetsLook';\r\n        \r\n        \/\/ ===== DATE PICKER SETUP =====\r\n        const dateInput = document.getElementById('date');\r\n        const today = new Date();\r\n        dateInput.min = today.toISOString().split('T')[0];\r\n        \r\n        \/\/ ===== SERVICE SELECTION =====\r\n        let selectedService = null;\r\n        \r\n        document.querySelectorAll('.service-card').forEach(card => {\r\n            card.addEventListener('click', () => {\r\n                document.querySelectorAll('.service-card').forEach(c => c.classList.remove('selected'));\r\n                card.classList.add('selected');\r\n                selectedService = {\r\n                    name: card.dataset.service,\r\n                    duration: parseInt(card.dataset.duration),\r\n                    price: parseInt(card.dataset.price)\r\n                };\r\n            });\r\n        });\r\n        \r\n        \/\/ ===== LOCATION TYPE \u2192 SHOW ADDRESS =====\r\n        document.querySelectorAll('input[name=\"locationType\"]').forEach(radio => {\r\n            radio.addEventListener('change', function() {\r\n                const addressField = document.getElementById('addressField');\r\n                const addressInput = document.getElementById('address');\r\n                if (this.value) {\r\n                    addressField.classList.add('visible');\r\n                    addressInput.required = true;\r\n                }\r\n            });\r\n        });\r\n        \r\n        \/\/ ===== DATE CHANGE \u2192 FETCH SLOTS =====\r\n        dateInput.addEventListener('change', async function() {\r\n            const date = this.value;\r\n            const slotsContainer = document.getElementById('slotsContainer');\r\n            \r\n            if (!date) {\r\n                slotsContainer.innerHTML = '<p class=\"loading-slots\">Select a date to see available times<\/p>';\r\n                return;\r\n            }\r\n            \r\n            slotsContainer.innerHTML = '<p class=\"loading-slots\">Loading available times...<\/p>';\r\n            \r\n            try {\r\n                const response = await fetch(`${N8N_URL}?date=${date}`);\r\n                const rawData = await response.json();\r\n                const data = Array.isArray(rawData) ? rawData[0] : rawData;\r\n                \r\n                if (data.totalAvailable === 0) {\r\n                    slotsContainer.innerHTML = `<p class=\"no-slots\">${data.message || 'No available times on this date. Please select another day.'}<\/p>`;\r\n                    return;\r\n                }\r\n                \r\n                let slotsHTML = '<div class=\"slots-grid\">';\r\n                data.availableSlots.forEach(slot => {\r\n                    slotsHTML += `<button type=\"button\" class=\"slot-button\" data-time=\"${slot.time}\">${slot.display}<\/button>`;\r\n                });\r\n                slotsHTML += '<\/div>';\r\n                slotsContainer.innerHTML = slotsHTML;\r\n                \r\n                \/\/ Slot selection\r\n                document.querySelectorAll('.slot-button').forEach(btn => {\r\n                    btn.addEventListener('click', () => {\r\n                        document.querySelectorAll('.slot-button').forEach(b => b.classList.remove('selected'));\r\n                        btn.classList.add('selected');\r\n                        document.getElementById('selectedTime').value = btn.dataset.time;\r\n                    });\r\n                });\r\n                \r\n            } catch (error) {\r\n                slotsContainer.innerHTML = '<p class=\"no-slots\">Unable to load times. Please try again or call (702) 606-2559.<\/p>';\r\n            }\r\n        });\r\n        \r\n        \/\/ ===== FORM SUBMISSION =====\r\n        document.getElementById('bookingForm').onsubmit = async function(e) {\r\n            e.preventDefault();\r\n            \r\n            if (!selectedService) {\r\n                alert('Please select a service');\r\n                return;\r\n            }\r\n            \r\n            const selectedTime = document.getElementById('selectedTime').value;\r\n            if (!selectedTime) {\r\n                alert('Please select an available time');\r\n                return;\r\n            }\r\n            \r\n            const locationType = document.querySelector('input[name=\"locationType\"]:checked');\r\n            if (!locationType) {\r\n                alert('Please select location type');\r\n                return;\r\n            }\r\n            \r\n            const address = document.getElementById('address').value;\r\n            if (!address) {\r\n                alert('Please enter the full address');\r\n                return;\r\n            }\r\n            \r\n            const formData = {\r\n                name: document.getElementById('name').value,\r\n                email: document.getElementById('email').value,\r\n                phone: document.getElementById('phone').value,\r\n                locationType: locationType.value,\r\n                address: address,\r\n                date: document.getElementById('date').value,\r\n                time: selectedTime,\r\n                service: selectedService.name,\r\n                duration: selectedService.duration,\r\n                price: selectedService.price,\r\n                notes: document.getElementById('notes').value\r\n            };\r\n            \r\n            const messageDiv = document.getElementById('message');\r\n            messageDiv.style.display = 'block';\r\n            messageDiv.className = 'message';\r\n            messageDiv.textContent = 'Booking your appointment...';\r\n            document.getElementById('submitBtn').disabled = true;\r\n            \r\n            try {\r\n                const response = await fetch(`${N8N_URL.replace('DeepBreathLetsLook', 'AFM_book_appointment')}`, {\r\n                    method: 'POST',\r\n                    headers: { 'Content-Type': 'application\/json' },\r\n                    body: JSON.stringify(formData)\r\n                });\r\n                \r\n                const result = await response.json();\r\n                \r\n                if (result.status === 'success') {\r\n                    messageDiv.className = 'message success';\r\n                    messageDiv.innerHTML = `\r\n                        <strong>Appointment Booked!<\/strong><br><br>\r\n                        ${formData.service} on ${formatDate(formData.date)} at ${formatTime(formData.time)}<br>\r\n                        ${formData.address}<br><br>\r\n                        Check your email for confirmation. Questions? Call or text (702) 606-2559.\r\n                    `;\r\n                    document.getElementById('bookingForm').reset();\r\n                    document.querySelectorAll('.service-card').forEach(c => c.classList.remove('selected'));\r\n                    selectedService = null;\r\n                    document.getElementById('slotsContainer').innerHTML = '<p class=\"loading-slots\">Select a date to see available times<\/p>';\r\n                    document.getElementById('addressField').classList.remove('visible');\r\n                } else {\r\n                    messageDiv.className = 'message error';\r\n                    messageDiv.textContent = result.message || 'Booking failed. Please try again or call (702) 606-2559.';\r\n                }\r\n            } catch (error) {\r\n                messageDiv.className = 'message error';\r\n                messageDiv.textContent = 'Error connecting. Please call or text (702) 606-2559 to book.';\r\n            }\r\n            \r\n            document.getElementById('submitBtn').disabled = false;\r\n        };\r\n        \r\n        function formatDate(dateStr) {\r\n            const d = new Date(dateStr + 'T12:00:00');\r\n            return d.toLocaleDateString('en-US', { weekday: 'long', month: 'long', day: 'numeric' });\r\n        }\r\n        \r\n        function formatTime(time24) {\r\n            const [hour, minute] = time24.split(':');\r\n            const h = parseInt(hour);\r\n            const ampm = h >= 12 ? 'PM' : 'AM';\r\n            const h12 = h % 12 || 12;\r\n            return `${h12}:${minute} ${ampm}`;\r\n        }\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Book a Massage &#8211; Active Flex Massage Targeted, Results-driven massage to resolve the physical stress of high-performance work SELECT DATE Preferred Date AVAILABLE TIMES Select a date to see available times SELECT SERVICE The Targeted Reset Ideal for focused relief and mobilization before a key meeting or during a demanding day: Neck &#038; Shoulders or [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","hide_page_title":"","footnotes":""},"class_list":["post-359","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/pages\/359","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=359"}],"version-history":[{"count":14,"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/pages\/359\/revisions"}],"predecessor-version":[{"id":374,"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=\/wp\/v2\/pages\/359\/revisions\/374"}],"wp:attachment":[{"href":"https:\/\/activeflexmassage.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=359"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}