{"id":38758,"date":"2025-12-16T13:27:09","date_gmt":"2025-12-16T10:27:09","guid":{"rendered":"https:\/\/garipesa.com\/?page_id=38758"},"modified":"2026-05-14T00:00:21","modified_gmt":"2026-05-13T21:00:21","slug":"calculator-kubadili-umiliki","status":"publish","type":"page","link":"https:\/\/garipesa.com\/en\/calculator-kubadili-umiliki\/","title":{"rendered":"Calculator Kubadili Umiliki"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"38758\" class=\"elementor elementor-38758\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-acca61d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"acca61d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-94bde56\" data-id=\"94bde56\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ef62324 elementor-widget elementor-widget-spacer\" data-id=\"ef62324\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-40fa550 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"40fa550\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-57830a8\" data-id=\"57830a8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-106fdf4\" data-id=\"106fdf4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-98fb405 elementor-widget elementor-widget-shortcode\" data-id=\"98fb405\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2\" class=\"gp-vfees-root\">\n            <style>\n                \/* Make all text inside widget white for readability *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2,\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 *{\n                    color: #fff;\n                }\n\n                \/* Launcher button *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-launch {\n                    padding: 12px 16px;\n                    border-radius: 10px;\n                    border: 0;\n                    cursor: pointer;\n                    background: #ff7a00;\n                    color: #fff;\n                    font-weight: 900;\n                    display: block;\n                    margin: 0 auto; \/* centers horizontally *\/\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-launch:hover{ background:#e56e00; }\n\n                \/* Modal *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal{\n                    position: fixed;\n                    inset: 0;\n                    display: none;\n                    z-index: 999999;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal.is-open{ display:block; }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__overlay{\n                    position:absolute;\n                    inset:0;\n                    background: rgba(0,0,0,0.70);\n                }\n\n                \/* Solid panel background *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__panel{\n                    position:relative;\n                    max-width: 620px;\n                    margin: 25vh auto;\n                    padding: 0;\n                    border-radius: 14px;\n                    overflow: hidden;\n                    z-index: 1;\n\n                    background: #111;\n                    border: 1px solid rgba(255,255,255,0.18);\n                    box-shadow: 0 14px 40px rgba(0,0,0,0.65);\n                }\n                @media (max-width: 640px){\n                    #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__panel{ margin: 20vh 12px; }\n                }\n\n                \/* Head background solid *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__head{\n                    display:flex;\n                    align-items:center;\n                    justify-content:space-between;\n                    gap: 10px;\n                    padding: 12px 14px;\n\n                    background: #0d0d0d;\n                    border-bottom: 1px solid rgba(255,255,255,0.12);\n                }\n\n                \/* \u2705 More visible close button *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__close{\n                    width: 42px;\n                    height: 42px;\n                    border-radius: 12px;\n                    border: 2px solid rgba(255,122,0,0.95);\n                    background: #ff7a00;\n                    color: #fff;\n                    cursor:pointer;\n                    font-weight: 900;\n                    font-size: 18px;\n                    line-height: 1;\n                    display:flex;\n                    align-items:center;\n                    justify-content:center;\n                    box-shadow: 0 10px 24px rgba(0,0,0,0.45);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__close:hover{\n                    background:#e56e00;\n                    border-color: rgba(255,122,0,1);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__close:focus{\n                    outline: none;\n                    box-shadow: 0 0 0 3px rgba(255,122,0,0.35), 0 10px 24px rgba(0,0,0,0.45);\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-modal__body{ padding: 0; }\n\n                \/* Calculator container solid *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-vfees-steps{\n                    max-width: 100%;\n                    padding: 16px;\n                    border-radius: 0 0 14px 14px;\n                    background: #121212;\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-title{\n                    margin: 0;\n                    font-size: 16px;\n                    font-weight: 900;\n                }\n\n                \/* Slightly brighter labels on black *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 label{\n                    display:block;\n                    font-size: 13px;\n                    opacity: 0.95;\n                    margin: 10px 0 6px;\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 input[type=\"text\"]{\n                    width: 100%;\n                    padding: 12px 12px;\n                    border-radius: 10px;\n                    border: 1px solid rgba(255,255,255,0.22);\n                    background: rgba(0,0,0,0.30);\n                    color: #fff;\n                    outline: none;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 input::placeholder{ color: rgba(255,255,255,0.70); }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-row{\n                    display:flex;\n                    gap:10px;\n                    flex-wrap:wrap;\n                    margin-top: 12px;\n                    align-items:center;\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 button.gp-btn{\n                    padding: 12px 16px;\n                    border-radius: 10px;\n                    border: 0;\n                    cursor: pointer;\n                    background: #ff7a00;\n                    color: #fff;\n                    font-weight: 800;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 button.gp-btn:hover{ background:#e56e00; }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 button.gp-btn:disabled{ opacity:0.7; cursor:not-allowed; }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-loading{\n                    display:none;\n                    margin-left: 6px;\n                    font-size: 13px;\n                    opacity: 0.9;\n                }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-msg{\n                    margin-top: 12px;\n                    padding: 10px 12px;\n                    border-radius: 10px;\n                    display:none;\n                    border: 1px solid rgba(255,255,255,0.18);\n                    background: rgba(0,0,0,0.22);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-msg.ok{ display:block; }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-msg.err{ display:block; border-color: rgba(255,120,120,0.65); }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-hidden{ display:none !important; }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-back{\n                    background: transparent !important;\n                    color: #ff7a00 !important;\n                    border: 1px solid rgba(255,122,0,0.55) !important;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-back:hover{ background: rgba(255,122,0,0.12) !important; }\n\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-confirm{\n                    margin-top: 10px;\n                    padding: 10px 12px;\n                    border-radius: 10px;\n                    border: 1px dashed rgba(255,255,255,0.22);\n                    font-size: 13px;\n                    opacity: 0.98;\n                    background: rgba(0,0,0,0.18);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-confirm strong{ font-weight: 900; }\n\n                \/* Type step *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-box{\n                    padding: 12px;\n                    border-radius: 12px;\n                    border: 1px solid rgba(255,255,255,0.16);\n                    background: rgba(0,0,0,0.16);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-title{\n                    font-weight: 900;\n                    margin: 0 0 10px 0;\n                    font-size: 15px;\n\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-options{\n                    display:flex;\n                    gap:10px;\n                    flex-wrap:wrap;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-opt{\n                    flex: 1 1 140px;\n                    padding: 12px 14px;\n                    border-radius: 12px;\n                    border: 1px solid rgba(255,255,255,0.20);\n                    background: rgba(0,0,0,0.18);\n                    cursor: pointer;\n                    font-weight: 900;\n                    text-align:center;\n                    user-select:none;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-opt:hover{\n                    border-color: rgba(255,122,0,0.65);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-type-opt.is-active{\n                    border-color: rgba(255,122,0,0.95);\n                    box-shadow: 0 0 0 2px rgba(255,122,0,0.18) inset;\n                }\n\n                \/* Confirmation step *\/\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-phone-confirm{\n                    padding: 12px;\n                    border-radius: 12px;\n                    border: 1px solid rgba(255,255,255,0.16);\n                    background: rgba(0,0,0,0.16);\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-phone-confirm__title{\n                    font-weight: 900;\n                    margin: 0 0 6px 0;\n                    font-size: 15px;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-phone-confirm__text{\n                    margin: 0 0 10px 0;\n                    opacity: 0.95;\n                    font-size: 13px;\n                }\n                #gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2 .gp-phone-confirm__num{\n                    padding: 10px 12px;\n                    border-radius: 10px;\n                    border: 1px dashed rgba(255,255,255,0.22);\n                    font-size: 14px;\n                    font-weight: 900;\n                    letter-spacing: 0.2px;\n                    background: rgba(0,0,0,0.18);\n                }\n            <\/style>\n\n            <button type=\"button\" class=\"gp-launch\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_open\">Kikokotoo Cha Gharama Za Kubadili Umiliki TRA<\/button>\n\n            <div class=\"gp-modal\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_modal\" aria-hidden=\"true\">\n                <div class=\"gp-modal__overlay\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_overlay\"><\/div>\n\n                <div class=\"gp-modal__panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_modal_title\">\n                    <div class=\"gp-modal__head\">\n                        <div class=\"gp-title\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_modal_title\">Kikokotoo Cha Gharama Za Kubadili Umiliki TRA<\/div>\n                        <button type=\"button\" class=\"gp-modal__close\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_close\" aria-label=\"Close\">\u2715<\/button>\n                    <\/div>\n\n                    <div class=\"gp-modal__body\">\n                        <div class=\"gp-vfees-steps\">\n                            <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_form\">\n\n                                <!-- Step 1: Owner role -->\n                                <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_step_role\">\n                                    <div class=\"gp-type-box\">\n                                        <div class=\"gp-type-title\">Wewe Ni Nani Kwenye Umiliki?<\/div>\n                                        <div class=\"gp-type-options\">\n                                            <div class=\"gp-type-opt\" data-role=\"seller\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_role_seller\">Mmiliki Wa Zamani (Seller)<\/div>\n                                            <div class=\"gp-type-opt\" data-role=\"buyer\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_role_buyer\">Mmiliki Mpya (Buyer)<\/div>\n                                        <\/div>\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_btn_role\">Endelea<\/button>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- Step 2: Vehicle type -->\n                                <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_step_type\" class=\"gp-hidden\">\n                                    <div class=\"gp-type-box\">\n                                        <div class=\"gp-type-title\">Chagua Aina Ya Chombo:<\/div>\n                                        <div class=\"gp-type-options\">\n                                            <div class=\"gp-type-opt\" data-type=\"car\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_type_car\">Gari<\/div>\n                                            <div class=\"gp-type-opt\" data-type=\"bajaji\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_type_bajaji\">Bajaji<\/div>\n                                            <div class=\"gp-type-opt\" data-type=\"pikipiki\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_type_pikipiki\">Pikipiki<\/div>\n                                        <\/div>\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_back_to_role\">\u2190 Rudi Nyuma<\/button>\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_btn_type\">Endelea<\/button>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n\n                                <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_step_price\" class=\"gp-hidden\">\n                                    <label for=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_price\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_price_label\">Vehicle Price (TSh)<\/label>\n                                    <input id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_price\" type=\"text\" inputmode=\"numeric\" placeholder=\"Mfano: 25,000,000\" autocomplete=\"off\" \/>\n                                    <div class=\"gp-row\">\n                                        <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_back_to_type\">\u2190 Rudi Nyuma<\/button>\n                                        <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_btn_price\">Piga Hesabu<\/button>\n                                        <span class=\"gp-loading\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_loading_price\">Inahesabu\u2026<\/span>\n                                    <\/div>\n                                <\/div>\n\n                                <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_step_phone\" class=\"gp-hidden\">\n                                    <div class=\"gp-confirm\">\n                                        Hesabu za <strong id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_confirm_type\">\u2014<\/strong> yako ya <strong id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_confirm_price\">\u2014<\/strong> zimekamilika.\n                                        Weka jina na namba ya simu utatumiwa gharama zote za TRA kwa SMS sasa hivi (BURE).\n                                    <\/div>\n\n                                    <label for=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_name\">Jina Lako<\/label>\n                                    <input id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_name\" type=\"text\" inputmode=\"text\" placeholder=\"Mfano: John Mlay\" autocomplete=\"name\" \/>\n\n                                    <label for=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_phone\">Namba Ya Simu<\/label>\n                                    <input id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_phone\" type=\"text\" inputmode=\"tel\" placeholder=\"Mfano: 0712345678\" autocomplete=\"tel\" \/>\n\n                                    <div class=\"gp-row\">\n                                        <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_back_to_price\">\u2190 Rudi Nyuma<\/button>\n                                        <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_btn_phone\">Endelea<\/button>\n                                    <\/div>\n                                <\/div>\n\n                                <div id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_step_confirm\" class=\"gp-hidden\">\n                                    <div class=\"gp-phone-confirm\">\n                                        <div class=\"gp-phone-confirm__title\">HAKIKI NAMBA YA SIMU<\/div>\n                                        <div class=\"gp-phone-confirm__text\">Tafadhali hakikisha namba uliyoweka ni sahihi, kisha bofya &quot;Tuma SMS&quot;.<\/div>\n                                        <div class=\"gp-phone-confirm__num\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_confirm_phone_num\">\u2014<\/div>\n\n                                        <div class=\"gp-row\" style=\"margin-top:12px;\">\n                                            <button type=\"button\" class=\"gp-btn gp-back\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_confirm_edit\">\u2190 Si Sahihi (Badili Namba)<\/button>\n                                            <button type=\"button\" class=\"gp-btn\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_confirm_send\">Tuma SMS<\/button>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"gp-loading\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_loading_send\">Inatuma SMS\u2026<\/span>\n                                        <\/div>\n\t\t\t\t\t\t\t\t\t\t<span style=\"display:inline;font-weight:normal;font-style:normal;color:inherit;font-size:10px;\">\n    Kwa kubofya \"Tuma SMS\" Unakubali kupokea SMS kutoka GariPesa na washirika wake.\n<\/span>\n\n                                    <\/div>\n                                <\/div>\n\n                                <div class=\"gp-msg ok\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_ok\"><\/div>\n                                <div class=\"gp-msg err\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_err\"><\/div>\n                            <\/div>\n\n                            <div class=\"gp-msg ok\" id=\"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2_final_ok\" style=\"display:none;\"><\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <script>\n                (function(){\n                    const uid = \"gp_vfees_e90f3091-2464-4931-b1a2-7da3ee6cb7e2\";\n\n                    const openBtn  = document.getElementById(uid + '_open');\n                    const modal    = document.getElementById(uid + '_modal');\n                    const overlay  = document.getElementById(uid + '_overlay');\n                    const closeBtn = document.getElementById(uid + '_close');\n\n                    const wrapForm = document.getElementById(uid + '_form');\n\n                    const stepRole    = document.getElementById(uid + '_step_role');\n                    const stepType    = document.getElementById(uid + '_step_type');\n                    const stepPrice   = document.getElementById(uid + '_step_price');\n                    const stepPhone   = document.getElementById(uid + '_step_phone');\n                    const stepConfirm = document.getElementById(uid + '_step_confirm');\n\n                    const priceEl = document.getElementById(uid + '_price');\n                    const priceLabelEl = document.getElementById(uid + '_price_label');\n\n                    const nameEl  = document.getElementById(uid + '_name');\n                    const phoneEl = document.getElementById(uid + '_phone');\n\n                    const btnRole  = document.getElementById(uid + '_btn_role');\n                    const btnType  = document.getElementById(uid + '_btn_type');\n                    const btnPrice = document.getElementById(uid + '_btn_price');\n                    const btnPhone = document.getElementById(uid + '_btn_phone');\n\n                    const backToRole = document.getElementById(uid + '_back_to_role');\n                    const backToType  = document.getElementById(uid + '_back_to_type');\n                    const backToPrice = document.getElementById(uid + '_back_to_price');\n\n                    const loadingPrice = document.getElementById(uid + '_loading_price');\n                    const loadingSend  = document.getElementById(uid + '_loading_send');\n\n                    const btnConfirmEdit = document.getElementById(uid + '_confirm_edit');\n                    const btnConfirmSend = document.getElementById(uid + '_confirm_send');\n\n                    const confirmTypeEl  = document.getElementById(uid + '_confirm_type');\n                    const confirmPriceEl = document.getElementById(uid + '_confirm_price');\n                    const confirmPhoneEl = document.getElementById(uid + '_confirm_phone_num');\n\n                    const okBox   = document.getElementById(uid + '_ok');\n                    const errBox  = document.getElementById(uid + '_err');\n                    const finalOk = document.getElementById(uid + '_final_ok');\n\n                    const typeOpts = Array.prototype.slice.call(document.querySelectorAll('#' + uid + ' .gp-type-opt[data-type]'));\n                    const roleOpts = Array.prototype.slice.call(document.querySelectorAll('#' + uid + ' .gp-type-opt[data-role]'));\n\n                    let storedOwnerRole = '';\n                    let storedType = '';\n                    let storedTypeLabel = '';\n                    let storedPriceDigits = '';\n                    let storedPricePretty = '';\n\n                    function lockBody(lock){\n                        try{\n                            document.body.style.overflow = lock ? 'hidden' : '';\n                        }catch(e){}\n                    }\n\n                    function openModal(){\n                        modal.classList.add('is-open');\n                        modal.setAttribute('aria-hidden', 'false');\n                        lockBody(true);\n                        setTimeout(function(){\n                            (document.getElementById(uid + '_role_seller') || openBtn).focus?.();\n                        }, 50);\n                    }\n\n                    function closeModal(){\n                        modal.classList.remove('is-open');\n                        modal.setAttribute('aria-hidden', 'true');\n                        lockBody(false);\n                        resetAll();\n                    }\n\n                    function showOnly(step) {\n                        stepRole.classList.add('gp-hidden');\n                        stepType.classList.add('gp-hidden');\n                        stepPrice.classList.add('gp-hidden');\n                        stepPhone.classList.add('gp-hidden');\n                        stepConfirm.classList.add('gp-hidden');\n                        step.classList.remove('gp-hidden');\n                    }\n\n                    function showErr(msg){\n                        errBox.textContent = msg;\n                        errBox.style.display = 'block';\n                        okBox.style.display = 'none';\n                    }\n                    function clearMsgs(){\n                        errBox.style.display = 'none';\n                        okBox.style.display = 'none';\n                        errBox.textContent = '';\n                        okBox.textContent = '';\n                    }\n\n                    function setLoading(el, isLoading){\n                        el.style.display = isLoading ? 'inline' : 'none';\n                    }\n\n                    function formatWithCommas(digits){\n                        if(!digits) return '';\n                        digits = digits.replace(\/^0+\/, '') || '0';\n                        return digits.replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\n                    }\n\n                    function digitsOnly(v){\n                        return (v || '').toString().replace(\/[^\\d]\/g, '');\n                    }\n\n                    function setPriceFormatted(){\n                        const d = digitsOnly(priceEl.value);\n                        priceEl.value = formatWithCommas(d);\n                    }\n\n                    function labelForType(t){\n                        if(t === 'bajaji') return \"Bajaji\";\n                        if(t === 'pikipiki') return \"Pikipiki\";\n                        return \"Gari\";\n                    }\n\n                    function priceLabelForType(t){\n                        if(t === 'bajaji') return 'Bei Ya Bajaji (TSh)';\n                        if(t === 'pikipiki') return 'Bei Ya Pikipiki (TSh)';\n                        return 'Bei Ya Gari (TSh)';\n                    }\n\n                    function applyPriceLabel(){\n                        if(!priceLabelEl) return;\n                        priceLabelEl.textContent = priceLabelForType(storedType);\n                    }\n\n                    function resetAll(){\n                        storedOwnerRole = '';\n                        storedType = '';\n                        storedTypeLabel = '';\n                        storedPriceDigits = '';\n                        storedPricePretty = '';\n\n                        if(priceEl) priceEl.value = '';\n                        if(nameEl) nameEl.value = '';\n                        if(phoneEl) phoneEl.value = '';\n\n                        clearMsgs();\n                        if(finalOk){\n                            finalOk.style.display = 'none';\n                            finalOk.textContent = '';\n                        }\n\n                        if(btnPrice) btnPrice.disabled = false;\n                        if(btnConfirmSend) btnConfirmSend.disabled = false;\n                        if(btnConfirmEdit) btnConfirmEdit.disabled = false;\n                        setLoading(loadingPrice, false);\n                        setLoading(loadingSend, false);\n\n                        typeOpts.forEach(function(x){ x.classList.remove('is-active'); });\n                        roleOpts.forEach(function(x){ x.classList.remove('is-active'); });\n\n                        if(priceLabelEl) priceLabelEl.textContent = 'Vehicle Price (TSh)';\n                        if(confirmTypeEl) confirmTypeEl.textContent = '\u2014';\n                        if(confirmPriceEl) confirmPriceEl.textContent = '\u2014';\n                        if(confirmPhoneEl) confirmPhoneEl.textContent = '\u2014';\n\n                        if(wrapForm) wrapForm.classList.remove('gp-hidden');\n                        showOnly(stepRole);\n                    }\n\n                    openBtn.addEventListener('click', function(){ openModal(); });\n                    closeBtn.addEventListener('click', function(){ closeModal(); });\n                    overlay.addEventListener('click', function(){ closeModal(); });\n                    document.addEventListener('keydown', function(e){\n                        if(!modal.classList.contains('is-open')) return;\n                        if(e.key === 'Escape'){ e.preventDefault(); closeModal(); }\n                    });\n\n                    roleOpts.forEach(function(el){\n                        el.addEventListener('click', function(){\n                            clearMsgs();\n                            roleOpts.forEach(function(x){ x.classList.remove('is-active'); });\n                            el.classList.add('is-active');\n                            storedOwnerRole = el.getAttribute('data-role') || '';\n                        });\n                    });\n\n                    typeOpts.forEach(function(el){\n                        el.addEventListener('click', function(){\n                            clearMsgs();\n                            typeOpts.forEach(function(x){ x.classList.remove('is-active'); });\n                            el.classList.add('is-active');\n                            storedType = el.getAttribute('data-type') || '';\n                            storedTypeLabel = labelForType(storedType);\n                            applyPriceLabel();\n                        });\n                    });\n\n                    priceEl.addEventListener('input', setPriceFormatted);\n\n                    btnRole.addEventListener('click', function(){\n                        clearMsgs();\n                        if(!storedOwnerRole){\n                            showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).');\n                            return;\n                        }\n                        showOnly(stepType);\n                        setTimeout(function(){\n                            (document.getElementById(uid + '_type_car') || btnType).focus?.();\n                        }, 30);\n                    });\n\n                    backToRole.addEventListener('click', function(){\n                        clearMsgs();\n                        showOnly(stepRole);\n                    });\n\n                    btnType.addEventListener('click', function(){\n                        clearMsgs();\n                        if(!storedOwnerRole){\n                            showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).');\n                            showOnly(stepRole);\n                            return;\n                        }\n                        if(!storedType){\n                            showErr('Tafadhali chagua aina ya chombo (Gari\/Bajaji\/Pikipiki).');\n                            return;\n                        }\n                        applyPriceLabel();\n                        showOnly(stepPrice);\n                        priceEl.focus();\n                    });\n\n                    backToType.addEventListener('click', function(){\n                        clearMsgs();\n                        showOnly(stepType);\n                    });\n\n                    btnPrice.addEventListener('click', function(){\n                        clearMsgs();\n\n                        if(!storedOwnerRole){\n                            showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).');\n                            showOnly(stepRole);\n                            return;\n                        }\n\n                        if(!storedType){\n                            showErr('Tafadhali chagua aina ya chombo (Gari\/Bajaji\/Pikipiki).');\n                            showOnly(stepType);\n                            return;\n                        }\n\n                        const d = digitsOnly(priceEl.value);\n                        if(!d || parseInt(d, 10) <= 0){\n                            showErr('Tafadhali weka bei sahihi.');\n                            return;\n                        }\n\n                        storedPriceDigits = d;\n                        storedPricePretty = 'TSh ' + formatWithCommas(d);\n\n                        setLoading(loadingPrice, true);\n                        btnPrice.disabled = true;\n\n                        setTimeout(function(){\n                            setLoading(loadingPrice, false);\n                            btnPrice.disabled = false;\n\n                            confirmTypeEl.textContent  = storedTypeLabel;\n                            confirmPriceEl.textContent = storedPricePretty;\n\n                            showOnly(stepPhone);\n                            if(nameEl) nameEl.focus();\n                        }, 700);\n                    });\n\n                    backToPrice.addEventListener('click', function(){\n                        clearMsgs();\n                        showOnly(stepPrice);\n                        priceEl.focus();\n                        const val = priceEl.value || '';\n                        priceEl.setSelectionRange(val.length, val.length);\n                    });\n\n                    btnPhone.addEventListener('click', function(){\n                        clearMsgs();\n\n                        if(!storedOwnerRole){\n                            showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).');\n                            showOnly(stepRole);\n                            return;\n                        }\n\n                        if(!storedType){\n                            showErr('Tafadhali chagua aina ya chombo (Gari\/Bajaji\/Pikipiki).');\n                            showOnly(stepType);\n                            return;\n                        }\n\n                        if(!storedPriceDigits){\n                            showErr('Tafadhali anza kwa kuweka bei kwanza.');\n                            showOnly(stepPrice);\n                            return;\n                        }\n\n                        const nameRaw = (nameEl.value || '').trim();\n                        if(!nameRaw){\n                            showErr('Tafadhali weka jina lako.');\n                            return;\n                        }\n\n                        const phoneRaw = (phoneEl.value || '').trim();\n                        if(!phoneRaw){\n                            showErr('Tafadhali weka namba ya simu.');\n                            return;\n                        }\n\n                        confirmPhoneEl.textContent = phoneRaw;\n                        showOnly(stepConfirm);\n                        btnConfirmSend.focus();\n                    });\n\n                    btnConfirmEdit.addEventListener('click', function(){\n                        clearMsgs();\n                        showOnly(stepPhone);\n                        phoneEl.focus();\n                        const v = phoneEl.value || '';\n                        phoneEl.setSelectionRange(v.length, v.length);\n                    });\n\n                    \/\/ \u2705 NEW: fetch a fresh nonce right before submit (cache-safe)\n                    async function fetchFreshNonce(){\n                        const fd = new FormData();\n                        fd.append('action', 'gp_vfees_get_nonce');\n\n                        try{\n                            const res = await fetch(\"https:\\\/\\\/garipesa.com\\\/wp-admin\\\/admin-ajax.php\", {\n                                method: 'POST',\n                                credentials: 'same-origin',\n                                body: fd\n                            });\n\n                            const data = await res.json();\n                            if(data && data.success && data.data && data.data.nonce){\n                                return String(data.data.nonce);\n                            }\n                        }catch(e){}\n\n                        return '';\n                    }\n\n                    async function sendNow(){\n                        clearMsgs();\n\n                        if(!storedOwnerRole){\n                            showErr('Tafadhali chagua kama wewe ni Mmiliki Wa Zamani (Seller) au Mmiliki Mpya (Buyer).');\n                            showOnly(stepRole);\n                            return;\n                        }\n\n                        if(!storedType){\n                            showErr('Tafadhali chagua aina ya chombo (Gari\/Bajaji\/Pikipiki).');\n                            showOnly(stepType);\n                            return;\n                        }\n\n                        if(!storedPriceDigits){\n                            showErr('Tafadhali anza kwa kuweka bei kwanza.');\n                            showOnly(stepPrice);\n                            return;\n                        }\n\n                        const name = (nameEl.value || '').trim();\n                        if(!name){\n                            showErr('Tafadhali weka jina lako.');\n                            showOnly(stepPhone);\n                            return;\n                        }\n\n                        const phone = (phoneEl.value || '').trim();\n                        if(!phone){\n                            showErr('Tafadhali weka namba ya simu.');\n                            showOnly(stepPhone);\n                            return;\n                        }\n\n                        btnConfirmSend.disabled = true;\n                        btnConfirmEdit.disabled = true;\n                        setLoading(loadingSend, true);\n\n                        \/\/ \u2705 get fresh nonce\n                        const freshNonce = await fetchFreshNonce();\n                        if(!freshNonce){\n                            showErr('Imeshindikana kupata token ya usalama. Tafadhali jaribu tena.');\n                            showOnly(stepPhone);\n                            btnConfirmSend.disabled = false;\n                            btnConfirmEdit.disabled = false;\n                            setLoading(loadingSend, false);\n                            return;\n                        }\n\n                        const fd = new FormData();\n                        fd.append('action', 'gp_vfees_submit');\n                        fd.append('nonce', freshNonce);\n                        fd.append('owner_role', storedOwnerRole);\n                        fd.append('vehicle_type', storedType);\n                        fd.append('vehicle_price', storedPriceDigits);\n                        fd.append('name', name);\n                        fd.append('phone', phone);\n\n                        try {\n                            const res = await fetch(\"https:\\\/\\\/garipesa.com\\\/wp-admin\\\/admin-ajax.php\", {\n                                method: 'POST',\n                                credentials: 'same-origin',\n                                body: fd\n                            });\n                            const data = await res.json();\n\n                            if(data && data.success){\n\n                                (function(){\n                                    try {\n                                        const k = 'gp_vfees_conv_fired_v1';\n                                        if (window.sessionStorage && window.sessionStorage.getItem(k) === '1') return;\n\n                                        const t = (storedType || '').toLowerCase();\n                                        const suffix = (t === 'bajaji' || t === 'pikipiki' || t === 'car') ? t : 'car';\n                                        const eventName = 'Usajili_lead_submitted_' + suffix;\n\n                                        const value = 1;\n                                        const currency = 'USD';\n\n                                        if (typeof window.gtag === 'function') {\n                                            window.gtag('event', eventName, { value: value, currency: currency });\n                                        }\n                                        if (window.dataLayer && Array.isArray(window.dataLayer)) {\n                                            window.dataLayer.push({ event: eventName, value: value, currency: currency });\n                                        }\n                                        if (typeof window.fbq === 'function') {\n                                            window.fbq('trackCustom', eventName, { value: value, currency: currency });\n                                        }\n\n                                        if (window.sessionStorage) window.sessionStorage.setItem(k, '1');\n                                    } catch(e) {}\n                                })();\n\n                                wrapForm.classList.add('gp-hidden');\n                                finalOk.textContent = \"Ahsante! Tumekutumia SMS. Hifadhi ujumbe huo kwa marejeo.\";\n                                finalOk.style.display = 'block';\n                            } else {\n                                const msg = (data && data.data && data.data.message) ? data.data.message : 'Imeshindikana. Tafadhali jaribu tena.';\n                                showErr(msg);\n                                showOnly(stepPhone);\n                            }\n                        } catch(e){\n                            showErr('Kuna tatizo la mtandao. Tafadhali jaribu tena.');\n                            showOnly(stepPhone);\n                        } finally {\n                            btnConfirmSend.disabled = false;\n                            btnConfirmEdit.disabled = false;\n                            setLoading(loadingSend, false);\n                        }\n                    }\n\n                    btnConfirmSend.addEventListener('click', sendNow);\n\n                    priceEl.addEventListener('keydown', function(e){\n                        if(e.key === 'Enter'){ e.preventDefault(); btnPrice.click(); }\n                    });\n                    if(nameEl){\n                        nameEl.addEventListener('keydown', function(e){\n                            if(e.key === 'Enter'){ e.preventDefault(); btnPhone.click(); }\n                        });\n                    }\n                    phoneEl.addEventListener('keydown', function(e){\n                        if(e.key === 'Enter'){ e.preventDefault(); btnPhone.click(); }\n                    });\n\n                    resetAll();\n                })();\n            <\/script>\n        <\/div>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-7dc6314\" data-id=\"7dc6314\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8d5512c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8d5512c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ab51615\" data-id=\"ab51615\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-62513d6 elementor-widget elementor-widget-spacer\" data-id=\"62513d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":81,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-38758","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/users\/81"}],"replies":[{"embeddable":true,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/comments?post=38758"}],"version-history":[{"count":6,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758\/revisions"}],"predecessor-version":[{"id":49040,"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/pages\/38758\/revisions\/49040"}],"wp:attachment":[{"href":"https:\/\/garipesa.com\/en\/wp-json\/wp\/v2\/media?parent=38758"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}