<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/shopping/merchant/products/v1/products_common.proto

namespace Google\Shopping\Merchant\Products\V1\ProductAttributes;

use UnexpectedValueException;

/**
 * Possible carrier where price is coming from.
 *
 * Protobuf type <code>google.shopping.merchant.products.v1.ProductAttributes.CarrierPriceOption</code>
 */
class CarrierPriceOption
{
    /**
     * Carrier price option is unspecified.
     *
     * Generated from protobuf enum <code>CARRIER_PRICE_OPTION_UNSPECIFIED = 0;</code>
     */
    const CARRIER_PRICE_OPTION_UNSPECIFIED = 0;
    /**
     * Australia Post Regular shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_REGULAR = 1;</code>
     */
    const AUSTRALIA_POST_REGULAR = 1;
    /**
     * Australia Post Express shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_EXPRESS = 2;</code>
     */
    const AUSTRALIA_POST_EXPRESS = 2;
    /**
     * Australia Post Regular Small shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_REGULAR_S = 3;</code>
     */
    const AUSTRALIA_POST_REGULAR_S = 3;
    /**
     * Australia Post Regular Medium shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_REGULAR_M = 4;</code>
     */
    const AUSTRALIA_POST_REGULAR_M = 4;
    /**
     * Australia Post Regular Large shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_REGULAR_L = 5;</code>
     */
    const AUSTRALIA_POST_REGULAR_L = 5;
    /**
     * Australia Post Regular XL shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_REGULAR_XL = 6;</code>
     */
    const AUSTRALIA_POST_REGULAR_XL = 6;
    /**
     * Australia Post Express Small shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_EXPRESS_S = 7;</code>
     */
    const AUSTRALIA_POST_EXPRESS_S = 7;
    /**
     * Australia Post Express Medium shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_EXPRESS_M = 8;</code>
     */
    const AUSTRALIA_POST_EXPRESS_M = 8;
    /**
     * Australia Post Express Large shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_EXPRESS_L = 9;</code>
     */
    const AUSTRALIA_POST_EXPRESS_L = 9;
    /**
     * Australia Post Express XL shipping service.
     *
     * Generated from protobuf enum <code>AUSTRALIA_POST_EXPRESS_XL = 10;</code>
     */
    const AUSTRALIA_POST_EXPRESS_XL = 10;
    /**
     * TNT Road Express shipping service.
     *
     * Generated from protobuf enum <code>TNT_ROAD_EXPRESS = 11;</code>
     */
    const TNT_ROAD_EXPRESS = 11;
    /**
     * TNT Overnight Express shipping service.
     *
     * Generated from protobuf enum <code>TNT_OVERNIGHT_EXPRESS = 12;</code>
     */
    const TNT_OVERNIGHT_EXPRESS = 12;
    /**
     * Toll Road Delivery shipping service.
     *
     * Generated from protobuf enum <code>TOLL_ROAD_DELIVERY = 13;</code>
     */
    const TOLL_ROAD_DELIVERY = 13;
    /**
     * Toll Overnight Priority shipping service.
     *
     * Generated from protobuf enum <code>TOLL_OVERNIGHT_PRIORITY = 14;</code>
     */
    const TOLL_OVERNIGHT_PRIORITY = 14;
    /**
     * DHL Paket shipping service.
     *
     * Generated from protobuf enum <code>DHL_PAKET = 15;</code>
     */
    const DHL_PAKET = 15;
    /**
     * DHL Packchen shipping service.
     *
     * Generated from protobuf enum <code>DHL_PACKCHEN = 16;</code>
     */
    const DHL_PACKCHEN = 16;
    /**
     * DPD Express 12 shipping service.
     *
     * Generated from protobuf enum <code>DPD_EXPRESS_12 = 17;</code>
     */
    const DPD_EXPRESS_12 = 17;
    /**
     * DPD Express shipping service.
     *
     * Generated from protobuf enum <code>DPD_EXPRESS = 18;</code>
     */
    const DPD_EXPRESS = 18;
    /**
     * DPD Classic Parcel shipping service.
     *
     * Generated from protobuf enum <code>DPD_CLASSIC_PARCEL = 19;</code>
     */
    const DPD_CLASSIC_PARCEL = 19;
    /**
     * Hermes Packchen shipping service.
     *
     * Generated from protobuf enum <code>HERMES_PACKCHEN = 20;</code>
     */
    const HERMES_PACKCHEN = 20;
    /**
     * Hermes Paketklasse S shipping service.
     *
     * Generated from protobuf enum <code>HERMES_PAKETKLASSE_S = 21;</code>
     */
    const HERMES_PAKETKLASSE_S = 21;
    /**
     * Hermes Paketklasse M shipping service.
     *
     * Generated from protobuf enum <code>HERMES_PAKETKLASSE_M = 22;</code>
     */
    const HERMES_PAKETKLASSE_M = 22;
    /**
     * Hermes Paketklasse L shipping service.
     *
     * Generated from protobuf enum <code>HERMES_PAKETKLASSE_L = 23;</code>
     */
    const HERMES_PAKETKLASSE_L = 23;
    /**
     * UPS Express shipping service.
     *
     * Generated from protobuf enum <code>UPS_EXPRESS = 24;</code>
     */
    const UPS_EXPRESS = 24;
    /**
     * UPS Express Saver shipping service.
     *
     * Generated from protobuf enum <code>UPS_EXPRESS_SAVER = 25;</code>
     */
    const UPS_EXPRESS_SAVER = 25;
    /**
     * UPS Express Standard shipping service.
     *
     * Generated from protobuf enum <code>UPS_EXPRESS_STANDARD = 26;</code>
     */
    const UPS_EXPRESS_STANDARD = 26;
    /**
     * DHL Express shipping service.
     *
     * Generated from protobuf enum <code>DHL_EXPRESS = 27;</code>
     */
    const DHL_EXPRESS = 27;
    /**
     * DHL Express 12 shipping service.
     *
     * Generated from protobuf enum <code>DHL_EXPRESS_12 = 28;</code>
     */
    const DHL_EXPRESS_12 = 28;
    /**
     * DPD Next Day shipping service.
     *
     * Generated from protobuf enum <code>DPD_NEXT_DAY = 29;</code>
     */
    const DPD_NEXT_DAY = 29;
    /**
     * DPD Standard Next Day shipping service.
     *
     * Generated from protobuf enum <code>DPD_STANDARD_NEXT_DAY = 30;</code>
     */
    const DPD_STANDARD_NEXT_DAY = 30;
    /**
     * DPD Standard Two Day shipping service.
     *
     * Generated from protobuf enum <code>DPD_STANDARD_TWO_DAY = 31;</code>
     */
    const DPD_STANDARD_TWO_DAY = 31;
    /**
     * RMG 1st Class Small shipping service.
     *
     * Generated from protobuf enum <code>RMG_1ST_CLASS_SMALL = 32;</code>
     */
    const RMG_1ST_CLASS_SMALL = 32;
    /**
     * RMG 1st Class Medium shipping service.
     *
     * Generated from protobuf enum <code>RMG_1ST_CLASS_MEDIUM = 33;</code>
     */
    const RMG_1ST_CLASS_MEDIUM = 33;
    /**
     * RMG 2nd Class Small shipping service.
     *
     * Generated from protobuf enum <code>RMG_2ND_CLASS_SMALL = 34;</code>
     */
    const RMG_2ND_CLASS_SMALL = 34;
    /**
     * RMG 2nd Class Medium shipping service.
     *
     * Generated from protobuf enum <code>RMG_2ND_CLASS_MEDIUM = 35;</code>
     */
    const RMG_2ND_CLASS_MEDIUM = 35;
    /**
     * TNT Express shipping service.
     *
     * Generated from protobuf enum <code>TNT_EXPRESS = 36;</code>
     */
    const TNT_EXPRESS = 36;
    /**
     * TNT Express 10 shipping service.
     *
     * Generated from protobuf enum <code>TNT_EXPRESS_10 = 37;</code>
     */
    const TNT_EXPRESS_10 = 37;
    /**
     * TNT Express 12 shipping service.
     *
     * Generated from protobuf enum <code>TNT_EXPRESS_12 = 38;</code>
     */
    const TNT_EXPRESS_12 = 38;
    /**
     * Yodel B2C 48HR shipping service.
     *
     * Generated from protobuf enum <code>YODEL_B2C_48HR = 39;</code>
     */
    const YODEL_B2C_48HR = 39;
    /**
     * Yodel B2C 72HR shipping service.
     *
     * Generated from protobuf enum <code>YODEL_B2C_72HR = 40;</code>
     */
    const YODEL_B2C_72HR = 40;
    /**
     * Yodel B2C Packet shipping service.
     *
     * Generated from protobuf enum <code>YODEL_B2C_PACKET = 41;</code>
     */
    const YODEL_B2C_PACKET = 41;
    /**
     * FedEx Ground shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_GROUND = 42;</code>
     */
    const FEDEX_GROUND = 42;
    /**
     * FedEx Home Delivery shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_HOME_DELIVERY = 43;</code>
     */
    const FEDEX_HOME_DELIVERY = 43;
    /**
     * FedEx Express Saver shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_EXPRESS_SAVER = 44;</code>
     */
    const FEDEX_EXPRESS_SAVER = 44;
    /**
     * FedEx First Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_FIRST_OVERNIGHT = 45;</code>
     */
    const FEDEX_FIRST_OVERNIGHT = 45;
    /**
     * FedEx Priority Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_PRIORITY_OVERNIGHT = 46;</code>
     */
    const FEDEX_PRIORITY_OVERNIGHT = 46;
    /**
     * FedEx Standard Overnight shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_STANDARD_OVERNIGHT = 47;</code>
     */
    const FEDEX_STANDARD_OVERNIGHT = 47;
    /**
     * FedEx 2Day shipping service.
     *
     * Generated from protobuf enum <code>FEDEX_2DAY = 48;</code>
     */
    const FEDEX_2DAY = 48;
    /**
     * UPS Standard shipping service.
     *
     * Generated from protobuf enum <code>UPS_STANDARD = 49;</code>
     */
    const UPS_STANDARD = 49;
    /**
     * UPS 2nd Day Air shipping service.
     *
     * Generated from protobuf enum <code>UPS_2ND_DAY_AIR = 50;</code>
     */
    const UPS_2ND_DAY_AIR = 50;
    /**
     * UPS 2nd Day AM shipping service.
     *
     * Generated from protobuf enum <code>UPS_2ND_DAY_AM = 51;</code>
     */
    const UPS_2ND_DAY_AM = 51;
    /**
     * UPS 3 Day Select shipping service.
     *
     * Generated from protobuf enum <code>UPS_3_DAY_SELECT = 52;</code>
     */
    const UPS_3_DAY_SELECT = 52;
    /**
     * UPS Ground shipping service.
     *
     * Generated from protobuf enum <code>UPS_GROUND = 53;</code>
     */
    const UPS_GROUND = 53;
    /**
     * UPS Next Day Air shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR = 54;</code>
     */
    const UPS_NEXT_DAY_AIR = 54;
    /**
     * UPS Next Day Air Early AM shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR_EARLY_AM = 55;</code>
     */
    const UPS_NEXT_DAY_AIR_EARLY_AM = 55;
    /**
     * UPS Next Day Air Saver shipping service.
     *
     * Generated from protobuf enum <code>UPS_NEXT_DAY_AIR_SAVER = 56;</code>
     */
    const UPS_NEXT_DAY_AIR_SAVER = 56;
    /**
     * USPS Priority Mail Express shipping service.
     *
     * Generated from protobuf enum <code>USPS_PRIORITY_MAIL_EXPRESS = 57;</code>
     */
    const USPS_PRIORITY_MAIL_EXPRESS = 57;
    /**
     * USPS Media Mail shipping service.
     *
     * Generated from protobuf enum <code>USPS_MEDIA_MAIL = 58;</code>
     */
    const USPS_MEDIA_MAIL = 58;
    /**
     * USPS Ground Advantage Retail shipping service.
     *
     * Generated from protobuf enum <code>USPS_GROUND_ADVANTAGE_RETAIL = 59;</code>
     */
    const USPS_GROUND_ADVANTAGE_RETAIL = 59;
    /**
     * USPS Priority Mail shipping service.
     *
     * Generated from protobuf enum <code>USPS_PRIORITY_MAIL = 60;</code>
     */
    const USPS_PRIORITY_MAIL = 60;
    /**
     * USPS Ground Advantage Commercial shipping service.
     *
     * Generated from protobuf enum <code>USPS_GROUND_ADVANTAGE_COMMERCIAL = 61;</code>
     */
    const USPS_GROUND_ADVANTAGE_COMMERCIAL = 61;

