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)
  },
  "requireCreditCard": enum (RequireCreditCard),
  "ticketTypeId": [
    string
  ],
  "durationRequirement": enum (DurationRequirement),
  "schedulingRuleOverrides": {
    object (SchedulingRuleOverrides)
  },
  "confirmationMode": enum (ConfirmationMode)
}
ช่อง
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_options_ids ที่ระบุไว้ที่นี่คล้ายกันไม่จำเป็นต้องอยู่ในข้อความบริการ แต่ต้องกำหนดในระดับผู้ขายด้วย

recurrence

object (Recurrence)

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

scheduleException[]

object (ScheduleException)

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

deposit

object (Deposit)

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

noShowFee

object (NoShowFee)

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

requireCreditCard

enum (RequireCreditCard)

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

ticketTypeId[]

string

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

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

วิธีเป็นตัวแทนของพื้นที่โฆษณาในช่วงวันธรรมดา 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)

กฎการกำหนดเวลาเวลาว่าง หากมีการเติมข้อมูลในช่อง ช่องเหล่านั้นจะลบล้างกฎการกำหนดเวลาที่เกี่ยวข้องใน Schedule Rules ระดับบริการ

confirmationMode

enum (ConfirmationMode)

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

แหล่งข้อมูล

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

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

string

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

การเกิดซ้ำ

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

ข้อกำหนด

  1. การขยายสล็อตความพร้อมใช้งานหรือการเกิดซ้ำต้องไม่สร้างช่องโฆษณาที่เหมือนกัน หากรหัส, เวลาเริ่มต้น, ระยะเวลา และทรัพยากรตรงกัน ช่องโฆษณาจะเหมือนกัน
  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 นาที ช่วงเวลาเกิดซ้ำทุก 30 นาที เวลาเริ่มต้นเป็น 9.00 น. และทำซ้ำจนถึง 11:00 น. จะมีช่วงที่ว่างในเวลา 9-9:20 น., 9:30 - 9:50 น., 10-10:20 น., 10:30-10:50 น., 10:30 น. - 10:50 น. (ต้องระบุ)

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

ScheduleException

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

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

object (TimeRange)

ช่วงเวลาของข้อยกเว้น ช่วงเวลาใดๆ ที่อธิบายจากการเกิดซ้ำซึ่งซ้อนทับกับช่วงเวลาเปิดทำการที่ปิดไปแล้วจะถือว่าไม่พร้อมใช้งาน

ตัวอย่าง: ถ้าการเกิดซ้ำระบุระยะเวลาเป็น 20 นาที การทำซ้ำทุกๆ 30 นาที เวลาเริ่มต้นเป็น 9:00 น. และทำซ้ำจนถึง 11:00 น. การใช้ ScheduleException ที่มีช่วงเวลา 9:45am - 11:00am จะทำให้ช่วงเวลาไม่ว่าง:9:30-9:50am, 10:00am และ 10:00น.

โปรดทราบว่าเนื่องจากช่วงเวลานั้นปิดหรือเปิดอยู่ ระบบจึงไม่ส่งผลกระทบต่อช่วงเวลา 11:00 น.

DurationRequirement

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

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

SchedulingRuleOverrides

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

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

string (int64 format)

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

firstBookableSec

string (int64 format)

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

lastOnlineCancellableSec

string (int64 format)

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

ConfirmationMode

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

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

วิธีการ

replace

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