- সম্পদ: প্রাপ্যতা
- সম্পদ
- পুনরাবৃত্তি
- সময়সূচী ব্যতিক্রম
- অগ্রিম পরিশোধ
- প্রাইসইনফো
- মূল্যসীমা
- সময়কালের প্রয়োজনীয়তা
- সময়সূচী নিয়ম ওভাররাইড
- নিশ্চিতকরণ মোড
- লিঙ্কআউটপ্রয়োজনীয় কারণ
- পদ্ধতি
সম্পদ: প্রাপ্যতা
ব্যবসায়ীর পরিষেবার উপলব্ধতার একটি স্লট, যা সময় এবং স্থানের সংখ্যা নির্দেশ করে।
| JSON উপস্থাপনা |
|---|
{ "startTime": string, "duration": string, "spotsTotal": string, "spotsOpen": string, "availabilityTag": string, "resources": { object ( |
| ক্ষেত্র | |
|---|---|
startTime | অ্যাপয়েন্টমেন্ট স্লটের শুরুর সময়। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
duration | অ্যাপয়েন্টমেন্ট স্লটের সময়কাল সেকেন্ডে পরিমাপকৃত সময়কাল, যা সর্বোচ্চ নয়টি ভগ্নাংশ অঙ্ক পর্যন্ত হতে পারে এবং শেষে ' |
spotsTotal | মোট আসন সংখ্যা এবং উপলব্ধ খালি আসন সংখ্যা। উদাহরণ:
দ্রষ্টব্য: নিচে সংজ্ঞায়িত অ্যাভেইলেবিলিটি কম্প্রেশন ফরম্যাট ব্যবহার করে অনুরোধ পাঠানোর ক্ষেত্রে, এই দুটি ফিল্ড অনুমান করা হবে।
|
spotsOpen | খালি আসনের সংখ্যা। |
availabilityTag | এই উপলব্ধতার স্লটটি শনাক্ত করার জন্য একটি ঐচ্ছিক অস্বচ্ছ স্ট্রিং। এটি সেট করা হলে, অ্যাপয়েন্টমেন্ট বুক/আপডেট/বাতিল করার অনুরোধগুলিতে এটি অন্তর্ভুক্ত করা হবে। |
resources | ঐচ্ছিক সংস্থানসমূহ যা এই উপলব্ধতার সময়টিকে অন্যগুলি থেকে আলাদা করতে ব্যবহৃত হয়, যখন ভিন্ন ভিন্ন কর্মী সদস্য বা কক্ষ এই পরিষেবার অংশ হয়। উদাহরণস্বরূপ, দুজন প্রশিক্ষকের সাথে একই যোগ ক্লাস: |
paymentOptionId[] | এই স্লটের মূল্য পরিশোধের জন্য ব্যবহারযোগ্য পেমেন্ট অপশনগুলোর আইডি-র একটি তালিকা। প্রকৃত পেমেন্ট অপশনগুলো মার্চেন্ট পর্যায়ে নির্ধারণ করা হয় এবং এগুলো একাধিক মার্চেন্টের মধ্যে শেয়ারও করা যেতে পারে। এই ফিল্ডটি সার্ভিস মেসেজে নির্দিষ্ট করা যেকোনো payment_option_id-কে ওভাররাইড করে। একইভাবে, এখানে নির্দিষ্ট করা payment_option_id-গুলো সার্ভিস মেসেজে উপস্থিত থাকার প্রয়োজন নেই, তবে সেগুলো মার্চেন্ট লেভেলে অবশ্যই সংজ্ঞায়িত থাকতে হবে। |
recurrence | প্রাপ্যতার পুনরাবৃত্তির তথ্য, যা একাধিক শুরুর সময়কে নির্দেশ করে। একটি পুনরাবৃত্তিতে এক কার্যদিবসের অ্যাপয়েন্টমেন্ট থাকা উচিত। |
scheduleException[] | যে সময়গুলোতে এই পরিষেবাটি শিডিউল করা যায় না। scheduleException মেসেজের সংখ্যা সীমিত করতে, পাশাপাশি থাকা এক্সেপশনগুলোকে একত্রিত করার কথা বিবেচনা করুন। |
deposit | এই প্রাপ্যতার জন্য ঐচ্ছিক আমানত। যদি আগে থেকে সার্ভিস ডিপোজিট নির্দিষ্ট করা হয়ে থাকে, তবে এটি সেটিকে বাতিল করে দেবে। |
noShowFee | এই প্রাপ্যতার জন্য ঐচ্ছিক অনুপস্থিতি ফি প্রযোজ্য। যদি আগে থেকে কোনো অনুপস্থিতি ফি নির্দিষ্ট করা হয়ে থাকে, তবে এটি সেই ফি-কে বাতিল করে দেবে। |
prepayment | ঐচ্ছিক। এই প্রাপ্যতার জন্য ঐচ্ছিক অগ্রিম পরিশোধের তথ্য। |
requireCreditCard | এই উপলব্ধ স্লটটি বুক করার জন্য ব্যবহারকারীকে ক্রেডিট কার্ড প্রদান করতে হবে কিনা তা নির্দেশ করে। যদি মানটি সেট করা না থাকে, তবে পরিষেবা স্তরে সেট করা থাকলে তা সেখান থেকেই গৃহীত হবে। (ঐচ্ছিক) |
ticketTypeId[] | এই অ্যাভেইলেবিলিটি স্লটের জন্য সমর্থিত টিকেট প্রকারের একটি তালিকা নির্দেশ করে। যদি সেট করা না থাকে, তাহলে প্যারেন্ট সার্ভিসের সমস্ত টিকেট প্রকার এই স্লটের জন্য উপলব্ধ থাকবে। মনে রাখবেন যে, এই ফিল্ডের মান অবশ্যই প্যারেন্ট সার্ভিসে সংজ্ঞায়িত করতে হবে। উদাহরণ:
সপ্তাহের কর্মদিবসগুলিতে উপলব্ধতা দেখানোর জন্য:
এই টাইম স্লটের জন্য তিন ধরনের টিকিটই উপলব্ধ আছে তা বোঝাতে, ` (ঐচ্ছিক) |
durationRequirement | স্লটের সময়কাল এবং/অথবা শেষ সময় দেখানোর প্রয়োজন। স্লটটি অনুপলব্ধ হলে এই ক্ষেত্রটি উপেক্ষা করা হবে। থিংস-টু-ডু বিভাগে ব্যবহৃত হয় না। (ঐচ্ছিক) |
schedulingRuleOverrides | প্রাপ্যতা সময়সূচী নির্ধারণের নিয়মাবলী। যদি ফিল্ডগুলি পূরণ করা হয়, তবে সেগুলি পরিষেবা-স্তরের SchedulingRules-এ থাকা যেকোনো সংশ্লিষ্ট সময়সূচী নির্ধারণের নিয়মকে বাতিল করে দেবে। |
confirmationMode | এই অ্যাভেইলেবিলিটি বুক করার সময় যে কনফার্মেশন মোড ব্যবহার করা হবে। CONFIRMATION_MODE_SYNCHRONOUS কনফার্মেশন মোডযুক্ত অ্যাভেইলেবিলিটির জন্য বুকিং তৈরির প্রচেষ্টা অবশ্যই অবিলম্বে কনফার্ম বা ডিনাই করতে হবে। CONFIRMATION_MODE_ASYNCHRONOUS কনফার্মেশন মোডযুক্ত অ্যাভেইলেবিলিটির জন্য বুকিং তৈরির প্রচেষ্টা অবশ্যই অবিলম্বে ডিনাই করতে হবে অথবা PENDING স্ট্যাটাস সহ তৈরি করতে হবে। |
linkoutRequiredReason | ঐচ্ছিক। এই স্লটের জন্য লিঙ্কআউট কেন প্রয়োজন তার কারণ। যদি সেট করা থাকে, তাহলে এই স্লটের মার্চেন্ট রিসোর্সে অবশ্যই একটি বৈধ লিঙ্কআউট টেমপ্লেট থাকতে হবে। (ঐচ্ছিক) |
সম্পদ
যখন কোনো পরিষেবার অংশ হিসেবে ভিন্ন ভিন্ন কর্মী বা কক্ষ থাকে, তখন উপলব্ধ স্লটগুলোকে একে অপরের থেকে আলাদা করতে একটি রিসোর্স ব্যবহার করা হয়। একই পরিষেবা এবং সময়সীমার জন্য একাধিক স্লট একসাথে থাকতে পারে, যখন সেগুলোর জন্য ভিন্ন ভিন্ন রিসোর্স থাকে।
| JSON উপস্থাপনা |
|---|
{
"staffId": string,
"staffName": string,
"roomId": string,
"roomName": string,
"partySize": integer,
"roomDescription": {
object ( |
| ক্ষেত্র | |
|---|---|
staffId | পরিষেবা প্রদানকারী কর্মীর জন্য ঐচ্ছিক আইডি। এই ফিল্ডটি সমস্ত মার্চেন্ট, পরিষেবা এবং প্রাপ্যতা রেকর্ডে কর্মীকে শনাক্ত করে। অতীতের বুকিংয়ের সাথে সম্পর্ক স্থাপনের জন্য সময়ের সাথে সাথে এটি স্থিতিশীল থাকাও প্রয়োজন। যদি staffName ফিল্ডটি উপস্থিত থাকে, তবে এই ফিল্ডটিও অবশ্যই থাকতে হবে। |
staffName | পরিষেবা প্রদানকারী কর্মীর ঐচ্ছিক নাম। এই ফিল্ডটি বুকিংকারী ব্যবহারকারীদের কাছে প্রদর্শিত হবে এবং এটি একটি দুর্বোধ্য শনাক্তকারীর পরিবর্তে সহজে পাঠযোগ্য হওয়া উচিত। যদি staffId উপস্থিত থাকে, তবে এই ফিল্ডটি অবশ্যই থাকতে হবে। |
roomId | যে রুমে পরিষেবাটি অবস্থিত, তার জন্য একটি ঐচ্ছিক আইডি। এই ফিল্ডটি সমস্ত মার্চেন্ট, পরিষেবা এবং প্রাপ্যতা রেকর্ড জুড়ে রুমটিকে শনাক্ত করে। অতীতের বুকিংয়ের সাথে সম্পর্ক স্থাপনের জন্য সময়ের সাথে সাথে এটি স্থিতিশীল থাকাও প্রয়োজন। যদি roomName ফিল্ডটি উপস্থিত থাকে, তবে এই ফিল্ডটিও অবশ্যই থাকতে হবে। |
roomName | যে রুমে পরিষেবাটি অবস্থিত, তার জন্য একটি ঐচ্ছিক নাম। এই ফিল্ডটি বুকিংকারী ব্যবহারকারীদের কাছে প্রদর্শিত হবে এবং এটি একটি দুর্বোধ্য শনাক্তকারীর পরিবর্তে সহজে পাঠযোগ্য হওয়া উচিত। (ঐচ্ছিক, তবে roomId উপস্থিত থাকলে আবশ্যক) ডাইনিং-এর ক্ষেত্রে, রুমের নাম শুধুমাত্র বার বা প্যাটিওর মতো বসার জায়গার জন্য ব্যবহার করা উচিত এবং এটি নির্দিষ্ট মূল্যের মেনু, বিশেষ কার্যক্রম বা রুম-বহির্ভূত অন্য কোনো পরিষেবার (যেমন রিজার্ভেশন বা ডিনার) জন্য ব্যবহার করা উচিত নয়। জোরালোভাবে সুপারিশ করা হচ্ছে যে ডিফল্ট বসার জায়গার সাথে কোনো রুম যুক্ত না থাকে। |
partySize | শুধুমাত্র ডাইনিং-এর জন্য প্রযোজ্য: এই নির্দিষ্ট সময়ে যতজন অতিথিকে জায়গা দেওয়া যাবে। একটি রেস্তোরাঁর সাথে একই সময়ের জন্য একাধিক স্লট যুক্ত থাকতে পারে, যেখানে প্রতিটির জন্য আলাদা আলাদা ‘পার্টি সাইজ’ (দলের সদস্য সংখ্যা) নির্দিষ্ট করা থাকে; যেমন, রিজার্ভেশনের মাধ্যমে ২, ৩ বা ৪ জন বসতে পারবেন। |
roomDescription | ঐচ্ছিক। স্থানীয় ভাষায় রুমের বিবরণ। যদি সেট করা থাকে, তবে একটি ডিফল্ট মান অবশ্যই প্রদান করতে হবে। মার্চেন্টের লোকালের জন্য প্রচলিত ভাষাগুলোও প্রদান করা বাঞ্ছনীয়। (ঐচ্ছিক) |
পুনরাবৃত্তি
পুনরাবৃত্তি বার্তাগুলো ঐচ্ছিক, কিন্তু এগুলো ধারাবাহিকভাবে পুনরাবৃত্ত উপলব্ধতার সময়গুলোকে আরও সংক্ষিপ্তভাবে উপস্থাপন করতে সাহায্য করে। এগুলো সাধারণত একটি দিনের কাজের সময়সূচী নির্দেশ করে। এরপর কর্মদিবসের মধ্যে নির্ধারিত/অনুপলব্ধ সময়ের পরিসর বোঝাতে ScheduleException বার্তাগুলো ব্যবহৃত হয়।
প্রয়োজনীয়তা:
- অ্যাভেইলেবিলিটি স্লট বা রিকারেন্সের সম্প্রসারণের ফলে অভিন্ন স্লট তৈরি হওয়া যাবে না। যদি আইডি, স্টার্টটাইম, ডিউরেশন এবং রিসোর্স মিলে যায়, তবে স্লটগুলোকে অভিন্ন বলে গণ্য করা হবে।
- একটি পরিষেবার স্লটগুলির মধ্যে সাধারণ প্রাপ্যতা বিন্যাস এবং পুনরাবৃত্তি একসাথে ব্যবহার করবেন না। পুনরাবৃত্তি সেইসব ব্যবসায়ী/পরিষেবার জন্য সুবিধাজনক যারা অ্যাপয়েন্টমেন্টের মাধ্যমে পরিষেবা প্রদান করে। সাধারণ বিন্যাসটি সেইসব ব্যবসায়ী/পরিষেবার জন্য তৈরি করা হয়েছে যাদের নিয়মিত ক্লাস নির্ধারিত থাকে।
- পুনরাবৃত্তিগুলো ২৪ ঘণ্টার বেশি স্থায়ী হওয়া উচিত নয়।
| JSON উপস্থাপনা |
|---|
{ "repeatUntil": string, "repeatEvery": string } |
| ক্ষেত্র | |
|---|---|
repeatUntil | অন্তর্ভুক্ত সর্বোচ্চ UTC টাইমস্ট্যাম্প পর্যন্ত প্রাপ্যতা পুনরাবৃত্তি হয়। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
repeatEvery | পরপর উপলব্ধতার স্লটগুলোর মধ্যবর্তী সময় নির্ধারণ করে। উদাহরণ: ২০ মিনিটের সময়কাল, ৩০ মিনিটের repeatEvery, সকাল ৯:০০টার startTime এবং সকাল ১১:০০টার repeatUntil সহ একটি অ্যাভেইলেবিলিটির জন্য সকাল ৯-৯:২০টা, ৯:৩০-৯:৫০টা, ১০-১০:২০টা, ১০:৩০-১০:৫০টা, এবং ১১-১১:২০টায় স্লট পাওয়া যাবে। (প্রয়োজনীয়) সেকেন্ডে পরিমাপকৃত সময়কাল, যা সর্বোচ্চ নয়টি ভগ্নাংশ অঙ্ক পর্যন্ত হতে পারে এবং শেষে ' |
সময়সূচী ব্যতিক্রম
ScheduleException মেসেজগুলো কর্মদিবসের মধ্যে বুক করা/অনুপলব্ধ সময়সীমাকে নির্দেশ করে, যা উপরে বর্ণিত পুনরাবৃত্তির ব্যতিক্রম। টাইম স্লট বুক হয়ে গেলে, নতুন অনুপলব্ধ সময়সীমাগুলো প্রতিফলিত করার জন্য ব্যতিক্রমের তালিকাটি আপডেট করা উচিত। পুনরাবৃত্তিটি নিজে পরিবর্তন করা উচিত নয়।
| JSON উপস্থাপনা |
|---|
{
"timeRange": {
object ( |
| ক্ষেত্র | |
|---|---|
timeRange | ব্যতিক্রমের সময়সীমা। পুনরাবৃত্তি দ্বারা বর্ণিত যে কোনো স্লট যা এই বন্ধ-খোলা সময়সীমার সাথে ওভারল্যাপ করে, তা অনুপলব্ধ বলে বিবেচিত হবে। উদাহরণস্বরূপ: যদি পুনরাবৃত্তিতে সময়কাল ২০ মিনিট, `repeatEvery` ৩০ মিনিট, `startTime` সকাল ৯:০০টা এবং `repeatUntil` সকাল ১১:০০টা নির্দিষ্ট করা থাকে, তাহলে `9:45am-11:00am` এর একটি `scheduleException` সহ `timeRange` থাকলে `9:30-9:50am`, `10-10:20am` এবং `10:30-10:50am` স্লটগুলো অনুপলব্ধ হয়ে যাবে। উল্লেখ্য যে, সময়সীমাটি বন্ধ-খোলা হওয়ায় সকাল ১১টায় শুরু হওয়া স্লটটি প্রভাবিত হবে না। |
অগ্রিম পরিশোধ
রিজার্ভেশনের অংশ হিসেবে ব্যবহারকারীর কাছ থেকে একটি পেমেন্ট চার্জ করা হতে পারে।
| JSON উপস্থাপনা |
|---|
{
"priceInfo": {
object ( |
| ক্ষেত্র | |
|---|---|
priceInfo | মূল্যের বিস্তারিত তথ্যের জন্য কন্টেইনার। |
প্রাইসইনফো
মূল্যের বিস্তারিত তথ্যের জন্য কন্টেইনার।
| JSON উপস্থাপনা |
|---|
{ "priceType": enum ( |
| ক্ষেত্র | |
|---|---|
priceType | মূল্য বা মূল্যের পরিসীমা কীভাবে প্রয়োগ করা হবে তা নির্ধারণ করে (ব্যক্তিপ্রতি নাকি নির্দিষ্ট) |
ইউনিয়ন ফিল্ড price_options । প্রাইস অপশন ব্যবহার করে একটি নির্দিষ্ট মূল্য অথবা একটি পরিসর উল্লেখ করা যায়। price_options নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
price | কোনো পরিষেবার মূল্য বা ফি। |
priceRange | কোনো পরিষেবা বা ফি-এর ঊর্ধ্ব এবং/অথবা নিম্ন সীমা। |
মূল্যসীমা
আর্থিক পরিমাণের একটি পরিসরের জন্য র্যাপার, যা উভয় মান সেট করা না থাকলে অসীম হিসাবে বিবেচিত হয়। minAmount এবং maxAmount-এর মধ্যে অন্তত একটি আবশ্যক।
| JSON উপস্থাপনা |
|---|
{ "minPrice": { object ( |
| ক্ষেত্র | |
|---|---|
minPrice | সর্বনিম্ন পরিমাণ। |
maxPrice | সর্বোচ্চ পরিমাণ। এটি সর্বদা সর্বনিম্ন মূল্যের (minPrice) চেয়ে বেশি হওয়া উচিত। |
সময়কালের প্রয়োজনীয়তা
এই enum-টি নির্দেশ করে যে, ব্যবহারকারীকে অনুরোধ করা স্লটগুলোর সময়কাল/শেষ সময় স্বীকার করতে বা দেখতে হলে কী কী শর্ত পূরণ করতে হবে।
| এনাম | |
|---|---|
DURATION_REQUIREMENT_UNSPECIFIED | শেষ সময়ের ব্যবস্থাপনা নির্দিষ্ট করা নেই। এটিই ডিফল্ট। |
DO_NOT_SHOW_DURATION | ব্যবহারকারীকে শেষ সময় দেখানো হয় না। |
MUST_SHOW_DURATION | অ্যাপয়েন্টমেন্ট করার আগে ব্যবহারকারীকে শেষ সময়টি দেখাতে হবে। |
সময়সূচী নিয়ম ওভাররাইড
প্রাপ্যতা স্তরের সময়সূচী নির্ধারণের নিয়মাবলী।
| JSON উপস্থাপনা |
|---|
{ "lastBookableSec": string, "firstBookableSec": string, "lastOnlineCancellableSec": string } |
| ক্ষেত্র | |
|---|---|
lastBookableSec | এই স্লটটি বুক করার শেষ সময় (সেকেন্ডে)। এই টাইমস্ট্যাম্পটি অবশ্যই স্লটের startSec-এর আগে হতে হবে, তবেই এটি কার্যকর হবে (যদি ব্যবহারকারীরা শুরুর সময়ের পরেও বুক করতে চান, তাহলে সার্ভিস লেভেল SchedulingRules.min_booking_before_end_time ব্যবহার করুন)। এটি উপস্থিত থাকলে, সংশ্লিষ্ট সার্ভিসের SchedulingRules-এর min_booking_buffer-এ নির্দিষ্ট করা যেকোনো কিছুকে ওভাররাইড করবে। |
firstBookableSec | এই স্লটটি প্রথমবার বুক করার উপযুক্ত হওয়ার সময় (সেকেন্ডে)। এই টাইমস্ট্যাম্পটি অবশ্যই স্লটটির startSec-এর আগে হতে হবে, অথবা নির্দিষ্ট করা থাকলে lastBookableSec-এর আগে হতে হবে। |
lastOnlineCancellableSec | সেট করা থাকলে, ইউনিক্স ইপোক থেকে সেকেন্ডে সেই শেষ সময়টি জানা যাবে, যে সময়ের মধ্যে এই নির্দিষ্ট অ্যাপয়েন্টমেন্ট স্লটটি ‘রিজার্ভ উইথ গুগল’-এর মাধ্যমে বাতিল করা যাবে। এই ফিল্ডটি যেকোনো সার্ভিস-লেভেল বাতিলকরণ নিয়মকে অগ্রাহ্য করবে। (ঐচ্ছিক) |
নিশ্চিতকরণ মোড
উপলব্ধতা বুক করার সময় ব্যবহৃত নিশ্চিতকরণ পদ্ধতিসমূহ।
| এনাম | |
|---|---|
CONFIRMATION_MODE_UNSPECIFIED | নিশ্চিতকরণ মোড নির্দিষ্ট করা হয়নি। যুগপৎ নিশ্চিতকরণ ধরে নেওয়া হবে। |
CONFIRMATION_MODE_SYNCHRONOUS | এই প্রাপ্যতার জন্য বুকিংগুলো একই সাথে নিশ্চিত করা হবে। |
CONFIRMATION_MODE_ASYNCHRONOUS | এই প্রাপ্যতার জন্য বুকিংগুলো অ্যাসিঙ্ক্রোনাসভাবে নিশ্চিত করা হবে। |
লিঙ্কআউটপ্রয়োজনীয় কারণ
একটি স্লটে লিঙ্কআউট অভিজ্ঞতা থাকার কারণ।
| এনাম | |
|---|---|
LINKOUT_REQUIRED_REASON_UNSPECIFIED | ডিফল্ট মান: ব্যবহার করবেন না, এটি অজানার সমতুল্য। |
PAYMENT_REQUIRED | স্লট বুক করার জন্য পার্টনার প্ল্যাটফর্মে পেমেন্ট করতে হবে। |
পদ্ধতি | |
|---|---|
| নির্দিষ্ট অ্যাগ্রিগেটর দ্বারা পরিচালিত কোনো মার্চেন্টের বিদ্যমান Service Availability প্রতিস্থাপন করে এবং তা ফেরত দেয়। |