Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Insurance claiming #50

Merged
merged 34 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
9964c19
adding insurance claim services (not complete)
mo-c4t Oct 11, 2024
dbffc5f
added claiming services with unresolved comments
mo-c4t Oct 14, 2024
5bedba7
comments
mo-c4t Oct 16, 2024
2adf5d9
comments
mo-c4t Oct 16, 2024
2eb9803
comments
mo-c4t Oct 17, 2024
b8addda
adjust comments
mo-c4t Oct 18, 2024
d029583
buf lint fixes
mo-c4t Oct 18, 2024
fcf8e57
update deps
mo-c4t Oct 18, 2024
aa8f29e
buf lint fixes
mo-c4t Oct 18, 2024
a8a8423
fix edge case for company type version
mo-c4t Oct 18, 2024
c7405fc
separate claim from insurance
mo-c4t Oct 22, 2024
7bfe848
fix comments
mo-c4t Oct 22, 2024
0169582
fix version comment in diagram urls
mo-c4t Oct 22, 2024
c062c03
adding introduction chapter for the claim service
SamJaarsma Oct 23, 2024
e808075
added claim process diagram
SamJaarsma Oct 23, 2024
6675f76
move images to assets folder
SamJaarsma Oct 23, 2024
94ae28b
removed the claim explanation from insurances as it is now in claim
SamJaarsma Oct 23, 2024
cf9ab7d
upload assets
mo-c4t Oct 24, 2024
b53e9bb
PR comments
mo-c4t Oct 29, 2024
bffe260
put claim services in one file
mo-c4t Nov 6, 2024
d965fde
fix typo
mo-c4t Nov 6, 2024
ae5e372
Review comments Avata. Adding InsuredProductType enum and option to s…
SamJaarsma Nov 13, 2024
8d9366c
review comments Avata
SamJaarsma Nov 22, 2024
4d0bbf1
Adding comment that status field is mandatory in the reponse header
SamJaarsma Nov 22, 2024
85fe6b4
Update proto/cmp/services/accommodation/v3/search.proto
SamJaarsma Nov 22, 2024
fc717a7
Update proto/cmp/services/insurance/v2/search_parameters_types.proto
SamJaarsma Nov 22, 2024
8653a2d
Update proto/cmp/services/accommodation/v3/property_types.proto
SamJaarsma Nov 22, 2024
5d122d1
Update proto/cmp/services/claim/v1/services.proto
SamJaarsma Nov 22, 2024
fec3563
Update proto/cmp/types/v3/file.proto
SamJaarsma Nov 22, 2024
16a0be4
Update proto/cmp/services/claim/v1/claim_settlement_decision.proto
SamJaarsma Nov 22, 2024
f0b5190
Update proto/cmp/services/claim/v1/claim_types.proto
SamJaarsma Nov 22, 2024
0883a7c
Update proto/cmp/services/claim/v1/submit_claim_form.proto
SamJaarsma Nov 22, 2024
313b21a
review comment
SamJaarsma Nov 22, 2024
b509151
Update proto/cmp/services/claim/v1/services.proto
mo-c4t Nov 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,8 @@ jobs:
run: |
# '-J' options is to set Content-Encoding to gzip
gsutil -m rsync -J -R -d gen/diagrams gs://docs-cmp-files/diagrams/${{ github.ref_name }}

- name: Upload Assets
run: |
# '-J' options is to set Content-Encoding to gzip
gsutil -m rsync -J -R -d assets gs://docs-cmp-files/assets/${{ github.ref_name }}
Binary file added assets/images/claim_process_workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions proto/cmp/services/accommodation/v3/info.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
syntax = "proto3";

package cmp.services.accommodation.v3;

import "cmp/services/accommodation/v3/property_types.proto";
import "cmp/types/v1/common.proto";
import "cmp/types/v1/language.proto";
import "cmp/types/v2/product_code.proto";
import "google/protobuf/timestamp.proto";

message AccommodationProductInfoRequest {
// Message header
cmp.types.v1.RequestHeader header = 1;

// Only respond with the products that are modified after this timestamp
//
// Timestamps may be used for both off-chain and on-chain operations.
// For on-chain operations, only seconds are supported, and nanoseconds
// will be ignored.
google.protobuf.Timestamp modified_after = 2;

// Languages
repeated cmp.types.v1.Language languages = 3;

// Property codes
repeated cmp.types.v2.SupplierProductCode supplier_codes = 4;
}

