REST Resource: inventory.partners.merchants.services.availability

แหล่งข้อมูล: ความพร้อมให้บริการ

ช่วงเวลาที่พร้อมให้บริการของบริการของผู้ขาย ซึ่งระบุเวลาและจำนวนตำแหน่ง

การแสดง JSON
{
  "startTime": string,
  "duration": string,
  "spotsTotal": string,
  "spotsOpen": string,
  "availabilityTag": string,
  "resources": {
    object (Resources)
  },
  "paymentOptionId": [
    string
  ],
  "recurrence": {
    object (Recurrence)
  },
  "scheduleException": [
    {
      object (ScheduleException)
    }
  ],
  "deposit": {
    object (Deposit)
  },
  "noShowFee": {
    object (NoShowFee)
  },
  "prepayment": {
    object (Prepayment)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode),
  "linkoutRequiredReason": enum (LinkoutRequiredReason)
}
ช่อง
startTime

string (Timestamp format)

เวลาเริ่มต้นของช่วงเวลาที่สะดวกสำหรับนัดหมาย

การประทับเวลาในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและทศนิยมสูงสุด 9 หลัก ตัวอย่างเช่น "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

duration

string (Duration format)

ระยะเวลาของช่วงเวลาที่สะดวกสำหรับนัดหมาย

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย s เช่น "3.5s"

spotsTotal

string (int64 format)

จำนวนตำแหน่งทั้งหมดและจำนวนตำแหน่งที่ว่างอยู่ของความพร้อมจำหน่ายนี้ ตัวอย่าง

  • คลาสโยคะที่มี 10 ที่ว่างและมี 3 คนที่จอง: availability {spotsTotal: 10, spotsOpen: 7 ...}
  • เซสชันการนวดบนเก้าอี้ที่เต็มแล้ว: availability {spotsTotal: 1, spotsOpen: 0 ...}

หมายเหตุ: หากส่งคำขอโดยใช้รูปแบบการบีบอัดความพร้อมที่ระบุไว้ด้านล่าง ระบบจะอนุมาน 2 ช่องนี้

  • การเกิดซ้ำจะหมายถึง spotsTotal=1 และ spotsOpen=1
  • ScheduleException หมายถึง spotsTotal=1 และ spotsOpen=0
spotsOpen

string (int64 format)

จำนวนตำแหน่งที่ว่าง

availabilityTag

string

สตริงแบบทึบแสงที่ไม่บังคับเพื่อระบุช่วงเวลาที่พร้อมให้บริการนี้ หากตั้งค่าไว้ ระบบจะรวมข้อมูลนี้ไว้ในคำขอที่จอง/อัปเดต/ยกเลิกการนัดหมาย

resources

object (Resources)

ทรัพยากรที่ไม่บังคับซึ่งใช้เพื่อแยกแยะช่วงเวลาที่พร้อมให้บริการนี้ออกจากช่วงเวลาอื่นๆ เมื่อมีเจ้าหน้าที่หรือห้องอื่นเป็นส่วนหนึ่งของบริการ

เช่น คลาสโยคะเดียวกันที่มีผู้สอน 2 คน

availability { resources { staffId: "1" staffName: "Amy" }
               spotsTotal: 10 spotsOpen: 7 }
availability { resources { staffId: "2" staffName: "John" }
               spotsTotal: 5 spotsOpen: 2 }
paymentOptionId[]

string

รายการรหัสที่อ้างอิงถึงตัวเลือกการชำระเงินซึ่งสามารถใช้ชําระเงินสําหรับช่วงเวลานี้ได้ ตัวเลือกการชำระเงินจริงจะกำหนดที่ระดับผู้ขาย และสามารถแชร์กับผู้ขายหลายรายได้

ช่องนี้จะลบล้าง payment_option_ids ที่ระบุไว้ในข้อความบริการ ในทำนองเดียวกัน payment_option_ids ที่ระบุที่นี่ไม่จำเป็นต้องอยู่ในข้อความบริการ แต่ต้องกำหนดที่ระดับผู้ขาย

recurrence

object (Recurrence)

ข้อมูลการเกิดซ้ำของความพร้อมให้บริการ ซึ่งแสดงเวลาเริ่มต้นมากกว่า 1 รายการ การประชุมที่เกิดซ้ำควรมีการนัดหมายสำหรับ 1 วันทำการ

scheduleException[]

object (ScheduleException)

เวลาที่ไม่สามารถกำหนดเวลาบริการนี้ หากต้องการจำกัดจำนวนข้อความ scheduleException ให้ลองรวมข้อยกเว้นที่อยู่ติดกัน

