การจัดโครงสร้างความพร้อมจำหน่ายสินค้าในฟีด

การเลือกรูปแบบความพร้อมใช้งาน

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

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

  • ในระบบ คุณจัดเก็บความพร้อมจำหน่ายสินค้าไว้เป็นช่องโฆษณาอย่างชัดแจ้ง เช่น 08:00 น. - 8:30 น. ไหม
  • คุณจัดเก็บความพร้อมจำหน่ายสินค้าในรูปแบบตามรอบในระบบของคุณไหม กล่าวคือ ผู้ขายมีบริการที่เกิดขึ้นโดยความถี่สม่ำเสมอโดยมีการเบี่ยงเบนเพียงเล็กน้อย ตัวอย่างเช่น ช่วงเวลาโฆษณาจะเกิดขึ้นซ้ำทุกๆ 15 นาที ตั้งแต่เวลา 9:00 น. - 17:00 น. และจะมีที่นั่งเพียง 1 ที่นั่งสำหรับทุกๆ 15 นาทีที่เพิ่มขึ้น
  • สำหรับบริการของผู้ขาย อนุญาตให้มีที่เปิดให้บริการมากกว่า 1 ที่ในเวลาเดียวกันได้ไหม เช่น ตำแหน่งงานที่เปิดให้เรียน 30 รายการ
  • ไม่ตรงกับข้อใดเลย
    • ใช้ Spots Open
    • หมายเหตุ: แม้ว่าการเกิดซ้ำจะมีประสิทธิภาพมากกว่าและอาจส่งผลให้ฟีดมีขนาดเล็กลงได้ หากโมเดลข้อมูลไม่สนับสนุนการเกิดซ้ำตั้งแต่ต้น เราไม่แนะนําให้ใช้การเกิดซ้ำ เนื่องจากคุณจะต้องคำนวณจำนวนช่องที่เกิดขึ้นซ้ำทั้งวันอีกครั้งสำหรับการอัปเดตแบบเรียลไทม์ทุกครั้ง

    สปอตเปิด

    คำจำกัดความของพารามิเตอร์

    • spot_open: จำนวนสปอตที่ใช้ได้ในปัจจุบันสำหรับรายการเวลาว่างนี้
    • spot_total: จำนวนสปอตทั้งหมดที่ผู้ขายมีสำหรับการกำหนดค่านี้ รวมถึงสปอตที่ไม่พร้อมใช้งาน

    เมธอด Spots Open จะระบุความพร้อมใช้งานของสล็อตทั้งหมดอย่างชัดเจนและรองรับโมเดลการมีสปอตหลายจุดสำหรับบริการเดียวกัน พารามิเตอร์ทั้ง 2 ตัวนี้ทำงานร่วมกันเพื่อสร้างการนำเสนอความจุของบริการแบบดิจิทัล

    เมื่อมีการจอง จำนวน spot_open ควรลดลง 1 รายการผ่านการอัปเดตแบบเรียลไทม์ (จำนวน spot_total ควรเท่าเดิม) เมื่อ spot_open = 0 ช่องโฆษณาจะไม่ปรากฏอีกต่อไป

    บริการตัวอย่าง

    คลาสโยคะหรือร้านเสริมสวยมีแปลนอาคารต่อไปนี้และไม่มีการจองที่ใช้งานอยู่

    รูปที่ 1: แปลนอาคารที่ไม่มีการจองที่ใช้งานอยู่

    ฟีดความพร้อมจำหน่ายสินค้า 2 สล็อตของผู้ขายเหล่านี้จะมีลักษณะดังนี้

    JSON

        {
          "availability": [
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT
                  "merchant_id": "1001"
                },
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT
                  "merchant_id": "1001",
                }
              ]
        }
        

    ตัวอย่างบริการที่มีการจอง

    รูปที่ 2: แปลนอาคารที่มีการจองที่ใช้งานอยู่ 1 รายการ

    ตอนนี้ผู้ใช้จองที่หนึ่ง เมื่อมีการจอง ระบบจะอัปเดตข้อมูลแบบเรียลไทม์เพื่ออัปเดตห้องว่าง การจองนี้ควรจะแสดงในฟีดห้องว่างรายวันถัดไป ฟีดความพร้อมจำหน่ายสินค้าของผู้ขายเหล่านี้จะมี spot_open ลดลงเป็น 1 สำหรับช่องวันที่ 1 กันยายน 2018 เวลา 16:00:00 น. ตามเขตเวลา GMT ส่วนวันที่ 1 กันยายน 2018 เวลา 20:00:00 น. GMT จะไม่มีการเปลี่ยนแปลง

    ตัวอย่างข้อมูลฟีดที่มีการจอง

    JSON

        {
          "availability": [
                {
                  "spots_total": 6,
                  "spots_open": 5,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535817600, # Sept 1, 2018 4:00:00 PM GMT
                  "merchant_id": "1001"
                },
                {
                  "spots_total": 6,
                  "spots_open": 6,
                  "duration_sec": 3600,
                  "service_id": "1001",
                  "start_sec": 1535832000, # Sept 1, 2018 8:00:00 PM GMT
                  "merchant_id": "1001",
                }
              ]
    }
        

    การเกิดซ้ำ

    คำจำกัดความของพารามิเตอร์

    • การเกิดซ้ำ: การแสดงช่วงเวลาว่างที่เกิดซ้ำอย่างต่อเนื่อง
    • rgb_until_sec: การประทับเวลา UTC ของเวลาสิ้นสุดของช่องสุดท้ายที่ความพร้อมใช้งานจะเกิดซ้ำ
    • ทุกช่วงเวลา_ซ้ำ: จำนวนวินาทีระหว่างช่องความพร้อมใช้งานต่อเนื่อง สมมติว่า
      • หมายเหตุ: ไม่จำเป็นต้องระบุ spot_open และ spot_total แอตทริบิวต์ทั้ง 2 รายการนี้จะถือเป็น 1 เว้นแต่จะมี schedule_exception

    วิธีการเกิดซ้ำจะระบุความพร้อมใช้งานในแต่ละวันสำหรับบริการที่เกิดขึ้นในช่วงเวลาที่สม่ำเสมอ เช่น บริการที่เกิดขึ้นทุก 30 นาที ตั้งแต่เวลา 9:00 น. - 17:00 น. ในแต่ละวัน การเกิดซ้ำ คุณจะระบุระยะเวลาของช่องโฆษณา, ช่วงเวลาแรกในวันที่เกิดช่องโฆษณา, ความถี่ ที่ช่องโฆษณาควรเกิดซ้ำ และเมื่อถึงวันเดียวกัน ช่องโฆษณาควรหยุดเกิดซ้ำ หมายเหตุ: ต้องระบุชุดสล็อตที่เกิดขึ้นซ้ำชุดใหม่สำหรับแต่ละวันแยกกัน หากมีการจองช่วงเวลาภายในช่วงเวลาไว้แล้ว คุณจะระบุข้อยกเว้นของกำหนดการ เช่น ทำซ้ำทุกครึ่งชั่วโมงตั้งแต่เวลา 9:00 - 21:00 น. ยกเว้นเวลา 11:00 น. ถึง 11:30 น. โดยบริการแต่ละอย่างจะมีข้อยกเว้นการเกิดซ้ำและกำหนดเวลาของตนเอง

    บริการตัวอย่าง

    ร้านเสริมสวยมีแปลนอาคารต่อไปนี้และไม่มีการจองที่ใช้งานอยู่

    รูปที่ 3: แปลนอาคารที่ไม่มีการจองที่ใช้งานอยู่ สมมติว่าเปิดบริการเพียง 1 ตำแหน่งต่อบริการ (เช่น แซลลี่ให้บริการตัดผมทุกๆ 30 นาที แต่ให้บริการลูกค้าได้ครั้งละ 1 คนเท่านั้น)

    ฟีดความพร้อมจำหน่ายสินค้าสำหรับ 1 สล็อตของผู้ขายเหล่านี้จะมีลักษณะดังนี้

    ตัวอย่างข้อมูลฟีด

    JSON

        {
        "availability": [
              {
                "merchant_id": "1001",
                "service_id": "1001",  # haircut
                "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT
                "duration_sec": 1800,
                "recurrence": {
                  "repeat_every_sec": 1800,
                  "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT
                }
              }
            ]
        }
        

    ตัวอย่างบริการที่มีการจอง

    รูปที่ 4: แปลนอาคารที่มีการจองที่ใช้งานอยู่ 1 รายการ สมมติว่าเปิดบริการเพียง 1 ตำแหน่งต่อบริการ (เช่น แซลลี่ให้บริการตัดผมทุกๆ 30 นาที แต่ให้บริการลูกค้าได้ครั้งละ 1 คนเท่านั้น)

    คราวนี้ลองสมมติว่าผู้ใช้จองตัดผมกับแซลลี่เวลา 12:30 น. เมื่อมีการจอง ระบบจะอัปเดตข้อมูลแบบเรียลไทม์เพื่ออัปเดตห้องว่าง การจองนี้ควรจะแสดงในฟีดห้องว่างรายวันถัดไป ฟีดความพร้อมจำหน่ายสินค้าสำหรับผู้ขายเหล่านี้จะได้รับข้อยกเว้นการกำหนดเวลาในช่วง 12:30 น. - 13:00 น. สำหรับบริการที่มีระยะเวลา 30 นาที

    ตัวอย่างข้อมูลฟีดที่มีการจอง

    JSON

        {
          "availability": [
                {
                  "merchant_id": "1001",
                  "service_id": "1001",
                  "start_sec": 1493888400, # May 4, 2017 9:00:00 AM GMT
                  "duration_sec": 1800,
                  "recurrence": {
                    "repeat_every_sec": 1800,
                    "repeat_until_sec": 1493915400 # May 4, 2017 4:30:00 PM GMT
                  },
                  "schedule_exception": [
                    {
                      "time_range": {
                        "begin_sec": 1493901000, # May 4, 2017 12:30:00 PM GMT
                        "end_sec": 1493902800 # May 4, 2017 1:00:00 PM GMT
                      }
                    }
                  ],
                }
              ]
        }