You are on page 1of 32

6/3/2013

1

2

hybris Developer Training Part II - Commerce

Hybris OMS & Channels

1

6/3/2013

3

InStore

hybris Developer Training Part II - Commerce

InStore Module – Key Facts

InStore

4

The hybris InStore Module is a back office interface designed
exclusively for tablets.
End users can check product availability both online and in store, as long as the
Availability to Sell (ATS) feature is enabled.
localextensions.xml
<extension dir="${HYBRIS_BIN_DIR}/ext‐addon/omsats"/>
<extension dir="${HYBRIS_BIN_DIR}/ext‐addon/omscommons"/>
Users can search by keywords, categories, or facets.
Products can also be found via:
QR Codes and Deeplinking
Near Field Communication (NFC)
QR Codes and deeplinks can be generated within hybris.
NFC tags will need to contain the entire linked URL, and will need to be created
using an NFC tag writer such as NXP TagWriter.

2

6/3/2013

InStore Module – Bundled Extensions

InStore

5

The hybris InStore Module consists of three extensions:
instore extension, which contains InStore logic, widgets, and services
instoresampledata extension, which contains sample data, according to the
acceleratorsampledata extension
yinstoreinitialdata extension, a template extension that imports the data defined in
the instoresampledata extension

InStore Module – Key Features

InStore

6

The hybris InStore application allows immediate product identification and
the display of details of the product and its availability across stores and
warehouses.

Display
rich
product
info

Quickly
identify
products

Check
stock in
store

Web
based app
for touch
devices
Live ATS

Stock
level at
nearby
store

3

and so on.Executor<R. is used to exchange session data. for example. or any other business logic. To call the business logic from the ProductFacade. which takes the code wrapped by the ImpersonationService. 4 . languages.UI InStore 7 Widgets InStore 8 The hybris InStore Module is based on the concept of widgets. in turn. Impersonation Services are wrapped in the commerceservices extension. AbstractImpersonationController This controller class allows the widgets to create isolated impersonation contexts for all calls to the commercefacades extension.6/3/2013 InStore Module . currencies. Widgets are unified by an abstract controller class. and so on. you need to extend the AbstractImpersonationController and call the executeInContext method. session context. Each widget is independent in terms of logic.T> interface and executes it in the ImpersonationContext. This.

List of Available Widgets InStore 10 Breadcrumb Displays the category navigation path selected by the user while browsing. Condition Evaluator Used to set a Spring SPEL expression to be evaluated. Classification Info Displays a list of classification attributes and values for a selected product. given the currently displayed search result. which renders pageable search results. subcategories. The input object is set as a root of the expression context. The user can then: Add the refinements to the current search state Display the refinements which are applied to the current search state The main consumer of the search is Pageable List widget. which keeps track of the current search state.6/3/2013 Widget Search Architecture InStore 9 The following Solr widgets can be used to search from the InStore UI Text Search Category Tree Facet Filter There are also “supporting widgets” Sort widget. which can display possible sort options for a current search state Search Filter Pop-up. Facet Filter Holds all possible facet refinements. 5 . Category Tree Widget for navigating through categories. and brands.

as well as the underlying data for that list. Pageable List Adapter Displays a list of items. Solr Search Perfoms a Solr facet search. Scans Near Field Communication (NFC) tags.6/3/2013 More Available Widgets InStore 11 InStore 12 InStore Layout Defines layout for the InStore UI. This list can be sorted using a Sort widget. such as price and availability. You can also use the Text Search widget for free text. You can select variants by using a Variant Selector widget. QR Code Scans Quick Response (QR) codes and handles product deeplinks. and controls layout-related triggers: doBack collapseWest showProductDetails showProductList Logical NOT Gate Performs the logical gate operation NOT (output = !input) Pageable List Displays a list of all products in the store. Static String Adapter Sends a static string if an object is received. Even More Available Widgets Product Detail Displays details for a product. 6 . Search Filter Popups A wrapper widget for Facet Filters that consists of a button and a popup window.

Commerce OnDemand OMS & CIS 14 hybris Order Management Services Availability to Sell (ATS) Order workflow – Fulfillment Third Party Integration in the OMS Commerce Infrastructure Services hybris Developer Training Part II .6/3/2013 13 hybris Developer Training Part II .Commerce 7 .