message AccommodationProductInfoResponse {
// Message header
cmp.types.v1.ResponseHeader header = 1;

// Product list: Properties
repeated cmp.services.accommodation.v3.PropertyExtendedInfo properties = 2;
}

// Accommodation product info service definition
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/info.proto.dot.xs.svg)
//
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/info.proto.dot.svg)
service AccommodationProductInfoService {
// Returns product list for accommodation (properties)
rpc AccommodationProductInfo(AccommodationProductInfoRequest) returns (AccommodationProductInfoResponse);
}
37 changes: 37 additions & 0 deletions proto/cmp/services/accommodation/v3/list.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
syntax = "proto3";

package cmp.services.accommodation.v3;

import "cmp/services/accommodation/v3/property_types.proto";
import "cmp/types/v1/common.proto";
import "google/protobuf/timestamp.proto";

message AccommodationProductListRequest {
// Message header
cmp.types.v1.RequestHeader header = 1;

// Only respond with the products that are modified after this timestamp
//
// Timestamps may be used for both off-chain and on-chain operations.
// For on-chain operations, only seconds are supported, and nanoseconds
// will be ignored.
google.protobuf.Timestamp modified_after = 2;
}

message AccommodationProductListResponse {
// Message header
cmp.types.v1.ResponseHeader header = 1;

// Product list: Properties
repeated cmp.services.accommodation.v3.Property properties = 2;
}

// Accommodation product list service definition
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/list.proto.dot.xs.svg)
//
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/list.proto.dot.svg)
service AccommodationProductListService {
// Returns product list for accommodation (properties)
rpc AccommodationProductList(AccommodationProductListRequest) returns (AccommodationProductListResponse);
}
198 changes: 198 additions & 0 deletions proto/cmp/services/accommodation/v3/property_types.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,198 @@
syntax = "proto3";

package cmp.services.accommodation.v3;

import "cmp/types/v1/amenity.proto";
import "cmp/types/v1/bed.proto";
import "cmp/types/v1/description.proto";
import "cmp/types/v1/meal_plan.proto";
import "cmp/types/v1/product_status.proto";
import "cmp/types/v2/contact_info.proto";
import "cmp/types/v2/location.proto";
import "cmp/types/v2/product_code.proto";
import "cmp/types/v2/service_fact.proto";
import "cmp/types/v3/file.proto";
import "cmp/types/v3/traveller.proto";
import "google/protobuf/timestamp.proto";

// Represents property info for an accommodation product
//
// ![Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/property_types.proto.dot.xs.svg)
//
// [Open Message Diagram](https://storage.googleapis.com/docs-cmp-files/diagrams/proto/cmp/services/accommodation/v3/property_types.proto.dot.svg)
message Property {
// Ex: "2023-08-28T12:03:50", specifying when the static data of a product was
// last updated
//
// Timestamps may be used for both off-chain and on-chain operations.
// For on-chain operations, only seconds are supported, and nanoseconds
// will be ignored.
google.protobuf.Timestamp last_modified = 1;

// Supplier product Code
cmp.types.v2.SupplierProductCode supplier_code = 2;

// Product code which can be of different types
repeated cmp.types.v2.ProductCode product_codes = 3;

// Ex: "Beach Hotel Alanya"
string name = 4;

// Ex: "Hilton"
string chain = 5;

// Ex: CATEGORY_RATING_4_5
cmp.services.accommodation.v3.CategoryRating category_rating = 6;

// Ex: CATEGORY_UNIT_PALMS
cmp.services.accommodation.v3.CategoryUnit category_unit = 7;

// Contact Info: phone, address, email, links
cmp.types.v2.ContactInfo contact_info = 8;

// Location coordinate
cmp.types.v2.Coordinates coordinates = 9;

// Status of the property
cmp.types.v1.ProductStatus status = 10;

// Airports
// Ex: ["PMI", "ZRH", "AYT"]
repeated string airports = 11;
}

