Plataforma heredada

Añadir productos al carro

Un empleado de tienda debe ser capaz de explorar los productos que el cliente desee comprar, o buscar los productos apropiados en el catálogo, y añadirlos al carro. De forma alternativa, el empleado de tienda puede utilizar la opción de caja rápida.

Buscar productos de la página de inicio

  • Exploración o búsqueda de palabra clave
    • Cuando el empleado de tienda realiza una búsqueda utilizando palabras clave y pulsando el icono Buscar en el portlet Buscar productos en la página Inicio , se llama a la API searchCatalogIndex con el atributo ItemGroupCode establecido en PROD para captar una lista de productos que coinciden con las palabras clave. Al seleccionar un producto de la lista de productos coincidentes, se llama a la API getCompleteItemList para obtener detalles del producto.
    • De forma alternativa, si el empleado de tienda explora un producto, o introduce un ID de producto y pulsa el icono Explorar, se llama a la API getCompleteItemList para obtener los detalles del producto explorado.
    • Se visualizan los detalles del producto, pero el empleado de tienda permanece en la pantalla Buscar productos del asistente. El empleado de tienda puede explorar un producto, o buscar uno, desde la página Buscar productos. Se llama a la API getCompleteItemList para recuperar los detalles del producto.
  • Detalles del producto
    • Cuando se localiza y selecciona el producto correcto a través de una búsqueda de palabra clave, o a través de una exploración, se visualizan los detalles del producto. Se llama a la API getCompleteItemList para recuperar los detalles del producto. Se visualizan detalles como, por ejemplo, la descripción completa, el código de artículo, el precio, los atributos de color y tamaño en el caso de tratarse de productos de variación, y los productos relacionados. Por ejemplo, si el producto es una camiseta de manga corta, se visualizan los atributos de variación como, por ejemplo, tamaño y color, para que el cliente pueda elegirlos. De forma parecida, un televisor puede tener un reproductor de DVD como producto relacionado que un empleado de tienda puede vender al cliente, a través de una venta cruzada.
    • La UdM se muestra para los productos que consideran la regla Unit of Measure Display Rules .
    • Si se establece la regla Show Product Image in Web Store User Interface , se muestra la imagen del producto. En caso contrario, sólo se visualiza la descripción breve del producto.
    • Productos de variación: si la API getCompleteItemList API devuelve IsModelItem="Y" para un producto especifico, el producto es un producto modelo. Se visualizan los atributos y los valores de atributo del producto modelo. La API también devuelve la lista de combinaciones permitidas para el producto modelo. De forma predeterminada, el botón Añadir al carro está inhabilitado. Para habilitar el botón Añadir al carro, el empleado de tienda debe seleccionar una variación del producto como, por ejemplo, un tamaño o un color diferente. La página se renueva llamando a la API getCompleteItemList con el atributo ItemAttributeGroupType establecido en DISTINCT_ATTRIBUTES para la nueva variación del producto, y el botón Añadir a carro está habilitado para los productos disponibles. Cuando el empleado de tienda pulsa los atributos, se inhabilitan los elementos o las imágenes de atributo, en base a la combinación permitida configurada para el artículo de variación. Si no está permitido utilizar la combinación seleccionada, esta situación se indica, de forma pertinente, en la interfaz de usuario, y el empleado de tienda tiene que seleccionar otros atributos.
    • Productos relacionados: la API getCompleteItemList recupera también los productos relacionados. Se muestra una lista con todos los productos relacionados, y no se visualizan, de forma separada, en función de los tipos de asociación. Cada producto relacionado se añade como una línea de pedido nueva, y no se conserva ninguna relación entre las líneas de pedido padre y las relacionadas. Para captar el número de productos relacionados para cada tipo de asociación, se tiene en cuenta la regla Maximum number of associations to show in UI . El valor que se configura para la regla se pasa en el atributo MaximumRecords como parte del elemento ItemAssociationTypeList.
  • Caja rápida

    En la página de inicio de la aplicación, el empleado de tienda puede explorar el producto en el portlet Caja rápida. Se llama a la API getCompleteItemList para obtener los detalles del producto. Cuando se añade un producto utilizando el portlet Quick Checkout, se llama a la API createOrder para crear un nuevo pedido con el método de entrega establecido en CARRY de forma predeterminada. Para cada producto que se explore después del primer producto, se llamará a la API modifyFulfillmentOptions para añadir el producto al carro.

Ver opciones de cumplimentación

