השיטה CreateLease

התמיכה ביצירת חוזי ליסינג היא אופציונלית. היא רלוונטית לשותפים שמעוניינים להטמיע את הפונקציונליות הזו. לפני שמתחילים, צריך ליצור קשר עם Actions Center כדי לבדוק אם אתם עומדים בדרישות.

יצירת חוזה השכרה היא השלב הראשון כשיוצרים הזמנה עם תמיכה בחוזי שכירות. הקצה העורפי של השותף מאמת שמשבצת הזמן המבוקשת לפגישה תקפה וזמינה. באופן פנימי, השותף יוצר הקפאה זמנית למשבצת המבוקשת, שמוגדרת לפוג באופן אוטומטי ב-lease_expiration_time. ל-backend יש הרשאה לשנות את lease_expiration_time, למשל אם משך השכירות המבוקש ארוך מדי. החכירה שנוצרה מוחזרת ללקוח. לאחר מכן, הלקוח מבקש ליצור הזמנה עבור השכירות.

אם יצירת ההסכם נכשלת בגלל שגיאה כלשהי בלוגיקה העסקית, השגיאה צריכה להופיע בתשובה. מידע מפורט זמין במאמר בנושא כשל בהזמנה.

בקשה

CreateLeaseRequest

הערך המוחזר

CreateLeaseResponse

דרישות:

  • השותף צריך ליצור את lease_id בבק-אנד ולהגדיר אותו ב-CreateLeaseResponse.
  • חובה להגדיר את lease_expiration_time ב-CreateLeaseResponse.
  • אם השדה resources מצוין ב-CreateLeaseRequest, הוא חייב להיות מוגדר ב-CreateLeaseResponse ולהיות זהה ל-CreateLeaseRequest.
  • צריך להגדיר את כל השדות האחרים ב-CreateLeaseResponse כך שיתאימו ל-CreateLeaseRequest.

קודי שגיאה קנוניים של gRPC

  • INVALID_ARGUMENT (מזהה סוחר לא תקין, מזהה שירות לא תקין או שצוין זמן משבצת לא תקין)
// Request to create a [ext.maps.booking.partner.v2.Lease] for a slot in the
// inventory.  The expiration time in the returned Lease may be modified by the
// backend, e.g. if the requested lease period is too long.
message CreateLeaseRequest {
  option features.(pb.java).nest_in_file_class = YES;

  // The lease to be created with information about the appointment slot
  // (required)
  Lease lease = 1;
}

// Response for the [ext.maps.booking.partner.v2.CreateLease] RPC with the
// created [ext.maps.booking.partner.v2.Lease]
message CreateLeaseResponse {
  option features.(pb.java).nest_in_file_class = YES;

  // The created [ext.maps.booking.partner.v2.Lease] (required)
  Lease lease = 1;

  // If creating a lease fails, this field should reflect the business logic
  // error (e.g., slot has become unavailable) and lease field is expected to be
  // unset. (required if failure occurs)
  BookingFailure booking_failure = 2;
}