// Definition of offers provided by merchants for their services. message Offer{
// An opaque string from an aggregator partner which uniquely identifies a // merchant. (required) // This merchant_id should match with the merchant_ids sent as part of // Merchant feed/Real Time Update (RTU). string merchant_id =1;
// An opaque string from an aggregator partner to identify a service of the // merchant where this offer applies. repeated string service_id =3;
// An opaque string from an aggregator partner to uniquely identify an offer. // (required) string offer_id =4;
// One sentence unlocalized, unstructured offer title (eg. 10% off food and // drink). (required) string unlocalized_title =5;
// Url associated with the offer. It should point to the webpage where this // offer is present in the most detailed way. string url =6;
// The image to be shown with the offer. The url should point directly to a // specific image, which almost always ends with jpg, gif, png, or bmp, rather // than pointing to an entire index or website. // The image should be at least 250 pixels in both width and height. string image_url =7;
// The specific offer's Terms and Conditions displayed to user. Terms terms =8;
// True if the offer is only redeemable only by a restricted group of users // (eg: paid members, certain credit card holders, etc.). bool restricted_to_certain_users =9;
// Valid_period and valid_time_of_week fields are used to specify the regular // availability of the offer. Valid_period represents the overarching date // range when the offer is valid, whereas valid_time_of_week fields represent // the recurring weekly schedule. // Then, valid_time_exception fields are used to represent special // schdule for times where the offer has alternative availability than the // regular schedule, such as special availability schedule during holidays. // To illustrate the relationship among these fields, we consider // a time T is valid if and only if // T is in valid_period AND // ((T is in valid_time_of_week AND // (valid_time_exception is not specified OR // T is NOT in valid_time_exception)) OR // T is in valid_time_exception)
// TimeRange message is used to represent the overarching valid period of the // offer. It is a closed-open time range in seconds of UTC time since Unix // epoch. It should have the second of the date when the offer starts to be // valid as the start, and the second of the date when the offer starts to be // invalid as the end. Example: To specify that the offer is valid for the // entire year of 2019, // valid_period { begin_sec: 1546300800 end_sec: 1577836800 } // // Note that because the valid period is closed-open, the end second is not // considered as within the valid period of this offer. // (required) TimeRange valid_period =10;
// This message stores the start and end time of a continuous valid time // interval of the offer at a given day of the week. It is used to // specify the recurrence availability of the offer on a weekly basis. // This time interval is a closed-open interval, i.e. [start, end) message ValidTimeOfWeek{ // The day of week where the following valid time applies. (required) enumDayOfWeek{ DAY_OF_WEEK_UNSPECIFIED =0; MON =1; TUE =2; WED =3; THU =4; FRI =5; SAT =6; SUN =7; } DayOfWeek day_of_week =1; // Start time (inclusive) of this offer valid time interval, using seconds // from Midnight, in merchant's local timezone. Must be in the range // [0,86400). (required) int64 start =2; // End time (exclusive) of this offer valid time interval, using seconds // from Midnight, in merchant's local timezone. Must be in the range // (0,86400]. (required) int64 end=3; } // The valid time of the offer in merchant's local timezone, specified with // multiple continuous time intervals using the message above. For example, if // an offer is valid on Mondays from 11:30-13:00 plus 16:00-20:00, and on // Tuesdays from 12:00-23:00, you can specify the valid hours as follows: // valid_time_of_week { day_of_week: MON start: 41400 end: 46800 } // valid_time_of_week { day_of_week: MON start: 57600 end: 72000 } // valid_time_of_week { day_of_week: TUE start: 43200 end: 82800 } // // Note that it is a close-open interval. It means that the offer would be // available for all booking slots whose start time is from, for example, // Monday 11:30 up to the last starting time before 13:00, but the offer would // not be available for the slot starting at Monday 13:00. // // If valid_time_of_week is not present, we consider the offer to be valid at // all time within the valid_period time range specified above. repeated ValidTimeOfWeek valid_time_of_week =11;
// This message represents the time periods when the offer has alternative // availability schedule than the regular one, such as special schedule during // holidays. message ValidTimeException{ // The overarching time range of the exception in the same format // as the regular valid_period field above. It is a closed-open interval // specifying when the expectional_time_of_week below would apply, replacing // the regular valid_time_of_week schedule. (required) TimeRange exceptional_period =1; // The weekly availability schedule to be applied for the time range // specified in the exceptional period above. It should be in the same // format as the regular valid_time_of_week field above. If not present, all // times within the exceptional_period will be considered as valid for the // offer. repeated ValidTimeOfWeek exceptional_time_of_week =2; } // Exceptions to the regular recurring valid_time_of_week availability // schedule. If set, any regular valid_time_of_week within this // exceptional_period are ignored and replaced by the exceptional_time_of_week // specified. repeated ValidTimeException valid_time_exception =12;
// A number from 1-100 indicating the priority of the offer under the // specified merchant and service. 1 is the most important and 100 is the // least important. Offers with smaller priority numbers will be shown before // offers with larger priority numbers when they are equally available. int64 priority =13; }
הגדרת טווח זמן
// A closed-open time range, i.e. [begin_sec, end_sec) message TimeRange{ // Seconds of UTC time since Unix epoch (required) int64 begin_sec =1; // Seconds of UTC time since Unix epoch (required) int64 end_sec =2; }
הגדרת התנאים
// A set of rules and guidelines that are displayed to the // user in order to make a booking through Reserve with Google. message Terms{ // The URL to the Terms and Conditions. (optional) string url =1;
// The unlocalized text to be displayed to the user. (required) string unlocalized_text =2; }