En la pantalla Buscar productos también se visualizan las opciones de cumplimentación del producto. Se llama a la API getItemAvailabilityForStore para recuperar la disponibilidad del producto. No obstante, en función de si el almacén utiliza la disponibilidad en tiempo real, o en memoria caché, se ejecuta la lógica adecuada para visualizar las opciones de cumplimentación.
  • Si se establece una regla de supervisión de inventario para un producto, la aplicación determina que el inventario se coloca en la memoria caché y se llama a la API getItemAvailabilityForStore que, a su vez, llama a la API getAvailabilityCache para recuperar la disponibilidad en memoria caché.

    El inventario en memoria caché puede configurarse para obtener información sobre la disponibilidad. En la mayoría de situaciones, la información de inventario que se visualiza ante el usuario no se actualiza en tiempo real. Para mejorar el rendimiento de la interfaz de usuario, es recomendable utilizar el inventario en memoria caché en lugar del inventario en tiempo real.

  • Si no se ha establecido ninguna regla de supervisión de inventario para el producto, el sistema determina que se necesita el inventario en tiempo real, y se llama a la API getItemAvailabilityForStore que, a su vez, llama a la API getFulfillmentOptionsForLines para recuperar la disponibilidad en tiempo real de los productos.
  • Si el inventario almacenado en memoria caché no está configurado, se lee la regla Standard Search Fulfillment Type y se pasa el valor para identificar la regla de origen, que determina el tipo de nodos como, por ejemplo, tiendas o centros de distribución y la secuencia en la que se deben tener en cuenta, mientras se recupera la disponibilidad de los productos.
  • Se lee la información de disponibilidad que devuelve la API getItemAvaialbilityForStore. La API devuelve el atributo HasAnyUnavailableQty. Si éste se establece en Y, el producto no está disponible, y si se establece en N, si lo está, y se lee el atributo ProductAvailDate de la salida de API. También se leen los atributos ShipNode y ShipNodeDescription de la salida de la API, y se visualizan en la pantalla.
La disponibilidad del producto se visualiza en función de la salida de la API getItemAvailabilityForStore. El método de entrega predeterminado de un producto se determina en función de la lógica siguiente:
  • Si el atributo IsPickupAllowed se establece en Y para un producto, y éste está disponible en el almacén actual, el método de entrega predeterminado se establece en CARRY.
  • Si el producto no está disponible para poder llevárselo, pero está disponible para su envío y IsShipAllowed = Y, el método de entrega predeterminado se establece en SHP.
  • Si el producto no está disponible para su envío, pero está disponible para su recogida y IsPickupAllowed = Y, el método de entrega predeterminado se establece en PICK.

Si un método de entrega no está disponible para un producto, se visualiza el mensaje No disponible , por lo que el empleado de tienda no puede seleccionar ese método como método de entrega.

El empleado de tienda puede pulsar el botón Compartir para compartir los detalles del producto con el cliente. En la ventana emergente Compartir, el empleado de tienda puede compartir los detalles del producto a través del correo electrónico de forma predeterminada. La dirección de correo electrónico registrada del cliente se rellena automáticamente y, si la dirección de correo electrónico no existe, el empleado de tienda puede especificar manualmente una dirección de correo electrónico. Cuando el empleado de tienda pulsa el botón Correo electrónico, los detalles del producto se envían al cliente. De forma similar, el empleado de tienda puede enviar detalles de producto a varias direcciones de correo electrónico especificando las direcciones de correo electrónico manualmente.
Nota: También puede añadir varias opciones de compartición a través de la personalización. De forma similar, puede personalizar el servicio de correo electrónico predeterminado según sea necesario.
Si el empleado de tienda no tiene el permiso de recurso Email Product details y el botón Compartir sólo tiene la opción Correo electrónico, el botón Compartir no se ve en la pantalla.

Añadir productos a un carro

  • El empleado de tienda puede buscar un producto en el portlet Buscar productos y añadirlo al carro desde la pantalla Buscar productos, si el inventario está disponible, pulsando Añadir al carro. Se llama a la API createOrder para crear una nueva orden, o se llama a la API modifyFulfillmentOptions para añadir productos a una orden existente.
  • Si el empleado de tienda no utiliza la opción de caja rápida, el producto explorado se añade, automáticamente, al carro, y se aparece la pantalla Ver carro.
  • Para aumentar o reducir la cantidad de un producto que figura en el carro, el empleado de tienda pulsa el botón + o -, según convenga. Se ejecuta la lógica siguiente:
    • Se llama a la API getItemAvailabilityForStore para recuperar la disponibilidad del producto.
    • Una vez que se haya añadido un producto al carro, cualquier cambio que se efectúe en el mismo como, por ejemplo, un aumento o una reducción de la cantidad, un cambio en el almacén, la sustitución del precio, etc., se tendrá que volver a añadir el producto al carro, pulsando Añadir al carro, y el producto añadido previamente no se actualizará. Cuando el empleado de tienda pulse Añadir al carro, se llamará a la API modifyFulfillmentOptions para añadir el nuevo producto al carro, con la cantidad actualizada. La API getCompleteOrderDetails devuelve el número total de producto de la orden.

De forma adicional, la aplicación proporciona las características siguientes:

Selección de almacén alternativo

