/** * * * * */ private function schedule_pickup( $pickup_date ) { //parse email addresses into array for processing $emails = explode( ',', trim( $this->slp_settings['email'] ) ); //Create XML Pickup Creation Request $request = '<envr:Envelope xmlns:envr="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:common="http://www.ups.com/XMLSchema/XOLTWS/Common/v1.0" xmlns:wsf="http://www.ups.com/schema/wsf" xmlns:upss="http://www.ups.com/XMLSchema/XOLTWS/UPSS/v1.0">' . "\n"; $request .= " <envr:Header>" . "\n"; $request .= " <upss:UPSSecurity>" . "\n"; $request .= " <upss:UsernameToken>" . "\n"; $request .= " <upss:Username>" . $this->user_id. "</upss:Username>" . "\n"; $request .= " <upss:Password>" . $this->password . "</upss:Password>" . "\n"; $request .= " </upss:UsernameToken>" . "\n"; $request .= " <upss:ServiceAccessToken>" . "\n"; $request .= " <upss:AccessLicenseNumber>" . $this->access_key . "</upss:AccessLicenseNumber>" . "\n"; $request .= " </upss:ServiceAccessToken>" . "\n"; $request .= " </upss:UPSSecurity>" . "\n"; $request .= " </envr:Header>" . "\n"; $request .= " <envr:Body>" . "\n"; $request .= ' <PickupCreationRequest xmlns="http://www.ups.com/XMLSchema/XOLTWS/Pickup/v1.1" xmlns:common="http://www.ups.com/XMLSchema/XOLTWS/Common/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . "\n"; $request .= " <common:Request>" . "\n"; $request .= " <common:RequestOption/>" . "\n"; $request .= " <common:TransactionReference>" . "\n"; $request .= " <common:CustomerContext>pickup_request</common:CustomerContext>" . "\n"; $request .= " </common:TransactionReference>" . "\n"; $request .= " </common:Request>" . "\n"; $request .= " <RatePickupIndicator>Y</RatePickupIndicator>" . "\n"; $request .= " <Shipper>" . "\n"; $request .= " <Account>" . "\n"; $request .= " <AccountNumber>" . $this->shipper_number . "</AccountNumber>" . "\n"; $request .= " <AccountCountryCode>US</AccountCountryCode>" . "\n"; $request .= " </Account>" . "\n"; $request .= " </Shipper>" . "\n"; $request .= " <PickupDateInfo>" . "\n"; $request .= " <CloseTime>" . date( 'Hs', strtotime( $this->slp_settings['closetime'] ) ) . "</CloseTime>" . "\n"; $request .= " <ReadyTime>" . date( 'Hs', strtotime( $this->slp_settings['readytime'] ) ) . "</ReadyTime>" . "\n"; $request .= " <PickupDate>" . $pickup_date . "</PickupDate>" . "\n"; $request .= " </PickupDateInfo>" . "\n"; $request .= " <PickupAddress>" . "\n"; $request .= " <CompanyName>" . $this->company_name . "</CompanyName>" . "\n"; $request .= " <ContactName>" . $this->shipper_contact . "</ContactName>" . "\n"; $request .= " <AddressLine>" . $this->shipper_address . "</AddressLine>" . "\n"; $request .= " <City>" . $this->shipper_city . "</City>" . "\n"; $request .= " <StateProvince>" . $this->shipper_state . "</StateProvince>" . "\n"; $request .= " <PostalCode>" . $this->shipper_postcode . "</PostalCode>" . "\n"; $request .= " <CountryCode>" . $this->shipper_country . "</CountryCode>" . "\n"; $request .= " <ResidentialIndicator>Y</ResidentialIndicator>" . "\n"; $request .= " <Phone>" . "\n"; $request .= " <Number>" . $this->shipper_phone . "</Number>" . "\n"; $request .= " </Phone>" . "\n"; $request .= " </PickupAddress>" . "\n"; $request .= " <AlternateAddressIndicator/>" . "\n"; $request .= " <PickupPiece>" . "\n"; $request .= " <ServiceCode>0" . $this->shipment['_service_code'] . "</ServiceCode>" . "\n"; $request .= " <Quantity>" . $this->shipment['_package_count'] . "</Quantity>" . "\n"; $request .= " <DestinationCountryCode>" . $this->shipment['_country_code'] . "</DestinationCountryCode>" . "\n"; $request .= " <ContainerCode>01</ContainerCode>" . "\n"; $request .= " </PickupPiece>" . "\n"; $request .= " <TotalWeight>" . "\n"; $request .= " <Weight>" . $this->shipment['_total_weight'] . "</Weight>" . "\n"; $request .= " <UnitOfMeasurement>LBS</UnitOfMeasurement>" . "\n"; $request .= " </TotalWeight>" . "\n"; $request .= " <PaymentMethod>01</PaymentMethod>" . "\n"; $request .= " <Notification>" . "\n"; foreach( $emails as $email ) $request .= " <ConfirmationEmailAddress>" . $email . "</ConfirmationEmailAddress>" . "\n"; $request .= " <UndeliverableEmailAddress>" . $emails[0] . "</UndeliverableEmailAddress>" . "\n"; $request .= " </Notification>" . "\n"; $request .= " </PickupCreationRequest>" . "\n"; $request .= " </envr:Body>" . "\n"; $request .= "</envr:Envelope>" . "\n"; $request = str_replace( array( "\n", "\r" ), '', $request ); $xml = slp_ajax_functions::xml_request( $request, $this->endpoint_url[1] . 'Pickup' , true ); return $xml; }