{"id":190210,"date":"2026-03-03T16:21:08","date_gmt":"2026-03-03T09:21:08","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=190210"},"modified":"2026-04-20T14:13:09","modified_gmt":"2026-04-20T07:13:09","slug":"stock-reservation","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/","title":{"rendered":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Industri <\/span><i><span style=\"font-weight: 400;\">E-commerce<\/span><\/i><span style=\"font-weight: 400;\"> di Asia Tenggara diperkirakan akan mencapai $193 miliar AS pada tahun 2028. <\/span><a href=\"https:\/\/www.forrester.com\/press-newsroom\/forrester-global-online-retail-sales-to-grow-8-9-annually-reaching-6-8-trillion-in-2028\/\"><span style=\"font-weight: 400;\">Sebuah laporan Forrester<\/span><\/a><span style=\"font-weight: 400;\"> memprediksi bahwa <\/span><i><span style=\"font-weight: 400;\">sales<\/span><\/i><span style=\"font-weight: 400;\"> ritel online global akan tumbuh menjadi $6.8 triliun AS atau Rp1.145 kuintiliun pada tahun yang sama. Untuk memanfaatkan peluang ini, Anda harus meningkatkan bisnis Anda. Salah satu caranya adalah dengan menggunakan sistem <\/span><strong><i>stock reservation<\/i><\/strong><span style=\"font-weight: 400;\"> dalam manajemen inventaris Anda.<\/span><\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#apa-itu-stock-reservation\">Stock reservation<\/a> adalah proses penyimpanan aset untuk pesanan tertentu, sehingga transaksi lain tidak bisa menggunakannya.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p>Berdasarkan tahap dimana itu terjadi, stock reservation dibagi menjadi <a href=\"#apa-saja-jenis-stock-reservation\">soft reservation dan hard reservation<\/a>. Berdasarkan spesifikasi penguncian stok, ada warehouse level dan batch level reservation.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#efek-reservasi-pada-efisiensi-gudang\">Sistem reservasi stok<\/a> membantu Anda mengelola gudang Anda dan meningkatkan produktivitas staf Anda.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n<!-- \t\t\t<div class=\"button-wrapper\">\r\n\t\t\t\t<a href=\"https:\/\/www.equiperp.com\/tour-produk-gratis\/?medium=key-takeaways\" class=\"submit-button\">Klik untuk Demo Gratis!<\/a>\r\n\t\t\t<\/div> -->\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<p><span id=\"adalah\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<h2><b>Apa itu Stock Reservation?<\/b><\/h2>\n<p><b><i>Stock reservation<\/i><\/b><span style=\"font-weight: 400;\"> adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain. Ketika seorang pelanggan melakukan reservasi, sistem akan \u2018mengunci\u2019 unit item untuk mencegah pelanggan lain dari membelinya. Melalui itu, stok Anda berpindah tangan tanpa meninggalkan gudang.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Secara teknis, Anda masih memiliki stok tersebut. Namun, sistem mencatatnya sebagai milik orang lain. Ini memastikan bahwa bisnis Anda <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/ketahui-proses-fulfillment\/\"><span style=\"font-weight: 400;\">dapat memenuhi pesanan<\/span><\/a><span style=\"font-weight: 400;\">.\u00a0<\/span><br \/>\n<span id=\"jenis\"><\/span><\/p>\n<h2><b>Apa Saja Jenis Stock Reservation?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Tidak semua <strong>sistem reservasi stok<\/strong> itu sama. Berdasarkan berbagai faktor, Anda dapat membagikannya menjadi beberapa kategori:<\/span><\/p>\n<h3><b>1. Soft Reservation vs. Hard Reservation<\/b><\/h3>\n<table style=\"border-collapse: collapse; text-align: left;\" border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"8\">\n<thead style=\"background-color: #990000; color: white;\">\n<tr>\n<th style=\"text-align: center;\" width=\"20%\">Aspek<\/th>\n<th style=\"text-align: center;\" width=\"40%\">Soft Reservation<\/th>\n<th style=\"text-align: center;\" width=\"40%\">Hard Reservation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tingkat komitmen<\/td>\n<td>Rendah<\/td>\n<td>Tinggi<\/td>\n<\/tr>\n<tr>\n<td>Kapan<\/td>\n<td>Setelah pelanggan menekan ikon \u2018<em>Add to Cart<\/em>\u2019 atau \u2018<em>Draft Quote<\/em>\u2019, di awal siklus penjualan<\/td>\n<td>Setelah pelanggan membuat sebuah komitmen, seperti melakukan pembayaran atau mengkonfirmasi <em>sales order<\/em> (SO)<\/td>\n<\/tr>\n<tr>\n<td>Efek pada Inventaris<\/td>\n<td>Mengurangi sementara stok <em>Available to Promise<\/em> (ATP)<\/td>\n<td>Mengurangi stok <em>Available to Promise<\/em> (ATP) secara permanen<\/td>\n<\/tr>\n<tr>\n<td>Contoh<\/td>\n<td>Pelanggan Anda memilih kursi saat membeli tiket di website Anda<\/td>\n<td>Pelanggan Anda memilih opsi <em>Buy Online, Pick-Up In-Store<\/em> (BOPIS) ketika membeli sebuah barang<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><b>2. Warehouse Level vs. Batch Level<\/b><\/h3>\n<table style=\"border-collapse: collapse; text-align: left;\" border=\"1\" width=\"100%\" cellspacing=\"0\" cellpadding=\"8\">\n<thead style=\"background-color: #990000; color: white;\">\n<tr>\n<th style=\"text-align: center;\" width=\"20%\">Aspek<\/th>\n<th style=\"text-align: center;\" width=\"40%\">Warehouse Level<\/th>\n<th style=\"text-align: center;\" width=\"40%\">Batch Level<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Spesifikasi<\/td>\n<td><span style=\"font-weight: 400;\">Hanya mengunci jumlah stok dengan umum<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Mengunci jumlah stok dengan lokasi atau <\/span><i><span style=\"font-weight: 400;\">batch <\/span><\/i><span style=\"font-weight: 400;\">produksi yang sudah ditentukan<\/span><\/td>\n<\/tr>\n<tr>\n<td>Fleksibilitas<\/td>\n<td><span style=\"font-weight: 400;\">Tinggi. Jika ada unit yang rusak, staf Anda bisa mengambil unit yang lain<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Rendah. Jika unit item rusak, Anda harus mencari substitusi<\/span><\/td>\n<\/tr>\n<tr>\n<td>Cocok untuk<\/td>\n<td><span style=\"font-weight: 400;\">Industri yang menjual produk <\/span><i><span style=\"font-weight: 400;\">non-perishable<\/span><\/i><span style=\"font-weight: 400;\">, seperti pakaian dan barang elektronik<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Industri sensitif, seperti Industri Farmasi atau F2B<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"mengapa-stock-reservation-penting-dalam-manajemen-inventaris\"><strong>Cara Kerja Reservasi Stok?<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-190254 aligncenter\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation.webp\" alt=\"cara kerja stock reservation\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation.webp 800w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation-300x150.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation-768x384.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation-150x75.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Cara-Kerja-Stock-Reservation-696x348.webp 696w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Sebelum stok Anda sampai ke pelanggan, aset Anda akan melewati beberapa tahap. Berikut adalah alur kerja dari sebuah <\/span><strong><i>stock reservation<\/i><\/strong><span style=\"font-weight: 400;\">:<\/span><\/p>\n<h3><b>1. Request<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Pertama, pelanggan atau anggota staf Anda akan memulai proses permintaan. Mereka akan mengirim dokumen <\/span><i><span style=\"font-weight: 400;\">request<\/span><\/i><span style=\"font-weight: 400;\"> dengan data SKU dan kuantitas yang diminta, lalu sistem akan menerimanya dan memulai tahap berikut.<\/span><\/p>\n<h3><b>2. Availability Check<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Sistem akan mengecek stok <\/span><i><span style=\"font-weight: 400;\">Available to Promise<\/span><\/i><span style=\"font-weight: 400;\"> (ATP). Jika jumlah stok (<em>s<\/em><\/span><em><span style=\"font-weight: 400;\">tock on-hand<\/span><\/em><span style=\"font-weight: 400;\"> &#8211; <em>r<\/em><\/span><em><span style=\"font-weight: 400;\">eserved stock<\/span><\/em><span style=\"font-weight: 400;\">) melebihi stok yang diminta, maka <\/span><i><span style=\"font-weight: 400;\">request <\/span><\/i><span style=\"font-weight: 400;\">diterima. Namun, jika tidak, sistem akan mengeluarkan peringatan <\/span><i><span style=\"font-weight: 400;\">out of stock<\/span><\/i><span style=\"font-weight: 400;\"> atau menawarkan opsi <\/span><i><span style=\"font-weight: 400;\">backorder<\/span><\/i><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<h3><b>3. Locking\/Allocation<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Setelah permintaan divalidasi, sistem akan membuat catatan reservasi. Jumlah stok <\/span><i><span style=\"font-weight: 400;\">Available to Promise<\/span><\/i><span style=\"font-weight: 400;\"> (ATP) akan berkurang, meskipun <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/stock-on-hand\/\"><span style=\"font-weight: 400;\">jumlah stok yang tersedia<\/span><\/a><span style=\"font-weight: 400;\"> (<\/span><i><span style=\"font-weight: 400;\">stock on-hand<\/span><\/i><span style=\"font-weight: 400;\">) tetap sama. Jika ada pelanggan lain yang mencoba membeli unit yang sama, sistem akan menolak permintaan mereka.\u00a0<\/span><\/p>\n<h3><b>4. Fulfillment<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Setelah permintaan diterima dan diproses, status reservasi akan berubah menjadi <\/span><i><span style=\"font-weight: 400;\">picked<\/span><\/i><span style=\"font-weight: 400;\">. Staf Anda akan memindahkan unit item dari rak penyimpanan ke area pengemasan untuk dikirim ke lokasi tujuan.\u00a0<\/span><\/p>\n<h3><b>5. Completion\/Release<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Pada tahap terakhir, sistem akan mengurangi jumlah stok yang tersedia (<\/span><i><span style=\"font-weight: 400;\">stock on-hand)<\/span><\/i><span style=\"font-weight: 400;\"> dan stok terpesan (<\/span><i><span style=\"font-weight: 400;\">reserved stock<\/span><\/i><span style=\"font-weight: 400;\">) jika surat jalan telah diterbitkan. Namun, jika pelanggan atau staf Anda membatalkan pesanan, jumlah stok <\/span><i><span style=\"font-weight: 400;\">Available to Promise<\/span><\/i><span style=\"font-weight: 400;\"> (ATP) akan kembali ke kondisi awal.<\/span><\/p>\n<h2><b>Cara Implementasi Reservasi Stok<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Untuk membangun sebuah <strong>sistem reservasi stok<\/strong>, Anda perlu merencanakannya dengan matang. Berikut beberapa langkah untuk mengimplementasikan sistem tersebut, dengan beberapa tips untuk mengoptimalkannya:<\/span><\/p>\n<h3><b>1. Audit data<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Cek validitas data Anda terlebih dahulu. Jika jumlah stok yang tersedia dan data sistem berbeda, Anda harus memperbaikinya. Ingat kalau sistem tidak bisa memesan unit yang belum terdaftar, jadi Anda harus melakukan <\/span><i><span style=\"font-weight: 400;\">stock opname<\/span><\/i><span style=\"font-weight: 400;\"> secara menyeluruh.\u00a0<\/span><\/p>\n<p><b>Tips:<\/b><span style=\"font-weight: 400;\"> manfaatkan kesempatan ini untuk menentukan prioritas unit item Anda. <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/analisis-abc\/\"><span style=\"font-weight: 400;\">Gunakan metode ABC<\/span><\/a><span style=\"font-weight: 400;\"> untuk menentukan produk mana yang perlu diawasi.\u00a0<\/span><\/p>\n<h3><b>2. Buat Business Rules<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Tetapkan peraturan mengenai reservasi untuk memudahkan proses. Anda harus bisa menjawab pertanyaan-pertanyaan berikut dengan jelas:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Kapan stok \u2018dikunci\u2019? Apakah saat &#8216;<\/span><i><span style=\"font-weight: 400;\">Add to Cart&#8217;<\/span><\/i><span style=\"font-weight: 400;\"> atau &#8216;<\/span><i><span style=\"font-weight: 400;\">Checkout&#8217;<\/span><\/i><span style=\"font-weight: 400;\">?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Berapa lama stok boleh ditahan tanpa dibayar? Apakah ada <\/span><i><span style=\"font-weight: 400;\">Auto-Expiry<\/span><\/i><span style=\"font-weight: 400;\">?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Siapa yang berhak mendapatkan stok jika persediaan menipis? Apakah itu berdasarkan waktu masuk pesanan atau status pelanggan?<\/span><\/li>\n<\/ul>\n<p><b>Tips:<\/b><span style=\"font-weight: 400;\"> sesuaikan <\/span><i><span style=\"font-weight: 400;\">business rules<\/span><\/i><span style=\"font-weight: 400;\"> dengan produk Anda. Peraturan yang cocok untuk barang bergerak cepat mungkin terlalu berisiko untuk barang mewah.<\/span><\/p>\n<h3><b>3. Integrasi Sales Channels<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Hubungkan semua <\/span><i><span style=\"font-weight: 400;\">sales channels<\/span><\/i><span style=\"font-weight: 400;\"> ke satu sumber kebenaran (<\/span><i><span style=\"font-weight: 400;\">single source of truth<\/span><\/i><span style=\"font-weight: 400;\">). Staf Anda akan memiliki waktu yang lebih mudah jika sistem memperbarui dirinya secara otomatis setelah setiap reservasi.\u00a0<\/span><\/p>\n<p><b>Tips:<\/b><span style=\"font-weight: 400;\"> pastikan kalau semua pihak yang berwenang dapat mengaksesnya.<\/span><\/p>\n<h3><b>4. Latih karyawan Anda<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Latih staf gudang Anda untuk hanya mengambil barang secara fisik jika tertulis di dokumen <\/span><i><span style=\"font-weight: 400;\">picking list<\/span><\/i><span style=\"font-weight: 400;\"> hasil sistem. Mereka dapat merusak logistik sistem reservasi dengan mengambil unit secara sembarangan.\u00a0<\/span><\/p>\n<p><b>Tips<\/b><span style=\"font-weight: 400;\">: minta masukan dari staf Anda, lalu gunakan <\/span><i><span style=\"font-weight: 400;\">feedback<\/span><\/i><span style=\"font-weight: 400;\"> itu untuk meningkatkan <\/span><i><span style=\"font-weight: 400;\">training<\/span><\/i><span style=\"font-weight: 400;\"> di masa mendatang.<\/span><\/p>\n<h2 id=\"mekanisme-dan-cara-kerja-stock-reservation\"><b>Penerapan Stock Reservation per Industri<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-190256\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri.webp\" alt=\"penggunaan stock reservation berdasarkan industri\" width=\"800\" height=\"533\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-300x200.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-768x512.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-630x420.webp 630w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-150x100.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-696x464.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Penggunaan-Stock-Reservation-Berdasarkan-Industri-1068x712.webp 1068w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Setiap industri memiliki cara masing-masing dalam menggunakan <strong>sistem reservasi<\/strong>. Sebagai gambaran, berikut tiga jenis industri dan bagaimana mereka menyesuaikan sistem dengan kebutuhan mereka:<\/span><\/p>\n<h3><b>1. B2B<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Dalam model B2B, <\/span><i><span style=\"font-weight: 400;\">stock reservation<\/span><\/i><span style=\"font-weight: 400;\"> bersifat jangka panjang. Pelanggan sering kali membuat <\/span><i><span style=\"font-weight: 400;\">blanket order<\/span><\/i><span style=\"font-weight: 400;\"> untuk satu tahun, tetapi meminta pengiriman secara bertahap setiap bulan. Untuk memastikan ketersediaan barang, bisnis harus melakukan <\/span><i><span style=\"font-weight: 400;\">hard reservation<\/span><\/i><span style=\"font-weight: 400;\"> berdasarkan jadwal pengiriman.\u00a0<\/span><\/p>\n<h3><b>2. E-Commerce<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Dalam industri ritel, reservasi stok biasanya terjadi dalam bentuk <\/span><i><span style=\"font-weight: 400;\">soft reservation<\/span><\/i><span style=\"font-weight: 400;\">. Sistem akan menahan barang sambil menunggu pembayaran. Jika <\/span><i><span style=\"font-weight: 400;\">checkout<\/span><\/i><span style=\"font-weight: 400;\"> gagal, stok akan kembali ke status <\/span><i><span style=\"font-weight: 400;\">Available to Promise<\/span><\/i><span style=\"font-weight: 400;\"> (ATP). Ini <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/persediaan-barang-dagang\/\"><span style=\"font-weight: 400;\">memastikan ketersediaan barang<\/span><\/a><span style=\"font-weight: 400;\">, terutama saat <\/span><i><span style=\"font-weight: 400;\">flash sale<\/span><\/i><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<h3><b>3. Manufaktur<\/b><\/h3>\n<p><b><\/b><span style=\"font-weight: 400;\">Ketika sebuah perusahaan menerbitkan <\/span><i><span style=\"font-weight: 400;\">work order<\/span><\/i><span style=\"font-weight: 400;\">, sistem harus mengalokasikan komponen secara otomatis. Selain itu, sistem juga harus segera mengubah status barang menjadi <\/span><i><span style=\"font-weight: 400;\">reserved for production<\/span><\/i><span style=\"font-weight: 400;\"> saat unit itu dipindahkan ke lantai produksi (<\/span><i><span style=\"font-weight: 400;\">shop floor<\/span><\/i><span style=\"font-weight: 400;\">). Hal ini mencegah bahan baku tersebut digunakan oleh aset lain atau dijual sebagai <\/span><i><span style=\"font-weight: 400;\">spare parts<\/span><\/i><span style=\"font-weight: 400;\">. <\/span><br \/>\n<span id=\"manfaat\"><\/span><\/p>\n<h2 id=\"tantangan\"><strong>Efek Reservasi pada Efisiensi Gudang<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-190255 aligncenter\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation.webp\" alt=\"efek stock reservation\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation.webp 800w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation-300x150.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation-768x384.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation-150x75.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Efek-Stock-Reservation-696x348.webp 696w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Selain meningkatkan <\/span><i><span style=\"font-weight: 400;\">cash flow<\/span><\/i><span style=\"font-weight: 400;\">, <\/span><strong><i>stock reservation<\/i><\/strong><span style=\"font-weight: 400;\"> juga membantu bisnis Anda mengatur inventaris. Untuk memperjelas, berikut beberapa cara sistem reservasi membuat manajemen gudang Anda lebih efisien:<\/span><\/p>\n<h3><b>1. Meningkatkan manajemen gudang<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Sistem reservasi membantu Anda <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/hub-manajemen-pergudangan-wms\/\"><span style=\"font-weight: 400;\">mengelola gudang Anda<\/span><\/a><span style=\"font-weight: 400;\">. Dengan informasi tentang pergerakan inventaris, Anda dapat menyusun <\/span><i><span style=\"font-weight: 400;\">layout<\/span><\/i><span style=\"font-weight: 400;\"> gudang yang melancarkan proses pemenuhan pesanan. Hal ini memastikan bahwa Anda memenuhi pesanan dengan tepat waktu dan dalam kondisi baik.\u00a0<\/span><\/p>\n<h3><b>2. Mengoptimasi alur kerja staf<\/b><\/h3>\n<p><b><\/b><span style=\"font-weight: 400;\">Sistem reservasi membantu karyawan Anda memilih rute terbaik untuk mengambil barang. Contohnya, jika ada reservasi untuk 50 unit, sistem akan mengarahkan staf Anda ke <\/span><i><span style=\"font-weight: 400;\">bulk storage<\/span><\/i><span style=\"font-weight: 400;\">. Sebaliknya, jika reservasinya kecil, sistem akan mengarahkan staf Anda ke <\/span><i><span style=\"font-weight: 400;\">pick face<\/span><\/i><span style=\"font-weight: 400;\">. Ini menghemat waktu dan tenaga kerja. <\/span><\/p>\n<h2><b>Masalah Umum dalam Reservasi Stok<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sistem Anda akan menghadapi berbagai tantangan jika Anda tidak mengelolanya dengan benar. Oleh karena itu, Anda perlu mengetahui masalah <\/span><strong><i>stock reservation<\/i><\/strong><span style=\"font-weight: 400;\"> umum untuk mengurangi risikonya sejak dini:<\/span><\/p>\n<h3><b>1. Data yang tidak sinkron<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Kesalahan pencatatan akan merugikan bisnis Anda. Contohnya, pelanggan Anda membatalkan pesanan, tetapi sistem masih mencatat unit yang mereka pilih sebagai <\/span><i><span style=\"font-weight: 400;\">reserved<\/span><\/i><span style=\"font-weight: 400;\">. Akibatnya, barang menumpuk di gudang karena Anda berasumsi bahwa semua stok terpesan. Solusi terbaik untuk masalah ini adalah melakukan audit secara rutin.\u00a0<\/span><\/p>\n<h3><b>2. Fragmentasi stok<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Reservasi yang kaku dapat menyebabkan masalah. Misalnya, Anda menjual Produk A di dua <\/span><i><span style=\"font-weight: 400;\">marketplace, Marketplace A<\/span><\/i><span style=\"font-weight: 400;\"> dan <\/span><i><span style=\"font-weight: 400;\">Marketplace B<\/span><\/i><span style=\"font-weight: 400;\">. Jika Produk A hanya laku di <\/span><i><span style=\"font-weight: 400;\">Marketplace A<\/span><\/i><span style=\"font-weight: 400;\">, maka Anda akan rugi karena stok lainnya terkunci di <\/span><i><span style=\"font-weight: 400;\">Marketplace B<\/span><\/i><span style=\"font-weight: 400;\">. Untuk mencegah ini, Anda bisa menyimpan <\/span><i><span style=\"font-weight: 400;\">buffer stock<\/span><\/i><span style=\"font-weight: 400;\"> atau menggunakan <\/span><i><span style=\"font-weight: 400;\">Order Management System<\/span><\/i><span style=\"font-weight: 400;\"> (OMS).\u00a0<\/span><\/p>\n<h3><b>3. Keterlambatan sinkronisasi<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Proses sinkronisasi yang lambat bisa mengakibatkan satu unit terjual di dua <\/span><i><span style=\"font-weight: 400;\">sales channels<\/span><\/i><span style=\"font-weight: 400;\"> yang berbeda. Jika sistem Anda membutuhkan waktu lama untuk memperbarui status stok, pelanggan lain bisa membeli unit item yang sama di <\/span><i><span style=\"font-weight: 400;\">channel<\/span><\/i><span style=\"font-weight: 400;\"> yang berbeda. Oleh karena itu, gunakan sistem reservasi yang terpusat dan <\/span><i><span style=\"font-weight: 400;\">real-time<\/span><\/i><span style=\"font-weight: 400;\">.<\/span><\/p>\n<h3><b>4. Over-reservation<\/b><\/h3>\n<p><i><span style=\"font-weight: 400;\">Over-reservation<\/span><\/i><span style=\"font-weight: 400;\"> bisa merugikan <\/span><i><span style=\"font-weight: 400;\">cash flow<\/span><\/i><span style=\"font-weight: 400;\"> bisnis Anda. Jika tim Anda menerima lebih banyak reservasi daripada jumlah stok yang tersedia untuk \u2018jaga-jaga\u2019, pelanggan yang siap membayar tidak akan mendapatkan barang mereka. Sebagai solusi, terapkan <\/span><i><span style=\"font-weight: 400;\">Auto-Expiry<\/span><\/i><span style=\"font-weight: 400;\"> yang membatalkan reservasi secara otomatis jika tidak ada pembayaran dalam jangka waktu tertentu.\u00a0<\/span><\/p>\n<h2 id=\"peran-teknologi\"><b>Setelah Implementasi Stock Reservation, Apa?<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-190260 size-full\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717.webp\" alt=\"sistem inventaris\" width=\"1540\" height=\"865\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717.webp 1540w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-300x169.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-1024x575.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-768x431.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-1536x863.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-748x420.webp 748w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-150x84.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-696x391.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Sistem-Inventaris-untuk-Stock-Reservation-e1772528045717-1068x600.webp 1068w\" sizes=\"auto, (max-width: 1540px) 100vw, 1540px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Setelah menerapkan <strong>sistem reservasi stok<\/strong>, Anda harus terus-menerus memperbaruinya. Berikut beberapa strategi yang bisa Anda implementasikan:<\/span><\/p>\n<h3><b>1. Dynamic Inventory Allocation<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Teknologi ini membantu sistem Anda memilih <\/span><i><span style=\"font-weight: 400;\">fulfillment center<\/span><\/i><span style=\"font-weight: 400;\"> terbaik. Jika ada gudang yang kosong, sistem akan memesan unit item di gudang terdekat atau mengarahkan pelanggan ke toko fisik. Selain itu, Sistem juga bisa menentukan jumlah persediaan untuk setiap gudang berdasarkan data sebelumnya.\u00a0<\/span><\/p>\n<h3><b>2. Integrasi AI<\/b><\/h3>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/ai-inventory-management-software\/\"><span style=\"font-weight: 400;\">Sistem yang terintegrasi dengan AI<\/span><\/a><span style=\"font-weight: 400;\"> memungkinkan Anda untuk membuat reservasi prediktif. Anda dapat mengalokasikan stok berdasarkan data historis, tanpa menunggu pesanan. Meskipun strategi ini berisiko, Anda bisa meningkatkan penjualan jika Anda mengelolanya dengan baik.\u00a0<\/span><\/p>\n<h3><b>3. Integrasi dengan POS Toko Fisik<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Integrasi <\/span><i><span style=\"font-weight: 400;\">online<\/span><\/i><span style=\"font-weight: 400;\"> dan <\/span><i><span style=\"font-weight: 400;\">offline sales channels<\/span><\/i><span style=\"font-weight: 400;\"> membantu Anda memastikan ketersediaan stok. Dengan notifikasi reservasi secara <\/span><i><span style=\"font-weight: 400;\">real-time<\/span><\/i><span style=\"font-weight: 400;\">, Anda dapat mencegah konflik antar pelanggan <\/span><i><span style=\"font-weight: 400;\">online <\/span><\/i><span style=\"font-weight: 400;\">dan toko fisik. Pelanggan <\/span><i><span style=\"font-weight: 400;\">online <\/span><\/i><span style=\"font-weight: 400;\">Anda tidak akan kecewa saat mengambil barang mereka karena barang tersebut tidak diambil pelanggan lain.\u00a0<\/span><\/p>\n<h3><b>3. Time-Based Release Management<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Pelepasan reservasi otomatis memastikan <\/span><i><span style=\"font-weight: 400;\">inventory turnover ratio<\/span><\/i><span style=\"font-weight: 400;\"> tinggi. Dengan membatalkan reservasi yang tidak dibayar, Anda memastikan ketersediaan barang untuk pelanggan yang siap membayar. Selain itu, Anda juga mencegah penumpukan unit item yang tidak terpakai.\u00a0<\/span><\/p>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p><strong><i>Stock reservation<\/i><\/strong><span style=\"font-weight: 400;\"> adalah strategi bisnis untuk memenuhi pesanan pelanggan. Dengan mengalokasikan barang terlebih dahulu, Anda dapat memberikan pengalaman (<\/span><i><span style=\"font-weight: 400;\">Customer Experience<\/span><\/i><span style=\"font-weight: 400;\">) yang positif bagi pelanggan Anda.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Namun, efektivitas sistem ini bergantung sepenuhnya pada diri Anda. Pastikan Anda memelihara data dan memperbaharui <\/span><i><span style=\"font-weight: 400;\">business rule<\/span><\/i><span style=\"font-weight: 400;\"> secara berkala. Jika tidak, persediaan yang kurang jelas akan membuat pelanggan kecewa dan bisnis rugi.<\/span><\/p>\n<h2><strong>Pertanyaan Seputar Stock Reservation<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa perbedaan antara <em>stock reservation<\/em> dan <em>backorder<\/em>?<\/strong><\/summary>\n<p><em>stock reservation<\/em> mengalokasikan barang yang ada secara fisik untuk pesanan tertentu. Sebaliknya, <em>backorder<\/em> menerima pesanan untuk unit item yang saat ini tidak tersedia, dengan janji pengiriman setelah unit tersedia kembali.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Berapa lama durasi <em>soft reservation<\/em> sebaiknya diterapkan?<\/strong><\/summary>\n<p>Durasi reservasi ideal tergantung pada jenis bisnis Anda. Jika bisnis Anda <em>E-commerce,<\/em> biasanya 15-30 menit. Namun, jika bisnis Anda B2B dengan proses persetujuan yang panjang, waktu reservasi bisa mencapai 3-7 hari.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah <em>stock reservation<\/em> mengurangi nilai total aset inventaris?<\/strong><\/summary>\n<p>Tidak. Barang yang direservasi masih milik perusahaan sampai barang itu dikirim. Namun, unit itu tidak akan dihitung dalam stok <em>Available to Promise<\/em> (ATP).<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa perbedaan antara stock reservation dan backorder?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Stock reservation mengalokasikan barang yang ada secara fisik untuk pesanan tertentu. Sebaliknya, b<span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span>ackorder menerima pesanan untuk unit item yang saat ini tidak tersedia, dengan janji pengiriman setelah unit tersedia kembali.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Berapa lama durasi soft reservation sebaiknya diterapkan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Durasi reservasi ideal tergantung pada jenis bisnis Anda. Jika bisnis Anda E-commerce, biasanya 15-30 menit. Namun, jika bisnis Anda B2B dengan proses persetujuan yang panjang, waktu reservasi bisa mencapai 3-7 hari.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apakah stock reservation mengurangi nilai total aset inventaris?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Tidak. Barang yang direservasi masih milik perusahaan sampai barang itu dikirim. Namun, unit itu tidak akan dihitung dalam stok Available to Promise (ATP).\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Industri E-commerce di Asia Tenggara diperkirakan akan mencapai $193 miliar AS pada tahun 2028. Sebuah laporan Forrester memprediksi bahwa sales ritel online global akan tumbuh menjadi $6.8 triliun AS atau Rp1.145 kuintiliun pada tahun yang sama. Untuk memanfaatkan peluang ini, Anda harus meningkatkan bisnis Anda. Salah satu caranya adalah dengan menggunakan sistem stock reservation dalam [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":190263,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-190210","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-inventory"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi &#187;<\/title>\n<meta name=\"description\" content=\"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi\" \/>\n<meta property=\"og:description\" content=\"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-03T09:21:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-20T07:13:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Jessica Wijaya\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jessica Wijaya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\"},\"author\":{\"name\":\"Jessica Wijaya\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980\"},\"headline\":\"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi\",\"datePublished\":\"2026-03-03T09:21:08+00:00\",\"dateModified\":\"2026-04-20T07:13:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\"},\"wordCount\":1705,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp\",\"articleSection\":[\"Inventory\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\",\"name\":\"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi &#187;\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp\",\"datePublished\":\"2026-03-03T09:21:08+00:00\",\"dateModified\":\"2026-04-20T07:13:09+00:00\",\"description\":\"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp\",\"width\":800,\"height\":400,\"caption\":\"stock reservation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/hashmicro\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980\",\"name\":\"Jessica Wijaya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp\",\"caption\":\"Jessica Wijaya\"},\"description\":\"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.\",\"sameAs\":[\"https:\/\/www.hashmicro.com\/id\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"Inventory\",\"inventory management\",\"manajemen inventaris\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi &#187;","description":"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/","og_locale":"id_ID","og_type":"article","og_title":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi","og_description":"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2026-03-03T09:21:08+00:00","article_modified_time":"2026-04-20T07:13:09+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp","type":"image\/webp"}],"author":"Jessica Wijaya","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Jessica Wijaya","Estimasi waktu membaca":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/"},"author":{"name":"Jessica Wijaya","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980"},"headline":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi","datePublished":"2026-03-03T09:21:08+00:00","dateModified":"2026-04-20T07:13:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/"},"wordCount":1705,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp","articleSection":["Inventory"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/","name":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi &#187;","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp","datePublished":"2026-03-03T09:21:08+00:00","dateModified":"2026-04-20T07:13:09+00:00","description":"Stock reservation adalah proses alokasi aset untuk pesanan tertentu, sehingga aset tidak bisa digunakan oleh transaksi lain.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/Stock-Reservation.webp","width":800,"height":400,"caption":"stock reservation"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/stock-reservation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Stock Reservation: Pengertian, Cara Kerja dan Cara Implementasi"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980","name":"Jessica Wijaya","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","caption":"Jessica Wijaya"},"description":"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"Perempuan","knowsAbout":["Inventory","inventory management","manajemen inventaris"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/"}]}},"focus_keyword":"stock reservation","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/190210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/users\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=190210"}],"version-history":[{"count":10,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/190210\/revisions"}],"predecessor-version":[{"id":192553,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/190210\/revisions\/192553"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/190263"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=190210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=190210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=190210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}