deposit

object (Deposit)

เงินมัดจําที่ไม่บังคับสําหรับห้องว่างนี้ ลบล้างเงินมัดจําบริการหากระบุไว้

noShowFee

object (NoShowFee)

ค่าธรรมเนียมการยกเลิกที่ไม่บังคับสำหรับห้องว่างนี้ ลบล้างค่าบริการหากไม่มาตามนัด หากมีการระบุไว้

prepayment

object (Prepayment)

ไม่บังคับ ข้อมูลการชำระเงินล่วงหน้า (ไม่บังคับ) สำหรับความพร้อมให้บริการนี้

requireCreditCard

enum (RequireCreditCard)

ระบุว่าผู้ใช้ต้องระบุบัตรเครดิตเพื่อจองช่วงเวลาที่พร้อมให้บริการนี้หรือไม่ หากไม่ได้ตั้งค่า ค่าดังกล่าวจะรับค่ามาจากระดับบริการหากมีการตั้งค่าไว้ (ไม่บังคับ)

ticketTypeId[]

string

ระบุรายการประเภทตั๋วที่รองรับสำหรับช่วงเวลาที่พร้อมจำหน่ายนี้ หากไม่ได้ตั้งค่าไว้ ตั๋วทุกประเภทในบริการหลักจะใช้ได้กับช่องนี้ โปรดทราบว่าค่าของช่องนี้ต้องกำหนดไว้ในบริการหลัก ตัวอย่าง

  • บริการที่มีตั๋ว 4 ประเภท ได้แก่ TicketType {ticketTypeId: "adult_1" shortDescription: "Adult weekdays"} TicketType {ticketTypeId: "adult_2" shortDescription: "Adult weekends"} TicketType {ticketTypeId: "youth_1" shortDescription: "Youth weekdays"} TicketType {ticketTypeId: "youth_2" shortDescription: "Youth weekends"}

วิธีแสดงพื้นที่โฆษณาในช่วงวันธรรมดา: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...} วิธีแสดงพื้นที่โฆษณาในช่วงวันหยุด: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...}

  • บริการที่มีตั๋ว 3 ประเภท ได้แก่ TicketType {ticketTypeId: "adult" shortDescription: "Adult"} TicketType {ticketTypeId: "youth" shortDescription: "Youth"} TicketType {ticketTypeId: "senior" shortDescription: "Senior"}

หากต้องการระบุว่าตั๋วทั้ง 3 ประเภทพร้อมจำหน่ายในช่วงเวลานี้ ให้ใช้ availability {ticketTypeId: "adult" ticketTypeId: "youth" ticketTypeId: "senior" ...} หรือ "availability {...}" (อย่าตั้งค่า ticketTypeId ในช่องนี้)

(ไม่บังคับ)

durationRequirement

enum (DurationRequirement)

ข้อกำหนดในการแสดงระยะเวลาของช่วงเวลาและ/หรือเวลาสิ้นสุด ระบบจะละเว้นช่องนี้หากช่องไม่พร้อมใช้งาน ไม่ได้ใช้ในประเภทกิจกรรมน่าสนใจ (ไม่บังคับ)

schedulingRuleOverrides

object (SchedulingRuleOverrides)

กฎการตั้งเวลาความพร้อมใช้งาน หากมีการป้อนข้อมูลในช่อง ช่องเหล่านั้นจะลบล้างกฎการกําหนดเวลาที่เกี่ยวข้องใน SchedulingRules ระดับบริการ

confirmationMode

enum (ConfirmationMode)

โหมดการยืนยันที่จะใช้เมื่อจองห้องว่างนี้ การพยายามสร้างการจองสำหรับห้องว่างที่มีโหมดการยืนยันเป็น CONFIRMATION_MODE_SYNCHRONOUS ต้องได้รับการยืนยันหรือปฏิเสธทันที การพยายามสร้างการจองสำหรับความพร้อมที่มีโหมดการยืนยันของ CONFIRMATION_MODE_ASYNCHRONOUS ต้องถูกปฏิเสธทันทีหรือสร้างด้วยสถานะ "รอดำเนินการ"

linkoutRequiredReason

enum (LinkoutRequiredReason)

ไม่บังคับ เหตุผลที่ต้องใช้ลิงก์เอาต์สำหรับช่องนี้ หากตั้งค่าไว้ ทรัพยากรของผู้ขายสำหรับช่องนี้ต้องมี LinkoutTemplate ที่ถูกต้อง (ไม่บังคับ)

