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_option_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: "วันธรรมดาสำหรับผู้ใหญ่"} TicketType {ticketTypeId: "adult_2" ShortDescription: "วันเสาร์อาทิตย์สำหรับผู้ใหญ่"} TicketType {ticketTypeId: "youth_1" ShortDescription: "วันทำงานสำหรับเยาวชน"} ประเภทตั๋ว {ticketTypeId: "youth_2" คำอธิบายแบบย่อ: "วันหยุดสุดสัปดาห์สำหรับเยาวชน"}

หากต้องการแสดงสินค้าคงคลังในช่วงวันธรรมดา: availability {ticketTypeId: "adult_1" ticketTypeId: "youth_1"...} หากต้องการนำเสนอสินค้าคงคลังในช่วงวันหยุด: availability {ticketTypeId: "adult_2" ticketTypeId: "youth_2"...}

  • บริการที่มีตั๋ว 3 ประเภท ได้แก่ TicketType {ticketTypeId: "adult" ShortDescription: "ผู้ใหญ่"} TicketType {ticketTypeId: "เยาวชน" ShortDescription: "Youth"} TicketType {ticketTypeId: "senior" ShortDescription: "อาวุโส"}

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

(ไม่บังคับ)

durationRequirement

enum (DurationRequirement)

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

schedulingRuleOverrides

object (SchedulingRuleOverrides)

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

confirmationMode

enum (ConfirmationMode)

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

แหล่งข้อมูล

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

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

string

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

staffName

string

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

roomId

string

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

roomName

string

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

partySize

integer

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

การเกิดซ้ำ

ข้อความการเกิดซ้ำเป็นตัวเลือกที่ไม่บังคับ แต่จะช่วยให้แสดงสล็อตเวลาว่างที่ทำซ้ำอย่างต่อเนื่องได้กะทัดรัดมากขึ้น ซึ่งมักจะแสดงกำหนดเวลาทำงานของวัน จากนั้นระบบจะใช้ข้อความ 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 นาที การเกิดซ้ำทุก 30 นาที เวลาเริ่มต้นเป็น 9:00 น. และทำซ้ำจนถึง 11:00 น. จะแสดงช่วงเวลาในเวลา 9.30-9.50 น., 10.30-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 น. ข้อยกเว้นของตารางเวลาที่มีช่วงเวลา 9:45 น. - 11:00 น. จะทำให้ช่วงเวลาที่ไม่พร้อมใช้งานในช่วงเวลา 9:30-9:50 น. และ 10:00-10:00 น. และ 10:00-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 ของสล็อตเพื่อให้ระบบดำเนินการตาม (หากผู้ใช้ควรจองหลังเวลาเริ่มต้นได้ ให้ใช้ SchedulingRules.min_booking_before_end_time ระดับบริการ) หากมี จะลบล้างสิ่งที่ระบุไว้ใน min_booking_buffer ของ SchedulingRules ของบริการที่เกี่ยวข้อง

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 ที่มีอยู่ของผู้ขายซึ่งจัดการโดยผู้รวบรวมข้อมูลที่ระบุ และส่งคืน