pack.Commerce 8 .6/3/2013 hybris OMS .Features hybris OMS 15 The hybris OMS includes the following key features: Real-time inventory management across all stock locations Automated order workflow Advanced sourcing strategies The ability to pick. label and confirm shipments through the OMS Cockpit Accelerator integration Commerce Infrastructure Services (CIS) integration 16 hybris Order Management Services Availability to Sell (ATS) Order workflow – Fulfillment Third Party Integration in the OMS Commerce Infrastructure Services hybris Developer Training Part II .

Each tenant can be configured to have one or more ATS Formulas. for a single point of management 9 . how many? Item Stockroom location ID* Date available (current and future inventory) Status Quantity: actual. where. configured by: Manually or system-adjusted inventory values Order Line Quantity (OLQ) statuses Thresholds ATS values are exposed to external systems via: SKUs (single or grouped) Stockroom Locations (single or grouped) SKU and Stockroom Location Pairs Inventory to Stock Availability ATS 18 Inventory: what. incremental * Stockroom locations are imported automatically into OMS from Accelerator.6/3/2013 Availability to Sell – Key Facts ATS 17 Availability to Sell (ATS) represents the actual amount of an item ready to be sold at a given time.

in the case of global ATS). When an order is placed for a SKU. The ATS calculates the actual amount of stock available at a single stockroom location (or across all stockroom locations. the items that appear “on-hand” indicate the quantity of a SKU that is physically in stock at a certain location.6/3/2013 Available to Sell (ATS) – Calculating Stock Availability ATS 19 A stock availability formula is made up of 3 parts: Inventory status Order status Threshold value A threshold amount is defined to prevent OVERSELLING of stock This amount can be configured per location as fixed-quantity or percentage Stock Availability values change automatically with inventory and orders Availability = ( On Hand – Allocated – Picked ) x Threshold Why We Need ATS Calculations ATS 20 When searching for inventory. the SKUs on orders need to be reserved from the SKUs that are on-hand. 10 . thereby calculating the actual amount available for sale to other customers. As the order proceeds through the workflow. To make sure that this inventory does not get sold to another customer. the ATS maintains the correct actual amount of availability. the tenant has reserved the item to the customer. This is where the ATS concept comes in.

but it will have the same value for all SKUs at one particular stockroom location. The purpose of defining a threshold is to create a buffer. Global ATS calculates a SKU for all the locations where the SKU has stock.6/3/2013 Local and Global ATS Calculations ATS 21 There are two types of ATS calculations: Local ATS calculates one specific stockroom location and defines the availability of a SKU at a specific place. or lost. the higher the sales volume for a particular location. Typically. defining the total availability of a SKU across the tenant's entire stock (all stockroom locations). The threshold can be set to a different value for each stockroom location. they can only be considered in an ATS calculation that is not stockroom-location specific. This makes it possible in the OMS cockpit. or of the entire stock (across all of the stockroom locations). can be defined for an ATS calculation of each stockroom location. a warehouse might have a small threshold if its stock is generally predictable. a store with high sales volume would need to have a higher threshold. Thresholds ATS 22 An inventory threshold. On the other hand. so that a tenant cannot oversell the items. Since these orders have not yet been assigned to stockroom locations. For example. ATS is considered global if no location is specified in an ATS request. Global ATS calculation also accounts for submitted orders (and unassigned quantities). or through a batch file import. the higher you want to make the threshold for that location. to set a fixed threshold quantity for each stockroom location. or buffer. A threshold value can be added for each stockroom location in the OMS Cockpit. sold. 11 . as there is a greater chance that its stock will be damaged.

where the storefront can pick them up any time. Local ATS calculations must be modified to include the stockroom location threshold amount applicable to the SKUs at the specific stockroom location. barring other restrictions or holds. which means 5% of the inventory for each SKU at that location will be held as a buffer. as a percentage or a fixed quantity. Export of ATS Data ATS 24 Inventory data can change When a new batch import comes in. the SKU will have a negative ATS value. the SKU has a positive ATS and can be sold. If the threshold value is less than the available inventory. To make the changes available to the storefront in a timely and reliable way. Each of these will change the ATS value. It is highly recommended that the threshold be included in the ATS calculation destined for the storefront. With a threshold of 10 units for a given location. When an order gets processed. For example: ATS = On Hand ‐ Sourced ‐ Allocated ‐ Picked ‐ Packed ‐ Threshold If the threshold value is greater than the available inventory. For example. you could set a threshold of 5% for a given location. 12 .10 units of each SKU at that location will be held as buffer. When a new ATS calculation formula is configured. all ATS changes are pushed into a queue immediately.6/3/2013 Thresholds (cont‘d) ATS 23 The threshold amount can be set by location.

6/3/2013 25 hybris Order Management Services Availability to Sell (ATS) Order workflow – Fulfillment Third Party Integration in the OMS Commerce Infrastructure Services hybris Developer Training Part II .Commerce Order Workflow – Fulfillment Fulfillment 26 Fulfillment Which stockroom location(s) should fulfil the items in this order. and leave the same stockroom location in the same package? Fulfillment Pick Pack Label Ship Capture Payment Commit Taxes 13 .

6/3/2013 Order Workflow – OMS Cockpit Fulfillment 27 Pick (Print pick list) What do I need to take off the store/warehouse shelf? Fulfillment Pick Pack Label Ship Capture Payment Commit Taxes Pack (Print pack slip) What do I need to put in the shipping box/package? Label (Print Shipping Label) How do I get this package to the shopper? Ship (Confirm Shipment) How do I confirm that the package is out the door? Shipment Workflow – Settlement Fulfillment 28 Payment Capture How do I charge the shopper‘s credit card? Fulfillment Pick Pack Label Ship Capture Payment Commit Taxes Tax Commit How do I commit a tax document to my 3rd party tax provider? 14 .

Commerce 15 .6/3/2013 Order Workflow – Disabling a Step Fulfillment 29 DON'T want a step? Fulfillment Pick Pack Label Ship Capture Payment Commit Taxes Turn it off! 30 hybris Order Management Services Availability to Sell (ATS) Order workflow – Fulfillment Third Party Integration in the OMS Commerce Infrastructure Services hybris Developer Training Part II .

FedEx. and sourcing strategies …AND MORE! 16 .com/display/release5/Third‐Party+Compatibility+‐ +Release+5 OMS Cockpit – Highlights 3rd Party OMS Integration 32 Fulfillment users Search orders and view details Pick. Canada Post) CIS Tax Calculation (CyberSource. label and confirm shipments Collect in store Inventory managers Search and update inventory by SKU or by location Search stockroom locations and view details Administrative users Create and manage users Configure workflow.hybris. UPS. pack. availability formulas.6/3/2013 Data Onboarding and Export 3rd Party OMS Integration 31 Third Party Integration Points CIS Fraud Verification (CyberSource) CIS Geolocation (via mongoDB) CIS Payment Service (CyberSource) CIS Shipping Service (USPS. Avalara) Third Party Compatibility List for hybris 5 wiki.

6/3/2013 Commerce Infrastructure Services (Third Party Integration) 33 Geolocation Payment Address Verification Tax (US) Shipping … and more to come! Data Onboarding and Export 3rd Party OMS Integration 34 Data Onboarding / Import Support for locations and inventory Easy import via csv file to FTP folder See results of import in OMS Cockpit Export: support for 2 types of exports Availability Queue: displays items with updated/changed availability status Order Queue: displays orders with updated/changed status 17 .

the bank is contacted to do further checks on the credit card.merchantID) Fraud Manager Subscription Service 18 .0. or on a per request basis.pw. The transactions may be verified in bulk. Status Update 10b. Orders with REVIEW status should be confirmed to the customer but put on hold in hybris until a final status is received. Order Status REVIEW 16. The response from CyberSource is ACCEPT. pw. CyberSource is supported as a third-party verification service. Fraud REVIEW Accept/Reject Commerce Infrastructure Services 2. For version 5.6/3/2013 Fraud Verification Services 3rd Party OMS Integration 35 The CIS fraud verification service provides functionality to verify transactions. Interpret Response 4. REJECT or REVIEW. Create checkout page 10a. After CyberSource receives the order and payment data. PSP(vendor. hybris can forward these updates to CIS for an interpretation and accept or reject the order accordingly. the first step is checking against the rules configured in Decision Manager. This verification occurs primarily during checkout. CIS will handle review cases additionally to accept and reject. Therefore. Order on Review 6. Response hybris Accelerator 13. redirect to receipt page 11. country) 12. Authorization with CyberSource 3rd Party OMS Integration 36 with Credit Card Information and Decision Manager 15. URL for PSP 12. REJECT or REVIEW. getPSP (client. Interpret Response 2. CyberSource sends one or many status updates to hybris directly. Order on Review 5. When this is successful.country) 3. Order Status Accept/Reject 14. Silent Order Post hybris OMS 13. These can also be ACCEPT. getPSP(client.

Authorization with CyberSource 3rd Party OMS Integration 38 hybris Accelerator 1. With the fraud verification report request. OrderStati (FraudReviews) 4. getReviewUpdates(Timeframe Commerce Infrastructure Services 5. getFraudReviews (tenant. PSP(vendor. Unfortunately. CyberSource does not have a retry for push notifications that are not received by recipient (Accelerator in this case). Cronjob triggers getFraudReview 7. A conversion from ACCEPT to anything else is not possible.timeframe) 6. place/cancel Order 2. ListOfUpdatesForTimeframe 3.g. A conversion means the status change of an order e. the Accelerator and other storefronts (or the OMS) can request all converted transactions for a defined timeline. getPSP(tenant) 3. CyberSource’s recommended solution is to pull fraud reviews for a specified time-frame to reconcile the received order state. from REVIEW to ACCEPTED or from REVIEW to REJECTED or in rare cases from REJECT to ACCEPT.6/3/2013 Fraud Verification Report with CyberSource 3rd Party OMS Integration 37 The real time data push as implemented under Fraud Verification with Cybersource.merchantID) Subscription Service 19 . is the quickest option to receive fraud updates from CyberSource.

A POST request with the address to look up is sent to CIS. 1. 5. 7. Geocoding Addresses via mongoDB 3rd Party OMS Integration 40 Geocode an address using the stored geodata hybris Accelerator hybris OMS 2. 2.6/3/2013 Geolocation Services 3rd Party OMS Integration 39 The geolocation web service determines the coordinates (longitude and latitude) of a requested address using mongoDB (an open source. export order 1. data onboarding 4.pw. 6. An order is placed through the Accelerator. 8. Geocode (address) Commerce Infrastructure Services MongoDB 8. The result is retrieved from the database and returned to the data onboarding. confirmSubscription (client. 4. CIS Geolocation queries the internal database to check the geolocation for the given CIS address. Geolocation 7. Subscription Service confirms the subscription. Geolocation 5. 3. The subscription service is queried to check if the user is subscribed to the CIS geolocation. confirmed Subscription Service 20 . The on-boarding service converts data and pushes it to the target system.address) 9. document-oriented database system). cisGeolocationHybris (client.pw) 6. The order is exported to OMS. place order 3.

the authorization functionality is used to reserve the order amount on the end-customer's credit card. it is sent from the browser to the payment service provider directly. For this reason. Payment Operations 3rd Party OMS Integration 42 External Form Post Some vendors offer the possibility to submit a form post for various operations that send the request directly to the third party. through the customer or the warehouse. Storing a Credit Card Some vendors offer a form post to create a profile. In case of a cancellation. the authorization can be reversed or cancelled with the CIS payment service. During checkout. the CIS payment service may be called to authorize the amount against a profile ID. the CIS payment service would be called to return the appropriate URL to post to. the usual flow may be followed. a refund can be fulfilled with the CIS refund functionality. In case of a product return and a desired repayment. External Authorization Authorization of an amount on a customer credit card can be sent through the external posting of a form to the third party. The credit card information is not stored and does not go through CIS. and would be sent the response of the third party in order to create a uniform response. so that a credit card can be stored for future use. After the initial authorization is verified. partially or in full. In this case. After the order is shipped. the charge to the bank account can be finalized through the capture functionality. the vendor does not fall under the full PCI compliance regulation. Instead.6/3/2013 Payment Provider Services 3rd Party OMS Integration 41 The CIS payment service enables payment by credit card with providers such as CyberSource. 21 . If a stored credit card exists.

the OMS can: Get the available shipping methods based on a shipment (shipped items and the addresses to and from). Create labels (and save the shipment in the third party system).6/3/2013 Shipping Provider Services 3rd Party OMS Integration 43 By using the CIS Shipping Services. CIS Shipping Services currently support these carriers: USPS UPS FedEx Canada Post Carrier-Specific Dimension Restrictions 3rd Party OMS Integration 44 USPS Maximum weight (with some exceptions): 70 pounds Maximum length + girth: 130 inches UPS Maximum weight: 150 pounds Maximum length: 108 inches Length + girth: 165 inches FedEx Maximum weight: 150 pounds Maximum length: 119 inches Maximum length + girth: 165 inches Canada Post Maximum weight: 66 lbs 22 .

Calculation is based on rounded values in CIS.taxable Tax Name: TaxDoc. and adjusting tax documents Prevention of duplicate invoices when requests are posted twice Avalara also has some fields that CyberSource does not.Key Differences 3rd Party OMS Integration 46 Avalara has some features that CyberSource does not. indicating that it is a shipping charge. which can then be used for auditing or reporting.taxValue. invoicing (committing).rate CuberSource does not provide this.taxLine. CyberSource and Avalara . For this. You can still pass the order number in the clientRefId attribute. When creating or adjusting posts or invoices a unique ID is required. including line items and a shipping address.taxValue.jurisdiction You can find a full list of differences here: wiki. it must be sent as a separate line item with a taxCode.hybris. Posting.taxLine.taxValue. Effective Tax Rate: TaxDoc.6/3/2013 Tax Calculation Services 3rd Party OMS Integration 45 The Tax Calculation web service is used to quote.taxLine. cancelling. Tax calculation requires order details.taxLine. you should send the return ID (not the order ID) when adjusting invoices for returns. I you deal with multiple shipments for a single order. The currently supported third party integrations are: CyberSource Avalara In order to calculate the tax on shipping. and invoice taxes.com/display/release5/CIS+Tax+Calculation#CISTaxCalculation‐ VendorSpecificInformation 23 . you must use the id field of the Order sent in the request. you should send the unique shipment ID and not the order ID to create tax invoices or posts.name Jurisdiction Name: TaxDoc. post. Taxable Amount: TaxDoc. Similarly.taxValue.

no session management is necessary. we must use a secure protocol to access all CIS web services. All CIS web services are stateless. When a request arrives at CIS.Commerce Commerce Infrastructure Services – Key Facts Infrastructure Services 48 Commerce Infrastructure Services (CIS) are used to manage: Payment Fraud Tax Geolocation Shipping Labels Because we are passing sensitive data.6/3/2013 47 hybris Order Management Services Availability to Sell (ATS) Order workflow – Fulfillment Third Party Integration in the OMS Commerce Infrastructure Services hybris Developer Training Part II . CIS is not responsible for authentication or authorization. it is expected that the user is authenticated and authorized to access the given resource. 24 .

However..com/hybris‐cis‐avalara‐tax‐ web/tax/cisTaxAvalara/invoices/ Sub_resources and serviceIDs Infrastructure Services 50 serviceIDs cisAvsCybersource cisAvsAvalara cisFraudCybersource cisFraudAccertify cisGeolocationHybris cisPaymentCybersource cisPaymentMoneris cisPaymentMonerisInterac cisShippingCanadapost 25 . all resources follow the same path convention: Pattern: {server}/{context}/{sub_resource}/{serviceId}/.6/3/2013 General Resource Design Infrastructure Services 49 The concrete endpoints of the CIS web resources depend on the service that is being used.hybris.  Example: internal.

 Details: None. refer to Client Reference ID (X-CIS-Client-Ref) X-tenantId The tenant ID for the lookup in the subscription service Error Handling Infrastructure Services 52 When errors occur during web service calls (connection exception.0" encoding="UTF‐8" standalone="yes"?> <errors serviceId="some vendor and type"> <error code="504">A service timeout occurred.1 504 GATEWAY TIMEOUT Content‐type: application/xml <?xml version="1. Here is an example of such a response: HTTP/1. HTTP error codes will be returned.6/3/2013 Sub_resources and serviceIDs (cont’d) Infrastructure Services 51 Additional HTTP Request header values X-CIS-Client-Ref ID passed in by the client as a reference that can be used for auditing/troubleshooting/monitoring (e.g. etc). For more information. unexpected behavior. order or cart ID) . A more detailed reason will be specified in the body of the response.</error> </errors> 26 .

HTTP/1. if multiple preconditions fail.6/3/2013 Multiple Errors Infrastructure Services 53 In some cases. 404 Not Found Resource not found 412 Precondition Failed A precondition failed which prevented it from fulfilling the request.1 412 PRECONDITION FAILED Content‐type: application/xml <?xml version="1. For example.0" encoding="UTF‐8" standalone="yes"?> <errors serviceId="some psp service"> <error code="2001">Invalid credit card number</error> <error code="2002">Invalid CVC/CVC2 code</error> <error code="2003">Invalid credit card date</error> </errors> Common Error Codes Infrastructure Services 54 403 Forbidden The user is not authorized to access this service. a general 412 Precondition Failed response is returned with additional information about which preconditions have failed. the body of an error response can contain multiple errors. but missing in the request. 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request 27 . For example: the XCIS-Client-Ref header parameter is required.

This is necessary to avoid number clashes (e. 504 Gateway Timeout The call to an external service has timed out.hybris. The implication is that this is a temporary condition.6/3/2013 Other Common Error Codes Infrastructure Services 55 501 Not Implemented A service implementation was requested which is not supported. client a sends a shipment 'SHIPMENT-1' and client b sends another shipment with the same ID).hybris. Multitenant and Multivendor Aspects Infrastructure Services 56 The Commerce Infrastructure Services can handle multiple tenants. For example: Consumer Request POST http://internal.g. which will be alleviated after some delay. Send the request again later. The tenant_id will be removed again when the response is returned to the consumer. CIS will add this tenant_id prior to making the call. 502 Bad Gateway The external service responded with an invalid or unexpected result. When making requests to third-party web services that require an ID.com/cis/tax/avalaraTax/invoices/ Consumer Request Status: 201 CREATED  Content‐Type : application/xml  Location : http://intyellowcabs.com:8080/hybris‐cis‐ web/tax/avalaraTax/invoices/SHIPMENT‐1/ Avalara Tax Document ID subscriber_123-SHIPMENT-1 28 .fra. 503 Service Unavailable The service is currently not available.

AvsClient) CIS Address Verification client (com. The client offers a service bean for each specific service offered by CIS. assertEquals(Status.PaymentClient) CIS Shipping Service client (com.invoice(params.client.cis.hybris. the vendor service ID (avalaraTax) is part of the resource URL.client.cis. // cancel the tax invoice doc using the location URI response = taxClient.hybris.cis. response.hybris.ShippingClient) 29 . the customer does not need to depend on (or even see or be made aware of) the vendor service ID.GeolocationClient) CIS Payment Service client (com. // create a tax invoice doc response = taxClient.hybris.client. However.client. assertEquals(CisDecision.getDecision()). order).cancel(params.cis.TaxClient) CIS Fraud Service client (com. response.cis.getLocation()). response.hybris.cis.ACCEPT.FraudClient) CIS Geolocation Service client (com.getStatus()).getResult().hybris.client.6/3/2013 Multitenant and Multivendor Aspects – An Example Infrastructure Services 57 In this example.NO_CONTENT.client. including: CIS Tax Service client (com. Client Library Infrastructure Services 58 The CIS client library provides a default interface for communicating with back-end services.

 address). response.xx</version> </dependency> You will also need to add some code to the appropriate bean.CREATED.  "/hybris‐cis‐client‐test.6/3/2013 Adding Dependencies Infrastructure Services 59 To add a new dependency.class) @ContextConfiguration(locations = { "/hybris‐cis‐client‐app. "NY".xml <dependency> <groupId>com. "New York".verifyAddress(params. "US").getStatus()). } } 30 .xml".xx. assertEquals(CisDecision. class AvsClientImplTest 60 @RunWith(SpringJUnit4ClassRunner.hybris. assertEquals(Status.ACCEPT.hybris. null).getResult(). "hybris". final CisParams params = new CisParams("hybris‐cis‐client‐test".xml" }) public class AvsClientImplTest extends AbstractRestClientTest { @Autowired private AvsClient avsClient. as outlined here: wiki. final RestResponse<AvsResult> response =  avsClient.getDecision()). @Test public void shouldAcceptAddress() { final CisAddress address = new CisAddress("1700 Broadway". response. "10019". add the following artifact to pom. "unittest".com/display/release5/CIS+Client+Library#CISClientLibrary‐ AddBeansinSpringContext Using the Client Library – An Example.cis</groupId> <artifactId>hybris‐cis‐rest‐client</artifactId> <version>xx.

6/3/2013 Localization Infrastructure Services 61 The Accept-Language header is used to request a response in a certain language.org/TR/REC‐html40/struct/dirlang. Dispatch Shipping Label (CIS) Payment Capture (CIS) 31 . Language Code Specifications can be found at w3. Pack. If no Accept-Language header is present.html#langcodes Order Flow with On-Demand Services Infrastructure Services 62 CIS Order Entry Address Verification Tax Calculation Stock Availability Service Payment Authorization Fraud Check Submit Order Warehouse 1 Store 2 Stock Integration OMS (all locations) Geolocation (CIS) Fulfillment Pick. the services will default to American English: en-US.

6/3/2013 63 32 .