En la pantalla Buscar productos, el empleado de tienda puede ver los almacenes alternativos si se permite el método de cumplimentación de recogida para el producto. Si un producto no está disponible en el almacén actual, un empleado de tienda puede seleccionar un almacén próximo o uno que haya elegido el cliente en el que se puedan recoger los productos. Se ejecuta la lógica siguiente:
  • Si el atributo IsPickupAllowed es "Y" para un producto determinado y la salida de la API getAlternateStoreAvailability muestra Disponible para recogida, el empleado de tienda puede elegir ver las tiendas alternativas. La ventana de almacenes alternativos tiene dos fichas, Almacenes próximos y Buscar almacenes:
    • En la ficha Almacenes próximos se visualizan los almacenes incluidos dentro de un radio específico. El empleado de tienda puede ajustar el radio, según convenga.
    • En la ficha Buscar almacenes, el empleado de tienda introduce el estado, la ciudad o el código postal y, a continuación, selecciona el radio para restringir la búsqueda de almacenes con los parámetros especificados.
    • En la ventana emergente de almacenes alternativos se muestra una lista con los almacenes disponibles, en base a dos reglas:
      • Distance radius to consider when searching for stores
      • Standard search fulfillment type
    • El radio máximo que se puede establecer utilizando el control deslizante se basa en el valor establecido para la regla- Maximum distance radius to consider when searching for stores.

    • La regla Distance UOM To Consider When Searching For Stores se utiliza para obtener la UdM para la distancia o el radio considerado para captar almacenes alternativos.
  • Se llama a la API getSurroundingNodeList para recuperar un conjunto de almacenes. La salida de la API se pasa a la API getAlternateStoreAvailability para obtener la información de disponibilidad para el producto, de cada almacén.
  • Si el empleado de tienda busca los almacenes próximos, se pasa la dirección actual como el atributo ShipToAddress en la API getSurroundingNodeList.
  • Después de que el empleado de tienda selecciona el almacén en el que llevar a cabo la recogida, la información se actualiza en la pantalla Buscar productos.
  • Para obtener más información sobre cómo configurar las reglas de cumplimentación de almacén, consulte la sección Implementación de este tema.

Modificación de precio

Cuando un empleado de tienda selecciona el icono de editar que aparece junto al precio unitario de un producto en la página Buscar productos, o en la página Ver carro, aparece la ventana SUSTITUCIÓN DE PRECIO.

En la ventana SUSTITUCIÓN DE PRECIO, el empleado de tienda introduce el nuevo precio del producto, y un motivo de la sustitución del precio. Para captar las razones de alteración temporal, se llama a la API getCommonCodeList con el atributo CodeType establecido en YCD_PRICEOVERRIDE. Cuando el empleado de tienda pulsa Aplicar, se llama a la API modifyFulfillmentOptions para sustituir el precio de lista del producto. Se visualizan el precio original y el precio nuevo del producto.

Para sustituir el precio de un producto, el empleado de tienda debe tener el permiso de recurso para la acción Sustituir precio. Si el empleado de tienda no tiene el permiso de recurso, el icono Sustituir precio no se visualiza.

Opciones de obsequio

Se muestra el mensaje Opciones de regalo disponibles para todos los elementos. Si un artículo no tiene opciones de obsequio, la aplicación debe personalizarse para mostrar Opciones de obsequio no disponibles.

Mini carro

El empleado de tienda puede ver una vista previa del carro, pulsando el icono de carro. Se llama a la API getCompleteOrderLineList para obtener la lista de productos que hay en el carro. Junto a cada producto aparece un icono X, que un empleado de tienda puede pulsar para suprimir el producto.

Si el empleado de tienda pulsa el icono X , se llama a la API modifyFulfillmentOptions con el atributo Action establecido en REMOVE para suprimir el producto. Una vez suprimido un producto, el mini carro se renueva.

Evaluación de la disponibilidad de la línea de pedido de transporte

Sterling Store Engagement y Store Inventory Management dan soporte a las opciones de recogida, envío y tramitación de línea de transporte. La API de getItemAvailabilityForStore comprueba la disponibilidad de los productos en las tiendas. La disponibilidad de los productos con líneas de pedido de transporte se calcula de forma diferente mediante la API de getItemAvailabilityForStore en función de si Sterling Store Engagement está integrado con IBM® Sterling Global Inventory Visibility o IBM Sterling Intelligent Promising Inventory Visibility.

Cuando se integra con IBM Sterling Global Inventory Visibility

Las líneas de transporte se tratan como recogida para la tienda en la que el usuario está conectado actualmente. El método de entrega se pasa como PICK cuando se comprueba la disponibilidad de un producto.

Cuando se integra con la integración de IBM Sterling Intelligent Promising Inventory Visibility

Sterling Intelligent Promising Inventory Visibility sólo da soporte a métodos de entrega de recogida y envío para comprobar la disponibilidad. Por lo tanto, la comprobación de la disponibilidad de las líneas de transporte en Sterling Intelligent Promising Inventory Visibility falla. Para evitar comprobar la disponibilidad de las líneas de transporte con Sterling Intelligent Promising Inventory Visibility, debe establecer la propiedad yfs.isf.ycd.suppressCarryAvailabilityCheckToIV en Y.