public static function loadPricingOptionsFromRequestOptions($options)
    {
        $priceOptions = [];

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionForValidatingCarrier($options->validatingCarrier)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionForCurrencyOverride($options->currencyOverride)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionFareBasisOverride($options->pricingsFareBasis)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionFareFamilyOverride($options->fareFamily)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadCorpNegoFare($options->corporateNegoFare)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadCorpUniFares($options->corporateUniFares, $options->awardPricing)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadObFees($options->obFees, $options->obFeeRefs)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPaxDiscount($options->paxDiscountCodes, $options->paxDiscountCodeRefs)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPointOverrides(
                $options->pointOfSaleOverride,
                $options->pointOfTicketingOverride
            )
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPricingLogic($options->pricingLogic)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadTicketType($options->ticketType)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadTaxes($options->taxes)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadExemptTaxes($options->exemptTaxes)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPastDate($options->pastDatePricing)
        );


        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadFormOfPayment($options->formOfPayment)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadReferences($options->references)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makeOverrideOptions($options->overrideOptions, $priceOptions)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makeOverrideOptionsWithCriteria($options->overrideOptionsWithCriteria, $priceOptions)
        );

        // All options processed, no options found:
        if (empty($priceOptions)) {
            $priceOptions[] = new PricingOptionGroup(PricingOptionKey::OPTION_NO_OPTION);
        }

        return $priceOptions;
    }
public static function loadPricingOptionsFromRequestOptions($options)
    {
        $priceOptions = [];

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionForValidatingCarrier($options->validatingCarrier)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionForCurrencyOverride($options->currencyOverride)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionFareBasisOverride($options->pricingsFareBasis)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makePricingOptionFareFamilyOverride($options->fareFamily)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadCorpNegoFare($options->corporateNegoFare)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadCorpUniFares($options->corporateUniFares, $options->awardPricing)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadObFees($options->obFees, $options->obFeeRefs)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPaxDiscount($options->paxDiscountCodes, $options->paxDiscountCodeRefs)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPointOverrides(
                $options->pointOfSaleOverride,
                $options->pointOfTicketingOverride
            )
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPricingLogic($options->pricingLogic)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadTicketType($options->ticketType)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadTaxes($options->taxes)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadExemptTaxes($options->exemptTaxes)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadPastDate($options->pastDatePricing)
        );


        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadFormOfPayment($options->formOfPayment)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::loadReferences($options->references)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makeOverrideOptions($options->overrideOptions, $priceOptions)
        );

        $priceOptions = self::mergeOptions(
            $priceOptions,
            self::makeOverrideOptionsWithCriteria($options->overrideOptionsWithCriteria, $priceOptions)
        );

        // All options processed, no options found:
        if (empty($priceOptions)) {
            $priceOptions[] = new PricingOptionGroup(PricingOptionKey::OPTION_NO_OPTION);
        }

        return $priceOptions;
    }
public static function loadPricingOptionsFromRequestOptions ( $ options ) { $ priceOptions = [ ] ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makePricingOptionForValidatingCarrier ( $ options -> validatingCarrier ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makePricingOptionForCurrencyOverride ( $ options -> currencyOverride ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makePricingOptionFareBasisOverride ( $ options -> pricingsFareBasis ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makePricingOptionFareFamilyOverride ( $ options -> fareFamily ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadCorpNegoFare ( $ options -> corporateNegoFare ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadCorpUniFares ( $ options -> corporateUniFares , $ options -> awardPricing ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadObFees ( $ options -> obFees , $ options -> obFeeRefs ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadPaxDiscount ( $ options -> paxDiscountCodes , $ options -> paxDiscountCodeRefs ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadPointOverrides ( $ options -> pointOfSaleOverride , $ options -> pointOfTicketingOverride ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadPricingLogic ( $ options -> pricingLogic ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadTicketType ( $ options -> ticketType ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadTaxes ( $ options -> taxes ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadExemptTaxes ( $ options -> exemptTaxes ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadPastDate ( $ options -> pastDatePricing ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadFormOfPayment ( $ options -> formOfPayment ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: loadReferences ( $ options -> references ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makeOverrideOptions ( $ options -> overrideOptions , $ priceOptions ) ) ; $ priceOptions = self :: mergeOptions ( $ priceOptions , self :: makeOverrideOptionsWithCriteria ( $ options -> overrideOptionsWithCriteria , $ priceOptions ) ) ; // All options processed, no options found: if ( empty ( $ priceOptions ) ) { $ priceOptions [ ] = new PricingOptionGroup ( PricingOptionKey :: OPTION_NO_OPTION ) ; } return $ priceOptions ; }
Load an array of PricingOptionGroup objects from the Pricing request options.

Extracted because this method is also used in the InformativePricingWithoutPnr messages.

@param FarePricePnrWithBookingClassOptions|LowerFareOpt|LowestFareOpt|InformativePriceOpt $options
@return PricingOptionGroup[]
Load an array of PricingOptionGroup objects from the Pricing request options .