แหล่งข้อมูล

ทรัพยากรใช้เพื่อแยกแยะช่องเวลาที่มีให้บริการออกจากกันเมื่อมีเจ้าหน้าที่หรือห้องที่แตกต่างกันเป็นส่วนหนึ่งของบริการ ช่องหลายช่องสําหรับบริการและช่วงเวลาเดียวกันสามารถอยู่ร่วมกันได้เมื่อมีทรัพยากรต่างกัน

การแสดง JSON
{
  "staffId": string,
  "staffName": string,
  "roomId": string,
  "roomName": string,
  "partySize": integer,
  "roomDescription": {
    object (Text)
  }
}
ช่อง
staffId

string

รหัสพนักงานที่ให้บริการ (ไม่บังคับ) ช่องนี้จะระบุพนักงานในบันทึกผู้ขาย บริการ และห้องว่างทั้งหมด นอกจากนี้ ข้อมูลยังต้องมีความเสถียรเมื่อเวลาผ่านไปเพื่อให้เชื่อมโยงกับการจองที่ผ่านมาได้ ช่องนี้ต้องมีข้อมูลหากมี staffName

staffName

string

ชื่อพนักงานที่ให้บริการ (ไม่บังคับ) ช่องนี้จะแสดงต่อผู้ใช้ที่ทำการจอง และควรเป็นข้อมูลที่มนุษย์อ่านได้ ไม่ใช่ตัวระบุแบบทึบ ช่องนี้ต้องมีข้อมูลหากมี staffId

roomId

string

รหัสที่ไม่บังคับสำหรับห้องที่มีบริการ ช่องนี้จะระบุห้องพักในบันทึกผู้ขาย บริการ และห้องว่างทั้งหมด นอกจากนี้ ข้อมูลยังต้องมีความเสถียรเมื่อเวลาผ่านไปเพื่อให้เชื่อมโยงกับการจองที่ผ่านมาได้ ช่องนี้ต้องมีข้อมูลหากมี roomName อยู่

roomName

string

ชื่อที่ไม่บังคับสำหรับห้องที่ให้บริการ ช่องนี้จะแสดงต่อผู้ใช้ที่ทำการจอง และควรเป็นข้อมูลที่มนุษย์อ่านได้ ไม่ใช่ตัวระบุแบบทึบ (ไม่บังคับ แต่ต้องระบุหากมี roomId) ในส่วนอาหารและเครื่องดื่ม คุณควรใช้ชื่อห้องกับพื้นที่นั่งเท่านั้น เช่น บาร์หรือระเบียง และไม่ควรใช้กับเมนูราคาคงที่ กิจกรรมพิเศษ หรือค่าอื่นๆ ที่ไม่ใช่ห้องพัก (เช่น การจองหรืออาหารเย็น) เราขอแนะนำอย่างยิ่งว่าพื้นที่นั่งเล่นเริ่มต้นไม่ควรเชื่อมโยงกับห้อง

partySize

integer

ใช้ได้กับ "การรับประทานอาหาร" เท่านั้น: จำนวนแขกที่รองรับได้ในช่วงเวลานี้ ร้านอาหารหนึ่งๆ สามารถเชื่อมโยงกับหลายช่วงเวลาพร้อมกัน โดยแต่ละช่วงเวลาจะระบุจำนวนคนที่แตกต่างกัน เช่น รองรับการจองได้ 2, 3 หรือ 4 คน

roomDescription

object (Text)

ไม่บังคับ คำอธิบายห้องพักที่แปลแล้ว หากตั้งค่าไว้ คุณต้องระบุค่าเริ่มต้น เราขอแนะนำให้ระบุภาษาทั่วไปสำหรับภาษาท้องถิ่นของผู้ขายด้วย (ไม่บังคับ)

การเกิดซ้ำ

คุณไม่จำเป็นต้องใช้ข้อความการเกิดซ้ำ แต่จะช่วยให้แสดงช่วงเวลาที่พร้อมให้บริการซ้ำๆ ได้อย่างกะทัดรัดมากขึ้น โดยปกติแล้ว ข้อมูลดังกล่าวจะแสดงถึงกำหนดเวลาการทำงาน 1 วัน จากนั้นระบบจะใช้ข้อความ ScheduleException เพื่อแสดงช่วงเวลาที่จองไว้/ไม่พร้อมใช้งานภายในวันทำการ

