<?php

namespace Modules\Bms\Services\Contracts;

/**
 * Purchasing boundary — reuses ERP purchasing. Event shortfalls trigger
 * purchase requests. Implemented against the ERP core (or the
 * PurchaseRequisition module) in Milestone 7.
 */
interface PurchaseServiceContract
{
    /**
     * Raise a purchase request for items short for an event.
     *
     * @param  array  $lines  [['product_id','variation_id','quantity','location_id'], ...]
     * @return int|null  reference id
     */
    public function createPurchaseRequest(int $businessId, array $lines, array $meta = []): ?int;
}
