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

# Generate a shopping cart without a lead

> Generates a virtual shopping cart based on facility and unit group data, detached from a lead reference.



## OpenAPI

````yaml /openapi/shopping-openapi.json post /shopping/{portfolio}/v1/shopping-cart/generate-detached-cart
openapi: 3.0.0
info:
  title: Monument Shopping API
  description: Monument Shopping API
  version: '1.0'
  contact: {}
servers:
  - url: https://public-api.prd.monument.io
    description: Production
  - url: https://public-api.stg.monument.io
    description: Staging
security: []
tags:
  - name: Facilities
    description: Facility listing, details, and configuration
  - name: Leads
    description: Lead creation, updates, status, and pre-existing tenant validation
  - name: Shopping Cart
    description: Cart operations and access plans
  - name: Unit Groups
    description: Unit group details and taxes
  - name: Units
    description: Unit and gate access code retrieval
  - name: Payments
    description: Payment profiles and processor information
  - name: Brands
    description: Branding configuration and brand-scoped facilities
  - name: Coverages
    description: Coverage options and private coverage info
  - name: Leases
    description: Lease signing redirects
  - name: Organizations
    description: Portfolio organization information
  - name: Lead Marketing Sources
    description: Marketing source listing
paths:
  /shopping/{portfolio}/v1/shopping-cart/generate-detached-cart:
    post:
      tags:
        - Shopping Cart
      summary: Generate a shopping cart without a lead
      description: >-
        Generates a virtual shopping cart based on facility and unit group data,
        detached from a lead reference.
      operationId: PublicApiShoppingCartController_generateDetachedCart
      parameters:
        - in: header
          required: true
          name: x-api-key
          schema:
            example: monument-2230012-2312321
            description: >-
              Api key required to authenticate your request. Please reach out to
              monument for a key.
        - in: path
          required: true
          name: portfolio
          schema:
            example: abc_selfstorage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GenerateDetachedVirtualShoppingCartDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetDetachedShoppingCartResponseDto'
        '403':
          description: Facility not allowed for this API key
components:
  schemas:
    GenerateDetachedVirtualShoppingCartDto:
      type: object
      properties:
        facilityUuid:
          type: string
          format: uuid
        unitGroupUuid:
          type: string
          format: uuid
        dateDesiredMoveIn:
          format: date-time
          type: string
          nullable: true
          description: Desired move-in date. If not provided, defaults to current date.
          example: '2024-01-15'
        promotionUuid:
          type: string
          deprecated: true
          format: uuid
        promotionUuids:
          type: array
          items:
            type: string
            format: uuid
        coverageUuid:
          type: string
          format: uuid
          description: >-
            UUID of the coverage plan to include. Replaces the facility default
            when provided.
      required:
        - facilityUuid
        - unitGroupUuid
    GetDetachedShoppingCartResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/GetDetachedShoppingCartItemDto'
      required:
        - items
    GetDetachedShoppingCartItemDto:
      type: object
      properties:
        itemType:
          $ref: '#/components/schemas/ServicesAndFeesDto'
        dateDesiredMoveIn:
          format: date-time
          type: string
        amountInPennies:
          type: number
        preProrationAmountInPennies:
          type: number
        billingPeriod:
          type: number
      required:
        - itemType
    ServicesAndFeesDto:
      type: object
      properties:
        itemTypeUuid:
          type: string
        itemTypeName:
          type: string
        description:
          type: string
        isTaxable:
          type: boolean
        category:
          type: string
          nullable: true
          enum:
            - SERVICES
            - FEES
            - MERCHANDISE
            - COVERAGE
            - ACCESS_HOURS_SERVICE
            - RENT
            - AUCTION
            - AUCTION_FEES
        isRecurring:
          type: boolean
        isRequiredAtMoveIn:
          type: boolean
        isRequiredAtTransfer:
          type: boolean
        isReadOnly:
          type: boolean
        isActive:
          type: boolean
        numberOfFacilities:
          type: number
          nullable: true
        amount:
          type: string
          nullable: true
        amountInPennies:
          type: number
        taxAmountInPennies:
          type: number
        entityAttributeOrganizationUuid:
          type: string
        entityAttributeOrganizationDescription:
          type: string
        feeType:
          $ref: '#/components/schemas/FeeType'
          nullable: true
        fixedFeeAmount:
          type: number
          nullable: true
        feePercentage:
          type: number
          nullable: true
        isProratedAtMoveIn:
          type: boolean
        fullNonProratedAmount:
          type: number
        invoiceGenerationType:
          type: string
          description: Type of invoice generation
          enum:
            - ANNIVERSARY
            - FIRST_OF_MONTH
        glAccountTypeUuid:
          type: string
        promotion:
          deprecated: true
          allOf:
            - $ref: '#/components/schemas/Promotion'
        promotions:
          type: array
          items:
            $ref: '#/components/schemas/Promotion'
        feeConditions:
          type: array
          items:
            $ref: '#/components/schemas/FeeConditionResponseDto'
      required:
        - itemTypeUuid
        - itemTypeName
        - description
        - isTaxable
        - category
        - isRecurring
        - isRequiredAtMoveIn
        - isRequiredAtTransfer
        - isReadOnly
        - isActive
        - numberOfFacilities
        - amount
        - isProratedAtMoveIn
    FeeType:
      type: string
      enum:
        - PERCENTAGE
        - FIXED_AMOUNT
        - UNIT_RENT
        - INSURANCE_PREMIUM
        - AUCTION
        - CONDITIONAL
    Promotion:
      type: object
      properties:
        promotionUuid:
          type: string
        promotionName:
          type: string
        discountType:
          type: string
        discountAmountInPennies:
          type: number
        internalNote:
          type: string
      required:
        - promotionUuid
        - promotionName
        - discountType
        - discountAmountInPennies
    FeeConditionResponseDto:
      type: object
      properties:
        itemTypeFeeConditionUuid:
          type: string
        sortOrder:
          type: number
        amountType:
          $ref: '#/components/schemas/FeeConditionAmountType'
        rentRangeFrom:
          type: number
        rentRangeTo:
          type: number
        rateThreshold:
          type: number
      required:
        - itemTypeFeeConditionUuid
        - sortOrder
        - amountType
        - rentRangeFrom
        - rentRangeTo
        - rateThreshold
    FeeConditionAmountType:
      type: string
      enum:
        - FIXED
        - PERCENT

````