Interface RecurringOrder

All Superinterfaces:
BaseResource

public interface RecurringOrder extends BaseResource
RecurringOrder
Example to create an instance using the builder pattern

     RecurringOrder recurringOrder = RecurringOrder.builder()
             .id("{id}")
             .version(0.3)
             .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .cart(cartBuilder -> cartBuilder)
             .originOrder(originOrderBuilder -> originOrderBuilder)
             .startsAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .recurringOrderState(RecurringOrderState.ACTIVE)
             .schedule(scheduleBuilder -> scheduleBuilder)
             .build()
 
  • Method Details

    • getId

      @NotNull @NotNull String getId()

      Unique identifier of the RecurringOrder.

      Specified by:
      getId in interface BaseResource
      Returns:
      id
    • getKey

      String getKey()

      User-defined unique identifier of the RecurringOrder.

      Returns:
      key
    • getVersion

      @NotNull @NotNull Long getVersion()

      Current version of the RecurringOrder.

      Specified by:
      getVersion in interface BaseResource
      Returns:
      version
    • getCart

      @NotNull @Valid @NotNull @Valid CartReference getCart()

      Reference to the Cart for a RecurringOrder. The referenced Cart will have the RecurringOrder CartOrigin.

      Returns:
      cart
    • getOriginOrder

      @NotNull @Valid @NotNull @Valid OrderReference getOriginOrder()

      Reference to the original Order that generated this RecurringOrder. This field is automatically populated when the RecurringOrder is created via the Create Order from Cart endpoint and the Cart contains Line Items with defined recurrenceInfo. When the RecurringOrder is created directly via the Create RecurringOrder endpoint, this field remains empty.

      Returns:
      originOrder
    • getStartsAt

      @NotNull @NotNull ZonedDateTime getStartsAt()

      Date and time (UTC) when the RecurringOrder starts creating new Orders.

      Returns:
      startsAt
    • getResumesAt

      ZonedDateTime getResumesAt()

      Date and time (UTC) when the RecurringOrder resumes creating Orders after being unpaused.

      Returns:
      resumesAt
    • getExpiresAt

      ZonedDateTime getExpiresAt()

      Date and time (UTC) when the RecurringOrder expires.

      Returns:
      expiresAt
    • getLastOrderAt

      ZonedDateTime getLastOrderAt()

      Date and time (UTC) when the last Order was created from this RecurringOrder.

      Returns:
      lastOrderAt
    • getNextOrderAt

      ZonedDateTime getNextOrderAt()

      Date and time (UTC) when the next Order will be created from this RecurringOrder.

      Returns:
      nextOrderAt
    • getSkipConfiguration

      @Valid @Valid SkipConfiguration getSkipConfiguration()

      Information about current and future skips for this RecurringOrder.

      Returns:
      skipConfiguration
    • getStore

      @Valid @Valid StoreKeyReference getStore()

      Reference to a Store.

      Returns:
      store
    • getBusinessUnit

      @Valid @Valid BusinessUnitKeyReference getBusinessUnit()

      Reference to the Business Unit that the RecurringOrder belongs to.

      Returns:
      businessUnit
    • getState

      @Valid @Valid StateReference getState()

      State of the RecurringOrder in a custom workflow.

      Returns:
      state
    • getRecurringOrderState

      @NotNull @NotNull RecurringOrderState getRecurringOrderState()

      Current state of the RecurringOrder.

      Returns:
      recurringOrderState
    • getSchedule

      @NotNull @Valid @NotNull @Valid RecurrencePolicySchedule getSchedule()

      Schedule of the RecurringOrder.

      Returns:
      schedule
    • getCustomer

      @Valid @Valid CustomerReference getCustomer()

      The Customer that the RecurringOrder belongs to.

      Returns:
      customer
    • getCustomerEmail

      String getCustomerEmail()

      Email address of the Customer that the RecurringOrder belongs to.

      Returns:
      customerEmail
    • getCustom

      @Valid @Valid CustomFields getCustom()

      Custom Fields of the RecurringOrder.

      Returns:
      custom
    • getCreatedAt

      @NotNull @NotNull ZonedDateTime getCreatedAt()

      Date and time (UTC) when the RecurringOrder was created.

      Specified by:
      getCreatedAt in interface BaseResource
      Returns:
      createdAt
    • getLastModifiedAt

      @NotNull @NotNull ZonedDateTime getLastModifiedAt()

      Date and time (UTC) when the RecurringOrder was last updated.

      Specified by:
      getLastModifiedAt in interface BaseResource
      Returns:
      lastModifiedAt
    • getLastModifiedBy

      @Valid @Valid LastModifiedBy getLastModifiedBy()

      IDs and references that last modified the RecurringOrder.

      Returns:
      lastModifiedBy
    • getCreatedBy

      @Valid @Valid CreatedBy getCreatedBy()

      IDs and references that created the RecurringOrder.

      Returns:
      createdBy
    • setId

      void setId(String id)

      Unique identifier of the RecurringOrder.

      Specified by:
      setId in interface BaseResource
      Parameters:
      id - value to be set
    • setKey

      void setKey(String key)

      User-defined unique identifier of the RecurringOrder.

      Parameters:
      key - value to be set
    • setVersion

      void setVersion(Long version)

      Current version of the RecurringOrder.

      Specified by:
      setVersion in interface BaseResource
      Parameters:
      version - value to be set
    • setCart

      void setCart(CartReference cart)

      Reference to the Cart for a RecurringOrder. The referenced Cart will have the RecurringOrder CartOrigin.

      Parameters:
      cart - value to be set
    • setOriginOrder

      void setOriginOrder(OrderReference originOrder)

      Reference to the original Order that generated this RecurringOrder. This field is automatically populated when the RecurringOrder is created via the Create Order from Cart endpoint and the Cart contains Line Items with defined recurrenceInfo. When the RecurringOrder is created directly via the Create RecurringOrder endpoint, this field remains empty.

      Parameters:
      originOrder - value to be set
    • setStartsAt

      void setStartsAt(ZonedDateTime startsAt)

      Date and time (UTC) when the RecurringOrder starts creating new Orders.

      Parameters:
      startsAt - value to be set
    • setResumesAt

      void setResumesAt(ZonedDateTime resumesAt)

      Date and time (UTC) when the RecurringOrder resumes creating Orders after being unpaused.

      Parameters:
      resumesAt - value to be set
    • setExpiresAt

      void setExpiresAt(ZonedDateTime expiresAt)

      Date and time (UTC) when the RecurringOrder expires.

      Parameters:
      expiresAt - value to be set
    • setLastOrderAt

      void setLastOrderAt(ZonedDateTime lastOrderAt)

      Date and time (UTC) when the last Order was created from this RecurringOrder.

      Parameters:
      lastOrderAt - value to be set
    • setNextOrderAt

      void setNextOrderAt(ZonedDateTime nextOrderAt)

      Date and time (UTC) when the next Order will be created from this RecurringOrder.

      Parameters:
      nextOrderAt - value to be set
    • setSkipConfiguration

      void setSkipConfiguration(SkipConfiguration skipConfiguration)

      Information about current and future skips for this RecurringOrder.

      Parameters:
      skipConfiguration - value to be set
    • setStore

      void setStore(StoreKeyReference store)

      Reference to a Store.

      Parameters:
      store - value to be set
    • setBusinessUnit

      void setBusinessUnit(BusinessUnitKeyReference businessUnit)

      Reference to the Business Unit that the RecurringOrder belongs to.

      Parameters:
      businessUnit - value to be set
    • setState

      void setState(StateReference state)

      State of the RecurringOrder in a custom workflow.

      Parameters:
      state - value to be set
    • setRecurringOrderState

      void setRecurringOrderState(RecurringOrderState recurringOrderState)

      Current state of the RecurringOrder.

      Parameters:
      recurringOrderState - value to be set
    • setSchedule

      void setSchedule(RecurrencePolicySchedule schedule)

      Schedule of the RecurringOrder.

      Parameters:
      schedule - value to be set
    • setCustomer

      void setCustomer(CustomerReference customer)

      The Customer that the RecurringOrder belongs to.

      Parameters:
      customer - value to be set
    • setCustomerEmail

      void setCustomerEmail(String customerEmail)

      Email address of the Customer that the RecurringOrder belongs to.

      Parameters:
      customerEmail - value to be set
    • setCustom

      void setCustom(CustomFields custom)

      Custom Fields of the RecurringOrder.

      Parameters:
      custom - value to be set
    • setCreatedAt

      void setCreatedAt(ZonedDateTime createdAt)

      Date and time (UTC) when the RecurringOrder was created.

      Specified by:
      setCreatedAt in interface BaseResource
      Parameters:
      createdAt - value to be set
    • setLastModifiedAt

      void setLastModifiedAt(ZonedDateTime lastModifiedAt)

      Date and time (UTC) when the RecurringOrder was last updated.

      Specified by:
      setLastModifiedAt in interface BaseResource
      Parameters:
      lastModifiedAt - value to be set
    • setLastModifiedBy

      void setLastModifiedBy(LastModifiedBy lastModifiedBy)

      IDs and references that last modified the RecurringOrder.

      Parameters:
      lastModifiedBy - value to be set
    • setCreatedBy

      void setCreatedBy(CreatedBy createdBy)

      IDs and references that created the RecurringOrder.

      Parameters:
      createdBy - value to be set
    • of

      static RecurringOrder of()
      factory method
      Returns:
      instance of RecurringOrder
    • of

      static RecurringOrder of(RecurringOrder template)
      factory method to create a shallow copy RecurringOrder
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • copyDeep

      RecurringOrder copyDeep()
      Specified by:
      copyDeep in interface BaseResource
    • deepCopy

      @Nullable static RecurringOrder deepCopy(@Nullable RecurringOrder template)
      factory method to create a deep copy of RecurringOrder
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static RecurringOrderBuilder builder()
      builder factory method for RecurringOrder
      Returns:
      builder
    • builder

      static RecurringOrderBuilder builder(RecurringOrder template)
      create builder for RecurringOrder instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withRecurringOrder

      default <T> T withRecurringOrder(Function<RecurringOrder,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<RecurringOrder> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference