place_hold()

Function:
place_holds ($cardnum, $bnum, $inum = NULL, $pin = NULL, $pickup_loc = NULL)

Purpose:
place_holds() needs to place a hold on the item passed to the function. $bnum is the primary item identifier, as Locum assumes bib-levels holds, $inum can be considered a secondary identifier.

Arguments:
$cardnum : (string) required The patron's library card number.
$bnum : (string) required The bib number of the item to be reserved.
$inum : (string) optional The item number (or alternate identifier) of the item to be reserved.
$pin : (string) optional The patron's PIN number or password.
$pickup_loc : (string) optional A location identifier for the pickup location of this reserve.

Expected Result:

Array
(
    [success] => (int) 1 = Hold was successfully placed, 0 = hold was not placed
    [error] => (string) System error message or reason for failed reserve
    [selection] => NULL or Array of item info if user interaction is required (usually if item-level holds are enabled)
        (
            [] => Array
                (
                    [varname] => (string) Unique variable name for form reference
                    [location] => (string) Location code or identifier
                    [callnum] => (string) The call number for the item in that location
                    [status] => (string) The status of the item at that location
                )
            [varname] => (string) Unique variable name used to refer to this item
            [bnum] => (string) Bib number of on-hold item
            [title] => (string) Title of on-hold item
            [ill] => (int) 1 = item is an ILL, 0 = item is from the local collection
            [status] => (string) Where the hold is in the queue
            [pickuploc] => (string) Where the hold will be available for pick-up
            [is_frozen] => (int) 1 = Hold is frozen, 0 = hold is not frozen
            [can_freeze] => (int) 1 = Hold can be frozen, 0 = hold cannot be frozen
        )
    [choose_location] => NULL or Array of location info if user interaction is required (if no default location is enabled or configured)
        (
            [options] => Array
                (
                    [{Location code or identifier}] => (string) Location description
                )
        )
)