Skip to content

Instantly share code, notes, and snippets.

@yoeluk
Created January 7, 2017 16:16
Show Gist options
  • Save yoeluk/d6b9b8964b74c3db9663800a1fc9c842 to your computer and use it in GitHub Desktop.
Save yoeluk/d6b9b8964b74c3db9663800a1fc9c842 to your computer and use it in GitHub Desktop.
// Generated by <a href="http://scalaxb.org/">scalaxb</a>.
package generated
case class SKUList(SKU: Seq[generated.SKU] = Nil)
case class SKU(basic_data: generated.Basic_data,
product: generated.ProductType,
managed: Option[generated.Managed] = None,
RATINGS: Option[generated.RATINGS] = None,
olifs: Option[generated.Olifs] = None,
aggregate: Option[generated.Aggregate] = None,
product_enrichment: Option[generated.Product_enrichment] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val site = attributes("@site").as[String]
}
case class Basic_data(consumer_item_number: BigDecimal,
sku_id: BigDecimal,
createddate: String,
mtep_sales_unit: String,
ProductPageUrls: Option[String] = None)
case class Locale(product_name: Option[String] = None,
product_desc: Option[String] = None,
product_long_desc: Option[String] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val lang = attributes("@lang").as[String]
}
trait LocaleAll
case class ProductType(product_id: BigDecimal,
product_pid: String,
product_name: String,
product_description: String,
product_long_description: String,
product_variants: String,
product_type: String,
locale: generated.Locale)
case class Hazmat(mtep_aerosol_indicator: Option[String] = None,
mtep_air_trans_restrictions: Option[String] = None,
mtep_battery_type: Option[String] = None,
mtep_chemical_indicator: Option[String] = None,
mtep_fire_code_restrictions: Option[String] = None,
mtep_fuel_restriction: Option[String] = None,
mtep_grnd_trans_restrictions: Option[String] = None,
mtep_has_mercury: Option[String] = None,
mtep_msds: Option[String] = None,
mtep_non_spillable_battery: Option[String] = None,
mtep_pesticide_indicator: Option[String] = None,
mtep_rppc_indicator: Option[String] = None,
mtep_water_transportation_restrictions: Option[String] = None)
trait HazmatAll
case class Locale2(mtep_meta_title: Option[String] = None,
mtep_meta_keyword: Option[String] = None,
mtep_meta_description: Option[String] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val lang = attributes("@lang").as[String]
}
trait Locale2All
case class Mtep_subscription_frequency(frequency: Seq[String] = Nil)
case class Mtep_zone_ineligibility(zone: Seq[Int] = Nil)
case class Managed(parent_ids: Option[generated.ParentType] = None,
mtep_max_order_quantity: Option[String] = None,
mtep_product_start_date: Option[javax.xml.datatype.XMLGregorianCalendar] = None,
mtep_do_not_replenish_date: Option[String] = None,
mtep_remove_from_catalog_date: Option[String] = None,
mtep_featured_sku: Option[String] = None,
mtep_list_eligible: Option[String] = None,
mtep_release_date: Option[Option[String]] = None,
mtep_pre_order: Option[String] = None,
mtep_order_processing_time: Option[BigDecimal] = None,
mtep_show_sla: Option[String] = None,
mtep_show_slp: Option[String] = None,
mtep_ecom_buyable_ind: Option[String] = None,
serial_number_capture_required: Option[String] = None,
mtep_no_item_detail_available_date: Option[String] = None,
mtep_pull_item_from_site: Option[String] = None,
mtep_in_store_returns_available: Option[String] = None,
mtep_is_returnable: Option[String] = None,
mtep_return_period: Option[BigDecimal] = None,
mtep_age_restriction: Option[String] = None,
mtep_age_restriction_flag: Option[String] = None,
mtep_ship_dimension_height: Option[String] = None,
mtep_ship_dimension_length: Option[String] = None,
mtep_ship_dimension_width: Option[String] = None,
mtep_ship_weight: Option[String] = None,
mtep_ship_dimension_lwh_uom: Option[String] = None,
mtep_ship_weight_uom: Option[String] = None,
mtep_ships_alone: Option[String] = None,
mtep_ship_via_air: Option[String] = None,
mtep_perishable: Option[String] = None,
mtep_ORMD: Option[String] = None,
mtep_ship_in_factory_carton: Option[String] = None,
mtep_shipment_type: Option[String] = None,
mtep_sustainability_item: Option[String] = None,
mtep_buyer: Option[String] = None,
mtep_estimated_shipping_time: Option[String] = None,
mtep_inventory_monitor_rule: Option[String] = None,
mtep_type_of_sku: Option[String] = None,
mtep_is_hot_sku: Option[String] = None,
mtep_call_tag: Option[String] = None,
mtep_top_seller_products: Option[generated.MultiIdType] = None,
mtep_accessory_products: Option[generated.MultiIdType] = None,
mtep_recommended_products: Option[generated.MultiIdType] = None,
mtep_cross_sell: Option[generated.MultiIdType] = None,
mtep_in_store_skus: Option[generated.MultiIdType] = None,
mtep_level_of_service: Option[generated.ServiceType] = None,
mtep_shipping_charges: Option[generated.ChargesType] = None,
mtep_shipping_promotions: Option[generated.PromotionType] = None,
mtep_meta_title: Option[String] = None,
mtep_meta_keyword: Option[String] = None,
mtep_meta_description: Option[String] = None,
mtep_size_chart_flag: Option[String] = None,
mtep_taxcode: Option[String] = None,
mtep_service_agreement_standard: Option[String] = None,
mtep_service_agreement_freight: Option[String] = None,
mtep_service_agreement_expedited: Option[String] = None,
mtep_enable_review: Option[String] = None,
hazmat: Option[generated.Hazmat] = None,
locale: Option[generated.Locale2] = None,
mtep_subscription_frequency: Option[generated.Mtep_subscription_frequency] = None,
mtep_map_price_amt: Option[BigDecimal] = None,
mtep_subscription_eligible: Option[Boolean] = None,
item_picking_zone: Option[BigInt] = None,
mtep_subscription_discount_percentage: Option[BigDecimal] = None,
item_weight_max: Option[BigDecimal] = None,
item_weight_min: Option[BigDecimal] = None,
shipment_method_type: Option[String] = None,
mtep_bulkweight_indicator: Option[Boolean] = None,
national_price_override: Option[Boolean] = None,
mtep_zone_ineligibility: Option[generated.Mtep_zone_ineligibility] = None,
mtep_hide_when_out: Option[Boolean] = None)
trait ManagedAll
case class RATINGS(ProductValue: Option[generated.ProductIdType] = None)
trait RATINGSAll
case class Olif(item_nbr: Option[BigDecimal] = None,
plu_nbr: Option[String] = None,
upc_nbr: Option[BigDecimal] = None,
mds_fam_id: Option[BigDecimal] = None,
product_nbr: Option[String] = None,
wm_accnt_dept_nbr: Option[String] = None,
fineline_nbr: Option[String] = None,
projected_yearly_sales_qty: Option[String] = None,
subclass_nbr: Option[BigDecimal] = None,
item2_desc: Option[String] = None,
asst_type_cd: Option[String] = None,
shlflbl1_colr_desc: Option[String] = None,
item_length_qty: Option[String] = None,
shlflbl2_size_desc: Option[String] = None,
item_width_qty: Option[String] = None,
item_height_qty: Option[String] = None,
item_dim_uom_cd: Option[String] = None,
item_weight_qty: Option[String] = None,
item_weight_uom_cd: Option[String] = None,
vendor_nbr: Option[String] = None,
vendor_dept_nbr: Option[String] = None,
vendor_seq_nbr: Option[String] = None,
vendor_stock_id: Option[String] = None,
vendor_pack_gtin: Option[String] = None,
whse_pack_qty: Option[String] = None,
min_whse_life_qty: Option[String] = None,
whse_rotation_cd: Option[String] = None,
pallet_ti_qty: Option[String] = None,
pallet_hi_qty: Option[String] = None,
whse_pack_height: Option[String] = None,
whse_pack_lwh_uom: Option[String] = None,
whse_pack_length: Option[String] = None,
whse_pack_weight: Option[String] = None,
whse_pack_weight_uom: Option[String] = None,
whse_pack_width: Option[String] = None,
vndr_dept: Option[String] = None,
vndr_seq: Option[String] = None,
whse_casepack_cd: Option[String] = None,
vendor_pack_height: Option[String] = None,
vendor_pack_lwh_uom: Option[String] = None,
vendor_pack_length: Option[String] = None,
vendor_pack_weight: Option[String] = None,
vendor_pack_weight_uom: Option[String] = None,
vendor_pack_width: Option[String] = None,
vendor_pack_qty: Option[String] = None,
vendor_pack_cube_qty: Option[BigDecimal] = None,
vendor_pack_cube_uom_cd: Option[String] = None,
item_crush_factor: Option[String] = None,
replenishment_type: Option[String] = None,
replenishment_subtype: Option[String] = None,
whse_alignment_cd: Option[String] = None,
warehouse_pack_upc: Option[String] = None,
item_length: Option[String] = None,
item_width: Option[String] = None,
item_height: Option[String] = None,
item_dim_uom_code: Option[String] = None,
item_weight: Option[String] = None,
item1_desc: Option[String] = None,
mfgr_sugd_rtl_amt: Option[String] = None,
cust_unit_rtl_amt: Option[BigDecimal] = None,
unit_cost_amt: Option[String] = None,
base_unit_rtl_amt: Option[BigDecimal] = None,
sell_qty: Option[String] = None,
sell_uom_cd: Option[String] = None,
price_comp_qty: Option[String] = None,
price_comp_uom_cd: Option[String] = None,
item_status_cd: Option[String] = None,
item_ord_eff_date: Option[String] = None,
item_rplnshbl_ind: Option[String] = None,
cancel_whn_out_ind: Option[String] = None,
variable_wt_ind: Option[String] = None,
backrm_scale_ind: Option[String] = None,
whse_area_cd: Option[String] = None,
brand_id: Option[String] = None,
overall_olif_status: Option[String] = None,
action: Option[String] = None,
initial_cst: Option[String] = None,
initial_rtl: Option[String] = None,
discount_ind: Option[String] = None,
temp_controlled: Option[String] = None,
conveyable: Option[String] = None,
vendor_pack_upc: Option[String] = None,
hazmat_id: Option[String] = None,
dept_nbr: Option[String] = None,
gtin: Option[String] = None,
last_modified_win: Option[String] = None,
ecom_channel_ind: Option[String] = None,
shelf_life_days_qty: Option[Int] = None,
cycle_count_mode: Option[String] = None,
sold_by_weight: Option[Boolean] = None,
customer_shelf_life_days_qty: Option[Int] = None,
marshal_id: Option[BigInt] = None,
store_channel_ind: Option[String] = None)
trait OlifAll
case class Olifs(olif: Seq[generated.Olif] = Nil)
case class Pickup(Provider: Seq[generated.PickupType] = Nil)
case class Aggregate(product_status: Option[String] = None,
unique_product_id: Option[BigDecimal] = None,
initial_cst: Option[String] = None,
initial_rtl: Option[String] = None,
item1_desc: Option[String] = None,
hazmat_flag: Option[String] = None,
dept_nbr: Option[BigDecimal] = None,
discount_ind: Option[String] = None,
temp_controlled: Option[String] = None,
conveyable: Option[String] = None,
item_rplnshbl_ind: Option[String] = None,
mfgr_sugd_rtl_amt: Option[String] = None,
product_domain_type: Option[String] = None,
Pickup: Option[generated.Pickup] = None)
trait AggregateAll
case class Core(Static: generated.StaticType)
case class Product_Information(Images: generated.ImagesType,
facets: generated.FacetType)
case class ProductType2(Core: generated.Core,
Product_Information: generated.Product_Information)
case class Product_enrichment(ProductValue: generated.ProductType2)
case class Country_of_origin(country: Seq[generated.LocaleType] = Nil)
case class StaticType(prod_label_cont: Option[generated.LocaleType] = None,
short_desc: Option[generated.LocaleType] = None,
seo_text: Option[generated.SEOType] = None,
prod_name: Option[generated.LocaleType] = None,
suplr_wrnty_ln: Option[generated.LocaleType] = None,
suplr_wrnty: Option[generated.LocaleType] = None,
country_of_origin: Option[generated.Country_of_origin] = None,
prod_desc: Option[generated.NonEmptyLocaleType] = None,
ftrs_spec: Option[generated.LocaleType] = None,
addnl_info: Option[generated.LocaleType] = None,
accrs_included: Option[generated.LocaleType] = None,
brand_name: Option[generated.LocaleType] = None,
asmbld_prod_lwh_uom: Option[generated.LocaleType] = None,
asmbld_prod_weight_uom: Option[generated.LocaleType] = None,
un_code: Option[Int] = None,
asmbld_prod_height: Option[String] = None,
asmbld_prod_ln: Option[String] = None,
asmbld_prod_weight: Option[String] = None,
asmbld_prod_width: Option[String] = None,
mfgr_name: Option[String] = None,
mfgr_stock_nbr: Option[String] = None,
model_nbr: Option[String] = None,
private_label_ind: Option[String] = None,
mfgr_sugd_rtl_amt: Option[String] = None,
nbr_of_boxes: Option[String] = None,
choking_hazard_warning: Option[String] = None,
csa_listed: Option[String] = None,
mfgr_url: Option[String] = None,
product_url: Option[String] = None,
variant_group: Option[generated.Variant_group_type] = None)
trait StaticTypeAll
case class Locale3(product_name: Option[String] = None,
product_desc: Option[String] = None,
product_long_desc: Option[String] = None,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val lang = attributes("@lang").as[String]
}
trait Locale3All
case class Variant_group_type(id: String,
display_name: String,
description: String,
long_description: String,
rank: BigDecimal,
locale: generated.Locale3,
variants: Seq[generated.VariantsType] = Nil)
case class VariantsType(variant: Seq[generated.VariantType] = Nil)
case class VariantType(variant_name: Option[generated.LocaleType] = None,
variant_sequence: Option[BigDecimal] = None,
variant_value: Option[generated.NonEmptyLocaleType] = None,
variant_value_sequence: Option[BigDecimal] = None,
selector: Option[generated.SelectorType] = None,
is_visual_swatch: Option[String] = None,
swatch_images: Option[generated.SwatchImagesType] = None)
trait VariantTypeAll
case class SwatchImagesType(ImageProperty: Option[generated.ImagePropertyType] = None)
trait SwatchImagesTypeAll
trait SelectorType
object SelectorType {
def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: scalaxb.XMLFormat[generated.SelectorType]): SelectorType = fmt.reads(scala.xml.Text(value), Nil) match {
case Right(x: SelectorType) => x
case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
}
}
case object Number1 extends SelectorType { override def toString = "1" }
case object Number2 extends SelectorType { override def toString = "2" }
case object Number3 extends SelectorType { override def toString = "3" }
case class ImagePropertyType(URL: Option[String] = None,
MimeType: Option[String] = None,
Width: Option[String] = None,
Height: Option[String] = None,
alt_text: Option[generated.LocaleType] = None)
trait ImagePropertyTypeAll
case class Image(thumbnail_image: generated.ThumbnailImageType,
large_image: generated.LargeImageType,
enlarged_image: generated.EnlargedImageType,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) extends ImageContentTypable {
lazy val isPrimaryImage = attributes.get("@isPrimaryImage") map { _.as[Boolean]}
lazy val isNutritionalLabel = attributes.get("@isNutritionalLabel") map { _.as[Boolean]}
lazy val lang = attributes.get("@lang") map { _.as[String]}
lazy val effectiveDate = attributes.get("@effectiveDate") map { _.as[javax.xml.datatype.XMLGregorianCalendar]}
}
case class ImagesType(small_image: generated.SmallImageContentType,
Image: Seq[generated.Image] = Nil)
case class SmallImageContentType(small_image_url: generated.ImageType,
alt_text: generated.LocaleType)
trait ImageContentTypable {
def thumbnail_image: generated.ThumbnailImageType
def large_image: generated.LargeImageType
def enlarged_image: generated.EnlargedImageType
}
case class ImageContentType(thumbnail_image: generated.ThumbnailImageType,
large_image: generated.LargeImageType,
enlarged_image: generated.EnlargedImageType) extends ImageContentTypable
case class ThumbnailImageType(thumbnail_url: generated.ImageType,
alt_text: generated.LocaleType)
case class LargeImageType(large_url: generated.ImageType,
alt_text: generated.LocaleType)
case class EnlargedImageType(enlarged_url: generated.ImageType,
alt_text: generated.LocaleType)
case class ServiceType(service: Seq[String] = Nil)
case class ChargesType(level_of_service: Seq[generated.LevelType] = Nil)
case class LevelType(name: Option[String] = None,
region_1_flag: Option[String] = None,
CCF: Option[String] = None,
CCV: Option[String] = None,
region_2_flag: Option[String] = None,
CCFu45O: Option[String] = None,
CCVu45O: Option[String] = None)
case class PromotionType(level_of_service: Seq[generated.PromoType] = Nil)
case class PromoType(name: Option[String] = None,
region_1_flag: Option[String] = None,
CCF: Option[String] = None,
CCV: Option[String] = None,
region_2_flag: Option[String] = None,
CCFu45O: Option[String] = None,
CCVu45O: Option[String] = None,
promotion_start_date: Option[String] = None,
promotion_end_date: Option[String] = None)
case class ImageType(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val MimeType = attributes("@MimeType").as[String]
lazy val Width = attributes("@Width").as[BigInt]
lazy val Height = attributes("@Height").as[BigInt]
}
trait FacetGroupTypable {
def value: String
def lang: String
def facet_name: String
}
case class FacetGroupType(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) extends FacetGroupTypable {
lazy val lang = attributes("@lang").as[String]
lazy val facet_name = attributes("@facet_name").as[String]
}
case class LocaleType(value: Seq[generated.LangTypable] = Nil)
case class Value(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) extends LangTypable {
lazy val lang = attributes("@lang").as[String]
}
case class NonEmptyLocaleType(value: Seq[generated.Value] = Nil)
trait LangTypable {
def value: String
def lang: String
}
case class LangType(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) extends LangTypable {
lazy val lang = attributes("@lang").as[String]
}
case class MultiIdType(id: Seq[String] = Nil)
case class ProductIdType(removed: Option[String] = None,
ExternalId: Option[String] = None,
NumReviews: Option[String] = None,
ReviewStatistics: Option[generated.ReviewType] = None)
trait ProductIdTypeAll
case class ReviewType(AverageOverallRating: Option[String] = None,
OverallRatingRange: Option[String] = None,
TotalReviewCount: Option[String] = None,
RatingsOnlyReviewCount: Option[String] = None,
RecommendedCount: Option[String] = None)
case class ParentType(parent_id: Seq[BigDecimal] = Nil,
primary_parent_id: BigDecimal)
case class Facetgroup(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) extends FacetGroupTypable {
lazy val lang = attributes("@lang").as[String]
lazy val facet_name = attributes("@facet_name").as[String]
}
case class Facet(facetgroup: Seq[generated.Facetgroup] = Nil)
case class FacetType(facet: Seq[generated.Facet] = Nil)
case class PickupType(Name: String,
PickupFlag: String)
trait Emptyu45string
object Emptyu45string {
def fromString(value: String, scope: scala.xml.NamespaceBinding)(implicit fmt: scalaxb.XMLFormat[generated.Emptyu45string]): Emptyu45string = fmt.reads(scala.xml.Text(value), Nil) match {
case Right(x: Emptyu45string) => x
case x => throw new RuntimeException(s"fromString returned unexpected value $x for input $value")
}
}
case object Blank extends Emptyu45string { override def toString = "" }
case class SEOType(value: Seq[generated.SEOLangType] = Nil)
case class SEOLangType(value: String,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val lang = attributes("@lang").as[String]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment