Module jonix.onix2

Class Price

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

public class Price extends Object implements OnixComposite.OnixSuperComposite, Serializable

Price composite

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

Reference name <Price>
Short tag <price>

This tag may be included in the following composites:

Possible placements within ONIX message:

See Also:
  • Field Details

  • Constructor Details

    • Price

      public Price()
    • Price

      public Price(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 (<Price> or <price>) is explicitly provided in the ONIX XML
    • ifExists

      public void ifExists(Consumer<Price> 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
    • priceAmount

      public PriceAmount priceAmount()

      The amount of a price. Mandatory in each occurrence of the <Price> composite, and non-repeating.

      Jonix-Comment: this field is required
    • countryCodes

      public ListOfOnixCodelist<CountryCode,Countrys> countryCodes()

      A code identifying a country in which the price given in <PriceAmount> applies. This allows a supplier to list different prices for specific countries by repeating the <Price> composite rather than having to repeat the whole of the <SupplyDetail> composite. Optional, and repeatable if a single price applies to multiple countries.

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

      public PriceTypeCode priceTypeCode()

      An ONIX code indicating the type of the price in the <PriceAmount> field within the <Price> composite. Optional, provided that a <DefaultPriceTypeCode> has been specified in the message header, and non-repeating.

      Jonix-Comment: this field is optional
    • priceQualifier

      public PriceQualifier priceQualifier()

      An ONIX code which further specifies the type of price, eg member price, reduced price when purchased as part of a set. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • priceTypeDescription

      public PriceTypeDescription priceTypeDescription()

      Free text which further describes the price type. Optional and non-repeating. In the Netherlands, when the <PriceQualifier> code identifies a “voucher price”, the <PriceTypeDescription> should give the “EAN action number” that identifies the offer.

      Jonix-Comment: this field is optional
    • pricePer

      public PricePer pricePer()

      An ONIX code indicating the unit of product which is the basis for the price carried in an occurrence of the <Price> composite. Optional and non-repeating. Where the price applies to a copy of the whole product, this field is normally omitted.

      Jonix-Comment: this field is optional
    • minimumOrderQuantity

      public MinimumOrderQuantity minimumOrderQuantity()

      The minimum number of copies which must be ordered to obtain the price carried in an occurrence of the <Price> composite. Optional and non-repeating. If the field is present, the price is a quantity price. If the field is omitted, the price applies to a single unit.

      Jonix-Comment: this field is optional
    • classOfTrade

      public ClassOfTrade classOfTrade()

      Text indicating the class of trade to which the price carried in an occurrence of the <Price> composite is applicable, eg Institutional, General trade, Wholesale distributor, which may be represented by a suitable code or abbreviation agreed between trading partners. This element should be used only in the absence of a “Default class of trade” <m193> in the message header, or when the class of trade is other than the default.

      Jonix-Comment: this field is optional
    • bicDiscountGroupCode

      public BICDiscountGroupCode bicDiscountGroupCode()

      A BIC code indicating the supplier’s discount group to which the price carried in an occurrence of the <Price> composite belongs. This code does not identify an absolute rate of discount, but it allows a bookseller to derive the actual discount by reference to a look-up table provided separately by the supplier.

      Jonix-Comment: this field is optional
    • discountPercent

      public DiscountPercent discountPercent()

      The supplier’s discount percentage applicable to the price carried in an occurrence of the <Price> composite. Optional and non-repeating. Use only when an ONIX message is sent within the context of a specific trading relationship.

      Jonix-Comment: this field is optional
    • priceStatus

      public PriceStatus priceStatus()

      An ONIX code which specifies the status of a price. Optional and non-repeating. If the field is omitted, the default “unspecified” will apply.

      Jonix-Comment: this field is optional
    • currencyCode

      public CurrencyCode currencyCode()

      An ISO standard code identifying the currency in which a price is given in <PriceAmount>, unless it is the default currency for the exchange. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • territory

      public Territory territory()

      One or more ONIX codes identifying a territory, other than a country, in which the price given in <PriceAmount> applies. Successive codes may be separated by spaces. Thus the element can carry an unlimited number of territory codes. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • countryExcluded

      public CountryExcluded countryExcluded()

      One or more ISO standard codes identifying a country which is excluded from a territory specified in <Territory>. Successive codes may be separated by spaces. Thus, a single occurrence of the element can carry an unlimited number of country codes. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • territoryExcluded

      public TerritoryExcluded territoryExcluded()

      One or more ONIX codes identifying a territory, which is excluded from a country specified in <CountryCode> or from a territory specified in <Territory>. Successive codes may be separated by spaces. Thus the element can carry an unlimited number of territory codes. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • taxRateCode1

      public TaxRateCode1 taxRateCode1()

      A code which specifies a value added tax rate applying to the whole of the price, or to the amount of the price which is specified in <TaxableAmount1> if present. Optional and non-repeating.

      If the product is taxable at a single rate, or is wholly exempt or zero-rated, <TaxRateCode1> may be sent on its own, or with any combination of <TaxRatePercent1>, <TaxableAmount1> and <TaxAmount1>, although it is best practise to send all these three elements.

      If the product carries mixed tax rates, the minimum requirement is to send <TaxRateCode1>, <TaxRateCode2>, <TaxableAmount1> and <TaxableAmount2>, though again best practise would be to send all eight tax elements so that the tax calculation is made entirely explicit.

      Jonix-Comment: this field is optional
    • taxRatePercent1

      public TaxRatePercent1 taxRatePercent1()

      A tax rate expressed numerically as a percentage. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxableAmount1

      public TaxableAmount1 taxableAmount1()

      The amount of the unit price of the product, excluding tax, which is taxable at the rate specified by <TaxRateCode1> and/or <TaxRatePercent1>. This may be the whole of the unit price before tax, if the item carries tax at the same rate on the whole price; or part of the unit price in the case of a mixed tax rate product. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxAmount1

      public TaxAmount1 taxAmount1()

      The amount of tax chargeable at the rate specified by <TaxRateCode1> and/or <TaxRatePercent1>. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxRateCode2

      public TaxRateCode2 taxRateCode2()

      A code which specifies a value added tax rate applying to the amount of the price which is specified in <TaxableAmount2>. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxRatePercent2

      public TaxRatePercent2 taxRatePercent2()

      A tax rate expressed numerically as a percentage. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxableAmount2

      public TaxableAmount2 taxableAmount2()

      The amount of the unit price of the product, excluding tax, which is taxable at the rate specified by <TaxRateCode2> and/or <TaxRatePercent2>. This may be the whole of the unit price before tax, if the item carries tax at the same rate on the whole price; or part of the unit price in the case of a mixed tax rate product. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • taxAmount2

      public TaxAmount2 taxAmount2()

      The amount of tax chargeable at the rate specified by <TaxRateCode2> and/or <TaxRatePercent2>. See notes on <TaxRateCode1>.

      Jonix-Comment: this field is optional
    • priceEffectiveFrom

      public PriceEffectiveFrom priceEffectiveFrom()

      The date from which a price becomes effective. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • priceEffectiveUntil

      public PriceEffectiveUntil priceEffectiveUntil()

      The date until which a price remains effective. Optional and non-repeating.

      Jonix-Comment: this field is optional
    • batchBonuss

      A repeatable group of data elements which together specify a batch bonus, ie a quantity of free copies which are supplied with a certain order quantity. The <BatchBonus> composite is optional.

      Jonix-Comment: this list may be empty
    • discountCodeds

      A repeatable group of data elements which together define a discount code from a specified scheme, and allowing different discount code schemes to be supported without defining additional data elements. Optional.

      Jonix-Comment: this list may be empty