From c4bc73e6efa55dcb1d1e2e60eccd9b852e91656b Mon Sep 17 00:00:00 2001 From: Matt Weaver Date: Thu, 2 Oct 2025 14:06:33 -0600 Subject: [PATCH 1/7] Identify member-only rates on offers --- .../engine/shop/lodging/service/v1/find_best_offers.proto | 3 +++ shop/lodging/src/main/proto/engine/shop/lodging/v1/offer.proto | 3 +++ 2 files changed, 6 insertions(+) diff --git a/service/src/main/proto/engine/shop/lodging/service/v1/find_best_offers.proto b/service/src/main/proto/engine/shop/lodging/service/v1/find_best_offers.proto index 60d4d76..e621fb3 100644 --- a/service/src/main/proto/engine/shop/lodging/service/v1/find_best_offers.proto +++ b/service/src/main/proto/engine/shop/lodging/service/v1/find_best_offers.proto @@ -227,4 +227,7 @@ message BestOffer { // True if it is known that at least one Offer is available that has free breakfast included. // Please note: this value will be false if it is known that the Property offers free breakfast to all guests. bool is_free_breakfast_available = 6; + + // True if it is known that at least one Offer is available that requires a loyalty membership id to book. + bool is_loyalty_membership_rate_available = 7; } diff --git a/shop/lodging/src/main/proto/engine/shop/lodging/v1/offer.proto b/shop/lodging/src/main/proto/engine/shop/lodging/v1/offer.proto index fba0eac..e80899d 100644 --- a/shop/lodging/src/main/proto/engine/shop/lodging/v1/offer.proto +++ b/shop/lodging/src/main/proto/engine/shop/lodging/v1/offer.proto @@ -54,6 +54,9 @@ message OfferSummary { // If true, this Offer may earn loyalty points. bool is_loyalty_eligible = 6; + + // If true, this offer requires a loyalty membership id to book. + bool is_loyalty_membership_id_required = 7; } // OfferAmenities represent the value added by the individual offer to be evaluated against other offers. From 47551cb3d1378512424215dfa4b7c44072536fc3 Mon Sep 17 00:00:00 2001 From: Haris Hanif Date: Wed, 8 Oct 2025 10:03:01 -0700 Subject: [PATCH 2/7] Add additional property details * check-in and check-out times * GIATA catalog ids * contact details Co-authored-by: Haris Hanif --- .../main/proto/engine/common/v1/contact.proto | 62 +++++++++++++++ .../main/proto/engine/common/v1/media.proto | 41 ++++++++++ .../engine/content/v1/lodging/property.proto | 79 +++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 common/src/main/proto/engine/common/v1/contact.proto create mode 100644 common/src/main/proto/engine/common/v1/media.proto diff --git a/common/src/main/proto/engine/common/v1/contact.proto b/common/src/main/proto/engine/common/v1/contact.proto new file mode 100644 index 0000000..a8db38a --- /dev/null +++ b/common/src/main/proto/engine/common/v1/contact.proto @@ -0,0 +1,62 @@ +// +// Copyright 2025 HotelEngine, Inc., d/b/a Engine +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package engine.common.v1; + +option go_package = "engine.com/engine-partner-api/common/v1"; +option java_package = "com.engine.common.v1"; +option java_multiple_files = true; + +import 'protoc-gen-openapiv2/options/annotations.proto'; + +// Describes the type of an email contact. +enum EmailType { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_enum) = { + title: "Common_EmailType_v1" + }; + + // Unspecified email type. + EMAIL_TYPE_UNSPECIFIED = 0; + + // General contact email. + EMAIL_TYPE_GENERAL = 1; + + // Billing-related email. + EMAIL_TYPE_BILLING = 2; + + // Reservations and booking email. + EMAIL_TYPE_RESERVATIONS = 3; + + // Customer support email. + EMAIL_TYPE_SUPPORT = 4; +} + +// Contact email information. +message ContactEmail { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Common_ContactEmail_v1" + } + }; + + // The email address. + string email_address = 1; + + // Optional type of email contact. + optional EmailType email_type = 2; +} diff --git a/common/src/main/proto/engine/common/v1/media.proto b/common/src/main/proto/engine/common/v1/media.proto new file mode 100644 index 0000000..6475dd9 --- /dev/null +++ b/common/src/main/proto/engine/common/v1/media.proto @@ -0,0 +1,41 @@ +// +// Copyright 2025 HotelEngine, Inc., d/b/a Engine +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package engine.common.v1; + +option go_package = "engine.com/engine-partner-api/common/v1"; +option java_package = "com.engine.common.v1"; +option java_multiple_files = true; + +import 'protoc-gen-openapiv2/options/annotations.proto'; + +// A media item for visual or marketing context. +message MediaItem { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Common_MediaItem_v1" + } + }; + + // Media content reference. + oneof media_type { + // URI of an image. + // Contains an HTTPS URI pointing to image content (e.g., JPEG, PNG). + string image_uri = 1; + } +} diff --git a/content/src/main/proto/engine/content/v1/lodging/property.proto b/content/src/main/proto/engine/content/v1/lodging/property.proto index 05e7c98..ad80b72 100644 --- a/content/src/main/proto/engine/content/v1/lodging/property.proto +++ b/content/src/main/proto/engine/content/v1/lodging/property.proto @@ -22,7 +22,9 @@ option go_package = "engine.com/engine-partner-api/v1/content"; option java_package = "com.engine.content.v1.lodging"; option java_multiple_files = true; +import "engine/common/v1/contact.proto"; import "engine/common/v1/geo.proto"; +import "engine/common/v1/media.proto"; import "engine/common/v1/postal_address.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; @@ -72,4 +74,81 @@ message Property { // See https://en.wikipedia.org/wiki/E.164 // optional string phone_number = 51; + + // + // Contact email addresses for this property. + // May include general contact, billing, or reservation emails. + // + repeated .engine.common.v1.ContactEmail emails = 61; + + // + // Star rating for this property. + // Represents the official star rating classification system. + // See https://en.wikipedia.org/wiki/Hotel_rating + // Examples: "4", "5", "3.5" + // + optional string star_rating = 71; + + // + // Property amenities for this property. + // List of amenity names describing features and services available to guests. + // Examples: "Free WiFi", "Pool", "Fitness Center", "Free Breakfast" + // + repeated PropertyAmenity amenities = 81; + + // + // Media items for property gallery. + // Collection of media URIs for detailed property viewing and marketing. + // + repeated .engine.common.v1.MediaItem media_items = 91; + + // + // External catalog identifiers for this property. + // Used for integration with external booking systems. + // + .engine.content.v1.lodging.ExternalCatalogIdentifiers catalog = 101; + + // Check-in time in local time HH:MM 24-hour format (e.g., "15:00"). + // + optional string check_in_time = 102; + + // + // Check-out time in local time HH:MM 24-hour format (e.g., "11:00"). + // + optional string check_out_time = 103; +} + + + +// +// Property amenity containing name for property features and services. +// +message PropertyAmenity { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Content_PropertyAmenity_v1" + } + }; + + // + // Amenity name describing property features and services. + // Examples: "Free WiFi", "Free Breakfast" + // + string amenity_name = 1; +} + +// +// External catalog identifiers for property mapping. +// +message ExternalCatalogIdentifiers { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Content_ExternalCatalogIdentifiers_v1" + } + }; + +// +// GIATA identifier for this property. +// + optional string giata_identifier = 1; } From 998b97d8c106184ffc0e8dc820ec93a416b93967 Mon Sep 17 00:00:00 2001 From: Matt Weaver Date: Thu, 20 Nov 2025 17:17:30 -0700 Subject: [PATCH 3/7] Add Partner Intake Form to static documentation --- README.md | 3 +-- build.gradle.kts | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3ef69e3..38bac31 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,6 @@ This API is ideal for businesses looking to: * **Build a brand-new travel product** that leverages Engine's extensive hotel inventory. To begin integrating, please [review our documentation](https://engine-public.github.io/engine-partner-api). -Once you're ready, contact partnerships@engine.com to discuss a partnership agreement, gain access to your sandbox environment, and start the development process. +Once you’re ready, please complete this [form](https://forms.gle/ir8fFYLaTkSwkih1A) and contact [partnerships@engine.com](mailto:partnerships@engine.com) to discuss a partnership agreement, gain access to your sandbox environment, and start the development process. _Note: Engine reviews requests as they are submitted, and our team will work with you to align on development timelines._ - diff --git a/build.gradle.kts b/build.gradle.kts index c2b25fd..c461e87 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -574,6 +574,7 @@ afterEvaluate { val mdlNoBareUrls = "MD034" val mdlLinkImageReferenceDefinitions = "MD053" val mdlBlanksAroundTables = "MD058" + val mdlTableColumnStyle = "MD060" val runMarkdownLinterOnStaticMarkdown = tasks.register("runMarkdownLinterOnStaticMarkdown") { group = "formatting" @@ -609,6 +610,7 @@ afterEvaluate { mdlNoBareUrls, mdlNoDuplicateHeading, mdlBlanksAroundTables, + mdlTableColumnStyle, "--", *appendFootersToGeneratedMarkdown.get().outputs.files.map { it.absolutePath }.toTypedArray() ) From 32f2128740ac937c4a890a2f257a5d57a0760d36 Mon Sep 17 00:00:00 2001 From: "Brian M. Carr" Date: Mon, 1 Dec 2025 09:04:06 -0600 Subject: [PATCH 4/7] Add partner-api-approvers to CODEOWNERS --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 103abf5..c15e4d9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @engine-public/partner-api-maintainers +* @engine-public/partner-api-maintainers @HotelEngine/partner-api-approvers From d1ddc7ea3b49bfae4333b79425f8a80a35c70b2a Mon Sep 17 00:00:00 2001 From: Matt Weaver Date: Thu, 4 Dec 2025 08:32:39 -0700 Subject: [PATCH 5/7] Surface Room Amenities --- .../engine/content/v1/lodging/room.proto | 38 +++++++++++++++++++ .../proto/engine/shop/lodging/v1/room.proto | 4 ++ 2 files changed, 42 insertions(+) create mode 100644 content/src/main/proto/engine/content/v1/lodging/room.proto diff --git a/content/src/main/proto/engine/content/v1/lodging/room.proto b/content/src/main/proto/engine/content/v1/lodging/room.proto new file mode 100644 index 0000000..e4831fe --- /dev/null +++ b/content/src/main/proto/engine/content/v1/lodging/room.proto @@ -0,0 +1,38 @@ +// +// Copyright 2025 HotelEngine, Inc., d/b/a Engine +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package engine.content.v1.lodging; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +option go_package = "engine.com/engine-partner-api/v1/content"; +option java_package = "com.engine.content.v1.lodging"; +option java_multiple_files = true; + +// Room amenity containing name for room features and services. +message RoomAmenity { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Content_RoomAmenity_v1" + } + }; + + // Amenity name describing room features and services. + // Examples: "Housekeeping on request", "Free WiFi" + string amenity_name = 1; +} diff --git a/shop/lodging/src/main/proto/engine/shop/lodging/v1/room.proto b/shop/lodging/src/main/proto/engine/shop/lodging/v1/room.proto index c7cfbc6..b5d2208 100644 --- a/shop/lodging/src/main/proto/engine/shop/lodging/v1/room.proto +++ b/shop/lodging/src/main/proto/engine/shop/lodging/v1/room.proto @@ -20,6 +20,7 @@ package engine.shop.lodging.v1; import "protoc-gen-openapiv2/options/annotations.proto"; +import "engine/content/v1/lodging/room.proto"; import "engine/shop/lodging/v1/offer.proto"; option go_package = "engine.com/engine-partner-api/v1/shop/lodging"; @@ -47,6 +48,9 @@ message RoomDescription { // URIs to photos of this room. repeated string photos = 4; + + // A list of amenities that are available in the room. + repeated .engine.content.v1.lodging.RoomAmenity amenities = 5; } // A description of the quantity and type of beds in the room. From 7ba7bfd43f763b418d5ad990ec920f7d04483494 Mon Sep 17 00:00:00 2001 From: Matt Fox Date: Thu, 4 Dec 2025 08:37:57 -0700 Subject: [PATCH 6/7] Add property amenities and additional images --- .../proto/engine/common/v1/amenities.proto | 2 +- .../main/proto/engine/common/v1/image.proto | 43 ++++++++++++++++ .../main/proto/engine/common/v1/loyalty.proto | 18 ++++++- .../main/proto/engine/common/v1/media.proto | 15 +++++- .../v1/lodging/lodging_amenity_code.proto | 50 +++++++++++++++++++ .../engine/content/v1/lodging/property.proto | 37 +++++++++++--- src/main/markdown/partials/_link_footer.md | 1 + 7 files changed, 156 insertions(+), 10 deletions(-) create mode 100644 common/src/main/proto/engine/common/v1/image.proto create mode 100644 content/src/main/proto/engine/content/v1/lodging/lodging_amenity_code.proto diff --git a/common/src/main/proto/engine/common/v1/amenities.proto b/common/src/main/proto/engine/common/v1/amenities.proto index 71465d4..a9199ad 100644 --- a/common/src/main/proto/engine/common/v1/amenities.proto +++ b/common/src/main/proto/engine/common/v1/amenities.proto @@ -43,4 +43,4 @@ enum AmenityAvailability { // The amenity is not included, but may be purchased directly from the hotel, airline, car rental vendor, etc. // For example, a seat upgrade or breakfast vouchers. AMENITY_AVAILABILITY_VIA_VENDOR = 3; -} \ No newline at end of file +} diff --git a/common/src/main/proto/engine/common/v1/image.proto b/common/src/main/proto/engine/common/v1/image.proto new file mode 100644 index 0000000..5e4caab --- /dev/null +++ b/common/src/main/proto/engine/common/v1/image.proto @@ -0,0 +1,43 @@ +// +// Copyright 2025 HotelEngine, Inc., d/b/a Engine +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package engine.common.v1; + +option go_package = "engine.com/engine-partner-api/common/v1"; +option java_package = "com.engine.common.v1"; +option java_multiple_files = true; + +import 'protoc-gen-openapiv2/options/annotations.proto'; + +// +// Represents an [Image] with optional metadata. +// +message Image { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Common_Image_v1" + } + }; + + // + // The URI of the [Image]. + // For example, "https://example.com/image.jpg" + // + string uri = 1; +} + diff --git a/common/src/main/proto/engine/common/v1/loyalty.proto b/common/src/main/proto/engine/common/v1/loyalty.proto index 2e6ff08..5a22b24 100644 --- a/common/src/main/proto/engine/common/v1/loyalty.proto +++ b/common/src/main/proto/engine/common/v1/loyalty.proto @@ -36,4 +36,20 @@ message LodgingLoyaltyProgramIdentifier { // The identifier provided to the travel by the program administrator. string member_id = 1; -} \ No newline at end of file +} + +// +// Represents a single loyalty rewards program. +// +message LoyaltyRewardsProgram { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { + json_schema: { + title: "Common_LoyaltyRewardsProgram_v1" + } + }; + + // + // Name of the loyalty reward program. + // + string name = 2; +} diff --git a/common/src/main/proto/engine/common/v1/media.proto b/common/src/main/proto/engine/common/v1/media.proto index 6475dd9..afb9420 100644 --- a/common/src/main/proto/engine/common/v1/media.proto +++ b/common/src/main/proto/engine/common/v1/media.proto @@ -22,6 +22,7 @@ option go_package = "engine.com/engine-partner-api/common/v1"; option java_package = "com.engine.common.v1"; option java_multiple_files = true; +import "engine/common/v1/image.proto"; import 'protoc-gen-openapiv2/options/annotations.proto'; // A media item for visual or marketing context. @@ -36,6 +37,18 @@ message MediaItem { oneof media_type { // URI of an image. // Contains an HTTPS URI pointing to image content (e.g., JPEG, PNG). - string image_uri = 1; + // @deprecated see image field + string image_uri = 1 [deprecated = true]; + + // An [Image] this media item represents + .engine.common.v1.Image image = 2; } + + // A description of this media item + // Example: "A large restaurant" + optional string description = 20; + + // Tags categorizing the content of this media item + // Example: ["outdoor", "pool"] + repeated string tags = 21; } diff --git a/content/src/main/proto/engine/content/v1/lodging/lodging_amenity_code.proto b/content/src/main/proto/engine/content/v1/lodging/lodging_amenity_code.proto new file mode 100644 index 0000000..20c4235 --- /dev/null +++ b/content/src/main/proto/engine/content/v1/lodging/lodging_amenity_code.proto @@ -0,0 +1,50 @@ +// +// Copyright 2025 HotelEngine, Inc., d/b/a Engine +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at: +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +syntax = "proto3"; + +package engine.content.v1.lodging; + +option go_package = "engine.com/engine-partner-api/v1/content"; +option java_package = "com.engine.content.v1.lodging"; +option java_multiple_files = true; + +import 'protoc-gen-openapiv2/options/annotations.proto'; + +// Enumerates possible lodging amenities +enum LodgingAmenityCode { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_enum) = { + title: "Content_LodgingAmenityCode_v1" + }; + + UNKNOWN = 0; + AIR_CONDITIONING = 1; + DINING = 2; + DRY_CLEANING = 3; + ELECTRIC_VEHICLE_CHARGING = 4; + FITNESS_CENTER = 5; + FREE_AIRPORT_SHUTTLE = 6; + FREE_BREAKFAST = 7; + FREE_PARKING = 8; + FULL_KITCHEN = 9; + HIGH_SPEED_INTERNET = 10; + KITCHENETTE = 11; + MEETING_SPACE = 12; + PET_FRIENDLY = 13; + SPA = 14; + SWIMMING_POOL = 15; + TRUCK_PARKING = 16; +} diff --git a/content/src/main/proto/engine/content/v1/lodging/property.proto b/content/src/main/proto/engine/content/v1/lodging/property.proto index ad80b72..f98db4b 100644 --- a/content/src/main/proto/engine/content/v1/lodging/property.proto +++ b/content/src/main/proto/engine/content/v1/lodging/property.proto @@ -22,10 +22,14 @@ option go_package = "engine.com/engine-partner-api/v1/content"; option java_package = "com.engine.content.v1.lodging"; option java_multiple_files = true; +import "engine/common/v1/amenities.proto"; import "engine/common/v1/contact.proto"; import "engine/common/v1/geo.proto"; +import "engine/common/v1/image.proto"; +import "engine/common/v1/loyalty.proto"; import "engine/common/v1/media.proto"; import "engine/common/v1/postal_address.proto"; +import "engine/content/v1/lodging/lodging_amenity_code.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; // @@ -90,11 +94,11 @@ message Property { optional string star_rating = 71; // - // Property amenities for this property. + // Property amenities for this [Property]. // List of amenity names describing features and services available to guests. // Examples: "Free WiFi", "Pool", "Fitness Center", "Free Breakfast" // - repeated PropertyAmenity amenities = 81; + repeated .engine.content.v1.lodging.PropertyAmenity amenities = 81; // // Media items for property gallery. @@ -107,21 +111,34 @@ message Property { // Used for integration with external booking systems. // .engine.content.v1.lodging.ExternalCatalogIdentifiers catalog = 101; - - // Check-in time in local time HH:MM 24-hour format (e.g., "15:00"). + + // + // Check-in time in local time HH:MM 24-hour format (e.g., "15:00") for the [Property]. // optional string check_in_time = 102; // - // Check-out time in local time HH:MM 24-hour format (e.g., "11:00"). + // Check-out time in local time HH:MM 24-hour format (e.g., "11:00") for the [Property]. // optional string check_out_time = 103; + + // + // The loyalty rewards program associated with the [Property]. + // + optional .engine.common.v1.LoyaltyRewardsProgram loyalty_rewards_program = 104; + + // + // The time zone for the [Property] in the IANA format. + // See https://www.iana.org/time-zones + // Examples: "America/Denver", "Atlantic/Madeira" + // + optional string time_zone = 105; } // -// Property amenity containing name for property features and services. +// [Property] amenity containing name for property features and services. // message PropertyAmenity { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { @@ -131,10 +148,16 @@ message PropertyAmenity { }; // - // Amenity name describing property features and services. + // Amenity name describing a [Property] feature or service. // Examples: "Free WiFi", "Free Breakfast" // string amenity_name = 1; + + // + // Amenity code, providing an easily machine readable representation of a [Property] feature or + // service, if mapped. + // + optional .engine.content.v1.lodging.LodgingAmenityCode amenity_code = 2; } // diff --git a/src/main/markdown/partials/_link_footer.md b/src/main/markdown/partials/_link_footer.md index d2320de..cbdbd39 100644 --- a/src/main/markdown/partials/_link_footer.md +++ b/src/main/markdown/partials/_link_footer.md @@ -17,6 +17,7 @@ [GetBookingsStreamingError]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-service.html#engine-book-lodging-service-v1-GetBookingsStreamingError [GenerateFolioError]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-service.html#generatefolioerror [GeoPoint]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-common.html#geopoint +[Image]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-common.html#image [LodgingBookingService.Book]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-service.html#lodgingbookingservice [LodgingBookingService.ConfirmOffer]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-service.html#lodgingbookingservice [LodgingBookingService.GenerateFolio]: @JEKYLL_BASE_URL@/api/grpc/engine-partner-api-service.html#lodgingbookingservice From 0cdedce5e94066f576dba1b684c19e038ea34bc4 Mon Sep 17 00:00:00 2001 From: Matt Fox Date: Fri, 5 Dec 2025 09:07:54 -0700 Subject: [PATCH 7/7] Remove deprecated image_uri --- common/src/main/proto/engine/common/v1/media.proto | 5 ----- 1 file changed, 5 deletions(-) diff --git a/common/src/main/proto/engine/common/v1/media.proto b/common/src/main/proto/engine/common/v1/media.proto index afb9420..1751f87 100644 --- a/common/src/main/proto/engine/common/v1/media.proto +++ b/common/src/main/proto/engine/common/v1/media.proto @@ -35,11 +35,6 @@ message MediaItem { // Media content reference. oneof media_type { - // URI of an image. - // Contains an HTTPS URI pointing to image content (e.g., JPEG, PNG). - // @deprecated see image field - string image_uri = 1 [deprecated = true]; - // An [Image] this media item represents .engine.common.v1.Image image = 2; }