enum CategoryRating {
CATEGORY_RATING_UNSPECIFIED = 0;
CATEGORY_RATING_0_5 = 1;
CATEGORY_RATING_1_0 = 2;
CATEGORY_RATING_1_5 = 3;
CATEGORY_RATING_2_0 = 4;
CATEGORY_RATING_2_5 = 5;
CATEGORY_RATING_3_0 = 6;
CATEGORY_RATING_3_5 = 7;
CATEGORY_RATING_4_0 = 8;
CATEGORY_RATING_4_5 = 9;
CATEGORY_RATING_5_0 = 10;
CATEGORY_RATING_5_5 = 11;
CATEGORY_RATING_6_0 = 12;
CATEGORY_RATING_6_5 = 13;
CATEGORY_RATING_7_0 = 14;
CATEGORY_RATING_7_5 = 15;
CATEGORY_RATING_8_0 = 16;
CATEGORY_RATING_8_5 = 17;
CATEGORY_RATING_9_0 = 18;
CATEGORY_RATING_9_5 = 19;
CATEGORY_RATING_10_0 = 20;
}

enum CategoryUnit {
CATEGORY_UNIT_UNSPECIFIED = 0;
CATEGORY_UNIT_STARS = 1;
CATEGORY_UNIT_PALMS = 2;
}

// This message type contains extended info about a property
message PropertyExtendedInfo {
// Property
cmp.services.accommodation.v3.Property property = 1;

// Images
repeated cmp.types.v3.Image images = 2;

// Videos
repeated cmp.types.v3.Video videos = 3;

// Segmentation classification
repeated string classifications = 4;

// Property descriptions
repeated cmp.types.v1.LocalizedDescriptionSet localized_descriptions = 5;

// Room descriptions
repeated cmp.types.v1.LocalizedDescriptionSet localized_room_descriptions = 6;

// Payment type. Ex: "MERCHANT"
string payment_type = 7;

// Rooms
repeated cmp.services.accommodation.v3.Room rooms = 8;
}

message Room {
// Room code of the unit in case of hotel. Ex: "RMSDDB0000". For holiday homes
// often no room codes are used. This code must explicitly match the supplier_room_code
// in the ProductList and the ProductInfo messages, so that the static data like room
// amenities, descriptions, images etc. can be married to the dynamic price and
// availability data for display to the end user.
string supplier_code = 1;

// Room name. In case of hotel a standardized room name is often derived from
// room code structures. Example: "superior sea view room".
// For holiday homes we expect names like "Master Bedroom", "Second Bedroom" or
// "Bathroom" when specific descriptions for each room are available.
string supplier_name = 2;

// Original room name as assigned by the hotel. In case of specifically designated room
// names by chains and both the chain and the customer wants to adhere to them.
// Ex: "CEIBA CLUB", "CEIBA GOVERNORS SUITE", "GOVERNORS SUITE" or "ENCLAVE NATURE VIEW"
// For holiday homes specific room names if available can be given.
string original_name = 3;

repeated cmp.types.v3.Image images = 4;
repeated cmp.types.v3.Video videos = 5;

// Room descriptions
repeated cmp.types.v1.LocalizedDescriptionSet descriptions = 6;

// Meal plan (Board code)
repeated cmp.types.v1.MealPlan meal_plans = 7;

// Beds
repeated cmp.types.v1.Bed beds = 8;

// Occupancy
cmp.services.accommodation.v3.Occupancy total_occupancy = 9;

// Services
repeated cmp.types.v2.ServiceFact services = 10;

// Amenities
repeated cmp.types.v1.Amenity amenities = 11;
}

message Occupancy {
// Min guests
int32 min_guests = 1;

// Max guests
int32 max_guests = 2;

// Standard occupancy
int32 standard_occupancy = 3;

// Full payers
int32 full_payers = 4;

// If infants are counted in total guests or not
bool infant_counted_in_total_guests = 5;

// Occupancy options
repeated cmp.services.accommodation.v3.OccupancyOption occupancy_options = 6;
}

message OccupancyOption {
// Guest type like adult, child, infant.
cmp.types.v3.TravellerType guest_type = 1;

// Min guests
int32 min = 2;

// Max guests
int32 max = 3;

// Min age
int32 min_age = 4;

// Max age
int32 max_age = 5;
}
Loading