ข้อกำหนด

  1. การขยายช่วงเวลาที่พร้อมให้บริการหรือความถี่ต้องไม่สร้างช่วงเวลาที่เหมือนกัน หากรหัส startTime ระยะเวลา และทรัพยากรตรงกัน ระบบจะถือว่าช่องเหมือนกัน
  2. อย่าผสมรูปแบบความพร้อมใช้งานมาตรฐานและการเกิดซ้ำภายในช่วงเวลาของบริการเดียว ความถี่ซ้ำจะเป็นประโยชน์ต่อผู้ขาย/บริการที่เสนอการนัดหมาย รูปแบบมาตรฐานมีไว้สำหรับผู้ขาย/บริการที่มีชั้นเรียนที่จัดขึ้นเป็นประจำ
  3. ระยะเวลาที่แสดงซ้ำไม่ควรนานเกิน 24 ชั่วโมง
การแสดง JSON
{
  "repeatUntil": string,
  "repeatEvery": string
}
ช่อง
repeatUntil

string (Timestamp format)

การประทับเวลา UTC สูงสุดแบบรวมที่ระบุเวลาที่ความพร้อมใช้งานจะแสดงซ้ำ

การประทับเวลาในรูปแบบ RFC3339 UTC "Zulu" ที่มีความละเอียดระดับนาโนวินาทีและทศนิยมสูงสุด 9 หลัก ตัวอย่างเช่น "2014-10-02T15:01:23Z" และ "2014-10-02T15:01:23.045123456Z"

repeatEvery

string (Duration format)

กำหนดเวลาระหว่างช่วงเวลาที่ว่างติดต่อกัน

ตัวอย่างเช่น ความพร้อมที่มีระยะเวลา 20 นาที, repeatEvery 30 นาที, startTime 9:00 น. และ repeatUntil 11:00 น. จะให้ช่วงเวลาที่ 9-9:20 น., 9:30-9:50 น., 10-10:20 น., 10:30-10:50 น., 11-11:20 น. (ต้องระบุ)

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย s เช่น "3.5s"

ScheduleException

ข้อความ ScheduleException แสดงถึงช่วงเวลาที่จองไว้/ไม่พร้อมใช้งานภายในวันทำการ ซึ่งเป็นข้อยกเว้นของการเกิดซ้ำที่อธิบายไว้ข้างต้น เมื่อมีการจองช่วงเวลาหนึ่งๆ รายการข้อยกเว้นควรได้รับการอัปเดตให้สอดคล้องกับช่วงเวลาที่ไม่พร้อมให้บริการใหม่ ไม่ควรแก้ไขความถี่

การแสดง JSON
{
  "timeRange": {
    object (TimeRange)
  }
}
ช่อง
timeRange

object (TimeRange)

ช่วงเวลาของข้อยกเว้น ระบบจะถือว่าช่วงเวลาที่สะดวกสำหรับนัดหมายที่ระบุโดยความถี่ซึ่งทับซ้อนกับช่วงปิด-เปิดนี้ไม่พร้อมให้บริการ

ตัวอย่างเช่น หากความถี่ระบุระยะเวลา 20 นาที, repeatEvery 30 นาที, startTime 9:00 น. และ repeatUntil 11:00 น. นั้น ScheduleException ที่มี timeRange 9:45 น. - 11:00 น. จะทําให้ช่วงเวลา 9:30-9:50 น., 10-10:20 น. และ 10:30-10:50 น. ไม่พร้อมใช้งาน

โปรดทราบว่าเนื่องจากช่วงเวลาเป็นแบบปิด-เปิด ช่วงเวลาที่เริ่มต้นตอน 11:00 น. จะไม่ได้รับผลกระทบ

การชำระเงินล่วงหน้า

การชำระเงินที่ระบบอาจเรียกเก็บจากผู้ใช้เป็นส่วนหนึ่งของการจอง

การแสดง JSON
{
  "priceInfo": {
    object (PriceInfo)
  }
}
ช่อง
priceInfo

object (PriceInfo)

คอนเทนเนอร์สำหรับรายละเอียดราคา

PriceInfo

คอนเทนเนอร์สำหรับรายละเอียดราคา

การแสดง JSON
{
  "priceType": enum (PriceType),

  // Union field price_options can be only one of the following:
  "price": {
    object (Price)
  },
  "priceRange": {
    object (PriceRange)
  }
  // End of list of possible types for union field price_options.
}
ช่อง
priceType

enum (PriceType)

กำหนดวิธีใช้ราคาหรือช่วงราคา (ต่อคนหรือคงที่)

ฟิลด์สหภาพ price_options ตัวเลือกราคาต้องระบุราคาที่แน่นอนหรือช่วงราคา price_options ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
price

