public function addItem($product, $quantity, $detail, $price, $category = 'OTHER_CATEGORIES')
    {
        if (!is_int($price)) {
            throw new \UnexpectedValueException('Informe o valor do item como inteiro');
        }

        if (!is_int($quantity) || $quantity < 1) {
            throw new \UnexpectedValueException('A quantidade do item deve ser um valor inteiro maior que 0');
        }

        $item = new stdClass();
        $item->product = $product;
        $item->quantity = $quantity;
        $item->detail = $detail;
        $item->price = $price;
        $item->category = $category;
        $this->data->items[] = $item;

        return $this;
    }