diff --git a/proto/cmp/services/cancellation/v1/cancellation_reason.proto b/proto/cmp/services/cancellation/v1/cancellation_reason.proto new file mode 100644 index 0000000..8f271d7 --- /dev/null +++ b/proto/cmp/services/cancellation/v1/cancellation_reason.proto @@ -0,0 +1,86 @@ +syntax = "proto3"; + +package cmp.services.cancellation.v1; + +enum CancellationReason { + // Default unspecified value + CANCELLATION_REASON_UNSPECIFIED = 0; + + // Guest-Initiated: Change in Travel Plans + CANCELLATION_REASON_SCHEDULE_CONFLICT = 1; + CANCELLATION_REASON_WORK_RELATED = 2; + CANCELLATION_REASON_FAMILY_EMERGENCY = 3; + CANCELLATION_REASON_VISA_PASSPORT_ISSUE = 4; + CANCELLATION_REASON_TRANSPORTATION_ISSUE = 5; + CANCELLATION_REASON_WEATHER_CONCERN = 6; + + // Guest-Initiated: Financial Reasons + CANCELLATION_REASON_FOUND_BETTER_RATE = 7; + CANCELLATION_REASON_BUDGET_CONSTRAINT = 8; + CANCELLATION_REASON_CURRENCY_FLUCTUATION = 9; + CANCELLATION_REASON_UNEXPECTED_EXPENSE = 10; + CANCELLATION_REASON_PAYMENT_ISSUE = 11; + + // Guest-Initiated: Personal Preferences + CANCELLATION_REASON_CHANGED_DESTINATION = 12; + CANCELLATION_REASON_FOUND_BETTER_ACCOMMODATION = 13; + CANCELLATION_REASON_GROUP_SIZE_CHANGE = 14; + CANCELLATION_REASON_LENGTH_OF_STAY_CHANGE = 15; + CANCELLATION_REASON_AMENITY_REQUIREMENT_CHANGE = 16; + + // Guest-Initiated: Health & Safety + CANCELLATION_REASON_ILLNESS_OR_INJURY = 17; + CANCELLATION_REASON_TRAVEL_ADVISORY = 18; + CANCELLATION_REASON_HEALTH_RESTRICTION = 19; + CANCELLATION_REASON_DESTINATION_SAFETY_CONCERN = 20; + CANCELLATION_REASON_COVID_RELATED = 21; + + // Host/Property-Initiated: Property Issues + CANCELLATION_REASON_MAINTENANCE_PROBLEM = 22; + CANCELLATION_REASON_OVERBOOKING = 23; + CANCELLATION_REASON_PROPERTY_DAMAGE = 24; + CANCELLATION_REASON_RENOVATION_WORK = 25; + CANCELLATION_REASON_TECHNICAL_SYSTEM_FAILURE = 26; + + // Host/Property-Initiated: Operational Issues + CANCELLATION_REASON_STAFFING_PROBLEM = 27; + CANCELLATION_REASON_TEMPORARY_CLOSURE = 28; + CANCELLATION_REASON_LICENSE_PERMIT_ISSUE = 29; + CANCELLATION_REASON_OWNERSHIP_CHANGE = 30; + CANCELLATION_REASON_BOOKING_SYSTEM_ERROR = 31; + + // Host/Property-Initiated: Policy Violations + CANCELLATION_REASON_INVALID_CREDIT_CARD = 32; + CANCELLATION_REASON_SUSPICIOUS_ACTIVITY = 33; + CANCELLATION_REASON_HOUSE_RULE_VIOLATION = 34; + CANCELLATION_REASON_INCOMPLETE_GUEST_INFO = 35; + CANCELLATION_REASON_FAILED_VERIFICATION = 36; + + // System-Related: Technical Issues + CANCELLATION_REASON_DOUBLE_BOOKING = 37; + CANCELLATION_REASON_SYSTEM_GLITCH = 38; + CANCELLATION_REASON_PAYMENT_PROCESSING_ERROR = 39; + CANCELLATION_REASON_CALENDAR_SYNC_ERROR = 40; + CANCELLATION_REASON_RATE_PLAN_ERROR = 41; + + // System-Related: Administrative Reasons + CANCELLATION_REASON_PROPERTY_DELISTING = 42; + CANCELLATION_REASON_CONTRACT_TERMINATION = 43; + CANCELLATION_REASON_ACCOUNT_SUSPENSION = 44; + CANCELLATION_REASON_REGULATORY_COMPLIANCE = 45; + CANCELLATION_REASON_PLATFORM_POLICY_VIOLATION = 46; + + // Force Majeure: Natural Disasters + CANCELLATION_REASON_EARTHQUAKE = 47; + CANCELLATION_REASON_FLOOD = 48; + CANCELLATION_REASON_HURRICANE = 49; + CANCELLATION_REASON_VOLCANIC_ACTIVITY = 50; + CANCELLATION_REASON_SEVERE_WEATHER = 51; + + // Force Majeure: External Factors + CANCELLATION_REASON_CIVIL_UNREST = 52; + CANCELLATION_REASON_POLITICAL_INSTABILITY = 53; + CANCELLATION_REASON_STRIKE_ACTION = 54; + CANCELLATION_REASON_PUBLIC_HEALTH_EMERGENCY = 55; + CANCELLATION_REASON_GOVERNMENT_RESTRICTION = 56; +} diff --git a/proto/cmp/services/cancellation/v1/rejection_reason.proto b/proto/cmp/services/cancellation/v1/rejection_reason.proto new file mode 100644 index 0000000..c0e85fc --- /dev/null +++ b/proto/cmp/services/cancellation/v1/rejection_reason.proto @@ -0,0 +1,16 @@ +syntax = "proto3"; + +package cmp.services.cancellation.v1; + +enum CancellationRejectionReason { + CANCELLATION_REJECTION_REASON_UNSPECIFIED = 0; + CANCELLATION_REJECTION_REASON_TECHNICAL_ERROR = 1; + CANCELLATION_REJECTION_REASON_INVALID_SERVICE_OR_BOOKING_REFERENCE = 2; + CANCELLATION_REJECTION_REASON_BOOKING_IS_ALREADY_CANCELLED = 3; + CANCELLATION_REJECTION_REASON_SERVICE_HAS_STARTED_OR_HAS_BEEN_DELIVERED = 4; + CANCELLATION_REJECTION_REASON_CANCELLATION_WINDOW_EXPIRED = 5; + CANCELLATION_REJECTION_REASON_SERVICE_CANNOT_BE_CANCELLED_ONLINE = 6; + CANCELLATION_REJECTION_REASON_RATE_OR_FARE_CANNOT_BE_CANCELLED = 7; + CANCELLATION_REJECTION_REASON_ENTIRE_PACKAGE_MUST_BE_CANCELLED = 8; // Service forms part of a package, the entire package must be cancelled + CANCELLATION_REJECTION_REASON_REFUND_CURRENCY_NOT_SUPPORTED = 9; +}