> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getjusto.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update cart item

> Actualiza cantidad, modificadores o comentario de un item del carrito. Si cambian comentario o modificadores, el cartItemId puede cambiar; usa el item retornado en la respuesta.



## OpenAPI

````yaml patch /ordering/customers/{externalCustomerId}/websites/{domain}/cart/items/{cartItemId}
openapi: 3.1.0
info:
  title: Justo API
  version: 3.0.0
servers:
  - url: https://api.service.getjusto.com/v3
    description: Production server
security: []
paths:
  /ordering/customers/{externalCustomerId}/websites/{domain}/cart/items/{cartItemId}:
    patch:
      tags:
        - Ordering API
      summary: Update cart item
      description: >-
        Actualiza cantidad, modificadores o comentario de un item del carrito.
        Si cambian comentario o modificadores, el cartItemId puede cambiar; usa
        el item retornado en la respuesta.
      operationId: orderingUpdateCartItem
      parameters:
        - in: path
          name: externalCustomerId
          required: true
          description: ID del customer en el sistema externo. Es independiente por app.
          schema:
            type: string
        - in: path
          name: domain
          required: true
          description: Dominio canónico del website Justo.
          schema:
            type: string
        - in: path
          name: cartItemId
          required: true
          description: ID del item del carrito.
          schema:
            type: string
      requestBody:
        description: Datos actualizados del item.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderingCartItemInput'
      responses:
        '200':
          description: Update cart item
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    $ref: '#/components/schemas/OrderingCartItemMutation'
                required:
                  - success
                  - data
        '400':
          description: Invalid request
        '401':
          description: Invalid bearer token
        '404':
          description: Resource not found
      security:
        - bearerAuth: []
