
{"id":314761,"date":"2025-09-19T20:49:40","date_gmt":"2025-09-19T18:49:40","guid":{"rendered":"https:\/\/wp.repan.ch\/pick-up-2\/"},"modified":"2026-01-03T21:51:37","modified_gmt":"2026-01-03T19:51:37","slug":"pick-up-2","status":"publish","type":"page","link":"https:\/\/wp.repan.ch\/en\/pick-up-2\/","title":{"rendered":"Pick up"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"314761\" class=\"elementor elementor-314761\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-4e0d63e e-flex e-con-boxed e-con e-parent\" data-id=\"4e0d63e\" 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-c7a350b elementor-widget elementor-widget-shortcode\" data-id=\"c7a350b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"swiss-post-pickup-form-container\">\n        <form id=\"swiss-post-pickup-form\" class=\"swiss-post-form\">\n            <input type=\"hidden\" id=\"security\" name=\"security\" value=\"b21fea1871\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en\/wp-json\/wp\/v2\/pages\/314761\" \/>            \n            <!-- Step 1: Address Information -->\n            <div class=\"pickup-step step-1 active\">\n                <h3>Address Information<\/h3>\n                \n                <div class=\"form-row form-row-first\">\n                    <label for=\"sp_first_name\">First Name <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_first_name\" name=\"first_name\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-last\">\n                    <label for=\"sp_last_name\">Last Name <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_last_name\" name=\"last_name\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-wide\">\n                    <label for=\"sp_company\">Company <span class=\"optional\">(optional)<\/span><\/label>\n                    <input type=\"text\" id=\"sp_company\" name=\"company\">\n                <\/div>\n                \n                <div class=\"form-row form-row-first\">\n                    <label for=\"sp_street\">Street Address <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_street\" name=\"street\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-last\">\n                    <label for=\"sp_house_number\">House Number <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_house_number\" name=\"house_number\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-first\">\n                    <label for=\"sp_city\">City <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_city\" name=\"city\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-last\">\n                    <label for=\"sp_zip\">ZIP Code <span class=\"required\">*<\/span><\/label>\n                    <input type=\"text\" id=\"sp_zip\" name=\"zip\" required>\n                <\/div>\n            <\/div>\n            \n            <!-- Step 2: Date & Place Selection -->\n            <div class=\"pickup-step step-2\" style=\"display: none;\">\n                <h3>Pickup Information<\/h3>\n                \n                <div class=\"form-row form-row-wide\">\n                    <label for=\"sp_pickup_date\">Select Pickup Date <span class=\"required\">*<\/span><\/label>\n                    <select id=\"sp_pickup_date\" name=\"pickup_date\" required>\n                        <option value=\"\">Choose a date<\/option>\n                    <\/select>\n                <\/div>\n                \n                <div class=\"form-row form-row-wide\">\n                    <label for=\"sp_pickup_place\">Select Pickup Place <span class=\"required\">*<\/span><\/label>\n                    <select id=\"sp_pickup_place\" name=\"pickup_place\" required>\n                        <option value=\"\">Choose a place<\/option>\n                    <\/select>\n                <\/div>\n            <\/div>\n            \n            <!-- Step 3: Contact Information -->\n            <div class=\"pickup-step step-3\" style=\"display: none;\">\n                <h3>Contact Information<\/h3>\n                \n                <div class=\"form-row form-row-wide\">\n                    <label for=\"sp_email\">Email Address <span class=\"required\">*<\/span><\/label>\n                    <input type=\"email\" id=\"sp_email\" name=\"email\" required>\n                <\/div>\n                \n                <div class=\"form-row form-row-wide\">\n                    <label for=\"sp_phone\">Phone Number <span class=\"required\">*<\/span><\/label>\n                    <input type=\"tel\" id=\"sp_phone\" name=\"phone\" required>\n                <\/div>\n            <\/div>\n            \n            <!-- Navigation Buttons -->\n            <div class=\"form-navigation\">\n                <button type=\"button\" class=\"prev-step\" style=\"display: none;\">Previous<\/button>\n                <button type=\"button\" class=\"next-step\">Next<\/button>\n                <button type=\"submit\" class=\"submit-form\" style=\"display: none;\">Submit Order<\/button>\n            <\/div>\n            \n            <!-- Messages -->\n            <div id=\"form-messages\"><\/div>\n        <\/form>\n        \n        <!-- Success\/Failure Messages -->\n        <div id=\"form-result\" style=\"display: none;\"><\/div>\n    <\/div>\n    \n    <style>\n        #swiss-post-pickup-form-container {\n            max-width: 600px;\n            margin: 0 auto;\n            padding: 20px;\n        }\n        \n        .swiss-post-form .form-row {\n            margin-bottom: 15px;\n        }\n        \n        .swiss-post-form .form-row-first {\n            width: 48%;\n            float: left;\n            clear: left;\n        }\n        \n        .swiss-post-form .form-row-last {\n            width: 48%;\n            float: right;\n            clear: right;\n        }\n        \n        .swiss-post-form .form-row-wide {\n            width: 100%;\n            clear: both;\n        }\n        \n        .swiss-post-form label {\n            display: block;\n            margin-bottom: 5px;\n            font-weight: bold;\n        }\n        \n        .swiss-post-form input,\n        .swiss-post-form select {\n            width: 100%;\n            padding: 8px;\n            border: 1px solid #ccc;\n            border-radius: 4px;\n        }\n        \n        .swiss-post-form .required {\n            color: red;\n        }\n        \n        .swiss-post-form .optional {\n            color: #999;\n            font-weight: normal;\n        }\n        \n        .form-navigation {\n            margin-top: 20px;\n            clear: both;\n        }\n        \n        .form-navigation button {\n            padding: 10px 20px;\n            background: #333;\n            color: white;\n            border: none;\n            border-radius: 4px;\n            cursor: pointer;\n            margin-right: 10px;\n        }\n        \n        .form-navigation button:hover {\n            background: #555;\n        }\n        \n        .form-navigation button:disabled {\n            background: #ccc;\n            cursor: not-allowed;\n        }\n        \n        #form-messages {\n            margin-top: 15px;\n        }\n        \n        .error-message {\n            background: #f8d7da;\n            color: #721c24;\n            padding: 10px;\n            border: 1px solid #f5c6cb;\n            border-radius: 4px;\n            margin-top: 10px;\n        }\n        \n        .success-message {\n            background: #d4edda;\n            color: #155724;\n            padding: 10px;\n            border: 1px solid #c3e6cb;\n            border-radius: 4px;\n            margin-top: 10px;\n        }\n        \n        .pickup-step::after {\n            content: \"\";\n            display: table;\n            clear: both;\n        }\n    <\/style>\n    \n    <script>\n    jQuery(document).ready(function($) {\n        let currentStep = 1;\n        const totalSteps = 3;\n        \n        \/\/ Navigation functions\n        function showStep(step) {\n            $('.pickup-step').hide();\n            $('.step-' + step).show();\n            \n            if (step === 1) {\n                $('.prev-step').hide();\n                $('.next-step').show();\n                $('.submit-form').hide();\n            } else if (step === totalSteps) {\n                $('.prev-step').show();\n                $('.next-step').hide();\n                $('.submit-form').show();\n            } else {\n                $('.prev-step').show();\n                $('.next-step').show();\n                $('.submit-form').hide();\n            }\n        }\n        \n        \/\/ Validate address\n        function validateAddress() {\n            const addressData = {\n                action: 'validate_address',\n                first_name: $('#sp_first_name').val(),\n                last_name: $('#sp_last_name').val(),\n                street: $('#sp_street').val(),\n                house_number: $('#sp_house_number').val(),\n                zip: $('#sp_zip').val(),\n                city: $('#sp_city').val()\n            };\n            \n            return $.ajax({\n                url: 'https:\/\/wp.repan.ch\/wp-admin\/admin-ajax.php',\n                method: 'POST',\n                data: addressData\n            });\n        }\n        \n        \/\/ Populate delivery fields\n        function populateDeliveryFields(response) {\n            let $dateSelect = $('#sp_pickup_date');\n            let $placeSelect = $('#sp_pickup_place');\n            \n            \/\/ Clear existing options\n            $dateSelect.empty().append('<option value=\"\">Choose a date<\/option>');\n            $placeSelect.empty().append('<option value=\"\">Choose a place<\/option>');\n            \n            \/\/ Populate dates\n            if (response.data.dates) {\n                response.data.dates.forEach(function(item) {\n                    $dateSelect.append($('<option>', {\n                        value: item.date,\n                        text: item.date\n                    }));\n                });\n            }\n            \n            \/\/ Populate places\n            if (response.data.places) {\n                let seenPlaces = new Set();\n                response.data.places.forEach(function(place) {\n                    if (!seenPlaces.has(place.name)) {\n                        seenPlaces.add(place.name);\n                        let description = place.description?.de || place.description?.en || place.name;\n                        $placeSelect.append($('<option>', {\n                            value: place.name,\n                            text: description\n                        }));\n                    }\n                });\n            }\n        }\n        \n        \/\/ Show message\n        function showMessage(message, type) {\n            $('#form-messages').html('<div class=\"' + type + '-message\">' + message + '<\/div>');\n        }\n        \n        \/\/ Clear messages\n        function clearMessages() {\n            $('#form-messages').empty();\n        }\n        \n        \/\/ Next button click\n        $('.next-step').click(function() {\n            clearMessages();\n            \n            if (currentStep === 1) {\n                \/\/ Validate required fields\n                let isValid = true;\n                $('.step-1 input[required]').each(function() {\n                    if (!$(this).val()) {\n                        isValid = false;\n                        $(this).css('border-color', 'red');\n                    } else {\n                        $(this).css('border-color', '#ccc');\n                    }\n                });\n                \n                if (!isValid) {\n                    showMessage('Please fill in all required fields', 'error');\n                    return;\n                }\n                \n                \/\/ Validate address\n                validateAddress().done(function(response) {\n                    if (response.success) {\n                        populateDeliveryFields(response);\n                        currentStep++;\n                        showStep(currentStep);\n                    } else {\n                        showMessage('Ist deine Adresse eine Postfachadresse? Dann funktioniert das leider nicht. Bitte gib das Paket selber bei der Post ab oder klebe das beigelegte R\u00fccksendeetikett auf und frage den Postboden, ob er das frankierte Paket mitnehmen kann.', 'error');\n                    }\n                }).fail(function() {\n                    showMessage('Address validation failed. Please try again.', 'error');\n                });\n            } else if (currentStep === 2) {\n                \/\/ Validate date and place selection\n                if (!$('#sp_pickup_date').val() || !$('#sp_pickup_place').val()) {\n                    showMessage('Please select both date and place', 'error');\n                    return;\n                }\n                currentStep++;\n                showStep(currentStep);\n            }\n        });\n        \n        \/\/ Previous button click\n        $('.prev-step').click(function() {\n            clearMessages();\n            currentStep--;\n            showStep(currentStep);\n        });\n        \n        \/\/ Form submission\n        $('#swiss-post-pickup-form').submit(function(e) {\n            e.preventDefault();\n            clearMessages();\n            \n            \/\/ Validate contact fields\n            if (!$('#sp_email').val() || !$('#sp_phone').val()) {\n                showMessage('Please fill in all contact information', 'error');\n                return;\n            }\n            \n            \/\/ Prepare form data\n            const formData = {\n                action: 'create_swiss_post_pickup_order',\n                security: $('#security').val(),\n                first_name: $('#sp_first_name').val(),\n                last_name: $('#sp_last_name').val(),\n                company: $('#sp_company').val(),\n                street: $('#sp_street').val(),\n                house_number: $('#sp_house_number').val(),\n                city: $('#sp_city').val(),\n                zip: $('#sp_zip').val(),\n                pickup_date: $('#sp_pickup_date').val(),\n                pickup_place: $('#sp_pickup_place').val(),\n                email: $('#sp_email').val(),\n                phone: $('#sp_phone').val()\n            };\n            \n            \/\/ Submit to server\n            $.ajax({\n                url: 'https:\/\/wp.repan.ch\/wp-admin\/admin-ajax.php',\n                method: 'POST',\n                data: formData,\n                beforeSend: function() {\n                    $('.submit-form').prop('disabled', true).text('Processing...');\n                },\n                success: function(response) {\n                    if (response.success) {\n                        $('#swiss-post-pickup-form').hide();\n                        $('#form-result').html(\n                            '<div class=\"success-message\">' +\n                            '<h3>Success!<\/h3>' +\n                            '<p>Your pickup order has been created successfully.<\/p>' +\n                            '<p>Order Key: ' + response.data.orderKey + '<\/p>' +\n                            '<\/div>'\n                        ).show();\n                    } else {\n                        showMessage('Failed to create pickup order: ' + response.data, 'error');\n                        $('.submit-form').prop('disabled', false).text('Submit Order');\n                    }\n                },\n                error: function() {\n                    showMessage('An error occurred. Please try again.', 'error');\n                    $('.submit-form').prop('disabled', false).text('Submit Order');\n                }\n            });\n        });\n        \n        \/\/ Initialize\n        showStep(currentStep);\n    });\n    <\/script>\n    <\/div>\n\t\t\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":"","protected":false},"author":29,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"content-type":"","footnotes":""},"class_list":["post-314761","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Pick up - RePan<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wp.repan.ch\/en\/pick-up-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pick up\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wp.repan.ch\/en\/pick-up-2\/\" \/>\n<meta property=\"og:site_name\" content=\"RePan\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-03T19:51:37+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/pick-up-2\\\/\",\"url\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/pick-up-2\\\/\",\"name\":\"Pick up - RePan\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#website\"},\"datePublished\":\"2025-09-19T18:49:40+00:00\",\"dateModified\":\"2026-01-03T19:51:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/pick-up-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wp.repan.ch\\\/en\\\/pick-up-2\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/pick-up-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pick up\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/\",\"name\":\"RePan\",\"description\":\"Pfannen &amp; Bleche neu beschichten\",\"publisher\":{\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#organization\",\"name\":\"RePan\",\"url\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wp.repan.ch\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/LogoganzV2-hr2.webp\",\"contentUrl\":\"https:\\\/\\\/wp.repan.ch\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/LogoganzV2-hr2.webp\",\"width\":360,\"height\":195,\"caption\":\"RePan\"},\"image\":{\"@id\":\"https:\\\/\\\/wp.repan.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"hasMerchantReturnPolicy\":{\"@type\":\"MerchantReturnPolicy\",\"merchantReturnLink\":\"https:\\\/\\\/wp.repan.ch\\\/garantie_und_rueckgaberegelung\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pick up - RePan","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:\/\/wp.repan.ch\/en\/pick-up-2\/","og_locale":"en_US","og_type":"article","og_title":"Pick up","og_url":"https:\/\/wp.repan.ch\/en\/pick-up-2\/","og_site_name":"RePan","article_modified_time":"2026-01-03T19:51:37+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wp.repan.ch\/en\/pick-up-2\/","url":"https:\/\/wp.repan.ch\/en\/pick-up-2\/","name":"Pick up - RePan","isPartOf":{"@id":"https:\/\/wp.repan.ch\/en\/#website"},"datePublished":"2025-09-19T18:49:40+00:00","dateModified":"2026-01-03T19:51:37+00:00","breadcrumb":{"@id":"https:\/\/wp.repan.ch\/en\/pick-up-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wp.repan.ch\/en\/pick-up-2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/wp.repan.ch\/en\/pick-up-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wp.repan.ch\/en\/"},{"@type":"ListItem","position":2,"name":"Pick up"}]},{"@type":"WebSite","@id":"https:\/\/wp.repan.ch\/en\/#website","url":"https:\/\/wp.repan.ch\/en\/","name":"RePan","description":"Pfannen &amp; Bleche neu beschichten","publisher":{"@id":"https:\/\/wp.repan.ch\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wp.repan.ch\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/wp.repan.ch\/en\/#organization","name":"RePan","url":"https:\/\/wp.repan.ch\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wp.repan.ch\/en\/#\/schema\/logo\/image\/","url":"https:\/\/wp.repan.ch\/wp-content\/uploads\/2025\/03\/LogoganzV2-hr2.webp","contentUrl":"https:\/\/wp.repan.ch\/wp-content\/uploads\/2025\/03\/LogoganzV2-hr2.webp","width":360,"height":195,"caption":"RePan"},"image":{"@id":"https:\/\/wp.repan.ch\/en\/#\/schema\/logo\/image\/"},"hasMerchantReturnPolicy":{"@type":"MerchantReturnPolicy","merchantReturnLink":"https:\/\/wp.repan.ch\/garantie_und_rueckgaberegelung\/"}}]}},"_links":{"self":[{"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/pages\/314761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/comments?post=314761"}],"version-history":[{"count":0,"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/pages\/314761\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.repan.ch\/en\/wp-json\/wp\/v2\/media?parent=314761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}