-- ============================================================================= -- AeroResolve Master Data Seed Script -- PostgreSQL 14+ -- ============================================================================= -- 1. Action Categories INSERT INTO masters.tbl_action_categories (code, name, "displayOrder", "isActive") SELECT code, name, displayOrder, true FROM (VALUES ('REFUNDS', 'Refunds', 1), ('CASH_COMPENSATION', 'Cash Compensation', 2), ('TRAVEL_CREDITS', 'Travel Credits', 3), ('LOYALTY_BENEFITS', 'Loyalty Benefits', 4), ('ACCOMMODATION', 'Accommodation', 5), ('MEALS', 'Meals', 6), ('TRANSPORTATION', 'Transportation', 7), ('REBOOKING_TRAVEL', 'Rebooking & Travel', 8), ('UPGRADES', 'Upgrades', 9), ('ANCILLARY_RECOVERY', 'Ancillary Recovery', 10), ('COMMUNICATION', 'Communication', 11), ('WORKFLOW', 'Workflow', 12), ('FINANCE', 'Finance', 13), ('SYSTEM_INTEGRATION', 'System Integration', 14) ) AS t(code, name, displayOrder) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_action_categories WHERE masters.tbl_action_categories.code = t.code); -- 2. Action Types INSERT INTO masters.tbl_action_types (code, "categoryId", name, "displayOrder", "isActive") SELECT v.code, c.id, v.name, v.display_order, true FROM (VALUES -- Refunds ('FULL_TICKET_REFUND', 'REFUNDS', 'Full Ticket Refund', 1), ('PARTIAL_TICKET_REFUND', 'REFUNDS', 'Partial Ticket Refund', 2), ('TAX_REFUND', 'REFUNDS', 'Tax Refund', 3), ('ANCILLARY_REFUND', 'REFUNDS', 'Ancillary Refund', 4), ('BAGGAGE_FEE_REFUND', 'REFUNDS', 'Baggage Fee Refund', 5), ('CABIN_DOWNGRADE_REFUND', 'REFUNDS', 'Cabin Downgrade Refund', 6), -- Cash Compensation ('REGULATORY_COMPENSATION', 'CASH_COMPENSATION', 'Regulatory Compensation', 1), ('AIRLINE_GOODWILL_CASH', 'CASH_COMPENSATION', 'Airline Goodwill Cash', 2), ('EX_GRATIA_COMPENSATION', 'CASH_COMPENSATION', 'Ex-Gratia Compensation', 3), -- Travel Credits ('TRAVEL_VOUCHER', 'TRAVEL_CREDITS', 'Travel Voucher', 1), ('FUTURE_TRAVEL_CREDIT', 'TRAVEL_CREDITS', 'Future Travel Credit', 2), ('PROMO_CODE', 'TRAVEL_CREDITS', 'Promo Code', 3), ('DISCOUNT_COUPON', 'TRAVEL_CREDITS', 'Discount Coupon', 4), -- Loyalty Benefits ('AWARD_MILES', 'LOYALTY_BENEFITS', 'Award Miles', 1), ('BONUS_MILES', 'LOYALTY_BENEFITS', 'Bonus Miles', 2), ('TIER_POINTS', 'LOYALTY_BENEFITS', 'Tier Points', 3), ('TIER_UPGRADE', 'LOYALTY_BENEFITS', 'Tier Upgrade', 4), -- Accommodation ('HOTEL_ACCOMMODATION', 'ACCOMMODATION', 'Hotel Accommodation', 1), ('AIRPORT_HOTEL', 'ACCOMMODATION', 'Airport Hotel', 2), -- Meals ('MEAL_VOUCHER', 'MEALS', 'Meal Voucher', 1), ('RESTAURANT_VOUCHER', 'MEALS', 'Restaurant Voucher', 2), ('REFRESHMENT_COUPON', 'MEALS', 'Refreshment Coupon', 3), -- Transportation ('TAXI', 'TRANSPORTATION', 'Taxi', 1), ('AIRPORT_TRANSFER', 'TRANSPORTATION', 'Airport Transfer', 2), ('BUS_TRANSFER', 'TRANSPORTATION', 'Bus Transfer', 3), ('TRAIN_TICKET', 'TRANSPORTATION', 'Train Ticket', 4), ('CHAUFFEUR_SERVICE', 'TRANSPORTATION', 'Chauffeur Service', 5), -- Rebooking & Travel ('AUTO_REBOOK', 'REBOOKING_TRAVEL', 'Auto Rebook', 1), ('PRIORITY_REBOOKING', 'REBOOKING_TRAVEL', 'Priority Rebooking', 2), ('OPEN_TICKET', 'REBOOKING_TRAVEL', 'Open Ticket', 3), ('ALTERNATE_AIRLINE', 'REBOOKING_TRAVEL', 'Alternate Airline', 4), -- Upgrades ('CABIN_UPGRADE', 'UPGRADES', 'Cabin Upgrade', 1), ('SEAT_UPGRADE', 'UPGRADES', 'Seat Upgrade', 2), ('LOUNGE_ACCESS', 'UPGRADES', 'Lounge Access', 3), ('FAST_TRACK_SECURITY', 'UPGRADES', 'Fast Track Security', 4), ('PRIORITY_BOARDING', 'UPGRADES', 'Priority Boarding', 5), -- Ancillary Recovery ('COMPLIMENTARY_WIFI', 'ANCILLARY_RECOVERY', 'Complimentary Wi-Fi', 1), ('FREE_BAGGAGE', 'ANCILLARY_RECOVERY', 'Free Baggage', 2), ('COMPLIMENTARY_MEAL', 'ANCILLARY_RECOVERY', 'Complimentary Meal', 3), ('SEAT_SELECTION', 'ANCILLARY_RECOVERY', 'Seat Selection', 4), ('CARBON_OFFSET_CREDIT', 'ANCILLARY_RECOVERY', 'Carbon Offset Credit', 5), -- Communication ('PASSENGER_NOTIFICATION', 'COMMUNICATION', 'Passenger Notification', 1), ('AGENT_NOTIFICATION', 'COMMUNICATION', 'Agent Notification', 2), ('MANAGEMENT_ALERT', 'COMMUNICATION', 'Management Alert', 3), -- Workflow ('AUTO_APPROVE', 'WORKFLOW', 'Auto Approve', 1), ('MANUAL_REVIEW', 'WORKFLOW', 'Manual Review', 2), ('ESCALATE', 'WORKFLOW', 'Escalate', 3), ('CREATE_CASE', 'WORKFLOW', 'Create Case', 4), ('HOLD_FOR_INVESTIGATION', 'WORKFLOW', 'Hold for Investigation', 5), -- Finance ('TRIGGER_PAYMENT', 'FINANCE', 'Trigger Payment', 1), ('GENERATE_CREDIT_NOTE', 'FINANCE', 'Generate Credit Note', 2), ('GENERATE_INVOICE', 'FINANCE', 'Generate Invoice', 3), ('WRITE_OFF', 'FINANCE', 'Write-off', 4), -- System Integration ('UPDATE_CRM', 'SYSTEM_INTEGRATION', 'Update CRM', 1), ('UPDATE_LOYALTY', 'SYSTEM_INTEGRATION', 'Update Loyalty', 2), ('UPDATE_PSS', 'SYSTEM_INTEGRATION', 'Update PSS', 3), ('CREATE_AUDIT_RECORD', 'SYSTEM_INTEGRATION', 'Create Audit Record', 4), ('TRIGGER_WEBHOOK_API', 'SYSTEM_INTEGRATION', 'Trigger Webhook / API', 5) ) AS v(code, cat_code, name, display_order) JOIN masters.tbl_action_categories c ON c.code = v.cat_code WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_action_types WHERE masters.tbl_action_types.code = v.code); -- 3. Membership Tiers INSERT INTO masters.tbl_membership_tiers (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Platinum', 'platinum'), ('Gold', 'gold'), ('Silver', 'silver'), ('Bronze', 'bronze'), ('Basic', 'basic'), ('Non-Member', 'non-member') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_membership_tiers WHERE masters.tbl_membership_tiers.value = t.value); -- 4. Customer Values INSERT INTO masters.tbl_customer_values (label, value, "isActive") SELECT label, value, true FROM (VALUES ('High Value', 'high'), ('Medium Value', 'medium'), ('Low Value', 'low') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_customer_values WHERE masters.tbl_customer_values.value = t.value); -- 5. Regions INSERT INTO masters.tbl_regions (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Global', 'global'), ('Americas', 'americas'), ('Europe', 'europe'), ('Middle East', 'middle-east'), ('Asia Pacific', 'asia-pacific'), ('Africa', 'africa') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_regions WHERE masters.tbl_regions.value = t.value); -- 6. Trip Purposes INSERT INTO masters.tbl_trip_purposes (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Business', 'business'), ('Leisure', 'leisure'), ('Corporate', 'corporate'), ('Government', 'government') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_trip_purposes WHERE masters.tbl_trip_purposes.value = t.value); -- 7. Cabin Classes INSERT INTO masters.tbl_cabin_classes (label, value, "isActive") SELECT label, value, true FROM (VALUES ('First Class', 'first-class'), ('Business Class', 'business-class'), ('Premium Economy', 'premium-economy'), ('Economy', 'economy') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_cabin_classes WHERE masters.tbl_cabin_classes.value = t.value); -- 8. Passenger Types INSERT INTO masters.tbl_passenger_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Adult', 'adult'), ('Child', 'child'), ('Infant', 'infant'), ('Senior Citizen', 'senior') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_passenger_types WHERE masters.tbl_passenger_types.value = t.value); -- 9. Ancillary Purchases INSERT INTO masters.tbl_ancillary_purchases (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Preferred Seat', 'preferred-seat'), ('Extra Legroom', 'extra-legroom'), ('Wi-Fi', 'wi-fi'), ('Lounge Access', 'lounge-access'), ('Priority Boarding', 'priority-boarding'), ('Fast Track', 'fast-track'), ('Paid Meal', 'paid-meal'), ('Special Meal', 'special-meal'), ('Extra Baggage', 'extra-baggage'), ('Upgrade Purchase', 'upgrade-purchase'), ('Airport Transfer', 'airport-transfer'), ('Chauffeur Service', 'chauffeur-service'), ('Sports Equipment', 'sports-equipment'), ('Musical Instrument', 'musical-instrument'), ('In-flight Entertainment', 'in-flight-entertainment'), ('Power Outlet', 'power-outlet'), ('Carbon Offset', 'carbon-offset') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_ancillary_purchases WHERE masters.tbl_ancillary_purchases.value = t.value); -- 10. Revenue Segments INSERT INTO masters.tbl_revenue_segments (label, value, "isActive") SELECT label, value, true FROM (VALUES ('High Value', 'high'), ('Medium Value', 'medium'), ('Low Value', 'low') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_revenue_segments WHERE masters.tbl_revenue_segments.value = t.value); -- 11. Jurisdictions INSERT INTO masters.tbl_jurisdictions (label, value, "isActive") SELECT label, value, true FROM (VALUES ('United Arab Emirates', 'uae'), ('European Union', 'eu'), ('United States', 'us'), ('United Kingdom', 'uk'), ('India', 'india'), ('Asia Pacific', 'apac'), ('Global', 'global') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_jurisdictions WHERE masters.tbl_jurisdictions.value = t.value); -- 12. Rule Categories INSERT INTO masters.tbl_rules_categories (code, name, "tableName", description, "displayOrder", "isActive") SELECT code, name, "tableName", description, "displayOrder", true FROM (VALUES ('passenger-type', 'Passenger Type', 'tbl_passenger_types', 'Passenger Type master', 1), ('cabin-class', 'Cabin Class', 'tbl_cabin_classes', 'Cabin Class master', 2), ('booking-channel', 'Booking Channel', 'tbl_booking_channels', 'Booking Channel master', 3), ('membership-tier', 'Membership Tier', 'tbl_membership_tiers', 'Membership Tier master', 4), ('loyalty-tier', 'Loyalty Tier', 'tbl_membership_tiers', 'Loyalty Tier master', 4), ('flight-type', 'Flight Type', 'tbl_flight_types', 'Flight Type master', 5), ('journey-type', 'Journey Type', 'tbl_journey_types', 'Journey Type master', 6), ('fare-flexibility', 'Fare Flexibility', 'tbl_fare_flexibilities', 'Fare Flexibility master', 7), ('trip-purpose', 'Trip Purpose', 'tbl_trip_purposes', 'Trip Purpose master', 8), ('carrier-type', 'Carrier Type', 'tbl_carrier_types', 'Carrier Type master', 9), ('special-assistance-type', 'Special Assistance Type', 'tbl_special_assistance_types', 'Special Assistance Type master', 10), ('delay-reason', 'Delay Reason', 'tbl_delay_reasons', 'Delay Reason master', 11), ('delay-duration', 'Delay Duration', 'tbl_delay_durations', 'Delay Duration master', 12), ('extraordinary-circumstances', 'Extraordinary Circumstances', 'tbl_extraordinary_circumstances', 'Extraordinary Circumstances master', 13), ('cancellation-reason', 'Cancellation Reason', 'tbl_cancellation_reasons', 'Cancellation Reason master', 14), ('diversion-reason', 'Diversion Reason', 'tbl_diversion_reasons', 'Diversion Reason master', 15), ('missed-connection-reason', 'Missed Connection Reason', 'tbl_missed_connection_reasons', 'Missed Connection Reason master', 16), ('compensation-eligibility', 'Compensation Eligibility', 'tbl_compensation_eligibilities', 'Compensation Eligibility master', 17), ('compensation-type', 'Compensation Type', 'tbl_compensation_types', 'Compensation Type master', 18), ('refund-type', 'Refund Type', 'tbl_refund_types', 'Refund Type master', 19), ('flight-disruption-type', 'Flight Disruption Type', 'tbl_flight_disruption_types', 'Flight Disruption Type master', 20), ('airline-responsibility', 'Airline Responsibility', 'tbl_airline_responsibilities', 'Airline Responsibility master', 21), ('weather-condition', 'Weather Condition', 'tbl_weather_conditions', 'Weather Condition master', 22), ('atc-restriction', 'ATC Restriction', 'tbl_atc_restrictions', 'ATC Restriction master', 23), ('technical-fault-category', 'Technical Fault Category', 'tbl_technical_fault_categories', 'Technical Fault Category master', 24), ('refund-basis', 'Refund Basis', 'tbl_refund_bases', 'Refund Basis master', 25), ('currency', 'Currency', 'tbl_currencies', 'Currency master', 26), ('refund-method', 'Refund Method', 'tbl_refund_methods', 'Refund Method master', 27), ('ancillary-purchase', 'Ancillary Purchase', 'tbl_ancillary_purchases', 'Ancillary Purchase master', 28), ('customer-value', 'Customer Value', 'tbl_customer_values', 'Customer Value master', 29), ('region', 'Region', 'tbl_regions', 'Region master', 30), ('revenue-segment', 'Revenue Segment', 'tbl_revenue_segments', 'Revenue Segment master', 31), ('jurisdiction', 'Jurisdiction', 'tbl_jurisdictions', 'Jurisdiction master', 32), ('operator', 'Operator', 'tbl_operators', 'Operator master', 33), ('amount-type', 'Amount Type', 'tbl_amount_types', 'Amount Type master', 34), ('baggage-type', 'Baggage Type', 'tbl_baggage_types', 'Baggage Type master', 35), ('compensation-rule', 'Compensation Rule', 'tbl_compensation_rules', 'Compensation Rule master', 36), ('approval-level', 'Approval Level', 'tbl_approval_levels', 'Approval Level master', 37), ('eligible-fare-type', 'Eligible Fare Type', 'tbl_eligible_fare_types', 'Eligible Fare Type master', 38), ('applicable-product', 'Applicable Product', 'tbl_applicable_products', 'Applicable Product master', 39), ('meal-type', 'Meal Type', 'tbl_meal_types', 'Meal Type master', 40), ('airport-restriction', 'Airport Restriction', 'tbl_airport_restrictions', 'Airport Restriction master', 41), ('destination-type', 'Destination Type', 'tbl_destination_types', 'Destination Type master', 42), ('vehicle-category', 'Vehicle Category', 'tbl_vehicle_categories', 'Vehicle Category master', 43), ('cabin-preference', 'Cabin Preference', 'tbl_cabin_preferences', 'Cabin Preference master', 44), ('airline-preference', 'Airline Preference', 'tbl_airline_preferences', 'Airline Preference master', 45), ('meal-category', 'Meal Category', 'tbl_meal_categories', 'Meal Category master', 46), ('seat-category', 'Seat Category', 'tbl_seat_categories', 'Seat Category master', 47), ('compensation-basis', 'Compensation Basis', 'tbl_compensation_bases', 'Compensation Basis master', 48) ) AS t(code, name, "tableName", description, "displayOrder") WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_rules_categories WHERE masters.tbl_rules_categories.code = t.code); UPDATE masters.tbl_rules_categories c SET "tableName" = v."tableName" FROM (VALUES ('passenger-type', 'tbl_passenger_types'), ('cabin-class', 'tbl_cabin_classes'), ('booking-channel', 'tbl_booking_channels'), ('membership-tier', 'tbl_membership_tiers'), ('loyalty-tier', 'tbl_membership_tiers'), ('flight-type', 'tbl_flight_types'), ('journey-type', 'tbl_journey_types'), ('fare-flexibility', 'tbl_fare_flexibilities'), ('trip-purpose', 'tbl_trip_purposes'), ('carrier-type', 'tbl_carrier_types'), ('special-assistance-type', 'tbl_special_assistance_types'), ('delay-reason', 'tbl_delay_reasons'), ('delay-duration', 'tbl_delay_durations'), ('extraordinary-circumstances', 'tbl_extraordinary_circumstances'), ('cancellation-reason', 'tbl_cancellation_reasons'), ('diversion-reason', 'tbl_diversion_reasons'), ('missed-connection-reason', 'tbl_missed_connection_reasons'), ('compensation-eligibility', 'tbl_compensation_eligibilities'), ('compensation-type', 'tbl_compensation_types'), ('refund-type', 'tbl_refund_types'), ('flight-disruption-type', 'tbl_flight_disruption_types'), ('airline-responsibility', 'tbl_airline_responsibilities'), ('weather-condition', 'tbl_weather_conditions'), ('atc-restriction', 'tbl_atc_restrictions'), ('technical-fault-category', 'tbl_technical_fault_categories'), ('refund-basis', 'tbl_refund_bases'), ('currency', 'tbl_currencies'), ('refund-method', 'tbl_refund_methods'), ('ancillary-purchase', 'tbl_ancillary_purchases'), ('customer-value', 'tbl_customer_values'), ('region', 'tbl_regions'), ('revenue-segment', 'tbl_revenue_segments'), ('jurisdiction', 'tbl_jurisdictions'), ('operator', 'tbl_operators'), ('amount-type', 'tbl_amount_types'), ('baggage-type', 'tbl_baggage_types'), ('compensation-rule', 'tbl_compensation_rules'), ('approval-level', 'tbl_approval_levels'), ('eligible-fare-type', 'tbl_eligible_fare_types'), ('applicable-product', 'tbl_applicable_products'), ('meal-type', 'tbl_meal_types'), ('airport-restriction', 'tbl_airport_restrictions'), ('destination-type', 'tbl_destination_types'), ('vehicle-category', 'tbl_vehicle_categories'), ('cabin-preference', 'tbl_cabin_preferences'), ('airline-preference', 'tbl_airline_preferences'), ('meal-category', 'tbl_meal_categories'), ('seat-category', 'tbl_seat_categories'), ('compensation-basis', 'tbl_compensation_bases') ) AS v(code, "tableName") WHERE c.code = v.code AND (c."tableName" IS NULL OR c."tableName" != v."tableName"); -- 13. Booking Channels INSERT INTO masters.tbl_booking_channels (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Airline Website', 'airline-website'), ('Airline Mobile App', 'airline-mobile-app'), ('Airport Ticket Counter', 'airport-ticket-counter'), ('Call Center', 'call-center'), ('Corporate Booking Tool', 'corporate-booking-tool'), ('Global Distribution System', 'global-distribution-system'), ('Online Travel Agency', 'online-travel-agency'), ('Travel Agent', 'travel-agent') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_booking_channels WHERE masters.tbl_booking_channels.value = t.value); -- 14. Flight Types INSERT INTO masters.tbl_flight_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Domestic', 'domestic'), ('International', 'international') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_flight_types WHERE masters.tbl_flight_types.value = t.value); -- 15. Journey Types INSERT INTO masters.tbl_journey_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('One Way', 'one-way'), ('Round Trip', 'round-trip'), ('Multi City', 'multi-city') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_journey_types WHERE masters.tbl_journey_types.value = t.value); -- 16. Fare Flexibilities INSERT INTO masters.tbl_fare_flexibilities (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Non Refundable', 'non-refundable'), ('Partially Refundable', 'partially-refundable'), ('Refundable', 'refundable'), ('Exchangeable', 'exchangeable'), ('Non Changeable', 'non-changeable') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_fare_flexibilities WHERE masters.tbl_fare_flexibilities.value = t.value); -- 17. Carrier Types INSERT INTO masters.tbl_carrier_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Operating Carrier', 'operating-carrier'), ('Marketing Carrier', 'marketing-carrier'), ('Partner Carrier', 'partner-carrier'), ('Regional Carrier', 'regional-carrier'), ('Low Cost Carrier', 'low-cost-carrier'), ('Full Service Carrier', 'full-service-carrier'), ('Charter Carrier', 'charter-carrier') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_carrier_types WHERE masters.tbl_carrier_types.value = t.value); -- 18. Special Assistance Types INSERT INTO masters.tbl_special_assistance_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Wheelchair Assistance', 'wheelchair-assistance'), ('Wheelchair Ramp', 'wheelchair-ramp'), ('Wheelchair Steps', 'wheelchair-steps'), ('Wheelchair Cabin', 'wheelchair-cabin'), ('Blind Passenger', 'blind-passenger'), ('Deaf Passenger', 'deaf-passenger'), ('Medical Assistance', 'medical-assistance'), ('Oxygen Required', 'oxygen-required'), ('Stretcher', 'stretcher'), ('Unaccompanied Minor', 'unaccompanied-minor'), ('Service Animal', 'service-animal'), ('Pregnant Passenger', 'pregnant-passenger'), ('Elderly Passenger', 'elderly-passenger'), ('Other', 'other') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_special_assistance_types WHERE masters.tbl_special_assistance_types.value = t.value); -- 19. Delay Reasons INSERT INTO masters.tbl_delay_reasons (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Air Traffic Control Restriction', 'air-traffic-control-restriction'), ('Aircraft Rotation', 'aircraft-rotation'), ('Airport Congestion', 'airport-congestion'), ('Crew Availability', 'crew-availability'), ('Customs Delay', 'customs-delay'), ('Fueling Delay', 'fueling-delay'), ('Late Arrival of Aircraft', 'late-arrival-of-aircraft'), ('Operational Decision', 'operational-decision'), ('Passenger Handling', 'passenger-handling'), ('Runway Closure', 'runway-closure'), ('Security', 'security'), ('Severe Weather', 'severe-weather'), ('Technical Fault', 'technical-fault'), ('Other', 'other') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_delay_reasons WHERE masters.tbl_delay_reasons.value = t.value); -- 20. Delay Durations INSERT INTO masters.tbl_delay_durations (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Less than 1 Hour', 'less-than-1-hour'), ('1-2 Hours', '1-2-hours'), ('2-3 Hours', '2-3-hours'), ('3-4 Hours', '3-4-hours'), ('More than 4 Hours', 'more-than-4-hours') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_delay_durations WHERE masters.tbl_delay_durations.value = t.value); -- 21. Extraordinary Circumstances INSERT INTO masters.tbl_extraordinary_circumstances (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Air Traffic Management Decision', 'air-traffic-management-decision'), ('Airport Closure', 'airport-closure'), ('Bird Strike', 'bird-strike'), ('Civil Unrest', 'civil-unrest'), ('Medical Emergency', 'medical-emergency'), ('Political Instability', 'political-instability'), ('Security Threat', 'security-threat'), ('Severe Weather', 'severe-weather'), ('Strike (External)', 'strike-external-'), ('War', 'war'), ('Other', 'other') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_extraordinary_circumstances WHERE masters.tbl_extraordinary_circumstances.value = t.value); -- 22. Cancellation Reasons INSERT INTO masters.tbl_cancellation_reasons (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Air Traffic Control Restriction', 'air-traffic-control-restriction'), ('Airport Closure', 'airport-closure'), ('Commercial Decision', 'commercial-decision'), ('Crew Availability', 'crew-availability'), ('Operational Decision', 'operational-decision'), ('Overbooking', 'overbooking'), ('Security', 'security'), ('Severe Weather', 'severe-weather'), ('Strike', 'strike'), ('Technical Fault', 'technical-fault') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_cancellation_reasons WHERE masters.tbl_cancellation_reasons.value = t.value); -- 23. Diversion Reasons INSERT INTO masters.tbl_diversion_reasons (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Airport Closure', 'airport-closure'), ('Destination Weather', 'destination-weather'), ('Fuel Emergency', 'fuel-emergency'), ('Medical Emergency', 'medical-emergency'), ('Runway Obstruction', 'runway-obstruction'), ('Security Threat', 'security-threat'), ('Technical Fault', 'technical-fault') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_diversion_reasons WHERE masters.tbl_diversion_reasons.value = t.value); -- 24. Missed Connection Reasons INSERT INTO masters.tbl_missed_connection_reasons (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Customs Delay', 'customs-delay'), ('Flight Delay', 'flight-delay'), ('Immigration Delay', 'immigration-delay'), ('Passenger Delay', 'passenger-delay'), ('Security Screening Delay', 'security-screening-delay') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_missed_connection_reasons WHERE masters.tbl_missed_connection_reasons.value = t.value); -- 25. Compensation Eligibilities INSERT INTO masters.tbl_compensation_eligibilities (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Eligible', 'eligible'), ('Not Eligible', 'not-eligible'), ('Requires Manual Review', 'requires-manual-review') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_compensation_eligibilities WHERE masters.tbl_compensation_eligibilities.value = t.value); -- 26. Compensation Types INSERT INTO masters.tbl_compensation_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Cash', 'cash'), ('Cheque', 'cheque'), ('Flight Voucher', 'flight-voucher'), ('Loyalty Miles', 'loyalty-miles'), ('Meal Voucher', 'meal-voucher'), ('Hotel Accommodation', 'hotel-accommodation'), ('Ground Transport', 'ground-transport') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_compensation_types WHERE masters.tbl_compensation_types.value = t.value); -- 27. Refund Types INSERT INTO masters.tbl_refund_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Full Refund', 'full-refund'), ('Partial Refund', 'partial-refund'), ('Future Travel Credit', 'future-travel-credit'), ('Travel Voucher', 'travel-voucher'), ('Tax Refund Only', 'tax-refund-only'), ('Telephone Reimbursement', 'telephone-reimbursement') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_refund_types WHERE masters.tbl_refund_types.value = t.value); -- 28. Flight Disruption Types INSERT INTO masters.tbl_flight_disruption_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Cancellation', 'cancellation'), ('Delay', 'delay'), ('Denied Boarding', 'denied-boarding'), ('Diversion', 'diversion'), ('Missed Connection', 'missed-connection') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_flight_disruption_types WHERE masters.tbl_flight_disruption_types.value = t.value); -- 29. Airline Responsibilities INSERT INTO masters.tbl_airline_responsibilities (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Airline Responsible', 'airline-responsible'), ('Airport Responsible', 'airport-responsible'), ('ATC Responsible', 'atc-responsible'), ('Passenger Responsible', 'passenger-responsible'), ('Shared Responsibility', 'shared-responsibility'), ('Third Party Responsible', 'third-party-responsible'), ('Snow', 'snow') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_airline_responsibilities WHERE masters.tbl_airline_responsibilities.value = t.value); -- 30. Weather Conditions INSERT INTO masters.tbl_weather_conditions (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Fog', 'fog'), ('Heavy Rain', 'heavy-rain'), ('Hurricane', 'hurricane'), ('Ice', 'ice'), ('Lightning', 'lightning'), ('Sandstorm', 'sandstorm'), ('Thunderstorm', 'thunderstorm') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_weather_conditions WHERE masters.tbl_weather_conditions.value = t.value); -- 31. ATC Restrictions INSERT INTO masters.tbl_atc_restrictions (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Airspace Closure', 'airspace-closure'), ('Flow Control', 'flow-control'), ('Ground Stop', 'ground-stop'), ('Slot Restriction', 'slot-restriction'), ('Traffic Congestion', 'traffic-congestion'), ('Navigation System', 'navigation-system') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_atc_restrictions WHERE masters.tbl_atc_restrictions.value = t.value); -- 32. Technical Fault Categories INSERT INTO masters.tbl_technical_fault_categories (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Aircraft Damage', 'aircraft-damage'), ('Avionics', 'avionics'), ('Cabin Systems', 'cabin-systems'), ('Engine', 'engine'), ('Hydraulic System', 'hydraulic-system'), ('Landing Gear', 'landing-gear'), ('Volcanic Ash', 'volcanic-ash'), ('Wind Shear', 'wind-shear') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_technical_fault_categories WHERE masters.tbl_technical_fault_categories.value = t.value); -- 33. Operators INSERT INTO masters.tbl_operators (code, name, symbol, "displayOrder", "isActive") SELECT code, name, symbol, displayOrder, true FROM (VALUES ('EQ', 'Equals', '=', 1), ('NE', 'Not Equals', '!=', 2), ('GT', 'Greater Than', '>', 3), ('GTE', 'Greater Than or Equal', '>=', 4), ('LT', 'Less Than', '<', 5), ('LTE', 'Less Than or Equal', '<=', 6), ('BETWEEN', 'Between', 'BETWEEN', 7), ('CONTAINS', 'Contains', 'CONTAINS', 8), ('IN', 'In', 'IN', 9), ('IS_EMPTY', 'Is Empty', 'IS EMPTY', 10) ) AS t(code, name, symbol, displayOrder) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_operators WHERE masters.tbl_operators.code = t.code); -- 34. Refund Bases INSERT INTO masters.tbl_refund_bases (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Base Fare', 'base-fare'), ('Taxes', 'taxes'), ('Total Fare', 'total-fare') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_refund_bases WHERE masters.tbl_refund_bases.value = t.value); -- 35. Currencies INSERT INTO masters.tbl_currencies (label, value, symbol, "isActive") SELECT label, value, symbol, true FROM (VALUES ('United States Dollar', 'USD', '$'), ('Euro', 'EUR', '€'), ('British Pound', 'GBP', '£'), ('United Arab Emirates Dirham', 'AED', 'AED'), ('Saudi Riyal', 'SAR', 'SAR'), ('Indian Rupee', 'INR', '₹'), ('Japanese Yen', 'JPY', '¥'), ('Canadian Dollar', 'CAD', '$'), ('Australian Dollar', 'AUD', '$'), ('Swiss Franc', 'CHF', 'CHF'), ('Singapore Dollar', 'SGD', '$'), ('Qatari Riyal', 'QAR', 'QAR'), ('Kuwaiti Dinar', 'KWD', 'KWD'), ('Bahraini Dinar', 'BHD', 'BHD'), ('Omani Rial', 'OMR', 'OMR') ) AS t(label, value, symbol) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_currencies WHERE masters.tbl_currencies.value = t.value); -- 36. Refund Methods INSERT INTO masters.tbl_refund_methods (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Original Payment Method', 'original-payment-method'), ('Wallet', 'wallet'), ('Bank Transfer', 'bank-transfer'), ('Voucher', 'voucher') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_refund_methods WHERE masters.tbl_refund_methods.value = t.value); -- 37. Amount Types INSERT INTO masters.tbl_amount_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Fixed', 'fixed'), ('Percentage', 'percentage'), ('Formula', 'formula') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_amount_types WHERE masters.tbl_amount_types.value = t.value); -- 38. Baggage Types INSERT INTO masters.tbl_baggage_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Checked Bag', 'checked-bag'), ('Cabin Bag', 'cabin-bag'), ('Oversized Baggage', 'oversized-baggage'), ('Sports Equipment', 'sports-equipment'), ('Special Baggage', 'special-baggage') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_baggage_types WHERE masters.tbl_baggage_types.value = t.value); -- 39. Compensation Rules INSERT INTO masters.tbl_compensation_rules (label, value, "isActive") SELECT label, value, true FROM (VALUES ('EU261', 'eu261'), ('UK261', 'uk261'), ('APPR', 'appr'), ('DGCA', 'dgca'), ('DOT', 'dot'), ('Airline Policy', 'airline-policy') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_compensation_rules WHERE masters.tbl_compensation_rules.value = t.value); -- 40. Approval Levels INSERT INTO masters.tbl_approval_levels (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Supervisor', 'supervisor'), ('Manager', 'manager'), ('Director', 'director') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_approval_levels WHERE masters.tbl_approval_levels.value = t.value); -- 41. Eligible Fare Types INSERT INTO masters.tbl_eligible_fare_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Published Fares', 'published-fares'), ('Promo Fares', 'promo-fares') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_eligible_fare_types WHERE masters.tbl_eligible_fare_types.value = t.value); -- 42. Applicable Products INSERT INTO masters.tbl_applicable_products (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Flights', 'flights'), ('Ancillary', 'ancillary'), ('Lounge', 'lounge') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_applicable_products WHERE masters.tbl_applicable_products.value = t.value); -- 43. Meal Types INSERT INTO masters.tbl_meal_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Breakfast', 'breakfast'), ('Lunch', 'lunch'), ('Dinner', 'dinner'), ('Snack', 'snack'), ('Any', 'any') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_meal_types WHERE masters.tbl_meal_types.value = t.value); -- 44. Airport Restrictions INSERT INTO masters.tbl_airport_restrictions (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Departure', 'departure'), ('Transit', 'transit'), ('Arrival', 'arrival'), ('Any Airport', 'any-airport') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_airport_restrictions WHERE masters.tbl_airport_restrictions.value = t.value); -- 45. Destination Types INSERT INTO masters.tbl_destination_types (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Home', 'home'), ('Hotel', 'hotel'), ('Airport', 'airport'), ('City Center', 'city-center') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_destination_types WHERE masters.tbl_destination_types.value = t.value); -- 46. Vehicle Categories INSERT INTO masters.tbl_vehicle_categories (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Executive Sedan', 'executive-sedan'), ('Luxury SUV', 'luxury-suv'), ('Premium Van', 'premium-van') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_vehicle_categories WHERE masters.tbl_vehicle_categories.value = t.value); -- 47. Cabin Preferences INSERT INTO masters.tbl_cabin_preferences (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Same Cabin', 'same-cabin'), ('Upgrade if Available', 'upgrade-if-available'), ('Lowest Available', 'lowest-available') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_cabin_preferences WHERE masters.tbl_cabin_preferences.value = t.value); -- 48. Airline Preferences INSERT INTO masters.tbl_airline_preferences (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Same Airline', 'same-airline'), ('Alliance Airline', 'alliance-airline'), ('Any Partner', 'any-partner') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_airline_preferences WHERE masters.tbl_airline_preferences.value = t.value); -- 49. Meal Categories INSERT INTO masters.tbl_meal_categories (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Vegetarian', 'vegetarian'), ('Non-Vegetarian', 'non-vegetarian'), ('Vegan', 'vegan'), ('Child Meal', 'child-meal') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_meal_categories WHERE masters.tbl_meal_categories.value = t.value); -- 50. Seat Categories INSERT INTO masters.tbl_seat_categories (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Standard', 'standard'), ('Preferred', 'preferred'), ('Exit Row', 'exit-row'), ('Extra Legroom', 'extra-legroom') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_seat_categories WHERE masters.tbl_seat_categories.value = t.value); -- 51. Compensation Bases INSERT INTO masters.tbl_compensation_bases (label, value, "isActive") SELECT label, value, true FROM (VALUES ('Regulatory Rule', 'regulatory-rule'), ('Airline Policy', 'airline-policy'), ('Percentage Difference', 'percentage-difference') ) AS t(label, value) WHERE NOT EXISTS (SELECT 1 FROM masters.tbl_compensation_bases WHERE masters.tbl_compensation_bases.value = t.value);