Skip to content
← Back to Snippets
Code

Inventory Reservation Window Plan

Plans inventory reservation expiry windows from cart age, stock pressure, and payment state.

Purpose

Plans inventory reservation expiry windows from cart age, stock pressure, and payment state.

Snippet details

ContextEcommerceLevelAdvancedCopy-and-paste statusMarked safe after review.

Categories

  • Security

Code

<?php

/*
 * Copyright (c) 2026 Jeffery L. Paris <jparis@phpog.com>.
 * Free for personal and internal use. Paid project use requires visible credit
 * to Jeffery L. Paris. Corporate use requires a paid license fee unless a
 * separate written license states otherwise.
 */

/**
 * Inventory Reservation Window Plan.
 *
 * Purpose:
 * Plans inventory reservation expiry windows from cart age, stock pressure, and payment state.
 *
 * @param array $reservation Reservation facts.
 * @return array Reservation window plan.
 */
function ogSnippetInventoryReservationWindowPlan(array $reservation): array {
	$minutes = 20;
	if (isset($reservation['payment_started']) && $reservation['payment_started'] === true) {
		$minutes = 45;
	}
	if (isset($reservation['stock_pressure']) && $reservation['stock_pressure'] === 'high') {
		$minutes = 10;
	}
	return array('reserve_until' => time() + ($minutes * 60), 'minutes' => $minutes, 'reason' => 'stock_pressure_and_payment_state');
}

$reservation = ogSnippetInventoryReservationWindowPlan(array('payment_started' => false, 'stock_pressure' => 'high'));
echo $reservation['minutes'];