components:
  schemas:
    OrderingCartItemInput:
      type: object
      description: Item a agregar o actualizar en el carrito.
      properties:
        productId:
          type: string
          description: ID del producto.
        amount:
          type: number
          description: Cantidad del producto. Debe ser mayor a 0.
        modifiers:
          type: array
          description: Modificadores seleccionados.
          items:
            $ref: '#/components/schemas/OrderingCartModifierSelection'
        comment:
          oneOf:
            - type: string
              description: Comentario del item.
            - type: 'null'
          description: Comentario del item.
      additionalProperties: true
    OrderingCartItemMutation:
      type: object
      description: >-
        Resultado de una mutación de item de carrito. Usa el item y state
        retornados como fuente de verdad; el cartItemId puede cambiar al editar
        comentario o modificadores.
      properties:
        item:
          $ref: '#/components/schemas/OrderingCartItem'
        state:
          $ref: '#/components/schemas/OrderingCartState'
      additionalProperties: true
    OrderingCartModifierSelection:
      type: object
      description: Selección de un modificador de producto.
      properties:
        modifierId:
          type: string
          description: ID del modificador.
        optionsIds:
          type: array
          description: >-
            IDs de opciones seleccionadas. Repite un ID si la opción permite más
            de una unidad.
          items:
            type: string
            description: ID de opción.
      additionalProperties: true
    OrderingCartItem:
      type: object
      description: Item del carrito.
      properties:
        _id:
          type: string
          description: ID del item del carrito.
        productId:
          type: string
          description: ID del producto.
        menuId:
          oneOf:
            - type: string
              description: ID del menú.
            - type: 'null'
          description: ID del menú.
        amount:
          type: number
          description: Cantidad del producto.
        quantity:
          type: number
          description: Cantidad del producto en flujos v2.
        comment:
          oneOf:
            - type: string
              description: Comentario del item.
            - type: 'null'
          description: Comentario del item.
        modifiers:
          type: array
          description: Modificadores seleccionados.
          items:
            type: object
            description: Modificador seleccionado.
            properties: {}
            additionalProperties: true
        product:
          type: object
          description: Producto asociado al item.
          properties: {}
          additionalProperties: true
        unitPrice:
          type: number
          description: Precio unitario.
        totalPrice:
          type: number
          description: Precio total del item.
      additionalProperties: true
    OrderingCartState:
      allOf:
        - $ref: '#/components/schemas/OrderingOrderPreferences'
        - type: object
          description: Extensiones guardadas por Ordering API.
          properties:
            billing:
              oneOf:
                - $ref: '#/components/schemas/OrderingBilling'
                - type: 'null'
            tip:
              oneOf:
                - type: object
                  description: Propina seleccionada.
                  properties: {}
                  additionalProperties: true
                - type: 'null'
              description: Propina seleccionada.
            cashAmount:
              oneOf:
                - type: number
                  description: Monto declarado para efectivo.
                - type: 'null'
              description: Monto declarado para efectivo.
            gift:
              oneOf:
                - type: object
                  description: Información de regalo.
                  properties: {}
                  additionalProperties: true
                - type: 'null'
              description: Información de regalo.
            orderParams:
              oneOf:
                - type: object
                  description: Parámetros adicionales del pedido.
                  additionalProperties: {}
                - type: 'null'
              description: Parámetros adicionales del pedido.
            termSignatures:
              oneOf:
                - type: array
                  description: >-
                    Firmas de términos guardadas para flujos avanzados. En el
                    flujo estándar, el integrador debe pedir aceptación de los
                    términos antes de iniciar la compra.
                  items:
                    $ref: '#/components/schemas/OrderingTermSignature'
                - type: 'null'
              description: >-
                Firmas de términos guardadas para flujos avanzados. En el flujo
                estándar, el integrador debe pedir aceptación de los términos
                antes de iniciar la compra.
            meta:
              oneOf:
                - type: object
                  description: Metadata adicional.
                  additionalProperties: {}
                - type: 'null'
              description: Metadata adicional.
            sessionBirthday:
              oneOf:
                - type: string
                  description: Fecha de nacimiento de sesión en formato DD-MM-AAAA.
                - type: 'null'
              description: Fecha de nacimiento de sesión en formato DD-MM-AAAA.
            options:
              $ref: '#/components/schemas/OrderingCartOptions'
          additionalProperties: true
      description: >-
        OrderPreferences extendido con billing, propina, cashAmount, orderParams
        y opciones dinámicas.
    OrderingOrderPreferences:
      type: object
      description: >-
        OrderPreferences completo calculado por el servicio preferences. Es la
        fuente de verdad del carrito, local, website, dirección, horarios y
        medios de pago.
      properties:
        _id:
          type: string
          description: ID de las preferencias.
        placeId:
          oneOf:
            - type: string
              description: Place ID aplicado desde la dirección seleccionada del customer.
            - type: 'null'
          description: Place ID aplicado desde la dirección seleccionada del customer.
        menuId:
          oneOf:
            - type: string
              description: ID del menú seleccionado o resuelto.
            - type: 'null'
          description: ID del menú seleccionado o resuelto.
        channel:
          oneOf:
            - type: string
              description: Canal calculado.
            - type: 'null'
          description: Canal calculado.
        deliveryType:
          oneOf:
            - type: string
              description: Tipo de entrega.
              enum:
                - delivery
                - go
                - serve
            - type: 'null'
          description: Tipo de entrega.
        tableName:
          oneOf:
            - type: string
              description: Mesa o identificador de consumo en local.
            - type: 'null'
          description: Mesa o identificador de consumo en local.
        time:
          oneOf:
            - type: string
              description: Hora seleccionada.
            - type: 'null'
          description: Hora seleccionada.
        deliverAt:
          oneOf:
            - type: string
              description: Fecha/hora calculada de entrega.
            - type: 'null'
          description: Fecha/hora calculada de entrega.
        timeLabel:
          oneOf:
            - type: string
              description: Texto visible de la hora seleccionada.
            - type: 'null'
          description: Texto visible de la hora seleccionada.
        itsStoreOpenAtTime:
          oneOf:
            - type: boolean
              description: Indica si el local abre para la hora elegida.
            - type: 'null'
          description: Indica si el local abre para la hora elegida.
        paymentType:
          oneOf:
            - type: string
              description: Medio de pago seleccionado.
            - type: 'null'
          description: Medio de pago seleccionado.
        paymentTypeIsIntegration:
          oneOf:
            - type: boolean
              description: Indica si el pago es integración.
            - type: 'null'
          description: Indica si el pago es integración.
        cardId:
          oneOf:
            - type: string
              description: ID de tarjeta seleccionada.
            - type: 'null'
          description: ID de tarjeta seleccionada.
        selectedPaymentMethodKey:
          oneOf:
            - type: string
              description: Key del medio de pago seleccionado.
            - type: 'null'
          description: Key del medio de pago seleccionado.
        otherPaymentType:
          oneOf:
            - type: string
              description: Subtipo de pago.
            - type: 'null'
          description: Subtipo de pago.
        couponCode:
          oneOf:
            - type: string
              description: Cupón aplicado.
            - type: 'null'
          description: Cupón aplicado.
        loyaltyProgram:
          oneOf:
            - type: object
              description: Configuración loyalty.
              additionalProperties: {}
            - type: 'null'
          description: Configuración loyalty.
        externalLoyaltyProgram:
          oneOf:
            - type: object
              description: Configuración loyalty externa.
              additionalProperties: {}
            - type: 'null'
          description: Configuración loyalty externa.
        useExternalLoyalty:
          oneOf:
            - type: boolean
              description: Indica si usa loyalty externa.
            - type: 'null'
          description: Indica si usa loyalty externa.
        websiteCoinsToSpend:
          oneOf:
            - type: number
              description: Coins del website a usar.
            - type: 'null'
          description: Coins del website a usar.
        externalLoyaltyCoinsToSpend:
          oneOf:
            - type: number
              description: Coins externas a usar.
            - type: 'null'
          description: Coins externas a usar.
        justoCoinsToSpend:
          oneOf:
            - type: number
              description: Justo Coins a usar.
            - type: 'null'
          description: Justo Coins a usar.
        tipAmount:
          oneOf:
            - type: number
              description: Monto de propina seleccionado.
            - type: 'null'
          description: Monto de propina seleccionado.
        tipPercentage:
          oneOf:
            - type: number
              description: Porcentaje de propina seleccionado.
            - type: 'null'
          description: Porcentaje de propina seleccionado.
        bagsRequired:
          oneOf:
            - type: number
              description: Bolsas requeridas.
            - type: 'null'
          description: Bolsas requeridas.
        storeId:
          oneOf:
            - type: string
              description: ID del local seleccionado.
            - type: 'null'
          description: ID del local seleccionado.
        sessionEmail:
          oneOf:
            - type: string
              description: Email de sesión.
            - type: 'null'
          description: Email de sesión.
        sessionEmailHasAccount:
          oneOf:
            - type: boolean
              description: Indica si el email tiene cuenta.
            - type: 'null'
          description: Indica si el email tiene cuenta.
        sessionPhone:
          oneOf:
            - type: string
              description: Teléfono de sesión.
            - type: 'null'
          description: Teléfono de sesión.
        isOutOfBounds:
          oneOf:
            - type: boolean
              description: Indica si la dirección está fuera de cobertura.
            - type: 'null'
          description: Indica si la dirección está fuera de cobertura.
        currentReducedDemandMessage:
          oneOf:
            - type: string
              description: Mensaje actual de demanda reducida.
            - type: 'null'
          description: Mensaje actual de demanda reducida.
        address:
          oneOf:
            - $ref: '#/components/schemas/OrderingOrderPreferencesAddress'
            - type: 'null'
        store:
          oneOf:
            - $ref: '#/components/schemas/OrderingOrderPreferencesStore'
            - type: 'null'
        cart:
          oneOf:
            - $ref: '#/components/schemas/OrderingOrderPreferencesCart'
            - type: 'null'
        website:
          oneOf:
            - $ref: '#/components/schemas/OrderingOrderPreferencesWebsite'
            - type: 'null'
      additionalProperties: true
    OrderingBilling:
      type: object
      description: >-
        Datos dinámicos de facturación guardados para el checkout. La estructura
        depende del billing schema del website.
      properties: {}
      additionalProperties: true
    OrderingTermSignature:
      type: object
      description: Firma de un documento legal vigente.
      properties:
        termType:
          type: string
          description: Tipo de término legal.
          example: termsAndConditions
        version:
          type: string
          description: Versión vigente firmada.
      additionalProperties: true
    OrderingCartOptions:
      type: object
      description: >-
        Opciones dinámicas calculadas por Ordering API para completar el
        checkout.
      properties:
        billing:
          type: object
          description: Configuración dinámica de facturación del website.
          properties:
            value:
              oneOf:
                - $ref: '#/components/schemas/OrderingBilling'
                - type: 'null'
            schema:
              type: array
              description: Schema dinámico de campos de facturación.
              items:
                type: object
                description: Campo de billing.
                properties: {}
                additionalProperties: true
            required:
              type: boolean
              description: Indica si la facturación es obligatoria para este website.
            countryCode:
              oneOf:
                - type: string
                  description: Código de país del website.
                  example: CL
                - type: 'null'
              description: Código de país del website.
          additionalProperties: true
        terms:
          $ref: '#/components/schemas/OrderingTermsOption'
      additionalProperties: true
    OrderingOrderPreferencesAddress:
      type: object
      description: Dirección seleccionada calculada por OrderPreferences.
      properties:
        _id:
          type: string
          description: ID interno de dirección.
        streetAddress:
          oneOf:
            - type: string
              description: Dirección principal.
            - type: 'null'
          description: Dirección principal.
        extendedAddress:
          oneOf:
            - type: string
              description: Departamento, oficina u otra línea secundaria.
            - type: 'null'
          description: Departamento, oficina u otra línea secundaria.
        locality:
          oneOf:
            - type: string
              description: Comuna o localidad.
            - type: 'null'
          description: Comuna o localidad.
        countryName:
          oneOf:
            - type: string
              description: País.
            - type: 'null'
          description: País.
        placeId:
          oneOf:
            - type: string
              description: Place ID seleccionado.
            - type: 'null'
          description: Place ID seleccionado.
        location:
          oneOf:
            - $ref: '#/components/schemas/OrderingLocation'
            - type: 'null'
      additionalProperties: true
    OrderingOrderPreferencesStore:
      type: object
      description: Local calculado por OrderPreferences.
      properties:
        _id:
          type: string
          description: ID del local.
        acceptDelivery:
          oneOf:
            - type: boolean
              description: Indica si acepta delivery.
            - type: 'null'
          description: Indica si acepta delivery.
        acceptGo:
          oneOf:
            - type: boolean
              description: Indica si acepta retiro.
            - type: 'null'
          description: Indica si acepta retiro.
        acceptServe:
          oneOf:
            - type: boolean
              description: Indica si acepta consumo en local.
            - type: 'null'
          description: Indica si acepta consumo en local.
        name:
          oneOf:
            - type: string
              description: Nombre del local.
            - type: 'null'
          description: Nombre del local.
        minimumAnticipationDays:
          oneOf:
            - type: number
              description: Días mínimos de anticipación.
            - type: 'null'
          description: Días mínimos de anticipación.
        currentExtraDeliveryCost:
          oneOf:
            - type: number
              description: Costo extra actual de delivery.
            - type: 'null'
          description: Costo extra actual de delivery.
        hideTip:
          oneOf:
            - type: boolean
              description: Indica si oculta propina.
            - type: 'null'
          description: Indica si oculta propina.
        forceHideDeliveryTip:
          oneOf:
            - type: boolean
              description: Indica si fuerza ocultar propina delivery.
            - type: 'null'
          description: Indica si fuerza ocultar propina delivery.
        defaultsManagedDelivery:
          oneOf:
            - type: boolean
              description: Usa delivery gestionado por defecto.
            - type: 'null'
          description: Usa delivery gestionado por defecto.
        availableScheduleDaysOptions:
          type: array
          description: Opciones de agenda.
          items:
            type: object
            description: Opción de día u horario disponible.
            properties:
              label:
                type: string
                description: Texto visible.
              value:
                type: string
                description: Valor que debe enviarse en preferencias.
            additionalProperties: true
        extendedAddress:
          oneOf:
            - type: string
              description: Dirección extendida del local.
            - type: 'null'
          description: Dirección extendida del local.
        streetAddress:
          oneOf:
            - type: string
              description: Dirección principal del local.
            - type: 'null'
          description: Dirección principal del local.
        location:
          oneOf:
            - $ref: '#/components/schemas/OrderingLocation'
            - type: 'null'
        itsOpenNow:
          oneOf:
            - type: boolean
              description: Indica si el local está abierto ahora.
            - type: 'null'
          description: Indica si el local está abierto ahora.
        itsOpenAtTime:
          oneOf:
            - type: boolean
              description: Indica si el local está abierto para la hora elegida.
            - type: 'null'
          description: Indica si el local está abierto para la hora elegida.
        disableNowOrders:
          oneOf:
            - type: boolean
              description: Indica si no acepta pedidos inmediatos.
            - type: 'null'
          description: Indica si no acepta pedidos inmediatos.
        availablePaymentMethods:
          type: array
          description: Medios de pago disponibles.
          items:
            $ref: '#/components/schemas/OrderingOrderPreferencesPaymentMethod'
        savedUserCards:
          type: array
          description: Tarjetas guardadas.
          items:
            $ref: '#/components/schemas/OrderingOrderPreferencesSavedCard'
      additionalProperties: true
    OrderingOrderPreferencesCart:
      type: object
      description: Carrito calculado por OrderPreferences.
      properties:
        deliveryFee:
          oneOf:
            - type: number
              description: Costo de delivery.
            - type: 'null'
          description: Costo de delivery.
        deliveryFeeWithoutDiscount:
          oneOf:
            - type: number
              description: Costo de delivery antes de descuentos.
            - type: 'null'
          description: Costo de delivery antes de descuentos.
        freeDeliveryProgress:
          type: object
          description: Progreso hacia delivery gratis.
          properties:
            source:
              oneOf:
                - type: string
                  description: Origen de la regla.
                - type: 'null'
              description: Origen de la regla.
            threshold:
              oneOf:
                - type: number
                  description: Monto requerido.
                - type: 'null'
              description: Monto requerido.
            currentItemsPrice:
              oneOf:
                - type: number
                  description: Monto actual de productos.
                - type: 'null'
              description: Monto actual de productos.
            missingAmount:
              oneOf:
                - type: number
                  description: Monto faltante.
                - type: 'null'
              description: Monto faltante.
            isFree:
              oneOf:
                - type: boolean
                  description: Indica si ya aplica delivery gratis.
                - type: 'null'
              description: Indica si ya aplica delivery gratis.
            searchedUntil:
              oneOf:
                - type: string
                  description: Fecha/hora hasta la que se buscó cobertura.
                - type: 'null'
              description: Fecha/hora hasta la que se buscó cobertura.
          additionalProperties: true
        serviceFee:
          oneOf:
            - type: number
              description: Cargo de servicio.
            - type: 'null'
          description: Cargo de servicio.
        amountToPay:
          oneOf:
            - type: number
              description: Monto a pagar.
            - type: 'null'
          description: Monto a pagar.
        totalPrice:
          oneOf:
            - type: number
              description: Total.
            - type: 'null'
          description: Total.
        calculatedTipAmount:
          oneOf:
            - type: number
              description: Propina sugerida calculada.
            - type: 'null'
          description: Propina sugerida calculada.
        benefits:
          type: array
          description: Beneficios aplicados.
          items:
            type: object
            description: Beneficio aplicado.
            properties:
              benefitPromotionId:
                oneOf:
                  - type: string
                    description: ID de promoción.
                  - type: 'null'
                description: ID de promoción.
              type:
                oneOf:
                  - type: string
                    description: Tipo de beneficio.
                  - type: 'null'
                description: Tipo de beneficio.
              label:
                oneOf:
                  - type: string
                    description: Texto visible.
                  - type: 'null'
                description: Texto visible.
              totalDiscount:
                oneOf:
                  - type: number
                    description: Descuento total.
                  - type: 'null'
                description: Descuento total.
              productIds:
                type: array
                description: Productos afectados.
                items:
                  type: string
                  description: ID de producto.
            additionalProperties: true
        couponStatus:
          oneOf:
            - $ref: '#/components/schemas/OrderingOrderPreferencesCouponStatus'
            - type: 'null'
        itemsPrice:
          oneOf:
            - type: number
              description: Precio de productos.
            - type: 'null'
          description: Precio de productos.
        itemsPriceWithoutDiscount:
          oneOf:
            - type: number
              description: Precio de productos antes de descuentos.
            - type: 'null'
          description: Precio de productos antes de descuentos.
        totalLoyaltyDiscount:
          oneOf:
            - type: number
              description: Descuento total de loyalty.
            - type: 'null'
          description: Descuento total de loyalty.
        itemsPriceWithoutLoyaltyDiscount:
          oneOf:
            - type: number
              description: Precio sin descuento loyalty.
            - type: 'null'
          description: Precio sin descuento loyalty.
        itemsPriceWithOnlyItemsDiscount:
          oneOf:
            - type: number
              description: Precio con descuentos de items.
            - type: 'null'
          description: Precio con descuentos de items.
        hasDynamicDeliveryFee:
          oneOf:
            - type: boolean
              description: Indica si el delivery fee es dinámico.
            - type: 'null'
          description: Indica si el delivery fee es dinámico.
        bagAmount:
          oneOf:
            - type: number
              description: Monto por bolsas.
            - type: 'null'
          description: Monto por bolsas.
        calculatedBagsRequired:
          oneOf:
            - type: number
              description: Bolsas calculadas.
            - type: 'null'
          description: Bolsas calculadas.
        maxBagsAllowed:
          oneOf:
            - type: number
              description: Máximo de bolsas permitidas.
            - type: 'null'
          description: Máximo de bolsas permitidas.
        items:
          type: array
          description: Items del carrito.
          items:
            $ref: '#/components/schemas/OrderingOrderPreferencesCartItem'
      additionalProperties: true
    OrderingOrderPreferencesWebsite:
      type: object
      description: Website calculado por OrderPreferences.
      properties:
        _id:
          type: string
          description: ID del website.
        allowsJustoCoins:
          oneOf:
            - type: boolean
              description: Indica si permite Justo Coins.
            - type: 'null'
          description: Indica si permite Justo Coins.
        allowsWebsiteCoins:
          oneOf:
            - type: boolean
              description: Indica si permite coins del website.
            - type: 'null'
          description: Indica si permite coins del website.
        showStoreName:
          oneOf:
            - type: boolean
              description: Indica si se muestra el nombre del local.
            - type: 'null'
          description: Indica si se muestra el nombre del local.
      additionalProperties: true
    OrderingTermsOption:
      type: object
      description: Configuración de términos legales para Ordering API.
      properties:
        mode:
          type: string
          description: Modo técnico de manejo de términos.
          enum:
            - auto
          example: auto
        hidden:
          type: boolean
          description: Indica que Ordering API no muestra un checkbox propio.
        checked:
          type: boolean
          description: >-
            Indica que Ordering API continúa el flujo asumiendo que el
            integrador ya obtuvo la aceptación del usuario.
        signatures:
          type: array
          description: Versiones vigentes que aplican al checkout técnico.
          items:
            $ref: '#/components/schemas/OrderingTermSignature'
        terms:
          type: array
          description: Términos publicados del website que aplican al checkout.
          items:
            type: object
            description: Término legal publicado.
            properties:
              termType:
                type: string
                description: Tipo de término legal.
              version:
                type: string
                description: Versión vigente.
              optional:
                type: boolean
                description: Indica si el término es opcional.
              title:
                oneOf:
                  - type: string
                    description: Título del documento legal.
                  - type: 'null'
                description: Título del documento legal.
              checkboxLabel:
                oneOf:
                  - type: object
                    description: Texto usado por el checkout web.
                    properties: {}
                    additionalProperties: true
                  - type: 'null'
                description: Texto usado por el checkout web.
            additionalProperties: true
      additionalProperties: true
    OrderingLocation:
      type: object
      description: Coordenadas geográficas.
      properties:
        lat:
          type: number
          description: Latitud.
          example: -33.43219757080078
        lng:
          type: number
          description: Longitud.
          example: -70.59982299804688
      additionalProperties: true
    OrderingOrderPreferencesPaymentMethod:
      type: object
      description: Medio de pago disponible calculado por orderPreferences.store.
      properties:
        paymentMethodKey:
          type: string
          description: Key que debe enviarse como paymentType.
        label:
          type: string
          description: Nombre visible.
        canDeliver:
          oneOf:
            - type: boolean
              description: Indica si permite delivery.
            - type: 'null'
          description: Indica si permite delivery.
        isIntegration:
          oneOf:
            - type: boolean
              description: Indica si depende de una integración externa.
            - type: 'null'
          description: Indica si depende de una integración externa.
        allowedDeliveryTypes:
          type: array
          description: Tipos de entrega permitidos.
          items:
            type: string
            description: Tipo de entrega.
            enum:
              - delivery
              - go
              - serve
        requiresRoundTrip:
          oneOf:
            - type: boolean
              description: Indica si requiere viaje ida y vuelta.
            - type: 'null'
          description: Indica si requiere viaje ida y vuelta.
        isAvailableInV3:
          oneOf:
            - type: boolean
              description: Indica si está disponible en checkout v3.
            - type: 'null'
          description: Indica si está disponible en checkout v3.
        otherPaymentType:
          oneOf:
            - type: string
              description: Subtipo de pago asociado.
            - type: 'null'
          description: Subtipo de pago asociado.
        paymentType:
          oneOf:
            - type: string
              description: Tipo de pago base.
            - type: 'null'
          description: Tipo de pago base.
        extraPaymentInformation:
          oneOf:
            - type: object
              description: Metadata adicional del medio de pago.
              additionalProperties: {}
            - type: 'null'
          description: Metadata adicional del medio de pago.
      additionalProperties: true
    OrderingOrderPreferencesSavedCard:
      type: object
      description: Tarjeta guardada disponible para el customer.
      properties:
        _id:
          type: string
          description: ID de tarjeta.
        brandId:
          oneOf:
            - type: string
              description: ID de marca.
            - type: 'null'
          description: ID de marca.
        brandName:
          oneOf:
            - type: string
              description: Nombre de marca.
            - type: 'null'
          description: Nombre de marca.
        label:
          oneOf:
            - type: string
              description: Texto visible.
            - type: 'null'
          description: Texto visible.
        last4:
          oneOf:
            - type: string
              description: Últimos 4 dígitos.
            - type: 'null'
          description: Últimos 4 dígitos.
        paymentMethodKey:
          oneOf:
            - type: string
              description: Payment method key asociado.
            - type: 'null'
          description: Payment method key asociado.
        paymentType:
          oneOf:
            - type: string
              description: Tipo de pago.
            - type: 'null'
          description: Tipo de pago.
        cardBin:
          oneOf:
            - type: string
              description: BIN de la tarjeta.
            - type: 'null'
          description: BIN de la tarjeta.
      additionalProperties: true
    OrderingOrderPreferencesCouponStatus:
      type: object
      description: Estado del cupón calculado por OrderPreferences.
      properties:
        code:
          oneOf:
            - type: string
              description: Código aplicado.
            - type: 'null'
          description: Código aplicado.
        description:
          oneOf:
            - type: string
              description: Descripción.
            - type: 'null'
          description: Descripción.
        couponId:
          oneOf:
            - type: string
              description: ID del cupón.
            - type: 'null'
          description: ID del cupón.
        discountOnDeliveryFee:
          oneOf:
            - type: number
              description: Descuento en delivery.
            - type: 'null'
          description: Descuento en delivery.
        discountOnFullPrice:
          oneOf:
            - type: number
              description: Descuento total.
            - type: 'null'
          description: Descuento total.
        discountOnItems:
          oneOf:
            - type: number
              description: Descuento en productos.
            - type: 'null'
          description: Descuento en productos.
        errorMessage:
          oneOf:
            - type: string
              description: Mensaje de error.
            - type: 'null'
          description: Mensaje de error.
        errorType:
          oneOf:
            - type: string
              description: Tipo de error.
            - type: 'null'
          description: Tipo de error.
        errorActionHint:
          oneOf:
            - type: string
              description: Sugerencia de acción.
            - type: 'null'
          description: Sugerencia de acción.
        errorActionLinks:
          type: array
          description: Links de acción.
          items:
            type: object
            description: Acción sugerida para resolver un error de cupón.
            properties:
              label:
                oneOf:
                  - type: string
                    description: Texto visible.
                  - type: 'null'
                description: Texto visible.
              url:
                oneOf:
                  - type: string
                    description: URL de acción.
                  - type: 'null'
                description: URL de acción.
            additionalProperties: true
        allErrors:
          type: array
          description: Todos los errores del cupón.
          items:
            type: object
            description: Error de cupón.
            properties:
              message:
                oneOf:
                  - type: string
                    description: Mensaje.
                  - type: 'null'
                description: Mensaje.
              errorType:
                oneOf:
                  - type: string
                    description: Tipo de error.
                  - type: 'null'
                description: Tipo de error.
              actionHint:
                oneOf:
                  - type: string
                    description: Sugerencia de acción.
                  - type: 'null'
                description: Sugerencia de acción.
              actionLinks:
                type: array
                description: Acciones sugeridas.
                items:
                  type: object
                  description: Acción sugerida para resolver un error de cupón.
                  properties:
                    label:
                      oneOf:
                        - type: string
                          description: Texto visible.
                        - type: 'null'
                      description: Texto visible.
                    url:
                      oneOf:
                        - type: string
                          description: URL de acción.
                        - type: 'null'
                      description: URL de acción.
                  additionalProperties: true
              minimumOrderPrice:
                oneOf:
                  - type: number
                    description: Monto mínimo requerido.
                  - type: 'null'
                description: Monto mínimo requerido.
              currentItemsPrice:
                oneOf:
                  - type: number
                    description: Monto actual de productos.
                  - type: 'null'
                description: Monto actual de productos.
            additionalProperties: true
        name:
          oneOf:
            - type: string
              description: Nombre del cupón.
            - type: 'null'
          description: Nombre del cupón.
        minimumOrderPrice:
          oneOf:
            - type: number
              description: Monto mínimo requerido.
            - type: 'null'
          description: Monto mínimo requerido.
        currentItemsPrice:
          oneOf:
            - type: number
              description: Monto actual de productos.
            - type: 'null'
          description: Monto actual de productos.
        requiresPaymentTypes:
          type: array
          description: Tipos de pago requeridos.
          items:
            type: string
            description: Tipo de pago.
        requiredBINs:
          type: array
          description: BINs requeridos.
          items:
            type: string
            description: BIN.
        requiredPaymentMethodCodes:
          type: array
          description: Medios de pago requeridos.
          items:
            type: string
            description: Código de medio de pago.
      additionalProperties: true
    OrderingOrderPreferencesCartItem:
      type: object
      description: Item del carrito calculado por OrderPreferences.
      properties:
        _id:
          type: string
          description: ID del item.
        amount:
          type: number
          description: Cantidad.
        totalPrice:
          oneOf:
            - type: number
              description: Precio total.
            - type: 'null'
          description: Precio total.
        productId:
          type: string
          description: ID del producto.
        isOutOfStock:
          oneOf:
            - type: boolean
              description: Indica si está sin stock.
            - type: 'null'
          description: Indica si está sin stock.
        unitPrice:
          oneOf:
            - type: number
              description: Precio unitario.
            - type: 'null'
          description: Precio unitario.
        unitPriceWithoutDiscount:
          oneOf:
            - type: number
              description: Precio unitario antes de descuentos.
            - type: 'null'
          description: Precio unitario antes de descuentos.
        comment:
          oneOf:
            - type: string
              description: Comentario del item.
            - type: 'null'
          description: Comentario del item.
        outOfStockMessage:
          oneOf:
            - type: string
              description: Mensaje de falta de stock.
            - type: 'null'
          description: Mensaje de falta de stock.
        modifiers:
          type: array
          description: Modificadores seleccionados.
          items:
            type: object
            description: Modificador seleccionado.
            properties: {}
            additionalProperties: true
        descriptionItems:
          type: array
          description: Descripción de selecciones.
          items:
            type: object
            description: Descripción.
            properties: {}
            additionalProperties: true
        product:
          oneOf:
            - type: object
              description: Producto del item de carrito.
              properties:
                _id:
                  type: string
                  description: ID de producto.
                name:
                  oneOf:
                    - type: string
                      description: Nombre del producto.
                    - type: 'null'
                  description: Nombre del producto.
                images:
                  type: array
                  description: Imágenes del producto.
                  items:
                    $ref: '#/components/schemas/OrderingImage'
                modifiers:
                  type: array
                  description: Modificadores del producto.
                  items:
                    type: object
                    description: Modificador del producto.
                    properties: {}
                    additionalProperties: true
              additionalProperties: true
            - type: 'null'
          description: Producto del item de carrito.
      additionalProperties: true
    OrderingImage:
      type: object
      description: Imagen publicada por Justo o por el comercio.
      properties:
        _id:
          type: string
          description: ID de la imagen.
        url:
          type: string
          description: URL original de la imagen.
        colorsData:
          type: object
          description: Colores calculados de la imagen.
          properties:
            blurhash:
              type: string
              description: Blurhash de la imagen.
            background:
              type: string
              description: Color de fondo sugerido.
            front:
              type: string
              description: Color frontal sugerido.
          additionalProperties: true
        dimensions:
          type: object
          description: Dimensiones originales de la imagen.
          properties:
            width:
              type: number
              description: Ancho en pixeles.
            height:
              type: number
              description: Alto en pixeles.
          additionalProperties: true
        resizedData:
          type: object
          description: URLs de versiones redimensionadas.
          properties:
            thumbnailURL:
              type: string
              description: URL thumbnail.
            smallURL:
              type: string
              description: URL pequeña.
            mediumURL:
              type: string
              description: URL mediana.
            largeURL:
              type: string
              description: URL grande.
            extraLargeURL:
              type: string
              description: URL extra grande.
          additionalProperties: true
      additionalProperties: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT Token

````