Module jonix.onix3

Class SupplyDetail

java.lang.Object
com.tectonica.jonix.onix3.SupplyDetail
All Implemented Interfaces:
OnixComposite, OnixComposite.OnixSuperComposite, OnixTag, Serializable

public class SupplyDetail extends Object implements OnixComposite.OnixSuperComposite, Serializable

Supply detail composite

A group of data elements which together give details of a supply source, and price and availability from that source. Mandatory in each ordinary occurrence of the <ProductSupply> block, and repeatable to give details of multiple supply sources.

Exceptionally, <SupplyDetail> may be omitted only within a partial or ‘block update’ (Notification or update type 04, see P.1.2) where a <MarketReference> is supplied, when the intention is to remove all previously-supplied Supply details for the referenced market (for example when one market is being merged into another).

Reference name <SupplyDetail>
Short tag <supplydetail>
Cardinality 0…n

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • SupplyDetail

      public SupplyDetail()
    • SupplyDetail

      public SupplyDetail(Element element)
  • Method Details

    • _initialize

      public void _initialize()
      Description copied from interface: OnixComposite
      This is an internal API. Since Jonix 8.0, composite objects are being populated lazily. This method initiates the population process, and is invoked internally by the accessor APIs of the composites
      Specified by:
      _initialize in interface OnixComposite
    • exists

      public boolean exists()
      Description copied from interface: OnixTag
      indicates whether this tag exists in the ONIX record
      Specified by:
      exists in interface OnixTag
      Returns:
      whether this tag (<SupplyDetail> or <supplydetail>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<SupplyDetail> action)
    • getXmlElement

      public Element getXmlElement()
      Description copied from interface: OnixComposite
      For advanced use-cases only.
      Specified by:
      getXmlElement in interface OnixComposite
      Returns:
      native representation of the XML element underlying to this tag
    • supplier

      public Supplier supplier()

      A group of data elements which together identify a specific supplier. Mandatory in each occurrence of the <SupplyDetail> composite, and not repeatable.

      Jonix-Comment: this field is required
    • productAvailability

      public ProductAvailability productAvailability()

      An ONIX code indicating the availability of a product from a supplier. Mandatory in each occurrence of the <SupplyDetail> composite, and non-repeating.

      Jonix-Comment: this field is required
    • orderTime

      public OrderTime orderTime()

      The expected average number of business days from receipt of order to dispatch (for items ‘manufactured on demand’ or ‘only to order’). Optional and non-repeating.

      Jonix-Comment: this field is optional
    • newSupplier

      public NewSupplier newSupplier()

      An optional group of data elements which together specify a new supply source to which orders are referred. Use only when the code in <ProductAvailability> indicates ‘no longer available from us, refer to new supplier’. Only one occurrence of the composite is permitted in this context.

      Jonix-Comment: this field is optional
    • packQuantity

      public PackQuantity packQuantity()

      The quantity in each carton or binder’s pack in stock currently held by the supplier. Optional and non-repeating.

      Note that orders do not have to be aligned with multiples of the pack quantity, but such orders may be more convenient to handle.

      Jonix-Comment: this field is optional
    • palletQuantity

      public PalletQuantity palletQuantity()

      The quantity (number of copies) on each complete pallet in stock currently held by the supplier. Optional and non-repeating. Of course, orders do not have to be aligned to the pallet quantity, but for bulk orders, it may be useful to know how many pallets will be required for a delivery.

      Jonix-Comment: this field is optional
    • orderQuantityMultiple

      public OrderQuantityMultiple orderQuantityMultiple()

      The order quantity multiple that must be used in any order for the product placed with the supplier. Optional, but where supplied, must be preceded by at least one <OrderQuantityMinimum> element. For example with a minimum order quantity of 6 and a multiple of 4, orders for 6, 10 or 14 copies are acceptable, but orders for fewer than 6, or for 7, 8, 9 or 11 copies are not. If omitted, the minimum or any larger quantity may be ordered.

      Jonix-Comment: this field is optional
    • unpricedItemType

      public UnpricedItemType unpricedItemType()

      An ONIX code which specifies the product is free of charge, or a reason why a price is not sent. If code value 02 is used to send advance information without giving a price, the price must be confirmed as soon as possible. Optional and non-repeating, but required if the <SupplyDetail> composite does not carry a price.

      Use here in preference to P.26.70b when the product is available only under free of charge or unpriced terms from the supplier.

      Jonix-Comment: this field is optional
    • supplyContacts

      public ListOfOnixComposite<SupplyContact> supplyContacts()

      An optional group of data elements which together specify an organization (which may or may not be the supplier) responsible for dealing with enquiries related to the product. Repeatable in order to specify multiple contacts.

      Jonix-Comment: this list may be empty
    • supplierOwnCodings

      An optional and repeatable group of data elements which together allow a supplier to send coded data of a specified type, using its own coding schemes.

      Jonix-Comment: this list may be empty
    • returnsConditionss

      An optional and repeatable group of data elements which together allow the supplier’s returns conditions to be specified in coded form.

      Jonix-Comment: this list may be empty
    • supplyDates

      An optional group of data elements which together specify a date associated with the supply status of the product, eg expected ship date. Repeatable in order to specify multiple dates.

      Jonix-Comment: this list may be empty
    • stocks

      public ListOfOnixComposite<Stock> stocks()

      An optional group of data elements which together specify a quantity of stock, repeatable where a supplier has more than one warehouse or supplier location.

      Within a single instance of the <Stock> composite, the location name and identifier are both optional. If <Stock> is repeated, at least one identifier or a location name must be included in each instance.

      Jonix-Comment: this list may be empty
    • orderQuantityMinimums

      public ListOfOnixElement<OrderQuantityMinimum,Integer> orderQuantityMinimums()

      The minimum quantity of the product that may be ordered in a single order placed with the supplier. Optional. If omitted, any number may be ordered.

      If supplied without a succeeding Minimum initial order quantity, the Minimum order quantity applies to all orders for the product. If followed by a Minimum initial order quantity, the Minimum order quantity applies to the second and subsequent orders for the product.

      Jonix-Comment: this list may be empty
    • prices

      public ListOfOnixComposite<Price> prices()

      An optional group of data elements which together specify a unit price, repeatable in order to specify multiple prices. Each <SupplyDetail> composite must include either one or more prices, or a single <UnpricedItemType> element (see P.26.42).

      Where multiple prices are specified for a product, each price option should specify a distinct combination of its terms of trade and the group of end customers it is applicable to, any relevant price conditions, periods of time, currency and territory etc, so that the data recipient can clearly select the correct pricing option. If, under a particular combination, the product is free of charge or its price is not yet set, an <UnpricedItemType> element (P.26.70b) must be used in place of a <PriceAmount>. Each pricing option may optionally be given an identifier for use in subsequent revenue reporting or for other internal purposes.

      Jonix-Comment: this list may be empty