Table of Contents
    
    
        Interfaces
        
    
    
                    - PointConversionInterface
     
    Constants
    
            - 
    DEFAULT_CONVERSION_RATE_CURRENCY_TO_MONEY
    
         = 'USD'                            
 
            - 
    TRANSACTION_STATUS_APPROVED
    
         = 'approved'                            
 
            - 
    TRANSACTION_STATUS_CANCELLED
    
         = 'cancelled'                            
 
            - 
    TRANSACTION_STATUS_DENIED
    
         = 'denied'                            
 
            - 
    TRANSACTION_STATUS_PENDING
    
         = 'pending'                            
 
    
    Properties
    
            - 
    $grantedCurrencies
    
                         : array<string|int, mixed>            
 
    
    Methods
    
            - 
    aggregateConversionRequest()
    
                                 : int    
 
            - 
    getAvailableUserPoints()
    
                                 : int    
 
            - 
    getCommissionFee()
    
                                 : float    
 
            - 
    getCommissionPercentage()
    
                                 : float    
 
            - 
    getConversionAmount()
    
                                 : float    
 
            - 
    getConversionCurrencies()
    
                                 : array<string|int, mixed>    
 
            - 
    getConversionRequestStatusOptions()
    
                                 : array<string|int, mixed>    
 
            - 
    getExchangedPointsInMonth()
    
                                 : int    
 
            - 
    getExchangedPointsInYear()
    
                                 : int    
 
            - 
    getExchangeRateFormat()
    
                                 : string|null    
 
            - 
    getMaxPointsCanCreate()
    
                                 : int    
 
            - 
    getMinPointsCanCreate()
    
                                 : int    
 
            - 
    getPendingConversionPoints()
    
                                 : int    
 
            - 
    getRestPointsPerDay()
    
                                 : int|null    
 
            - 
    getRestPointsPerMonth()
    
                                 : int|null    
 
            - 
    getTotalPointsPerDay()
    
                                 : int    
 
            - 
    getTotalPointsPerMonth()
    
                                 : int    
 
    
        
    
        
                    
    
        DEFAULT_CONVERSION_RATE_CURRENCY_TO_MONEY
        
    
    
    
    
    public
        mixed
    DEFAULT_CONVERSION_RATE_CURRENCY_TO_MONEY
    = 'USD'
    
    
    
                    
    
        TRANSACTION_STATUS_APPROVED
        
    
    
    
    
    public
        mixed
    TRANSACTION_STATUS_APPROVED
    = 'approved'
    
    
    
                    
    
        TRANSACTION_STATUS_CANCELLED
        
    
    
    
    
    public
        mixed
    TRANSACTION_STATUS_CANCELLED
    = 'cancelled'
    
    
    
                    
    
        TRANSACTION_STATUS_DENIED
        
    
    
    
    
    public
        mixed
    TRANSACTION_STATUS_DENIED
    = 'denied'
    
    
    
                    
    
        TRANSACTION_STATUS_PENDING
        
    
    
    
    
    public
        mixed
    TRANSACTION_STATUS_PENDING
    = 'pending'
    
    
    
            
        
    
        
                    
    
        $grantedCurrencies
        
        
                                
    
    
    
    
    private
        array<string|int, mixed>
    $grantedCurrencies
     = ['USD']
    
    
    
            
            
        
                    
    
        aggregateConversionRequest()
        
    
    
    
    
    public
                    aggregateConversionRequest(Carbon $start, Carbon $end) : int
    
        
    
        Parameters
    
                    - 
                $start
                : Carbon
                            
 
            - 
                
            
 
                    - 
                $end
                : Carbon
                            
 
            - 
                
            
 
            
    
            
                    
    
        getAvailableUserPoints()
        
    
    
    
    
    public
                    getAvailableUserPoints(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getCommissionFee()
        
    
    
    
    
    public
                    getCommissionFee(float $total) : float
    
        
    
        Parameters
    
                    - 
                $total
                : float
                            
 
            - 
                
            
 
            
    
            
                    
    
        getCommissionPercentage()
        
    
    
    
    
    public
                    getCommissionPercentage() : float
    
        
    
    
    
            
                    
    
        getConversionAmount()
        
    
    
    
    
    public
                    getConversionAmount(int $points, string $currency) : float
    
        
    
        Parameters
    
                    - 
                $points
                : int
                            
 
            - 
                
            
 
                    - 
                $currency
                : string
                            
 
            - 
                
            
 
            
    
            
                    
    
        getConversionCurrencies()
        
    
    
    
    
    public
                    getConversionCurrencies() : array<string|int, mixed>
    
        
    
    
    
            
        Return values
        array<string|int, mixed>
            
                    
    
        getConversionRequestStatusOptions()
        
    
    
    
    
    public
                    getConversionRequestStatusOptions() : array<string|int, mixed>
    
        
    
    
    
            
        Return values
        array<string|int, mixed>
            
                    
    
        getExchangedPointsInMonth()
        
    
    
    
    
    public
                    getExchangedPointsInMonth(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getExchangedPointsInYear()
        
    
    
    
    
    public
                    getExchangedPointsInYear(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
    
    
    
    public
                    getExchangeRateFormat([string $currency = self::DEFAULT_CONVERSION_RATE_CURRENCY_TO_MONEY ]) : string|null
    
        
    
        Parameters
    
                    - 
                $currency
                : string
                 = self::DEFAULT_CONVERSION_RATE_CURRENCY_TO_MONEY            
 
            - 
                
            
 
            
    
            
        Return values
        string|null
            
                    
    
        getMaxPointsCanCreate()
        
    
    
    
    
    public
                    getMaxPointsCanCreate(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getMinPointsCanCreate()
        
    
    
    
    
    public
                    getMinPointsCanCreate(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getPendingConversionPoints()
        
    
    
    
    
    public
                    getPendingConversionPoints(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getRestPointsPerDay()
        
    
    
    
    
    public
                    getRestPointsPerDay(User $user) : int|null
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getRestPointsPerMonth()
        
    
    
    
    
    public
                    getRestPointsPerMonth(User $user) : int|null
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getTotalPointsPerDay()
        
    
    
    
    
    public
                    getTotalPointsPerDay(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            - 
                
            
 
            
    
            
                    
    
        getTotalPointsPerMonth()
        
    
    
    
    
    public
                    getTotalPointsPerMonth(User $user) : int
    
        
    
        Parameters
    
                    - 
                $user
                : User
                            
 
            -