// It can be a tee time for a golf course entity.// The availability feed should be a list of this message.messageGolfAvailability{// An opaque string generated by the partner that identifies a tee time slot.// Must be unique across all entities and tee time slots.// Strongly recommended to only include URL-safe characters.// Required.stringavailability_id=10;// An opaque string generated by the partner that identifies an Entity.// Must be unique across all entities.// Strongly recommended to only include URL-safe characters.// Required.stringentity_id=1;// Timestamp of when this availability slot starts in UTC.// Given in seconds since the unix epoch.// For example, 1735714800 seconds for 1 Jan 2025, 07:00:00 (UTC).// Required.int64start_time_sec=2;// Number of total spots and available spots of this booking availability.// E.g. a golf tee time of 4 spots with 2 booked.// golf_availability {spots_total: 4, spots_available: 2}// Required.int32spots_total=3;// Required.int32spots_available=4;// The minimum number of spots that should be booked for this availability.// For example, a user has to book at least 2 spots for a tee time sometimes.// If set, spots_minimum_book should be less or equal to spots_available.// Required.int32spots_minimum_book=5;// Link of this booking availability. Users will be redirected to partner// website to continue booking after clicking this link.// Required.stringbooking_link=6;// Base price per person.// Required.google.type.Moneybase_price=7;// Fee per person.// Required.google.type.Moneyfee_price=8;// Number of holes in the golf availability/tee time.// Required.enumHoles{// Not specified. Do not use.HOLES_UNSPECIFIED=0;// 6 Holes.SIX_HOLES=5;// 9 Holes.NINE_HOLES=1;// 12 Holes.TWELVE_HOLES=2;// 14 Holes.FOURTEEN_HOLES=3;// 18 HolesEIGHTEEN_HOLES=4;}Holesholes=9;}
[null,null,["最后更新时间 (UTC):2025-07-26。"],[],[],null,["Definitions **Note:** The Golf Availability feed spec is defined in protobuffer format below, however we recommend uploading the feeds in JSON format. You can reference our [JSON sample feeds](#samples) for more information.\n\nGolfAvailabilityFeed Definition \n\n```protobuf\nmessage GolfAvailabilityFeed {\n repeated GolfAvailability data = 1;\n\n}\n```\n\nGolfAvailability Definition \n\n```protobuf\n// It can be a tee time for a golf course entity.\n// The availability feed should be a list of this message.\nmessage GolfAvailability {\n // An opaque string generated by the partner that identifies a tee time slot.\n // Must be unique across all entities and tee time slots.\n // Strongly recommended to only include URL-safe characters.\n // Required.\n string availability_id = 10;\n\n // An opaque string generated by the partner that identifies an Entity.\n // Must be unique across all entities.\n // Strongly recommended to only include URL-safe characters.\n // Required.\n string entity_id = 1;\n\n // Timestamp of when this availability slot starts in UTC.\n // Given in seconds since the unix epoch.\n // For example, 1735714800 seconds for 1 Jan 2025, 07:00:00 (UTC).\n // Required.\n int64 start_time_sec = 2;\n\n // Number of total spots and available spots of this booking availability.\n // E.g. a golf tee time of 4 spots with 2 booked.\n // golf_availability {spots_total: 4, spots_available: 2}\n // Required.\n int32 spots_total = 3;\n // Required.\n int32 spots_available = 4;\n\n // The minimum number of spots that should be booked for this availability.\n // For example, a user has to book at least 2 spots for a tee time sometimes.\n // If set, spots_minimum_book should be less or equal to spots_available.\n // Required.\n int32 spots_minimum_book = 5;\n\n // Link of this booking availability. Users will be redirected to partner\n // website to continue booking after clicking this link.\n // Required.\n string booking_link = 6;\n\n // Base price per person.\n // Required.\n google.type.Money base_price = 7;\n // Fee per person.\n // Required.\n google.type.Money fee_price = 8;\n\n // Number of holes in the golf availability/tee time.\n // Required.\n enum Holes {\n // Not specified. Do not use.\n HOLES_UNSPECIFIED = 0;\n // 6 Holes.\n SIX_HOLES = 5;\n // 9 Holes.\n NINE_HOLES = 1;\n // 12 Holes.\n TWELVE_HOLES = 2;\n // 14 Holes.\n FOURTEEN_HOLES = 3;\n // 18 Holes\n EIGHTEEN_HOLES = 4;\n }\n Holes holes = 9;\n\n}\n```\n\nGolf Availability feeds samples \n\nGolf Availability Feed \n\n```json\n{\n \"data\": [\n {\n \"availability_id\": \"availability_id_1\",\n \"entity_id\": \"entity_id_1\",\n \"start_time_sec\": 1728257400,\n \"spots_total\": 4,\n \"spots_available\": 4,\n \"spots_minimum_book\": 2,\n \"booking_link\": \"https://www.googlegolfappointments.com/a_link_direct_to_booking_page\",\n \"base_price\": {\n \"currency_code\": \"USD\",\n \"units\": 80,\n \"nanos\": 0\n },\n \"holes\": \"EIGHTEEN_HOLES\"\n },\n {\n \"availability_id\": \"availability_id_2\",\n \"entity_id\": \"entity_id_2\",\n \"start_time_sec\": 1728259200,\n \"spots_total\": 4,\n \"spots_available\": 4,\n \"spots_minimum_book\": 2,\n \"booking_link\": \"https://googlegolfappointments.com/a_link_direct_to_booking_page\",\n \"base_price\": {\n \"currency_code\": \"USD\",\n \"units\": 80,\n \"nanos\": 0\n },\n \"holes\": \"NINE_HOLES\"\n }\n ]\n}\n```\n\nDescriptor File \n\n```json\n{\n \"generation_timestamp\": 1663347730,\n \"name\": \"golf.availability\",\n \"data_file\": [\n \"golf.availability-1663347730-00000-of-00001.json\"\n ]\n}\n```"]]