{"id":5582,"date":"2025-09-11T07:41:24","date_gmt":"2025-09-11T07:41:24","guid":{"rendered":"https:\/\/vettio.com\/blog\/?p=5582"},"modified":"2025-09-12T07:41:50","modified_gmt":"2025-09-12T07:41:50","slug":"resident-identity-ksa-guide","status":"publish","type":"post","link":"https:\/\/vettio.com\/blog\/resident-identity-ksa-guide\/","title":{"rendered":"Everything You Need to Know About the Resident Identity Card in KSA"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/12073651\/Everything-You-Need-to-Know-About-the-Resident-Identity-Card-in-KSA.jpg\" alt=\"iqama logo\" class=\"wp-image-5635\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/12073651\/Everything-You-Need-to-Know-About-the-Resident-Identity-Card-in-KSA.jpg 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/12073651\/Everything-You-Need-to-Know-About-the-Resident-Identity-Card-in-KSA-300x150.jpg 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/12073651\/Everything-You-Need-to-Know-About-the-Resident-Identity-Card-in-KSA-768x384.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-1 wp-block-group-is-layout-flex\">\n<p class=\"has-large-font-size\"><strong>TL;DR<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resident identity KSA (iqama) is the legal ID for expats in Saudi Arabia.<\/li>\n\n\n\n<li>Mandatory for nearly all foreigners under employer sponsorship.<\/li>\n\n\n\n<li>Requires a passport, contract, medical exam, photos, and sponsor docs.<\/li>\n\n\n\n<li>Renew and check status via Absher or Muqeem.<\/li>\n\n\n\n<li>Needed for banking, healthcare, housing, and daily services.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<p>Living in Saudi Arabia without the correct documents feels like trying to drive blindfolded. Many expats work, study, or stay in the Kingdom and don\u2019t fully understand the rules around the resident identity KSA. When your residency permit (iqama) isn\u2019t clear or valid, small things become big problems, like renting a place, getting a SIM card, or just proving who you are.<\/p>\n\n\n\n<p>This blog explains what the resident identity card KSA means and who needs it. You\u2019ll learn exactly what documents to gather, how to appl,y and what everyday uses the resident identity card in Saudi Arabia has. After reading, you\u2019ll feel confident handling your Kingdom of Saudi Arabia resident identity process without surprises.<\/p>\n\n\n\n<!-- Iqama Myth or Fact - Quick Poll -->\n<section class=\"iqama-poll\" data-widget=\"iqama-poll\">\n  <style>\n    .iqama-poll, .iqama-poll * { box-sizing: border-box; }\n    .iqama-poll{\n      --bg:#0b0b0b;               \/* black *\/\n      --panel:#121212;            \/* near black *\/\n      --ink:#ffffff;              \/* white *\/\n      --muted:#cfd2d6;\n      --accent:#FAA61A;           \/* orange *\/\n      --accent-ink:#131313;\n      --ok:#2ecc71;\n      --bad:#ff4d4f;\n\n      background:var(--bg);\n      color:var(--ink);\n      max-width:100%;\n      border:1px solid #1e1e1e;\n      border-radius:16px;\n      padding:18px;\n      box-shadow:0 10px 24px rgba(0,0,0,.35);\n      font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;\n    }\n    .iqama-poll h3{\n      margin:0 0 10px 0;\n      font-size:1.15rem;\n      line-height:1.3;\n      color:var(--ink);\n    }\n    .iqama-poll .lead{\n      font-size:.95rem;\n      color:var(--muted);\n      margin:0 0 14px 0;\n    }\n    .iqama-poll .card{\n      background:var(--panel);\n      border:1px solid #202020;\n      border-radius:14px;\n      padding:14px;\n      margin:10px 0;\n    }\n    .iqama-poll .q{\n      font-weight:600;\n      margin:0 0 10px;\n      font-size:.98rem;\n    }\n\n    \/* Slider True\/False *\/\n    .iqama-poll .tf-row{\n      display:flex;\n      align-items:center;\n      gap:10px;\n    }\n    .iqama-poll .tf-row .label{\n      min-width:56px;\n      font-size:.9rem;\n      color:var(--muted);\n    }\n    .iqama-poll input[type=\"range\"]{\n      -webkit-appearance:none;\n      width:100%;\n      height:18px;\n      background:transparent;\n      outline:none;\n    }\n    .iqama-poll input[type=\"range\"]::-webkit-slider-runnable-track{\n      height:8px;\n      background:linear-gradient(90deg, #444 0%, #444 50%, var(--accent) 50%, var(--accent) 100%);\n      border-radius:999px;\n    }\n    .iqama-poll input[type=\"range\"]::-moz-range-track{\n      height:8px;\n      background:#444;\n      border-radius:999px;\n    }\n    .iqama-poll input[type=\"range\"]::-webkit-slider-thumb{\n      -webkit-appearance:none;\n      width:22px; height:22px;\n      border-radius:50%;\n      background:var(--ink);\n      border:3px solid var(--accent);\n      margin-top:-7px; \/* centers thumb *\/\n      cursor:pointer;\n      transition:transform .12s ease;\n    }\n    .iqama-poll input[type=\"range\"]:active::-webkit-slider-thumb{ transform:scale(1.05); }\n    .iqama-poll .tf-hint{\n      display:flex;\n      justify-content:space-between;\n      font-size:.8rem;\n      color:var(--muted);\n      margin-top:6px;\n    }\n\n    .iqama-poll .actions{\n      display:flex;\n      gap:10px;\n      margin-top:12px;\n      flex-wrap:wrap;\n    }\n    .iqama-poll .btn{\n      background:var(--accent);\n      color:var(--accent-ink);\n      border:none;\n      border-radius:10px;\n      padding:10px 14px;\n      font-weight:700;\n      cursor:pointer;\n      transition:filter .12s ease, transform .06s ease;\n    }\n    .iqama-poll .btn:hover{ filter:brightness(1.05); }\n    .iqama-poll .btn:active{ transform:translateY(1px); }\n    .iqama-poll .btn.secondary{\n      background:transparent;\n      color:var(--ink);\n      border:1px solid #2b2b2b;\n      font-weight:600;\n    }\n\n    .iqama-poll .result{\n      display:none;\n      margin-top:12px;\n      padding:12px;\n      border-radius:12px;\n      background:#0f1114;\n      border:1px solid #222;\n      font-size:.95rem;\n      color:var(--ink);\n    }\n    .iqama-poll .result.good{ border-color:rgba(46,204,113,.6); }\n    .iqama-poll .result.bad{ border-color:rgba(255,77,79,.6); }\n    .iqama-poll .mini{\n      font-size:.85rem;\n      color:var(--muted);\n      margin-top:6px;\n    }\n\n    \/* Mobile *\/\n    @media (max-width:540px){\n      .iqama-poll .tf-row{ gap:8px; }\n      .iqama-poll .label{ min-width:48px; }\n    }\n  <\/style>\n\n  <h3>Iqama Myth or Fact \u2014 Quick Poll<\/h3>\n  <p class=\"lead\">Answer two fast True\/False sliders and see your result instantly.<\/p>\n\n  <!-- Q1 -->\n  <div class=\"card\" role=\"group\" aria-labelledby=\"q1\">\n    <p id=\"q1\" class=\"q\">You can stay in KSA for a full year without an iqama if your employer is processing it.<\/p>\n    <div class=\"tf-row\">\n      <span class=\"label\" aria-hidden=\"true\">False<\/span>\n      <input type=\"range\" min=\"0\" max=\"1\" step=\"1\" value=\"0\" aria-label=\"Q1 True or False slider\" data-answer=\"0\">\n      <span class=\"label\" aria-hidden=\"true\">True<\/span>\n    <\/div>\n    <div class=\"tf-hint\"><span>Slide left for False<\/span><span>Slide right for True<\/span><\/div>\n  <\/div>\n\n  <!-- Q2 -->\n  <div class=\"card\" role=\"group\" aria-labelledby=\"q2\">\n    <p id=\"q2\" class=\"q\">Your iqama is both your residency permit and your primary ID in Saudi Arabia.<\/p>\n    <div class=\"tf-row\">\n      <span class=\"label\" aria-hidden=\"true\">False<\/span>\n      <input type=\"range\" min=\"0\" max=\"1\" step=\"1\" value=\"0\" aria-label=\"Q2 True or False slider\" data-answer=\"1\">\n      <span class=\"label\" aria-hidden=\"true\">True<\/span>\n    <\/div>\n    <div class=\"tf-hint\"><span>Slide left for False<\/span><span>Slide right for True<\/span><\/div>\n  <\/div>\n\n  <div class=\"actions\">\n    <button class=\"btn\" type=\"button\" id=\"iq-submit\">Check answers<\/button>\n    <button class=\"btn secondary\" type=\"button\" id=\"iq-reset\">Reset<\/button>\n  <\/div>\n\n  <div class=\"result\" id=\"iq-result\" aria-live=\"polite\"><\/div>\n  <div class=\"mini\">Tip: If you scored less than perfect, revisit the intro and Section 3 for a quick refresher.<\/div>\n\n  <script>\n    (function(){\n      const root = document.currentScript.closest('.iqama-poll');\n      const sliders = root.querySelectorAll('input[type=\"range\"]');\n      const btn = root.querySelector('#iq-submit');\n      const reset = root.querySelector('#iq-reset');\n      const box = root.querySelector('#iq-result');\n\n      \/\/ Update track gradient to reflect position (False\/True halves)\n      sliders.forEach(sl => {\n        const paint = () => {\n          const val = Number(sl.value);\n          const pct = val * 100; \/\/ 0 or 100\n          sl.style.setProperty('--_pct', pct + '%');\n          \/\/ WebKit track already shows split; add outline glow on True\n          sl.style.filter = val === 1 ? 'drop-shadow(0 0 6px rgba(250,166,26,.35))' : 'none';\n        };\n        sl.addEventListener('input', paint);\n        paint();\n      });\n\n      btn.addEventListener('click', () => {\n        let correct = 0, total = sliders.length;\n        sliders.forEach(sl => {\n          const ans = Number(sl.dataset.answer);\n          if (Number(sl.value) === ans) correct++;\n        });\n\n        box.style.display = 'block';\n        if (correct === total) {\n          box.className = 'result good';\n          box.textContent = 'Perfect! Correct \u2014 The iqama must be obtained promptly (not a year), and it serves as both your residency permit and primary ID in KSA.';\n        } else if (correct === 1) {\n          box.className = 'result';\n          box.textContent = 'Nice try. One answer is off. Hint: You cannot stay a full year without your iqama; it is required soon after arrival through your sponsor.';\n        } else {\n          box.className = 'result bad';\n          box.textContent = 'Both are off. Quick refresher: The iqama is required soon after arrival via your sponsor, and it works as both residency permit and your main ID.';\n        }\n        \/\/ Optional: store a simple completion flag\n        try { localStorage.setItem('iqama_poll_done', '1'); } catch(e){}\n      });\n\n      reset.addEventListener('click', () => {\n        sliders.forEach(sl => { sl.value = 0; sl.dispatchEvent(new Event('input')); });\n        box.style.display = 'none';\n        box.textContent = '';\n        box.className = 'result';\n        try { localStorage.removeItem('iqama_poll_done'); } catch(e){}\n      });\n    })();\n  <\/script>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is the Resident Identity Card (Iqama)?<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134608\/image-44.png\" alt=\"Resident Identity Card\" class=\"wp-image-5588\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134608\/image-44.png 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134608\/image-44-300x150.png 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134608\/image-44-768x384.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>The resident identity KSA, often called iqama, is a residence permit and identity card given to non-Saudi residents in the Kingdom. It serves as both your official legal stay permit and your ID card. The Saudi iqama (or ID iqama) shows who your sponsor (employer) is, your job title, nationality, name, and a unique ID number. Without it, you cannot do many essential things in Saudi Arabia resident identity card lawfully.<\/p>\n\n\n\n<p>It\u2019s part of the broader move toward Saudi Arabia&#8217;s digital identities and stronger regulation of foreigners living in the Kingdom. The iqama is tied to government portals (Absher, MOI) and digital systems, making many services easier once you&#8217;re registered.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Who Needs a Resident Identity Card in Saudi Arabia?<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134619\/image-45.png\" alt=\"Who Needs a Resident Identity Card in Saudi Arabia?\" class=\"wp-image-5589\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134619\/image-45.png 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134619\/image-45-300x150.png 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134619\/image-45-768x384.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Expatriate workers<\/strong><\/li>\n<\/ol>\n\n\n\n<p>If you\u2019re working in Saudi Arabia under a sponsorship, you need the resident identity Saudi Arabia permit. It\u2019s mandatory for foreigners employed by Saudi firms.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Dependents of iqama holders<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Spouse, children of someone with a valid Saudi Arabia resident identity card, often must be sponsored and also hold their own iqama, depending on age or status.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Professionals and technical specialists<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Especially engineers, architects, and technicians. They may also need to register with the <a href=\"https:\/\/vettio.com\/blog\/saudi-council-of-engineers-registration\/\" target=\"_blank\" rel=\"noreferrer noopener\">Saudi Council of Engineers<\/a> as part of maintaining or renewing their iqama.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Those using government\/financial\/daily services<\/strong><\/li>\n<\/ol>\n\n\n\n<p>To open bank accounts, access healthcare, rent housing, get utilities, register for mobile\/<a href=\"https:\/\/vettio.com\/blog\/challenges-of-recruitment-agencies-in-saudi-arabia\/\" target=\"_blank\" rel=\"noreferrer noopener\">recruitment agencies in Saudi Arabia<\/a>. It\u2019s required.<\/p>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Everyone staying longer than short-term period<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Even if you enter on a work visa, you\u2019ll need to get your Kingdom of Saudi Arabia resident identity within 90 days in many cases.<\/p>\n\n\n\n<!-- Drag-and-Drop Puzzle: Who Needs a Resident Identity Card in Saudi Arabia? -->\n<section class=\"iqama-dragdrop v2\">\n  <style>\n    .iqama-dragdrop, .iqama-dragdrop * { box-sizing:border-box; }\n    .iqama-dragdrop{\n      --bg:#0b0b0b;       \/* black *\/\n      --panel:#121212;    \/* dark panel *\/\n      --ink:#ffffff;      \/* white *\/\n      --accent:#FAA61A;   \/* orange *\/\n      --muted:#cfd2d6;\n      max-width:100%;\n      background:var(--bg);\n      color:var(--ink);\n      border-radius:16px;\n      border:1px solid #1e1e1e;\n      padding:20px;\n      font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;\n    }\n    .iqama-dragdrop h3{\n      margin:0 0 14px 0;\n      font-size:1.15rem;\n      color:var(--ink);\n      text-align:center;\n      letter-spacing:.2px;\n    }\n    .sub{\n      text-align:center;\n      font-size:.95rem;\n      color:var(--muted);\n      margin:-4px 0 14px 0;\n    }\n    .board{\n      display:grid;\n      grid-template-columns:1fr;\n      gap:14px;\n    }\n    .tray, .dropzone{\n      background:#0f0f0f;\n      border:1px solid #222;\n      border-radius:12px;\n      padding:12px;\n    }\n    .label{\n      font-weight:700;\n      color:var(--muted);\n      margin:0 0 8px 0;\n      font-size:.88rem;\n      text-transform:uppercase;\n      letter-spacing:.5px;\n    }\n    .row{\n      display:flex;\n      flex-wrap:wrap;\n      gap:10px;\n      min-height:48px;\n    }\n    .draggable{\n      padding:8px 12px;\n      background:var(--panel);\n      border:1px solid #2a2a2a;\n      border-radius:999px;\n      cursor:grab;\n      color:var(--accent);\n      font-weight:700;\n      font-size:.92rem;\n      transition:transform .12s ease, background .15s ease, color .15s ease;\n      user-select:none;\n    }\n    .draggable:active{ transform:scale(.98); }\n    .draggable.dragging{ opacity:.6; }\n    .dropzone{\n      position:relative;\n      border:2px dashed var(--accent);\n      background:#141414;\n    }\n    .placeholder{\n      position:absolute;\n      inset:10px;\n      display:flex;\n      align-items:center;\n      justify-content:center;\n      color:#d6d6d6;\n      background:#1a1a1a;\n      border-radius:10px;\n      border:1px dashed #444;\n      font-weight:600;\n      pointer-events:none;\n    }\n    .dropzone.filled .placeholder{ display:none; }\n    .dropzone.over{ background:#1b1b1b; }\n    .actions{\n      display:flex;\n      gap:10px;\n      justify-content:center;\n      margin-top:8px;\n      flex-wrap:wrap;\n    }\n    .btn{\n      background:var(--accent);\n      color:#111;\n      padding:10px 16px;\n      border:none;\n      border-radius:10px;\n      cursor:pointer;\n      font-weight:800;\n      letter-spacing:.3px;\n      transition:filter .12s ease, transform .06s ease;\n    }\n    .btn:hover{ filter:brightness(1.05); }\n    .btn:active{ transform:translateY(1px); }\n    .btn.secondary{\n      background:transparent;\n      color:var(--ink);\n      border:1px solid #2b2b2b;\n      font-weight:700;\n    }\n    .result{\n      margin-top:12px;\n      font-size:.95rem;\n      padding:12px;\n      border-radius:10px;\n      text-align:center;\n      display:none;\n    }\n    .result.good{ background:rgba(46,204,113,.15); border:1px solid #2ecc71; }\n    .result.bad{ background:rgba(255,77,79,.15); border:1px solid #ff4d4f; }\n\n    @media (min-width:720px){\n      .board{ grid-template-columns:1fr 1fr; }\n      .tray, .dropzone{ min-height:120px; }\n    }\n  <\/style>\n\n  <h3>Who Needs a Resident Identity Card in Saudi Arabia?<\/h3>\n  <p class=\"sub\">Drag the correct groups into the box. Tricky extras included.<\/p>\n\n  <div class=\"board\">\n    <!-- Source Tray -->\n    <div class=\"tray\" id=\"sourceTray\">\n      <div class=\"label\">Options<\/div>\n      <div class=\"row options\" aria-label=\"Draggable options\">\n        <!-- Correct options -->\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"1\">Workers<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"1\">Dependents<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"1\">Professionals<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"1\">Long-Term Visitors<\/div>\n        <!-- Wrong options -->\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"0\">Tourists<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"0\">Transit Passengers<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"0\">Short Business Trip<\/div>\n        <div class=\"draggable\" draggable=\"true\" data-correct=\"0\">Hajj\/Umrah Visa Only<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Drop Zone -->\n    <div class=\"dropzone\" id=\"targetZone\" aria-label=\"Drop correct groups here\">\n      <div class=\"label\">Your Selection<\/div>\n      <div class=\"placeholder\">Drop groups here<\/div>\n      <div class=\"row bucket\"><\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"actions\">\n    <button class=\"btn\" id=\"checkBtn\" type=\"button\">Check Answer<\/button>\n    <button class=\"btn secondary\" id=\"resetBtn\" type=\"button\">Reset<\/button>\n  <\/div>\n\n  <div class=\"result\" id=\"resultBox\" aria-live=\"polite\"><\/div>\n\n  <script>\n    (function(){\n      const root = document.currentScript.closest('.iqama-dragdrop');\n      const source = root.querySelector('#sourceTray .options');\n      const dropzone = root.querySelector('#targetZone');\n      const bucket = dropzone.querySelector('.bucket');\n      const placeholder = dropzone.querySelector('.placeholder');\n      const resultBox = root.querySelector('#resultBox');\n      const checkBtn = root.querySelector('#checkBtn');\n      const resetBtn = root.querySelector('#resetBtn');\n\n      const correctLabels = [\"Workers\",\"Dependents\",\"Professionals\",\"Long-Term Visitors\"];\n\n      function updatePlaceholder(){\n        const hasItems = bucket.querySelectorAll('.draggable').length > 0;\n        dropzone.classList.toggle('filled', hasItems);\n      }\n\n      function makeDraggable(el){\n        el.addEventListener('dragstart', () => { el.classList.add('dragging'); });\n        el.addEventListener('dragend', () => { el.classList.remove('dragging'); });\n      }\n\n      \/\/ Init draggables\n      root.querySelectorAll('.draggable').forEach(makeDraggable);\n\n      \/\/ Allow drops into bucket\n      bucket.addEventListener('dragover', (e) => {\n        e.preventDefault();\n        dropzone.classList.add('over');\n        const dragging = root.querySelector('.draggable.dragging');\n        if(dragging && dragging.parentElement !== bucket){\n          bucket.appendChild(dragging);\n          updatePlaceholder();\n        }\n      });\n      bucket.addEventListener('dragleave', () => dropzone.classList.remove('over'));\n      bucket.addEventListener('drop', () => {\n        dropzone.classList.remove('over');\n        updatePlaceholder();\n      });\n\n      \/\/ Allow moving items back to source\n      source.addEventListener('dragover', (e) => {\n        e.preventDefault();\n        const dragging = root.querySelector('.draggable.dragging');\n        if(dragging && dragging.parentElement !== source){\n          source.appendChild(dragging);\n          updatePlaceholder();\n        }\n      });\n\n      function checkAnswer(){\n        const chosen = Array.from(bucket.querySelectorAll('.draggable')).map(n => n.textContent.trim());\n        const wrongPicked = chosen.filter(label => !correctLabels.includes(label));\n        const missing = correctLabels.filter(label => !chosen.includes(label));\n        const extra = chosen.length > correctLabels.length;\n\n        resultBox.style.display = 'block';\n        if(wrongPicked.length === 0 && missing.length === 0 && !extra){\n          resultBox.className = 'result good';\n          resultBox.textContent = '\u2705 Correct! All these groups need the resident identity saudi arabia (Iqama).';\n        } else {\n          resultBox.className = 'result bad';\n          let msg = '\u274c Not quite. ';\n          if(wrongPicked.length) msg += 'Remove: ' + wrongPicked.join(', ') + '. ';\n          if(missing.length) msg += 'Still missing: ' + missing.join(', ') + '.';\n          resultBox.textContent = msg.trim();\n        }\n      }\n\n      function resetAll(){\n        \/\/ Move everything back to source in original order\n        const all = Array.from(root.querySelectorAll('.draggable'));\n        all.forEach(n => source.appendChild(n));\n        updatePlaceholder();\n        resultBox.style.display = 'none';\n        resultBox.textContent = '';\n        resultBox.className = 'result';\n      }\n\n      checkBtn.addEventListener('click', checkAnswer);\n      resetBtn.addEventListener('click', resetAll);\n\n      \/\/ Initial state\n      updatePlaceholder();\n    })();\n  <\/script>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Documents Required for Iqama Application<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134631\/image-46.png\" alt=\"Documents Required for Iqama\" class=\"wp-image-5590\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134631\/image-46.png 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134631\/image-46-300x150.png 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134631\/image-46-768x384.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>To get your resident identity card (iqama) in Saudi Arabia, you (and your employer\/sponsor) will need to gather certain documents. Having them ready speeds up the process. Below is a typical list:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Document<\/strong><\/td><td><strong>What it\u2019s for\/extra detail<\/strong><\/td><\/tr><tr><td>Valid passport with work visa<\/td><td>Must be current and not close to expiring.<\/td><\/tr><tr><td>Signed employment contract<\/td><td>The sponsor\/employer must issue this, often certified by relevant bodies.<\/td><\/tr><tr><td>Medical examination report<\/td><td>From an approved health center. Tests include checks for contagious diseases and general health.<\/td><\/tr><tr><td>Passport-size photos<\/td><td>Usually with white background, recent.<\/td><\/tr><tr><td>Sponsor\u2019s documents<\/td><td>Usually with a white background, recent.<\/td><\/tr><tr><td>Clean criminal record certificate (if required)<\/td><td>Copy of sponsor\u2019s Iqama, company registration, chamber of commerce certification, etc.<\/td><\/tr><tr><td>Proof of academic\/professional qualifications<\/td><td>Sometimes needed, especially for certain professions or when the law requires.<\/td><\/tr><tr><td>Health insurance (if required)<\/td><td>Often needed in renewal and application to prove coverage.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Also note: there may be some variation depending on your nationality, employer, job type, and city. Always check with your employer or the Jawazat (General Directorate of Passports) to see if anything extra is needed locally.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Apply for a Resident Identity Card (Step-by-Step)<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134642\/image-47.png\" alt=\"How to Apply for a Resident Identity Card\" class=\"wp-image-5591\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134642\/image-47.png 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134642\/image-47-300x150.png 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134642\/image-47-768x384.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Here is a clear path to follow to get your Saudi Arabia resident identity card (iqama).<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Secure a job and sponsorship<\/strong><\/li>\n<\/ol>\n\n\n\n<p>You need a Saudi-based employer (sponsor) willing to hire you. They will handle much of the legal side.<\/p>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>Obtain a work visa\/entry visa<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Before arriving (or if you arrive under a visa that allows work), your employer must get visa <a href=\"https:\/\/www.jobbatical.com\/blog\/saudi-arabia-visa-residence-permit-hr-guide-2025\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">authorisation via the Ministry of Foreign Affairs<\/a> (MOFA) and sometimes a block visa quota.<\/p>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Enter Saudi Arabia<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Once the visa is stamped (if required), travel to the Kingdom within the permitted period.<\/p>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Undergo a medical exam<\/strong><\/li>\n<\/ol>\n\n\n\n<p>After arrival, go to a licensed health centre for required tests and health checks. The report will be submitted with your application.<\/p>\n\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li><strong>Submit the required documents through your sponsor\/employer<\/strong><\/li>\n<\/ol>\n\n\n\n<p>This includes passport + visa, employment contract, photos, sponsor documents, qualifications, criminal record (if needed), etc.<\/p>\n\n\n\n<ol start=\"6\" class=\"wp-block-list\">\n<li><strong>Biometric data collection<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Visit the Jawazat (passport\/immigration office) to provide fingerprints, photos, facial scan, etc. This is now mandatory.<\/p>\n\n\n\n<ol start=\"7\" class=\"wp-block-list\">\n<li><strong>Pay applicable fees<\/strong><\/li>\n<\/ol>\n\n\n\n<p>There are fees for the iqama, renewal, work permit (Maktab Amal), etc. The employer often covers these.<\/p>\n\n\n\n<ol start=\"8\" class=\"wp-block-list\">\n<li><strong>Receive iqama\/identity card<\/strong><\/li>\n<\/ol>\n\n\n\n<p>After all is verified (documents, health, biometrics, fees), your resident identity Saudi Arabia card will be issued. It will show your status, sponsor, job, expiry, etc.<\/p>\n\n\n\n<ol start=\"9\" class=\"wp-block-list\">\n<li><strong>Keep it valid\/renew it in time<\/strong><\/li>\n<\/ol>\n\n\n\n<p>Typically valid for one year; renew before expiration (often via Absher or Muqeem) to avoid fines or legal trouble.<\/p>\n\n\n\n<!-- Choose the Correct Order: Iqama Application Mini-Game -->\n<section class=\"iqama-order-game\" data-widget=\"iqama-order-game\">\n  <style>\n    .iqama-order-game, .iqama-order-game * { box-sizing: border-box; }\n    .iqama-order-game{\n      --bg:#0b0b0b;         \/* black *\/\n      --panel:#121212;      \/* dark panel *\/\n      --ink:#ffffff;        \/* white *\/\n      --muted:#cfd2d6;\n      --accent:#FAA61A;     \/* orange *\/\n      --good:#2ecc71;\n      --bad:#ff4d4f;\n\n      max-width:100%;\n      background:var(--bg);\n      color:var(--ink);\n      border:1px solid #1e1e1e;\n      border-radius:16px;\n      padding:18px;\n      font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;\n    }\n    .iqama-order-game h3{\n      margin:0 0 12px 0;\n      font-size:1.2rem;\n      text-align:center;\n      letter-spacing:.2px;\n      color:#ffffff;             \/* visible title *\/\n      font-weight:700;\n      border-bottom:2px solid #FAA61A; \/* orange underline *\/\n      display:inline-block;\n      padding-bottom:4px;\n    }\n    .lead{\n      margin:0 0 14px 0;\n      text-align:center;\n      color:var(--muted);\n      font-size:.95rem;\n    }\n\n    \/* List *\/\n    .steps{\n      list-style:none;\n      margin:0; padding:0;\n      display:grid;\n      gap:10px;\n    }\n    .step{\n      display:flex;\n      align-items:center;\n      gap:10px;\n      background:var(--panel);\n      border:1px solid #2a2a2a;\n      border-radius:12px;\n      padding:10px 12px;\n      cursor:grab;\n    }\n    .drag-handle{\n      flex:0 0 auto;\n      width:28px; height:28px;\n      border-radius:8px;\n      background:#181818;\n      border:1px solid #2a2a2a;\n      display:grid; place-items:center;\n      color:var(--accent);\n      font-weight:900;\n      user-select:none;\n    }\n    .index-badge{\n      width:28px; height:28px;\n      border-radius:8px;\n      background:#181818;\n      border:1px solid #2a2a2a;\n      display:grid; place-items:center;\n      color:var(--muted);\n      font-weight:800;\n      flex:0 0 auto;\n    }\n    .label{\n      flex:1 1 auto;\n      font-weight:700;\n      color:var(--accent);\n      line-height:1.3;\n    }\n    .step.dragging{\n      opacity:.6;\n      outline:2px dashed var(--accent);\n      outline-offset:2px;\n    }\n    .placeholder{\n      height:46px;\n      border:2px dashed var(--accent);\n      border-radius:12px;\n    }\n\n    \/* Actions & Result *\/\n    .actions{\n      display:flex;\n      gap:10px;\n      justify-content:center;\n      margin-top:12px;\n      flex-wrap:wrap;\n    }\n    .btn{\n      background:var(--accent);\n      color:#111;\n      border:none;\n      border-radius:10px;\n      padding:10px 14px;\n      font-weight:800;\n      cursor:pointer;\n      transition:filter .12s ease, transform .06s ease;\n    }\n    .btn:hover{ filter:brightness(1.05); }\n    .btn:active{ transform:translateY(1px); }\n    .btn.secondary{\n      background:transparent;\n      color:var(--ink);\n      border:1px solid #2b2b2b;\n    }\n    .result{\n      margin-top:12px;\n      font-size:.95rem;\n      padding:12px;\n      border-radius:10px;\n      text-align:center;\n      display:none;\n    }\n    .result.good{ background:rgba(46,204,113,.15); border:1px solid var(--good); }\n    .result.bad{ background:rgba(255,77,79,.15); border:1px solid var(--bad); }\n\n    @media (min-width:720px){\n      .steps{ grid-template-columns:1fr 1fr; }\n    }\n  <\/style>\n\n  <h3>Put the Steps in the Correct Order<\/h3>\n  <p class=\"lead\">Drag the tiles to arrange the iqama application process from first to last. Then check your answer.<\/p>\n\n  <ol class=\"steps\" id=\"steps\" aria-label=\"Reorder the steps\">\n    <!-- Items are injected & shuffled by JS -->\n  <\/ol>\n\n  <div class=\"actions\">\n    <button class=\"btn\" id=\"checkBtn\" type=\"button\">Check Answer<\/button>\n    <button class=\"btn secondary\" id=\"resetBtn\" type=\"button\">Reset<\/button>\n  <\/div>\n\n  <div class=\"result\" id=\"resultBox\" aria-live=\"polite\"><\/div>\n\n  <script>\n    (function(){\n      const root = document.currentScript.closest('.iqama-order-game');\n      const list = root.querySelector('#steps');\n      const checkBtn = root.querySelector('#checkBtn');\n      const resetBtn = root.querySelector('#resetBtn');\n      const resultBox = root.querySelector('#resultBox');\n\n      \/\/ Correct sequence\n      const CORRECT = [\n        'Secure Job & Sponsorship',\n        'Obtain Work Visa',\n        'Arrive in KSA',\n        'Medical Examination',\n        'Submit Documents',\n        'Biometrics & Iqama Issuance'\n      ];\n\n      function createItem(text){\n        const li = document.createElement('li');\n        li.className = 'step';\n        li.draggable = true;\n        li.setAttribute('data-label', text);\n\n        const handle = document.createElement('div');\n        handle.className = 'drag-handle';\n        handle.textContent = '\u22ee\u22ee';\n\n        const idx = document.createElement('div');\n        idx.className = 'index-badge';\n        idx.textContent = '\u2014';\n\n        const label = document.createElement('div');\n        label.className = 'label';\n        label.textContent = text;\n\n        li.append(handle, idx, label);\n        return li;\n      }\n\n      function paintIndices(){\n        const items = Array.from(list.children);\n        items.forEach((el, i) => {\n          const badge = el.querySelector('.index-badge');\n          badge.textContent = (i+1);\n        });\n      }\n\n      function shuffle(arr){\n        const a = arr.slice();\n        for(let i=a.length-1;i>0;i--){\n          const j = Math.floor(Math.random()*(i+1));\n          [a[i],a[j]] = [a[j],a[i]];\n        }\n        return a;\n      }\n\n      function buildShuffled(){\n        list.innerHTML = '';\n        shuffle(CORRECT).forEach(label => list.appendChild(createItem(label)));\n        paintIndices();\n        attachDnD();\n        resultBox.style.display='none';\n        resultBox.textContent='';\n        resultBox.className='result';\n      }\n\n      function attachDnD(){\n        let dragEl = null;\n        let placeholder = null;\n\n        list.addEventListener('dragstart', e => {\n          const li = e.target.closest('.step');\n          if(!li) return;\n          dragEl = li;\n          li.classList.add('dragging');\n          placeholder = document.createElement('li');\n          placeholder.className = 'placeholder';\n          const crt = li.cloneNode(true);\n          crt.style.opacity = '0';\n          document.body.appendChild(crt);\n          e.dataTransfer.setDragImage(crt, 0, 0);\n          setTimeout(()=>document.body.removeChild(crt),0);\n        });\n\n        list.addEventListener('dragend', () => {\n          if(dragEl) dragEl.classList.remove('dragging');\n          if(placeholder && placeholder.parentNode){\n            placeholder.parentNode.replaceChild(dragEl, placeholder);\n          }\n          dragEl = null;\n          placeholder = null;\n          paintIndices();\n        });\n\n        list.addEventListener('dragover', e => {\n          e.preventDefault();\n          const target = e.target.closest('.step');\n          if(!dragEl) return;\n\n          if(!placeholder){\n            placeholder = document.createElement('li');\n            placeholder.className = 'placeholder';\n          }\n          if(!list.contains(placeholder)) list.appendChild(placeholder);\n\n          if(target && target !== placeholder && target !== dragEl){\n            const rect = target.getBoundingClientRect();\n            const before = (e.clientY - rect.top) < rect.height\/2;\n            if(before){\n              list.insertBefore(placeholder, target);\n            }else{\n              list.insertBefore(placeholder, target.nextSibling);\n            }\n          }else if(!target){\n            list.appendChild(placeholder);\n          }\n        });\n      }\n\n      function checkAnswer(){\n        const current = Array.from(list.children).map(li => li.getAttribute('data-label'));\n        const correctAll = current.length === CORRECT.length && current.every((t,i)=>t===CORRECT[i]);\n\n        resultBox.style.display='block';\n        if(correctAll){\n          resultBox.className='result good';\n          resultBox.textContent='\u2705 Perfect! That\u2019s the right order for applying and receiving your iqama.';\n        }else{\n          let firstWrong = -1;\n          for(let i=0;i<CORRECT.length;i++){\n            if(current[i]!==CORRECT[i]){ firstWrong=i; break; }\n          }\n          const hint = firstWrong>=0 ? `Hint: Step ${firstWrong+1} should be \u201c${CORRECT[firstWrong]}\u201d.` : '';\n          resultBox.className='result bad';\n          resultBox.textContent='\u274c Not quite. Try again. ' + hint;\n        }\n      }\n\n      checkBtn.addEventListener('click', checkAnswer);\n      resetBtn.addEventListener('click', buildShuffled);\n\n      buildShuffled();\n    })();\n  <\/script>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Common Uses of the Resident Identity Card<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"500\" src=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134652\/image-48.png\" alt=\"Uses of the Resident Identity Card\" class=\"wp-image-5592\" srcset=\"https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134652\/image-48.png 1000w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134652\/image-48-300x150.png 300w, https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/11134652\/image-48-768x384.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>The resident identity card KSA (iqama) is more than just proof of legal stay. Here are key ways people use it:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>To open bank accounts<\/li>\n\n\n\n<li>For signing leases\/renting accommodation<\/li>\n\n\n\n<li>Getting utilities: electricity, water, internet, etc.<\/li>\n\n\n\n<li>Access healthcare services and health insurance<\/li>\n\n\n\n<li>Getting a mobile phone line\/SIM registration<\/li>\n\n\n\n<li>Dealing with government services: renewing licenses, travel permits, visa exit\/re-entry, etc.<\/li>\n\n\n\n<li>As identity when asked by authorities or for official paperwork<\/li>\n\n\n\n<li>For sponsoring dependents (spouse, children) under your own iqama or their separate one<\/li>\n<\/ul>\n\n\n\n<p>These uses show how central the Saudi Arabia resident identity card is for daily life if you&#8217;re an expat in KSA.<\/p>\n\n\n\n<!-- Match-the-Use Quiz (Fixed): Common Uses of the Resident Identity Card (Iqama) -->\n<section class=\"iqama-match-uses v3\" data-widget=\"iqama-match-uses\">\n  <style>\n    .iqama-match-uses, .iqama-match-uses * { box-sizing:border-box; }\n    .iqama-match-uses{\n      --bg:#0b0b0b;        \/* black *\/\n      --panel:#121212;     \/* dark panel *\/\n      --ink:#ffffff;       \/* white *\/\n      --muted:#cfd2d6;\n      --accent:#FAA61A;    \/* orange *\/\n      --good:#2ecc71;\n      --bad:#ff4d4f;\n\n      max-width:100%;\n      background:var(--bg);\n      color:var(--ink);\n      border:1px solid #1e1e1e;\n      border-radius:16px;\n      padding:18px;\n      font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;\n    }\n\n    .iqama-match-uses h3{\n      margin:0 0 12px 0;\n      font-size:1.2rem;\n      text-align:center;\n      color:#fff;\n      font-weight:700;\n      border-bottom:2px solid var(--accent);\n      display:inline-block;\n      padding-bottom:4px;\n    }\n    .iqama-match-uses .lead{\n      margin:0 0 14px 0;\n      text-align:center;\n      color:var(--muted);\n      font-size:.95rem;\n    }\n\n    .iqama-match-uses .board{ display:grid; gap:14px; }\n    @media (min-width:860px){\n      .iqama-match-uses .board{ grid-template-columns:1fr 1fr; align-items:start; }\n    }\n\n    \/* Draggables *\/\n    .iqama-match-uses .pile{\n      background:#0f0f0f;\n      border:1px solid #222;\n      border-radius:12px;\n      padding:12px;\n    }\n    .iqama-match-uses .pile .label{ font-weight:700; color:var(--muted); margin-bottom:8px; }\n    .iqama-match-uses .drags{ display:grid; gap:10px; }\n    .iqama-match-uses .drag{\n      display:flex; align-items:center; gap:10px;\n      background:var(--panel);\n      border:1px solid #2a2a2a;\n      border-radius:12px;\n      padding:10px 12px;\n      cursor:grab;\n      user-select:none;\n      transition:transform .06s ease, background .15s ease;\n    }\n    .iqama-match-uses .drag:active{ transform:scale(.98); }\n    .iqama-match-uses .drag.locked{ opacity:.7; cursor:not-allowed; }\n    .iqama-match-uses .emj{ font-size:20px; }\n    .iqama-match-uses .name{ font-weight:700; color:var(--accent); }\n\n    \/* Dropzones *\/\n    .iqama-match-uses .drops{ background:#0f0f0f; border:1px solid #222; border-radius:12px; padding:12px; }\n    .iqama-match-uses .drop{\n      display:flex; align-items:center; gap:10px;\n      background:#101010;\n      border:2px dashed var(--accent);\n      border-radius:12px;\n      padding:12px;\n      margin-bottom:10px;\n      min-height:56px;\n      transition:background .15s ease, border-color .15s ease;\n    }\n    .iqama-match-uses .drop.over{ background:#171717; }\n    .iqama-match-uses .hint{ font-size:.95rem; color:#fff; }\n\n    \/* Actions & Result *\/\n    .iqama-match-uses .actions{ display:flex; gap:10px; justify-content:center; margin-top:10px; flex-wrap:wrap; }\n    .iqama-match-uses .btn{\n      background:var(--accent); color:#111; border:none; border-radius:10px;\n      padding:10px 14px; font-weight:800; cursor:pointer;\n      transition:filter .12s ease, transform .06s ease;\n    }\n    .iqama-match-uses .btn:hover{ filter:brightness(1.05); }\n    .iqama-match-uses .btn:active{ transform:translateY(1px); }\n    .iqama-match-uses .btn.secondary{ background:transparent; color:var(--ink); border:1px solid #2b2b2b; }\n    .iqama-match-uses .result{ margin-top:12px; padding:12px; border-radius:10px; display:none; text-align:center; }\n    .iqama-match-uses .result.good{ background:rgba(46,204,113,.15); border:1px solid var(--good); }\n    .iqama-match-uses .result.bad{ background:rgba(255,77,79,.15); border:1px solid var(--bad); }\n  <\/style>\n\n  <h3>Match the Use to the Right Icon<\/h3>\n  <p class=\"lead\">Drag each icon to the correct iqama use. Wrong ones included \u2014 choose wisely!<\/p>\n\n  <div class=\"board\">\n    <div class=\"pile\">\n      <div class=\"label\">Icons<\/div>\n      <div class=\"drags\" id=\"drags\"><\/div>\n    <\/div>\n\n    <div class=\"drops\" id=\"drops\">\n      <div class=\"drop\" data-accept=\"bank\">\n        <div class=\"hint\">Open a bank account<\/div>\n      <\/div>\n      <div class=\"drop\" data-accept=\"hospital\">\n        <div class=\"hint\">Access healthcare<\/div>\n      <\/div>\n      <div class=\"drop\" data-accept=\"house\">\n        <div class=\"hint\">Rent housing \/ lease<\/div>\n      <\/div>\n      <div class=\"drop\" data-accept=\"phone\">\n        <div class=\"hint\">Get a SIM card<\/div>\n      <\/div>\n      <div class=\"drop\" data-accept=\"gov\">\n        <div class=\"hint\">Use government e-services<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"actions\">\n    <button class=\"btn\" id=\"checkBtn\" type=\"button\">Check Answer<\/button>\n    <button class=\"btn secondary\" id=\"resetBtn\" type=\"button\">Reset<\/button>\n  <\/div>\n\n  <div class=\"result\" id=\"resultBox\" aria-live=\"polite\"><\/div>\n\n  <script>\n    (function(){\n      \/\/ Scope everything to this widget only\n      const root = document.currentScript.closest('.iqama-match-uses');\n      const dragsWrap = root.querySelector('#drags');\n      const dropsWrap = root.querySelector('#drops');\n      const drops = Array.from(root.querySelectorAll('.drop'));\n      const resultBox = root.querySelector('#resultBox');\n      const checkBtn = root.querySelector('#checkBtn');\n      const resetBtn = root.querySelector('#resetBtn');\n\n      const ALL_ICONS = [\n        \/\/ Correct\n        {key:'bank',     label:'Bank',       icon:'\ud83c\udfe6'},\n        {key:'hospital', label:'Hospital',   icon:'\ud83c\udfe5'},\n        {key:'house',    label:'Housing',    icon:'\ud83c\udfe0'},\n        {key:'phone',    label:'Phone\/SIM',  icon:'\ud83d\udcf1'},\n        {key:'gov',      label:'Government', icon:'\ud83c\udfdb\ufe0f'},\n        \/\/ Wrong (decoys)\n        {key:'edu',      label:'Education',  icon:'\ud83c\udf93'},\n        {key:'travel',   label:'Travel',     icon:'\u2708\ufe0f'}\n      ];\n\n      function shuffle(array){\n        const a = array.slice();\n        for(let i=a.length-1;i>0;i--){\n          const j = Math.floor(Math.random()*(i+1));\n          [a[i],a[j]] = [a[j],a[i]];\n        }\n        return a;\n      }\n\n      function buildIcons(){\n        dragsWrap.innerHTML = '';\n        const shuffled = shuffle(ALL_ICONS);\n        shuffled.forEach(obj=>{\n          const div = document.createElement('div');\n          div.className = 'drag';\n          div.draggable = true;\n          div.dataset.key = obj.key;\n          div.innerHTML = `<span class=\"emj\" aria-hidden=\"true\">${obj.icon}<\/span><span class=\"name\">${obj.label}<\/span>`;\n          dragsWrap.appendChild(div);\n\n          div.addEventListener('dragstart', (e)=>{\n            if(div.classList.contains('locked')){ e.preventDefault(); return; }\n            div.classList.add('dragging');\n          });\n          div.addEventListener('dragend', ()=> div.classList.remove('dragging'));\n        });\n      }\n\n      function enableDropzones(){\n        drops.forEach(zone=>{\n          zone.addEventListener('dragover', (e)=>{\n            e.preventDefault();\n            zone.classList.add('over');\n          });\n          zone.addEventListener('dragleave', ()=> zone.classList.remove('over'));\n          zone.addEventListener('drop', (e)=>{\n            e.preventDefault();\n            zone.classList.remove('over');\n            const dragged = root.querySelector('.drag.dragging');\n            if(!dragged) return;\n\n            \/\/ If there is already an icon inside, send it back to the pile\n            const existing = zone.querySelector('.drag');\n            if(existing){ existing.classList.remove('locked'); dragsWrap.appendChild(existing); }\n\n            zone.appendChild(dragged);\n            dragged.classList.add('locked'); \/\/ lock to avoid accidental drags\n          });\n        });\n\n        \/\/ Allow moving items back by dragging over the pile\n        dragsWrap.addEventListener('dragover', (e)=>{\n          e.preventDefault();\n          const dragged = root.querySelector('.drag.dragging');\n          if(dragged){\n            dragged.classList.remove('locked');\n            dragsWrap.appendChild(dragged);\n          }\n        });\n      }\n\n      function checkAnswer(){\n        let wrong = false;\n        drops.forEach(zone=>{\n          const want = zone.dataset.accept;\n          const got = zone.querySelector('.drag') ? zone.querySelector('.drag').dataset.key : null;\n          if(got !== want) wrong = true;\n        });\n\n        resultBox.style.display = 'block';\n        if(!wrong){\n          resultBox.className = 'result good';\n          resultBox.textContent = '\u2705 Correct! These are the everyday iqama uses.';\n        }else{\n          resultBox.className = 'result bad';\n          resultBox.textContent = '\u274c Some are wrong or empty. Adjust and try again.';\n        }\n      }\n\n      function resetAll(){\n        \/\/ Move any placed icons back to the pile\n        drops.forEach(zone=>{\n          const item = zone.querySelector('.drag');\n          if(item){ item.classList.remove('locked'); dragsWrap.appendChild(item); }\n        });\n        \/\/ Rebuild\/shuffle icons\n        buildIcons();\n        \/\/ Hide result\n        resultBox.style.display = 'none';\n        resultBox.textContent = '';\n        resultBox.className = 'result';\n      }\n\n      \/\/ Wire buttons (scoped to root so multiple widgets can coexist)\n      checkBtn.addEventListener('click', checkAnswer);\n      resetBtn.addEventListener('click', resetAll);\n\n      \/\/ Init\n      buildIcons();\n      enableDropzones();\n    })();\n  <\/script>\n<\/section>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>The resident identity KSA (iqama) is your lifeline for living, working and moving freely in the Kingdom. From securing housing to accessing healthcare, banking and government services, everything relies on keeping your Saudi Arabia resident identity card valid. Whether you are a professional registered with the Saudi Council of Engineers, a worker brought in by recruitment agencies in Saudi Arabia or part of the growing <a href=\"https:\/\/vettio.com\/blog\/what-is-saudization\/\" target=\"_blank\" rel=\"noreferrer noopener\">workforce shaped by Saudization<\/a>, understanding how the iqama works ensures peace of mind. Stay informed, renew on time, and you\u2019ll avoid unnecessary stress while enjoying your stay in Saudi Arabia.<\/p>\n\n\n\n<!-- FAQs Accordion: Resident Identity Card (Iqama) -->\n<section class=\"ksa-faqs\" data-widget=\"ksa-faqs\">\n  <style>\n    .ksa-faqs, .ksa-faqs * { box-sizing: border-box; }\n    .ksa-faqs{\n      --bg:#0b0b0b;        \/* black *\/\n      --panel:#121212;     \/* dark panel *\/\n      --ink:#ffffff;       \/* white *\/\n      --muted:#cfd2d6;\n      --accent:#FAA61A;    \/* orange *\/\n\n      max-width:100%;\n      background:var(--bg);\n      color:var(--ink);\n      border:1px solid #1e1e1e;\n      border-radius:16px;\n      padding:18px;\n      font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;\n    }\n    .ksa-faqs h3{\n      margin:0 0 12px 0;\n      font-size:1.2rem;\n      text-align:center;\n      color:#fff;\n      font-weight:700;\n      border-bottom:2px solid var(--accent);\n      display:inline-block;\n      padding-bottom:4px;\n    }\n    .ksa-faqs .lead{\n      text-align:center;\n      color:var(--muted);\n      font-size:.95rem;\n      margin:0 0 14px 0;\n    }\n\n    \/* Accordion *\/\n    .faq-list{\n      display:grid;\n      gap:10px;\n    }\n    .faq-item{\n      background:var(--panel);\n      border:1px solid #2a2a2a;\n      border-radius:12px;\n      overflow:hidden;\n    }\n    .faq-btn{\n      width:100%;\n      text-align:left;\n      background:#161616;\n      color:#fff;\n      border:none;\n      display:flex;\n      align-items:center;\n      justify-content:space-between;\n      gap:10px;\n      padding:14px 16px;\n      cursor:pointer;\n      font-weight:800;\n      font-size:1rem;\n    }\n    .faq-btn:hover{ filter:brightness(1.05); }\n    .faq-btn .qtext{ color:var(--accent); }\n    .faq-btn .chev{\n      flex:0 0 28px;\n      width:28px; height:28px;\n      border-radius:8px;\n      background:#1b1b1b;\n      border:1px solid #2a2a2a;\n      display:grid; place-items:center;\n      color:var(--muted);\n      font-weight:900;\n      transition:transform .15s ease;\n    }\n    .faq-item.open .faq-btn .chev{ transform:rotate(90deg); color:var(--accent); }\n\n    .faq-panel{\n      max-height:0;\n      overflow:hidden;\n      transition:max-height .25s ease;\n      background:#141414;\n      border-top:1px solid #222;\n    }\n    .faq-panel .answer{\n      padding:12px 16px 14px 16px;\n      color:var(--muted);\n      line-height:1.55;\n      font-size:.97rem;\n    }\n  <\/style>\n\n  <h3>FAQs<\/h3>\n  <p class=\"lead\">Quick answers to the most asked iqama questions<\/p>\n\n  <div class=\"faq-list\" id=\"faqList\">\n    <!-- Q1 -->\n    <div class=\"faq-item\">\n      <button class=\"faq-btn\" aria-expanded=\"false\">\n        <span class=\"qtext\">What is the difference between Iqama and Resident Identity Card?<\/span>\n        <span class=\"chev\">\u203a<\/span>\n      <\/button>\n      <div class=\"faq-panel\" role=\"region\" aria-hidden=\"true\">\n        <div class=\"answer\">\n          They are the same in Saudi Arabia. Iqama is the common name for the resident identity card KSA, a plastic identity and residency permit issued to non Saudis. When someone says iqama, they mean both residence permit and identity card in KSA.\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Q2 -->\n    <div class=\"faq-item\">\n      <button class=\"faq-btn\" aria-expanded=\"false\">\n        <span class=\"qtext\">Can dependents get Resident Identity Cards?<\/span>\n        <span class=\"chev\">\u203a<\/span>\n      <\/button>\n      <div class=\"faq-panel\" role=\"region\" aria-hidden=\"true\">\n        <div class=\"answer\">\n          Yes. If you hold a valid KSA iqama, you can sponsor close family members such as spouse and children who then receive a resident identity Saudi Arabia card under your sponsorship. Extra documents are needed like marriage certificate, birth certificate, proof of earnings, and accommodation.\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- Q3 -->\n    <div class=\"faq-item\">\n      <button class=\"faq-btn\" aria-expanded=\"false\">\n        <span class=\"qtext\">What happens if your iqama expires?<\/span>\n        <span class=\"chev\">\u203a<\/span>\n      <\/button>\n      <div class=\"faq-panel\" role=\"region\" aria-hidden=\"true\">\n        <div class=\"answer\">\n          If your resident identity card expires without renewal, you may face fines, trouble using services, travel issues, and possible legal consequences. Start renewal before it expires. Many residents begin the process a few days in advance to avoid penalties.\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n    (function(){\n      const root = document.currentScript.closest('.ksa-faqs');\n      const items = root.querySelectorAll('.faq-item');\n\n      items.forEach(item => {\n        const btn = item.querySelector('.faq-btn');\n        const panel = item.querySelector('.faq-panel');\n\n        \/\/ Set initial height to zero for animation\n        panel.style.maxHeight = '0px';\n\n        btn.addEventListener('click', () => {\n          const isOpen = item.classList.contains('open');\n\n          \/\/ Close all others for a clean UX\n          items.forEach(it => {\n            if(it !== item){\n              it.classList.remove('open');\n              const p = it.querySelector('.faq-panel');\n              const b = it.querySelector('.faq-btn');\n              p.style.maxHeight = '0px';\n              p.setAttribute('aria-hidden', 'true');\n              b.setAttribute('aria-expanded', 'false');\n            }\n          });\n\n          \/\/ Toggle current\n          if(!isOpen){\n            item.classList.add('open');\n            panel.style.maxHeight = panel.scrollHeight + 'px';\n            panel.setAttribute('aria-hidden', 'false');\n            btn.setAttribute('aria-expanded', 'true');\n          }else{\n            item.classList.remove('open');\n            panel.style.maxHeight = '0px';\n            panel.setAttribute('aria-hidden', 'true');\n            btn.setAttribute('aria-expanded', 'false');\n          }\n        });\n\n        \/\/ Recalculate height on window resize\n        window.addEventListener('resize', () => {\n          if(item.classList.contains('open')){\n            panel.style.maxHeight = panel.scrollHeight + 'px';\n          }\n        });\n      });\n    })();\n  <\/script>\n<\/section>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-buttons text-center is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-1 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-text-align-center wp-element-button\" href=\"http:\/\/vettio.com\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><strong><strong>Job Hunt? We\u2019ve Cracked It.<\/strong><\/strong><\/strong><\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Guide to the resident identity KSA (Iqama). Learn requirements, application steps and key uses for living and working in Saudi Arabia.<\/p>\n","protected":false},"author":5,"featured_media":5635,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"footnotes":""},"categories":[24],"tags":[43],"class_list":["post-5582","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-compliance-legal-hiring-practices","tag-iqama"],"taxonomy_info":{"category":[{"value":24,"label":"Compliance &amp; Legal Hiring Practices"}],"post_tag":[{"value":43,"label":"Iqama"}]},"featured_image_src_large":["https:\/\/snabup-prod.s3.amazonaws.com\/blog\/wp-content\/uploads\/2025\/09\/12073651\/Everything-You-Need-to-Know-About-the-Resident-Identity-Card-in-KSA.jpg",800,400,false],"author_info":{"display_name":"Bisma Naeem","author_link":"https:\/\/vettio.com\/blog\/author\/bisma-naeem\/"},"comment_info":12,"category_info":[{"term_id":24,"name":"Compliance &amp; Legal Hiring Practices","slug":"compliance-legal-hiring-practices","term_group":0,"term_taxonomy_id":24,"taxonomy":"category","description":"","parent":83,"count":32,"filter":"raw","cat_ID":24,"category_count":32,"category_description":"","cat_name":"Compliance &amp; Legal Hiring Practices","category_nicename":"compliance-legal-hiring-practices","category_parent":83}],"tag_info":[{"term_id":43,"name":"Iqama","slug":"iqama","term_group":0,"term_taxonomy_id":43,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/posts\/5582","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/comments?post=5582"}],"version-history":[{"count":19,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/posts\/5582\/revisions"}],"predecessor-version":[{"id":5641,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/posts\/5582\/revisions\/5641"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/media\/5635"}],"wp:attachment":[{"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/media?parent=5582"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/categories?post=5582"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vettio.com\/blog\/wp-json\/wp\/v2\/tags?post=5582"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}