Partial Shipment, bir e-ticaret işleminde tüm ürünlerin aynı anda sevk edilmemesi durumudur. Bunun yerine, siparişin bir kısmı sevk edilir ve geri kalan kısmı daha sonra sevk edilir. Bu, müşterilere işletmelerin daha esnek ve uygun bir şekilde çalışmalarına izin verirken, müşterilerin tüm siparişlerinin sevk edilmesinin beklendiği geleneksel e-ticaret modellerine göre daha iyi bir deneyim sunar.
Partial Shipment özelliği, özellikle büyük ve ağır ürünlerin bulunduğu ve birçok ürün çeşidinin bulunduğu e-ticaret mağazaları için kullanışlıdır. Kullanıcılara ürünlerin bir kısmının ilk önce gönderilmesine izin verilir ve diğerleri daha sonra gönderilir. Bu durum müşterilere daha erken sevkiyat ile ürünlerinin bir kısmına erken sahip olma fırsatı verirken, işletmelerin bütçelerini de esnek hale getirir.
Partial Shipment kod örnekleri:
Example 1:
Bu örnekte, mağaza yöneticisi siparişin tamamını onaylamak yerine, siparişin sadece bir kısmını onaylar. Bu kısım için kargo bilgileri ve fiyat bilgileri müşteriye gösterilir.
```php
if ($partial_shipment_enabled) {
// Check for products that are in stock and can be shipped now
$items_to_ship = array();
foreach ($cart_items as $cart_item) {
if (in_stock($cart_item['product_id']) && $cart_item['quantity'] > 0) {
$qty = $cart_item['quantity'];
$items_to_ship[] = array(
'product_id' => $cart_item['product_id'],
'quantity' => $qty
);
$cart_item['quantity'] -= $qty;
update_cart($cart_item);
}
}
// Create a partial shipment
$order_id = create_order($customer_id, $items_to_ship, $shipping_address);
$shipping_cost = calculate_shipping_cost();
$order_total = calculate_order_total($items_to_ship, $shipping_cost);
// Show the customer the partial shipment information
$output = 'Your order has been partially shipped. The following items have been shipped:';
foreach ($items_to_ship as $item) {
$product_name = get_product_name($item['product_id']);
$output .= '
' . $product_name . ' (' . $item['quantity'] . ')';
}
$output .= '
The total cost of this shipment is: ' . $order_total;
$output .= '
The shipping cost for this shipment is: ' . $shipping_cost;
$output .= '
The remaining items will be shipped as soon as possible.';
show_output($output);
} else {
$order_id = create_order($customer_id, $cart_items, $shipping_address);
$shipping_cost = calculate_shipping_cost();
$order_total = calculate_order_total($cart_items, $shipping_cost);
show_order_confirmation($order_id, $order_total, $shipping_cost);
}
```
Example 2:
Bu örnekte, müşteri siparişinin tamamını verir ve sonra siparişi bölerek iki kısmı da farklı tarihlerde alır.
```php
// Create the order
$order_id = create_order($customer_id, $cart_items, $shipping_address);
$shipping_cost = calculate_shipping_cost();
$order_total = calculate_order_total($cart_items, $shipping_cost);
// Determine if the order needs to be shipped in multiple shipments
$partial_shipment_needed = false;
foreach ($cart_items as $cart_item) {
if (!in_stock($cart_item['product_id'])) {
$partial_shipment_needed = true;
break;
}
}
if ($partial_shipment_needed) {
// Determine which items are in stock and can be shipped now
$items_to_ship = array();
foreach ($cart_items as $cart_item) {
if (in_stock($cart_item['product_id']) && $cart_item['