code: public function createInboundShipmentPlan($request)
      {
          if (!($request instanceof FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest)) {
              $request = new FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest($request);
          }
          $parameters = $request->toQueryParameterArray();
          $parameters['Action'] = 'CreateInboundShipmentPlan';
          $httpResponse = $this->_invoke($parameters);
  
          $response = FBAInboundServiceMWS_Model_CreateInboundShipmentPlanResponse::fromXML($httpResponse['ResponseBody']);
          $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
          return $response;
      }
docs: Create Inbound Shipment Plan
  Plans inbound shipments for a set of items.  Registers identifiers if needed,
  and assigns ShipmentIds for planned shipments.
  When all the items are not all in the same category (e.g. some sortable, some
  non-sortable) it may be necessary to create multiple shipments (one for each
  of the shipment groups returned).
  
  @param mixed $request array of parameters for FBAInboundServiceMWS_Model_CreateInboundShipmentPlan request or FBAInboundServiceMWS_Model_CreateInboundShipmentPlan object itself
  @see FBAInboundServiceMWS_Model_CreateInboundShipmentPlanRequest
  @return FBAInboundServiceMWS_Model_CreateInboundShipmentPlanResponse
  
  @throws FBAInboundServiceMWS_Exception