object (Price)

ราคาของบริการหรือค่าธรรมเนียม

priceRange

object (PriceRange)

ขอบเขตบนและ/หรือขอบเขตล่างของบริการหรือค่าธรรมเนียม

PriceRange

Wrapper สำหรับช่วงของจำนวนเงินที่ถือว่าไม่มีขอบเขต เว้นแต่จะมีการตั้งค่าทั้ง 2 ค่า ต้องระบุ minAmount และ maxAmount อย่างน้อย 1 รายการ

การแสดง JSON
{
  "minPrice": {
    object (Price)
  },
  "maxPrice": {
    object (Price)
  }
}
ช่อง
minPrice

object (Price)

จำนวนเงินขั้นต่ำ

maxPrice

object (Price)

จํานวนเงินสูงสุด ควรมากกว่า minPrice เสมอ

DurationRequirement

Enumeration นี้ระบุข้อกำหนดที่ผู้ใช้ต้องปฏิบัติตามเพื่อรับทราบหรือดูระยะเวลา/เวลาสิ้นสุดของช่วงเวลาที่ขอ

Enum
DURATION_REQUIREMENT_UNSPECIFIED ไม่ได้ระบุการจัดการเวลาสิ้นสุด ซึ่งเป็นค่าเริ่มต้น
DO_NOT_SHOW_DURATION ระบบจะไม่แสดงเวลาสิ้นสุดต่อผู้ใช้
MUST_SHOW_DURATION คุณต้องแสดงเวลาสิ้นสุดต่อผู้ใช้ก่อนจึงจะนัดหมายได้

SchedulingRuleOverrides

กฎการกําหนดเวลาระดับความพร้อมใช้งาน

การแสดง JSON
{
  "lastBookableSec": string,
  "firstBookableSec": string,
  "lastOnlineCancellableSec": string
}
ช่อง
lastBookableSec

string (int64 format)

เวลาล่าสุด (เป็นวินาที) ที่จองช่วงเวลานี้ได้ การประทับเวลานี้ต้องอยู่ก่อน startSec ของช่วงเวลาที่ระบบจะยอมรับ (หากต้องการให้ผู้ใช้จองได้หลังจากเวลาเริ่มต้น ให้ใช้ SchedulingRules.min_booking_before_end_time ระดับบริการ) หากมี จะลบล้างสิ่งที่ระบุไว้ใน min_booking_buffer ของ SchedulingRules ของบริการที่เกี่ยวข้อง

firstBookableSec

string (int64 format)

เวลาที่จองได้ครั้งแรก (เป็นวินาที) ของช่วงเวลานี้ การประทับเวลานี้ต้องอยู่ก่อน startSec ของช่วงเวลา หรือ lastBookableSec หากระบุ

lastOnlineCancellableSec

string (int64 format)

หากตั้งค่าไว้ จะเป็นเวลาที่สุดท้าย (เป็นวินาทีนับจาก Unix Epoch) ที่ยกเลิกช่วงเวลาที่เจาะจงของการนัดหมายผ่านฟีเจอร์จองกับ Google ได้ ช่องนี้จะลบล้างกฎการยกเลิกระดับบริการ (ไม่บังคับ)

ConfirmationMode

โหมดการยืนยันที่ใช้เมื่อจองห้องว่าง

Enum
CONFIRMATION_MODE_UNSPECIFIED ไม่ได้ระบุโหมดการยืนยัน ระบบจะถือว่ามีการยืนยันแบบซิงค์
CONFIRMATION_MODE_SYNCHRONOUS การจองสำหรับความพร้อมให้บริการนี้จะได้รับการยืนยันพร้อมกัน
CONFIRMATION_MODE_ASYNCHRONOUS การจองสำหรับความพร้อมใช้งานนี้จะได้รับการยืนยันแบบไม่พร้อมกัน

LinkoutRequiredReason

สาเหตุที่ช่องมีประสบการณ์การลิงก์ออก

Enum
LINKOUT_REQUIRED_REASON_UNSPECIFIED ค่าเริ่มต้น: อย่าใช้ เท่ากับ "ไม่ทราบ"
PAYMENT_REQUIRED คุณต้องชำระเงินในแพลตฟอร์มของพาร์ทเนอร์เพื่อจองช่วงเวลา

เมธอด

replace

แทนที่ Availability ของ Service ที่มีอยู่ของผู้ขายที่จัดการโดยผู้รวบรวมข้อมูลที่ระบุ และแสดงผล