    private static $valueToName = [
        self::CARRIER_PRICE_OPTION_UNSPECIFIED => 'CARRIER_PRICE_OPTION_UNSPECIFIED',
        self::AUSTRALIA_POST_REGULAR => 'AUSTRALIA_POST_REGULAR',
        self::AUSTRALIA_POST_EXPRESS => 'AUSTRALIA_POST_EXPRESS',
        self::AUSTRALIA_POST_REGULAR_S => 'AUSTRALIA_POST_REGULAR_S',
        self::AUSTRALIA_POST_REGULAR_M => 'AUSTRALIA_POST_REGULAR_M',
        self::AUSTRALIA_POST_REGULAR_L => 'AUSTRALIA_POST_REGULAR_L',
        self::AUSTRALIA_POST_REGULAR_XL => 'AUSTRALIA_POST_REGULAR_XL',
        self::AUSTRALIA_POST_EXPRESS_S => 'AUSTRALIA_POST_EXPRESS_S',
        self::AUSTRALIA_POST_EXPRESS_M => 'AUSTRALIA_POST_EXPRESS_M',
        self::AUSTRALIA_POST_EXPRESS_L => 'AUSTRALIA_POST_EXPRESS_L',
        self::AUSTRALIA_POST_EXPRESS_XL => 'AUSTRALIA_POST_EXPRESS_XL',
        self::TNT_ROAD_EXPRESS => 'TNT_ROAD_EXPRESS',
        self::TNT_OVERNIGHT_EXPRESS => 'TNT_OVERNIGHT_EXPRESS',
        self::TOLL_ROAD_DELIVERY => 'TOLL_ROAD_DELIVERY',
        self::TOLL_OVERNIGHT_PRIORITY => 'TOLL_OVERNIGHT_PRIORITY',
        self::DHL_PAKET => 'DHL_PAKET',
        self::DHL_PACKCHEN => 'DHL_PACKCHEN',
        self::DPD_EXPRESS_12 => 'DPD_EXPRESS_12',
        self::DPD_EXPRESS => 'DPD_EXPRESS',
        self::DPD_CLASSIC_PARCEL => 'DPD_CLASSIC_PARCEL',
        self::HERMES_PACKCHEN => 'HERMES_PACKCHEN',
        self::HERMES_PAKETKLASSE_S => 'HERMES_PAKETKLASSE_S',
        self::HERMES_PAKETKLASSE_M => 'HERMES_PAKETKLASSE_M',
        self::HERMES_PAKETKLASSE_L => 'HERMES_PAKETKLASSE_L',
        self::UPS_EXPRESS => 'UPS_EXPRESS',
        self::UPS_EXPRESS_SAVER => 'UPS_EXPRESS_SAVER',
        self::UPS_EXPRESS_STANDARD => 'UPS_EXPRESS_STANDARD',
        self::DHL_EXPRESS => 'DHL_EXPRESS',
        self::DHL_EXPRESS_12 => 'DHL_EXPRESS_12',
        self::DPD_NEXT_DAY => 'DPD_NEXT_DAY',
        self::DPD_STANDARD_NEXT_DAY => 'DPD_STANDARD_NEXT_DAY',
        self::DPD_STANDARD_TWO_DAY => 'DPD_STANDARD_TWO_DAY',
        self::RMG_1ST_CLASS_SMALL => 'RMG_1ST_CLASS_SMALL',
        self::RMG_1ST_CLASS_MEDIUM => 'RMG_1ST_CLASS_MEDIUM',
        self::RMG_2ND_CLASS_SMALL => 'RMG_2ND_CLASS_SMALL',
        self::RMG_2ND_CLASS_MEDIUM => 'RMG_2ND_CLASS_MEDIUM',
        self::TNT_EXPRESS => 'TNT_EXPRESS',
        self::TNT_EXPRESS_10 => 'TNT_EXPRESS_10',
        self::TNT_EXPRESS_12 => 'TNT_EXPRESS_12',
        self::YODEL_B2C_48HR => 'YODEL_B2C_48HR',
        self::YODEL_B2C_72HR => 'YODEL_B2C_72HR',
        self::YODEL_B2C_PACKET => 'YODEL_B2C_PACKET',
        self::FEDEX_GROUND => 'FEDEX_GROUND',
        self::FEDEX_HOME_DELIVERY => 'FEDEX_HOME_DELIVERY',
        self::FEDEX_EXPRESS_SAVER => 'FEDEX_EXPRESS_SAVER',
        self::FEDEX_FIRST_OVERNIGHT => 'FEDEX_FIRST_OVERNIGHT',
        self::FEDEX_PRIORITY_OVERNIGHT => 'FEDEX_PRIORITY_OVERNIGHT',
        self::FEDEX_STANDARD_OVERNIGHT => 'FEDEX_STANDARD_OVERNIGHT',
        self::FEDEX_2DAY => 'FEDEX_2DAY',
        self::UPS_STANDARD => 'UPS_STANDARD',
        self::UPS_2ND_DAY_AIR => 'UPS_2ND_DAY_AIR',
        self::UPS_2ND_DAY_AM => 'UPS_2ND_DAY_AM',
        self::UPS_3_DAY_SELECT => 'UPS_3_DAY_SELECT',
        self::UPS_GROUND => 'UPS_GROUND',
        self::UPS_NEXT_DAY_AIR => 'UPS_NEXT_DAY_AIR',
        self::UPS_NEXT_DAY_AIR_EARLY_AM => 'UPS_NEXT_DAY_AIR_EARLY_AM',
        self::UPS_NEXT_DAY_AIR_SAVER => 'UPS_NEXT_DAY_AIR_SAVER',
        self::USPS_PRIORITY_MAIL_EXPRESS => 'USPS_PRIORITY_MAIL_EXPRESS',
        self::USPS_MEDIA_MAIL => 'USPS_MEDIA_MAIL',
        self::USPS_GROUND_ADVANTAGE_RETAIL => 'USPS_GROUND_ADVANTAGE_RETAIL',
        self::USPS_PRIORITY_MAIL => 'USPS_PRIORITY_MAIL',
        self::USPS_GROUND_ADVANTAGE_COMMERCIAL => 'USPS_GROUND_ADVANTAGE_COMMERCIAL',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

