source/Application/Model/BasketReservation.php
public function discardArticleReservation($sArticleId)
    {
        $dReserved = $this->getReservedAmount($sArticleId);
        if ($dReserved) {
            $oArticle = oxNew(\OxidEsales\Eshop\Application\Model\Article::class);
            if ($oArticle->load($sArticleId)) {
                $oArticle->reduceStock(-$dReserved, true);
                $this->getReservations()->addItemToBasket($sArticleId, 0, null, true);
                $this->_aCurrentlyReserved = null;
            }
        }
    }
public function discardArticleReservation($sArticleId)
    {
        $dReserved = $this->getReservedAmount($sArticleId);
        if ($dReserved) {
            $oArticle = oxNew(\OxidEsales\Eshop\Application\Model\Article::class);
            if ($oArticle->load($sArticleId)) {
                $oArticle->reduceStock(-$dReserved, true);
                $this->getReservations()->addItemToBasket($sArticleId, 0, null, true);
                $this->_aCurrentlyReserved = null;
            }
        }
    }
public function discardArticleReservation ( $ sArticleId ) { $ dReserved = $ this -> getReservedAmount ( $ sArticleId ) ; if ( $ dReserved ) { $ oArticle = oxNew ( \ OxidEsales \ Eshop \ Application \ Model \ Article :: class ) ; if ( $ oArticle -> load ( $ sArticleId ) ) { $ oArticle -> reduceStock ( - $ dReserved , true ) ; $ this -> getReservations ( ) -> addItemToBasket ( $ sArticleId , 0 , null , true ) ; $ this -> _aCurrentlyReserved = null ; } } }
discard one article reservation
return the reserved stock to article

@param string $sArticleId article id
discard one article reservation return the reserved stock to article