ছোট দলের স্টক নির্ভুলতা স্পষ্ট স্টক স্টেট দিয়ে শুরু হয়। Available, Reserved, এবং Sold‑এর পার্থক্য শিখুন এবং পেমেন্ট টাইমআউট পরিষ্কার করে ওভারসেল প্রতিরোধ করুন।

যদি আপনি একটি ছোট স্টোর চালান বা সীমিত পণ্য সরবরাহ করেন, তাহলে মনে হতে পারে স্টক সহজ: তাকেই গোনেন, আর সেটাই বিক্রি করবেন। তবুও ওভারসেল হয়ে যায়, এমনকি যখন আপনার সংখ্যা সঠিক থাকে।
মূল কারণ হলো টাইমিং। আপনার “গোনা” 10:00:00‑এ সঠিক থাকতে পারে, কিন্তু 10:00:05‑এ ভুল হতে পারে — কারণ দুইজনই একই শেষ ইউনিটটি কেনার চেষ্টা করেছে, পেমেন্ট ধীর হয়েছে, বা কেউ চেকআউট চলাকালীন স্টক মডিফাই করেছে। ছোট টিমে এই মুহূর্তগুলো নজর এড়িয়ে যায় কারণ আপনার কাছে পুরো সময় ধরে এজ‑কেস দেখার জন্য আলাদা কোনো অপস পারসন নেই।
স্টক ভুল হলে গ্রাহক তা তৎক্ষণাত অনুভব করে:
আপনার পক্ষেও এটা ব্যস্ততা বাড়ায়: ক্ষমা চাওয়া, রিফান্ড করা, আবার গণনা দেখা এবং টিকিটের জবাব দেওয়া। এজন্য ছোট দলের জন্য স্টক নির্ভুলতা আদতে নিখুঁত গণনার ব্যাপার নয়, বরং চেকআউটের সময় “স্টক ইন‑স্টক” মানে কী — তা স্পষ্ট নিয়মে বোঝানো।
মূল ধারণা হলো স্টককে একটার বেশি দুটি অবস্থা হিসেবে বিবেচনা করা: "Available" হল বর্তমানে আপনি কী প্রতিশ্রুতি দিতে পারেন; "Reserved" হল কারো জন্য সাময়িক ধরে রাখা; "Sold" হল যা বিক্রি হয়ে গেছে এবং ফাইলে দেওয়া উচিত।
এই গাইডটি সহজ, ব্যবহারিক নিয়ম মানে করে: আইটেমগুলো কীভাবে এসব স্টেটে যায়, কখন রিজার্ভ করবেন, এবং কীভাবে পেমেন্ট টাইমআউট হ্যান্ডেল করবেন যাতে স্টক আটকে বা ডাবল‑সেল না হয়। এটি জটিল ফোরকাস্টিং, গুদাম বিন্যাস বা মাল্টি‑লোকেশন প্ল্যানিং কভার করে না।
এই তিনটি শব্দ মনে হতে পারে সরল লেবেল, কিন্তু এগুলো তিনটি ভিন্ন প্রতিশ্রুতি যা আপনি গ্রাহকদের দেন। যদি এগুলো মিশে যায়, আপনি হয় ওভারসেল করবেন (একই আইটেমের জন্য দুইজন পে করে) অথবা আন্ডারসেল করবেন (যে স্টক বিক্রি করা যেত তা লুকিয়ে রাখবেন)।
Available মানে “একজন গ্রাহক এখনই এই আইটেমের জন্য চেকআউট শুরু করতে পারেন।” এটি আপনার অন‑হ্যান্ড স্টকের সেই অংশ যা অন্য কারো জন্য আগে থেকে সংকুচিত নয়। ভাবুন এটা আপনার প্রকাশ্য সংখ্যা।
Reserved মানে “আমরা এই আইটেমটি নির্দিষ্ট একজন গ্রাহকের জন্য সাময়িক রাখছি।” সাধারণত যখন শপার checkout শুরু করে তখন রিজার্ভেশন তৈরি হয়। Reserved এখনো বিক্রি নয়, কিন্তু আপনি এটিকে অস্থায়ীভাবে অন্যদের জন্য বন্ধ রাখেন যাতে ডাবল‑বুকিং না ঘটে।
Sold মানে “ক্রয় নিশ্চিত।” এই মুহূর্তে আপনি নিরাপদে আইটেমটিকে আর বিক্রির জন্য গণ্য করবেন না। অনেক দোকানে "sold" পেমেন্ট সফল হলে শুরু হয় (বা আপনি যে পে‑লেটার পদ্ধতিতে বিশ্বাস করেন সেখানে অর্ডার প্লেস করলে) এবং শিপিং পর্যন্ত চলে।
একটি গুরুত্বপূর্ণ পয়েন্ট: available = on hand নয়। On hand হল আপনার শারীরিক স্টক। Available হল আপনি নতুন ক্রেতাদের কি প্রতিশ্রুতি দিতে রাজি আছেন।
এখানে একটি ছোট উদাহরণ, 5 ইউনিট on hand:
দেখুন কিভাবে সব তিনটি সংখ্যা একই সময়ে সত্য হতে পারে। যদি আপনি কেবল "on hand" ট্র্যাক করেন, আপনার সাইট 5 দেখাতে পারে এবং পাঁচজনকে কেনার অনুমতি দিতে পারে, যদিও আপনি কনফিডেন্টলি আরও কেবল দুইটি ফারত দিতে পারবেন।
ইনভেন্টরি তখনই জটিল হয় যখন "গোনা" একটাই সংখ্যার মতো ট্রীট করা হয়। ছোট দলের স্টক নির্ভুলতার জন্য, স্টেটগুলোকে একটি সরল পথ হিসেবে ভাবুন। প্রত্যেক স্টেট ভিন্ন প্রশ্নের উত্তর দেয়: কেউ কি এখনো কিনতে পারে, এটি কি চেকআউটের জন্য ধরে রাখা হয়েছে, নাকি বিক্রয় চূড়ান্ত?
সাধারণ লাইফসাইকেল দেখতে এমন:
"Sold" হওয়া উচিত সেই মুহূর্ত যখন আপনি বাস্তব প্রতিশ্রুতি দেন। অনেক সেভাবে, এটিই সেই সময় যখন আপনি শারীরিক স্টকও কমান, কারণ আইটেমটি আর আপনার বিক্রির জন্য নেই। যদি আপনি পরে শিপ করেন (ছোট টিমে প্রচলিত), তখনও আপনি "sold" কে চূড়ান্ত ধরে শিপিং আলাদা করে ট্র্যাক করতে পারেন। মূল কথা: কাউকে পেমেন্ট পেজে আসার কারণে আইটেমকে sold হিসেবে মার্ক করবেন না।
সবাইকে কঠোরভাবে নির্ধারণ করুন যে কে কোন স্টেট বদলাতে পারে:
শেষে, স্টেট পরিবর্তন সব জায়গায় একইভাবে দেখা উচিত। আপনার storefront, admin প্যানেল এবং কাস্টমার সাপোর্ট ভিউ একই স্ট্যাটস পড়বে, নাহলে আপনি এক জায়গায় ওভারসেল ঠিক করে আরেক জায়গায় সেটা পুনরায় তৈরি করবেন।
আপনি কখন রিজার্ভ করবেন তা নির্ধারণ করে আপনার ওভারসেল এবং গ্রাহক হতাশা দুটোই কেমন হবে। খুব আগে করলে আপনি শুধু ব্রাউজারদের জন্য আইটেম ধরে রাখেন; খুব দেরি করলে একই শেষ আইটেম দুজনকে বিক্রি হয়ে যেতে পারে।
সাধারণ একটা নিয়ম যা বেশিরভাগ ছোট টিমে কাজ করে: গ্রাহক চেকআউটের জন্য প্রতিশ্রুতিবদ্ধ হলে রিজার্ভ করুন, পণ্য পেজ খোলার সময় নয়।
সাধারণ অপশনগুলো, শুরু থেকে পরে পর্যন্ত:
আপনি যা নির্বাচন করবেন, প্রতিটি রিজার্ভে শুধু প্রয়োজনীয় তথ্য রাখুন: আইটেম (SKU), পরিমাণ, কার্ট বা অর্ডার আইডি, যার জন্য রাখা হয়েছে (সেশন/ইউজার), এবং একটি এক্সপায়ারি টাইম। সাথে রিজন বা স্টেজ (checkout, payment) রাখলে সাপোর্ট পরে পরিস্থিতি বুঝতে সহজ হয়।
মাল্টি‑আইটেম কার্টে একটা বাড়তি সিদ্ধান্ত লাগে: সবকিছুকে একবারে রিজার্ভ করবেন নাকি প্রতিটি আইটেম আলাদাভাবে? সাধারণত প্রতিটি আইটেম আলাদাভাবে রিজার্ভ করা নিরাপদ — যদি একটি আইটেম আউট হলে আপনি কেবল সেই আইটেমের হোল্ড রিলিজ করতে পারেন পুরো কার্ট বন্ধ না করে।
সহজ ভাষায় হোল্ডটি দেখান। ছোট একটি নোটিশ যেমন “আমরা চেকআউট শেষ করার জন্য এই আইটেমগুলো 10 মিনিট ধরে ধরে রেখে দিয়েছি” যথেষ্ট। শেষ আইটেম হলে সরাসরি বলুন: “শুধু 1 বাকি। এটি 3:42 PM পর্যন্ত আপনাকে ধরে রাখা হয়েছে।” টাইমার সাহায্য করতে পারে, কিন্তু যদি বার্তাটি স্পষ্ট হয় তাহলে ঐচ্ছিক।
আপনি যদি Koder.ai-এ ফ্লো বানান, তাহলে “reserve”‑কে প্রথম শ্রেণির স্টেপ হিসেবে ট্রিট করুন (API কল + ডাটাবেস রেকর্ড) যাতে UI এবং ব্যাকএন্ড সর্বদা একমত থাকে।
ছোট দলের স্টক নির্ভুলতার জন্য সিস্টেমটি বিরক্তিকরভাবে নিরপেক্ষ এবং predictable করুন। মূল কথা হলো প্রতিটি সংখ্যার মান ঠিক করা এবং সেটি কেবল এক জায়গা থেকেই বদলানো।
প্রথমে একটি single source of truth বেছে নিন। সেটা একটি ডাটাবেস টেবিল বা একটি সার্ভিস হতে পারে যা সব চেকআউট কল করে। স্প্রেডশীট, অ্যাডমিন এডিট এবং দুই সিস্টেমে "কুইক ফিক্স" ওভারসেল জন্মায়।
এখানে একটি সহজ ফ্লো যা বেশিরভাগ স্টোরের জন্য কাজ করে:
শেষে, প্রতিটি স্টেট পরিবর্তন লগ করুন সময়, কারণ, এবং আইডি (cart, payment, order) সহ। যখন গ্রাহক জিজ্ঞেস করে “কেন আউট অফ স্টক ছিল?”, সাপোর্টকে একটি পরিষ্কার টাইমলাইন দরকার। যদি আপনি এই ফ্লোটি কোনো অ্যাপে তৈরি করছেন (উদাহরণস্বরূপ Koder.ai-তে), এই স্টেট এবং লগকে প্রথম শ্রেণির ডাটা ধরুন, কেবল UI লেবেল নয়।
পেমেন্ট টাইমআউট হল সেই বিন্দু যেখানে আপনি চেকআউট শেষ হওয়ার জন্য আর অপেক্ষা করেন না এবং reserved স্টককে আবার available‑এ রিলিজ করেন। এটা জরুরি কারণ কিছু শপার পেমেন্ট সম্পন্ন না করে চলে যায়, এবং টাইমআউট না থাকলে আপনার reserved তালিকা বাড়তে থাকবে এবং প্রকৃত ক্রেতারা ব্লক হয়ে যাবে।
আপনার টাইমআউটটি এমনভাবে বেছে নিন যা আপনার পেমেন্ট প্রোভাইডারের আচরণ মিলে। কার্ড পেমেন্ট দ্রুত কনফার্ম হয়, কিন্তু 3D Secure, ব্যাংক রিডাইরেক্ট, বা ওয়ালেট ফ্লো দীর্ঘ সময় নিতে পারে। টাইমআউট খুব ছোট হলে আপনি স্টক রিলিজ করবেন যখন গ্রাহক এখনও পে করছেন; খুব বড় হলে আপনি যারা ইতিমধ্যে চলে গেছেন তাদের জন্য স্টক ধরে রাখবেন। অনেক ছোট দোকানের জন্য 10–20 মিনিট একটি ভাল প্রাথমিক মান, পরে লগ দেখে সমন্বয় করুন।
যখন শপার ট্যাব বন্ধ করে বা কানেকশন হারায়, কিছু ধরে নিই না। পেমেন্ট পটেনশিয়ালি ব্যাকগ্রাউন্ডে সফল হতে পারে বা কখনোই শুরু না‑ও হতে পারে। তাই ইনভেন্টরি সিস্টেম ব্রাউজারের ওপর নির্ভর করা উচিত নয় যে "বলে দাও" কী ঘটেছে।
ক্লিনআপ স্বয়ংক্রিয় করুন যাতে আপনাকে অর্ডারগুলো হাতে‑হাতেই দেখাশোনা করতে না হয়। একটি সহজ পদ্ধতি হলো একটি পারিওডিক স্যুইপ যা পুরনো রিজার্ভেশন এক্সপায়ার করে এবং কেন সেটি ঘটেছে তা রেকর্ড করে।
পেমেন্ট যদি টাইমআউটের পরে আসে, আপনি কী করবেন তা আগেই সিদ্ধান্ত নিন—নির্ভুল উত্তর নেই, কিন্তু একটি ধারাবাহিক নিয়ম থাকা দরকার। সাধারণ অপশনগুলো: পেমেন্ট গ্রহণ করবেন কেবল যদি স্টক এখনো উপলব্ধ থাকে (অন্যথা স্বয়ংক্রিয় রিফান্ড করুন), অথবা আপনার প্রোভাইডার প্রমাণ করতে পারে পেমেন্ট চলছে এমনকালে রিজার্ভ বাড়িয়ে দিন।
ছোট দলের স্টক নির্ভুলতার মূল: টাইমআউটকে predictable, স্বয়ংক্রিয় এবং দৃশ্যমান রাখুন যাতে "reserved" কখনোই ব্ল্যাকহোল না হয়।
পেমেন্ট সিস্টেম সব সময় একটি একক, পরিষ্কার "paid" বার্তা পাঠায় না। একই কনফার্মেশন বার্তা দুইবার আসতে পারে, একটি ডিলে‑ওয়েবহুক হতে পারে, বা ক্যাপচার গ্রাহক ভাবার চেয়ে কয়েক মিনিট পরে ঘটতে পারে। যদি আপনার ইনভেন্টরি আপডেট এসবের জন্য প্রস্তুত না থাকে, আপনি একই ইউনিটটি দুবার বিক্রি করে ফেলতে পারেন।
সবচেয়ে সহজ অ্যাংকর হল একটাই অর্ডার আইডি যা পুরো গল্পটি অনুসরণ করে: রিজার্ভেশন, প্রতিটি পেমেন্ট চেষ্টা, এবং চূড়ান্ত বিক্রয়। যখন কিছু ঘটে, প্রথমে সেই অর্ডার আইডি দেখে তারপর সিদ্ধান্ত নিন কী করা হবে।
কিছু নিয়ম যা স্টক নির্ভুল রাখে যান্ত্রিকতা না বাড়িয়ে:
Idempotent মানে সহজভাবে "বারবার করলেও নিরাপদ"। এটা টিকিট স্ট্যাম্প করার মতো — প্রথম স্ট্যাম্পই বিষয়, দ্বিতীয়বার তা প্রভাব ফেলবে না।
রিফান্ড এবং চার্জব্যাক আইটেমকে স্বয়ংক্রিয়ভাবে available-এ ফিরিয়ে না আনার নীতি রাখুন। যদি আইটেমটি ইতিমধ্যেই শিপ হয়ে যায়, ইনভেন্টরি sold থেকেই যাবে, আর আপনার একাউন্টিং রিফান্ড দেখাবে। কেবল তখনই রিস্টক করুন যখন আইটেম বাস্তবে ফেরত আসে এবং ইনস্পেক্ট করা হয়।
পার্শিয়াল ক্যাপচার এবং স্প্লিট পেমেন্টের জন্য সহজ একটি নীতি লাগান। উদাহরণস্বরূপ: মোট ক্যাপচার করা পরিমাণ অর্ডার টোটালের সমান হওয়া পর্যন্ত আইটেম reserved রাখুন, তারপর sold হিসেবে মার্ক করুন। গ্রাহক যদি আংশিকভাবেই পে করে এবং টাইমআউট হয়, সাধারণভাবে অন্যান্য ব্যর্থ চেকআউটের মতো রিজার্ভ রিলিজ করুন।
অধিকাংশ ওভারসেল খারাপ গণনার কারণে নয়। এগুলো ঘটে যখন টিম একই শব্দকে ভিন্ন অর্থে ব্যবহার করে, বা চেকআউটের কোনো অংশ ইনভেন্টরি ভিন্নভাবে আপডেট করে। যদি আপনি ছোট দলের স্টক নির্ভুলতা চান, ভুলগুলো সাধারণত সহজ, কিন্তু ধারাবাহিক হওয়া দরকার।
একটি সাধারণ ভুল হল খুব আগে রিজার্ভ করা। যদি আপনি পণ্য পেজ খোলার বা কার্টে যোগ করার মুহূর্তেই রিজার্ভ করেন, তখন ব্রাউজার যারা কেবল ভিউ করছে তাদের জন্য স্টক ব্লক হয়ে যায়। রিজার্ভগুলো স্পষ্ট প্রতিশ্রুতির সঙ্গে যুক্ত হওয়া উচিত, যেমন চেকআউট শুরু বা পেমেন্ট সেশান তৈরি করা।
আরেকটি ধীর লিক হল রিজার্ভেশনগুলো কখনও এক্সপায়ার না হওয়া। প্রতিদিন কয়েকটা পরিত্যক্ত চেকআউট ধীরে ধীরে আপনার বিক্রিযোগ্য স্টক খেয়ে ফেলে। সময়সীমা এবং অটোম্যাটিক রিলিজ থাকা আবশ্যক।
সবচেয়ে বেশি দেখা ভুলগুলো:
শেষ পয়েন্টটা যতটা শুনতে কম মনে হয়, ততটাই গুরুত্বপূর্ণ। যখন গ্রাহক বলে, “আমি পে করেছি কিন্তু আউট অফ স্টক দেখাচ্ছে,” আপনার টিমের কাছে একটি অডিট ট্রেইল থাকা উচিত: কখন রিজার্ভ করা হয়েছিল, কখন রিলিজ করা হয়েছিল, এবং সেটা কি পেমেন্ট টাইমআউট, ম্যানুয়াল ক্যান্সেল, নাকি রিফান্ডের কারণে ছিল।
একটি সহজ অভ্যাস: যখনই ইনভেন্টরি বদলে, কারণ এবং সোর্স (checkout, admin, import, support) রেকর্ড করুন। যদি আপনি Koder.ai তে ফ্লো বানান, এই কারণগুলোকে ডাটা মডেলে বেক করুন এবং এক জায়গায় বাধ্যত করুন যেন প্রতিটি ফিচার একই নিয়ম মেনে চলে।
নতুন চেকআউট বা ইনভেন্টরি লজিক শিপ করার আগে নিশ্চিত করুন টিমের সবাই বলতে পারে প্রতিটি স্ট্যাটাস কী মানে—কোনো অতিরিক্ত নিয়ম ছাড়া। "Available" অর্থ যা এখনও রিজার্ভ করা যেতে পারে, "Reserved" অর্থ নির্দিষ্ট চেকআউটের জন্য প্রতিশ্রুত, এবং "Sold" অর্থ পে হয়েছে এবং চূড়ান্ত।
একটি সহজ রিজার্ভ সিস্টেম সময় এবং ক্লিনআপের ওপর নির্ভর করে। রিজার্ভেশনগুলোর একটি স্পষ্ট এক্সপায়ারি টাইম থাকা উচিত (উদাহরণ: 10–15 মিনিট), এবং আপনার একটি জব বা ট্রিগার থাকা উচিত যা এক্সপায়ার্ড হোল্ড রিলিজ করে যাতে স্টক available-এ ফেরে।
এই প্রি‑শিপ চেকলিস্টটি চালান:
সাপোর্টকে অনুমান‑ভিত্তিক নয় দৃশ্যমানতা দিতে হবে। কোনো অর্ডারের জন্য, আপনাকে স্টেট পরিবর্তনের টাইমলাইন টাইমস্ট্যাম্পসহ দেখতে হবে যাতে বিরোধ সহজে হ্যান্ডেল করা যায়।
আপনি যদি এই লজিকটি কোনো কোড জেনারেটর বা vibe‑coding প্ল্যাটফর্ম (যেমন Koder.ai) এ বাস্তবায়ন করেন, প্রথমে এই নিয়মগুলো লিখে নিন, তারপর স্পষ্ট স্টেট ও ইভেন্ট হিসেবে ইমপ্লিমেন্ট করুন। এতে এজ‑কেস গোপনে পরে ঢুকতে পারবেনা।
আপনার কাছে একটি জনপ্রিয় আইটেমের মাত্র 1 ইউনিট বাকি। দুইজন শপার প্রায় একই সময়ে চেকআউট করেন।
12:00:00 - স্টোর দেখায় Available: 1, Reserved: 0, Sold: 0।
12:00:05 - Shopper A "Pay" ক্লিক করে। আপনার সিস্টেম 1 ইউনিটের জন্য 10 মিনিটের রিজার্ভ তৈরি করে। প্রোডাক্ট পেজ এখন কার্যত দেখায় Available: 0 (কারণ ঐ শেষ ইউনিটটি ধরে রাখা হয়েছে), আর ব্যাক অফিসে দেখা যায় Reserved: 1।
12:00:20 - Shopper B একই আইটেম কার্টে যোগ করে এবং চেকআউটে যায়।
12:03:10 - Shopper A‑র পেমেন্ট সফল হয়।
আপনি রিজার্ভেশনকে বিক্রয়ে রূপান্তর করেন:
এখন কনটস হল Available: 0, Reserved: 0, Sold: 1। Shopper A অর্ডার কনফার্মেশন পায়। Shopper B এখনো কিনতে পারছে না।
বিকল্প সমাপ্তি: পেমেন্ট টাইমআউট
পরিচালনাটি একই, কিন্তু Shopper A পেমেন্ট পূরণ করে না।
12:10:05 - রিজার্ভেশন এক্সপায়ার করে (টাইমআউট)। আপনি স্টক রিলিজ করেন।
ভ্যারিয়েন্ট: টাইমআউটের পরে পেমেন্ট সফল হয়
কখনও কখনও পেমেন্ট প্রোভাইডার দেরিতে সাফল্য রিপোর্ট করে (নেটওয়ার্ক ল্যাগ, ডিলে‑কনফার্মেশন)।
আপনার নিয়ম সহজ রাখা উচিত: একবার রিজার্ভ এক্সপায়ার করলে তা পুনরায় জীবিত করা যাবে না। তাহলে যখন Shopper A‑র জন্য দেরিতে "success" আসে, আপনি নিম্নলিখিতগুলোর একটি করুন:
এই এক নিয়ম ওভারসেল প্রতিরোধ করে এবং সাপোর্টের ফলাফলগুলো পূর্বানুমেয় রাখে।
ছোট দলের স্টক নির্ভুলতা অনেক সহজ হয় যখন সবাই একই শব্দ একইভাবে ব্যাবহার করে। এক জায়গায় available, reserved, এবং sold‑এর সংজ্ঞা লিখে রাখুন, এবং নিশ্চিত করুন তা আপনার স্টোরে গ্রাহককে যা দেখায়, সাপোর্ট যা বলে, এবং অ্যাডমিন যা দেখে—সবখানেই মিলে।
আপনার পলিসি সংক্ষিপ্ত রাখুন: ঠিক করুন কখন রিজার্ভ তৈরি হবে (উদাহরণ: চেকআউট শুরু বা পেমেন্ট শুরু) এবং কতক্ষণ পর্যন্ত স্টক ধরে রাখা যাবে। টাইমআউট নিয়ম সাধারণ ভাষায় লিখুন, এবং স্পষ্ট করুন যদি গ্রাহক পরে ফিরে আসে তখন কী হবে।
চেকআউট বদলানোর আগে স্টেট এবং ট্রানজিশনগুলো স্কেচ করুন। আপনি প্রতিটি ইভেন্টকে指 করে বলতে সক্ষম হওয়া উচিত যে সেটা স্টকে কী করে।
বেশিরভাগ টিম এই পাঁচটি অ্যাকশনের মাধ্যমে ভালো পারেন:
বেসিক অবজারভেবিলিটি যোগ করুন যাতে আপনি বিরল এজ‑কেসগুলো ডিবাগ করতে পারেন। প্রতিটি reserve, release, এবং convert‑to‑sold ইভেন্ট লগ করুন অর্ডার আইডি, কারণ (timeout, cancel, payment success), টাইমস্ট্যাম্প, এবং আগে ও পরে পরিমাণ সহ।
আপনি যদি দ্রুত প্রোটোটাইপ করতে চান, Koder.ai আপনাকে চ্যাটে states ম্যাপ করতে, রিজার্ভেশন ও টাইমআউট লজিক জেনারেট করতে, এবং পরে ডেপ্লয় করার জন্য সোর্স কোড এক্সপোর্ট করতে সাহায্য করতে পারে। কীগুলি জটিল টুল নয় — নিয়মগুলো স্পষ্ট ও ধারাবাহিক করা এবং প্রতিটি জায়গায় তা প্রয়োগ করা।