<?php

declare(strict_types=1);

namespace AmazonPHP\SellingPartner\Model\FulfillmentInbound;

/**
 * The Selling Partner API for FBA inbound operations.
 *
 * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface.
 *
 * The version of the OpenAPI document: 2024-03-20
 *
 * This class was auto-generated by https://openapi-generator.tech
 * Do not change it, it will be overwritten with next execution of /bin/generate.sh
 */
class PrepCategory
{
    /**
     * Possible values of this enum.
     */
    final public const ADULT = 'ADULT';

    final public const BABY = 'BABY';

    final public const FC_PROVIDED = 'FC_PROVIDED';

    final public const FRAGILE = 'FRAGILE';

    final public const GRANULAR = 'GRANULAR';

    final public const HANGER = 'HANGER';

    final public const LIQUID = 'LIQUID';

    final public const PERFORATED = 'PERFORATED';

    final public const SET = 'SET';

    final public const SHARP = 'SHARP';

    final public const SMALL = 'SMALL';

    final public const TEXTILE = 'TEXTILE';

    final public const UNKNOWN = 'UNKNOWN';

    final public const NONE = 'NONE';

    public function __construct(private readonly string $value)
    {
    }

    /**
     * Gets allowable values of the enum.
     *
     * @return string[]
     */
    public static function getAllowableEnumValues() : array
    {
        return [
            self::ADULT,
            self::BABY,
            self::FC_PROVIDED,
            self::FRAGILE,
            self::GRANULAR,
            self::HANGER,
            self::LIQUID,
            self::PERFORATED,
            self::SET,
            self::SHARP,
            self::SMALL,
            self::TEXTILE,
            self::UNKNOWN,
            self::NONE,
        ];
    }

    public function toString() : string
    {
        return $this->value;
    }
}
