Module jonix.onix2

Class SupplyDetail

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

public class SupplyDetail extends Object implements OnixComposite.OnixSuperComposite, Serializable

Supplier and trade data composite

A repeatable group of data elements which together give details of a trade supply source and the product price and availability from that source.

Reference name <SupplyDetail>
Short tag <supplydetail>

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
    • supplierEANLocationNumber

      public SupplierEANLocationNumber supplierEANLocationNumber()

      An EAN-13 location number identifying a supply source from which the product may be ordered by a trade customer. Now also known as an “EAN-UCC Global Location Number” or GLN. Optional, but each occurrence of the <SupplyDetail> composite must carry either at least one supplier identifier, or a <SupplierName>.

      Jonix-Comment: this field is required
    • availabilityCode

      public AvailabilityCode availabilityCode()

      An ONIX code indicating the availability of a product. Each occurrence of the <SupplyDetail> composite must carry either <AvailabilityCode> or <ProductAvailability>, or both, but <ProductAvailability> is now strongly preferred. Non-repeating.

      Some code values require other accompanying data. Where the code lists state that one of the following is required or may optionally be sent, use the element indicated below:

      • Expected availability date – use <ExpectedShipDate>
      • Remainder date – <ExpectedShipDate> is again used
      • Estimated time to supply – <OrderTime>
      • Identifier of alternative or successor product – <RelatedProduct>, Group PR.23
      • New supplier – <NewSupplier>
      Jonix-Comment: this field is required
    • supplyToCountrys

      public ListOfOnixElement<SupplyToCountry,Set<Countrys>> supplyToCountrys()

      One or more ISO standard codes identifying a country for which the supplier holds distribution rights for the product. Successive codes may be separated by spaces. Thus, a single occurrence of the element can carry an unlimited number of country codes. For upwards compatibility, the element remains repeatable, so that multiple countries can be listed as multiple occurrences of the whole element. Optional and repeatable.

      Jonix-Comment: this list is required to contain at least one item
    • supplierSAN

      public SupplierSAN supplierSAN()

      The book trade Standard Address Number that identifies the supplier with whom trade orders for the product should be placed. Used in the US and UK. Optional, but each occurrence of the <SupplyDetail> composite must carry either at least one supplier identifier, or a <SupplierName>.

      Jonix-Comment: this field is optional
    • supplierName

      public SupplierName supplierName()

      The name of a supply source from which the product may be ordered by a trade customer. Optional and non-repeating; required if no supplier identifier is sent.

      Jonix-Comment: this field is optional
    • supplierRole

      public SupplierRole supplierRole()

      An ONIX code identifying the role of a supplier in relation to the product, eg Publisher, Publisher’s exclusive distributor, etc. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • supplyToTerritory

      public SupplyToTerritory supplyToTerritory()

      One or more ONIX codes identifying a territory which is not a country, but which is precisely defined in geographical terms, eg World, Northern Ireland, Australian Capital Territory. Successive codes may be separated by spaces. Thus the element can carry an unlimited number of territory codes, for territories for which the supplier has distribution rights. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • supplyRestrictionDetail

      public SupplyRestrictionDetail supplyRestrictionDetail()

      A free text field describing a non-geographical restriction of the market covered by a distributor or other supplier. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • returnsCodeType

      public ReturnsCodeType returnsCodeType()

      An ONIX code identifying the scheme from which the returns conditions code in <ReturnsCode> is taken. Optional and non-repeating, but this field must be present if <ReturnsCode> is present.

      Jonix-Comment: this field is optional
    • returnsCode

      public ReturnsCode returnsCode()

      A returns conditions code from the scheme specified in <ReturnsCodeType>. Optional and non-repeating, but this field must be present if <ReturnsCodeType> is present.

      Jonix-Comment: this field is optional
    • lastDateForReturns

      public LastDateForReturns lastDateForReturns()

      The last date for returns, when the supplier has placed a time limit on returns from retailers. Typically this occurs when the publisher has made the product out-of-print. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • productAvailability

      public ProductAvailability productAvailability()

      An ONIX code indicating the availability of a product from a supplier. This element has been added as a preferred successor to the <AvailabilityCode> element, and is intended to be used both by publishers (who should also include the new <PublishingStatus> element in PR.20) and by intermediary suppliers (who may also include <PublishingStatus> if they are in a position to do so. Each occurrence of the <SupplyDetail> composite must carry either <AvailabilityCode> or <ProductAvailability>, or both. The element is non-repeating. Recommended practise is in future to use this new element, and, where possible and appropriate, to include the <PublishingStatus> element in PR.20. It is likely that the <AvailabilityCode> element will be “deprecated” in due course in a future release.

      Jonix-Comment: this field is optional
    • intermediaryAvailabilityCode

      public IntermediaryAvailabilityCode intermediaryAvailabilityCode()

      An ONIX code indicating the availability of a product from an intermediary supplier. This element was added in preparation for an expected revision of availability status coding, but in the event will not now be generally used. The element is being used as an interim measure by the Australian ONIX group to carry local availability status, but will be replaced on completion of the revised code lists. The element will be withdrawn from the ONIX format in a future release.

      Jonix-Comment: this field is optional
    • newSupplier

      public NewSupplier newSupplier()

      A group of data elements which together specify a new supply source to which orders are referred. Use only when the code in <ProductAvailability> or <AvailabilityCode> 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
    • dateFormat

      public DateFormat dateFormat()

      An ONIX code which specifies the format of the date in <ExpectedShipDate>. Optional an non-repeating. If the field is omitted, the default format YYYYMMDD will be assumed.

      Jonix-Comment: this field is optional
    • expectedShipDate

      public ExpectedShipDate expectedShipDate()

      If the product is not currently available, the date on which shipping from the supplier to retailers is expected to begin or resume. Optional and non-repeating; required with certain code values in the <AvailabilityCode> element. The format is as specified in the <DateFormat> field. The default format is YYYYMMDD, ie an exact year-month-day.

      Jonix-Comment: this field is optional
    • onSaleDate

      public OnSaleDate onSaleDate()

      The date when a new product can be placed on sale by retailers in the market served by the supplier. Optional and non-repeating. If the <OnSaleDate> element is used, it means that there is an embargo on sales to consumers before the stated date. Otherwise, sales to consumers are permitted as soon as stocks reach retailers. In the UK, publishers who are following the PA/BA Launch Dates Code of Practice should use this element for the Launch Date.

      Jonix-Comment: this field is optional
    • orderTime

      public OrderTime orderTime()

      The expected average number of days from receipt of order to despatch (for items “manufactured on demand” or “only to order”). Optional and non-repeating.

      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. (This element is placed in Group PR.24 since it cannot be assumed that pack quantities will be the same for stock held at different suppliers.)

      Jonix-Comment: this field is optional
    • audienceRestrictionFlag

      public AudienceRestrictionFlag audienceRestrictionFlag()

      Used with <AudienceRestrictionNote> where within a particular market there is an additional restriction on sale, imposed either by the publisher (eg an answer book to be sold only to bona fide teachers) or by another agency (eg “indexing” in the German market). Optional and non-repeating.

      Jonix-Comment: this field is optional
    • audienceRestrictionNote

      public AudienceRestrictionNote audienceRestrictionNote()

      Free text describing a non-territorial restriction on supply, only when <AudienceRestrictionFlag> is present. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • priceAmount

      public PriceAmount priceAmount()

      The amount of a unit price. This price amount element, outside of the <Price> composite, may be used if and only if a default price type and currency have been specified in the message header, and only one price is to be given. The element is retained for purposes of upwards compatibility only, and all new implementations should use the <Price> composite.

      Jonix-Comment: this field is optional
    • unpricedItemType

      public UnpricedItemType unpricedItemType()

      An ONIX code which specifies a reason why a price amount 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.

      Jonix-Comment: this field is optional
    • reissue

      public Reissue reissue()

      A group of data elements which together specify that a product is to be reissued within the market to which the <SupplyDetail> composite applies. Optional and non-repeating. The <Reissue> composite is used only when the publisher intends to re-launch the product under the same ISBN. There are two possible cases:

      1. When the product is unavailable during the period immediately before reissue. In this case, the <AvailabilityCode> should carry the value UR for “unavailable, awaiting reissue”, and the ONIX record can be updated to describe the reissued product as soon as details can be made available
      2. When the product is still available during the period up to the reissue date. In this case, the ONIX record should continue to describe the existing product and the <AvailabilityCode> value should remain IP right up to the reissue date. At that date, the record should be updated to describe the reissued product, with the <AvailabilityCode> value remaining IP.

      After reissue, it is recommended that the <Reissue> composite should be retained as a permanent element of the ONIX record, carrying only the <ReissueDate> element, which will then indicate “date last reissued”.

      Jonix-Comment: this field is optional
    • supplierIdentifiers

      A repeatable group of data elements which together define the identifier of a supplier in accordance with a specified scheme, and allowing different types of supplier identifier to be included without defining additional data elements. Optional, but each occurrence of the <SupplyDetail> composite must carry either at least one supplier identifier, or a <SupplierName>.

      Jonix-Comment: this list may be empty
    • telephoneNumbers

      public ListOfOnixElement<TelephoneNumber,String> telephoneNumbers()

      A telephone number of a supply source from which the product may be ordered by a trade customer. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • faxNumbers

      public ListOfOnixElement<FaxNumber,String> faxNumbers()

      A fax number of a supply source from which the product may be ordered by a trade customer. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • emailAddresss

      public ListOfOnixElement<EmailAddress,String> emailAddresss()

      An email address for a supply source from which the product may be ordered by a trade customer. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • websites

      An optional and repeatable group of data elements which together identify and provide pointers to a website which is related to the supplier identified in an occurrence of the <SupplyDetail> composite.

      Jonix-Comment: this list may be empty
    • supplyToRegions

      An ONIX code for a region to which the supplier is able to supply. A full code list is yet to be defined. A provisional coding, for UK use only, is given for Open Market supply. This element will not be further developed, and is superseded by <SupplyToTerritory> above. It is retained for purposes of upwards compatibility only. Note that Open Market distribution rights should be specified, like any others, by listing countries and territories.

      Jonix-Comment: this list may be empty
    • supplyToCountryExcludeds

      public ListOfOnixElement<SupplyToCountryExcluded,Set<Countrys>> supplyToCountryExcludeds()

      One or more ISO standard codes identifying a country which is excluded from a territory specified in <SupplyToTerritory>. Successive codes may be separated by spaces. Thus, a single occurrence of the element can carry an unlimited number of country codes. For upwards compatibility, the element remains repeatable, so that multiple countries can be listed as multiple occurrences of the whole element. Optional and repeatable.

      Jonix-Comment: this list may be empty
    • stocks

      public ListOfOnixComposite<Stock> stocks()

      A repeatable group of data elements which together specify a quantity of stock and, where a supplier has more than one warehouse, a supplier location. Optional.

      Jonix-Comment: this list may be empty
    • prices

      public ListOfOnixComposite<Price> prices()

      A repeatable group of data elements which together specify a unit price.

      Jonix-Comment: this list may be empty