package com.flightticket.exception;

/**
 * Exception thrown when Amadeus API service is unavailable or fails
 * Requirements: 13.1, 13.4
 */
public class AmadeusServiceException extends RuntimeException {
    
    private final ErrorType errorType;
    
    public enum ErrorType {
        TIMEOUT,
        CIRCUIT_BREAKER_OPEN,
        SERVICE_UNAVAILABLE,
        UNKNOWN
    }
    
    public AmadeusServiceException(String message, ErrorType errorType) {
        super(message);
        this.errorType = errorType;
    }
    
    public AmadeusServiceException(String message, Throwable cause, ErrorType errorType) {
        super(message, cause);
        this.errorType = errorType;
    }
    
    public ErrorType getErrorType() {
        return errorType;
    }
}
