From 3d7de83423f8f68f8e9a0c8250084e11818544c7 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Mon, 2 May 2016 22:07:10 -0700 Subject: [PATCH] Start with cbor --- .gitattributes | 3 + .gitignore | 22 + README.md | 20 + cbor/README.md | 60 + cbor/pom.xml | 63 + cbor/release-notes/CREDITS | 35 + cbor/release-notes/VERSION | 104 + .../dataformat/cbor/CBORConstants.java | 135 + .../jackson/dataformat/cbor/CBORFactory.java | 413 + .../dataformat/cbor/CBORGenerator.java | 1452 + .../jackson/dataformat/cbor/CBORParser.java | 2977 + .../cbor/CBORParserBootstrapper.java | 205 + .../dataformat/cbor/CBORReadContext.java | 204 + .../dataformat/cbor/PackageVersion.java.in | 20 + .../com.fasterxml.jackson.core.JsonFactory | 1 + .../jackson/dataformat/cbor/CBORTestBase.java | 244 + .../dataformat/cbor/GeneratorBinaryTest.java | 110 + .../dataformat/cbor/GeneratorInteropTest.java | 58 + .../cbor/GeneratorLongStringTest.java | 68 + .../dataformat/cbor/GeneratorSimpleTest.java | 418 + .../dataformat/cbor/ParserBinaryTest.java | 72 + .../cbor/ParserInputStreamTest.java | 50 + .../dataformat/cbor/ParserInteropTest.java | 91 + .../dataformat/cbor/ParserNextXxxTest.java | 219 + .../dataformat/cbor/ParserSimpleTest.java | 397 + .../cbor/ParserWithJsonOrgSampleTest.java | 175 + .../dataformat/cbor/TestBiggerData.java | 139 + .../src/test/resources/data/citm_catalog.json | 50469 ++++++++++++++++ pom.xml | 93 + 29 files changed, 58317 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 README.md create mode 100644 cbor/README.md create mode 100644 cbor/pom.xml create mode 100644 cbor/release-notes/CREDITS create mode 100644 cbor/release-notes/VERSION create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORConstants.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORFactory.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORGenerator.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParser.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParserBootstrapper.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORReadContext.java create mode 100644 cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/PackageVersion.java.in create mode 100644 cbor/src/main/resources/META-INF/services/com.fasterxml.jackson.core.JsonFactory create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/CBORTestBase.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorBinaryTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorInteropTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorLongStringTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorSimpleTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserBinaryTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInputStreamTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInteropTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserNextXxxTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserSimpleTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserWithJsonOrgSampleTest.java create mode 100644 cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/TestBiggerData.java create mode 100644 cbor/src/test/resources/data/citm_catalog.json create mode 100644 pom.xml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..4cf2927d3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Do not merge `pom.xml` from older version, as it will typically conflict + +pom.xml merge=ours diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..66c4cfe4a --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# use glob syntax. +syntax: glob +*.class +*~ +*.bak +*.off +*.old +.DS_Store + +# building +target + +# Eclipse +.classpath +.project +.settings + +# IDEA +*.iml +*.ipr +*.iws +.idea/ diff --git a/README.md b/README.md new file mode 100644 index 000000000..0517006f8 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +## Overview + +This is a multi-module umbrella project for [Jackson](../../../jackson) +standard binary dataformat backends. + +Currently included are: + +* [CBOR](cbor/) + +## License + +All modules are licensed under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt). + +## Status + +[![Build Status](https://travis-ci.org/FasterXML/jackson-base-modules.svg)](https://travis-ci.org/FasterXML/jackson-dataformats-binary) + +## More + +See [Wiki](../../wiki) for more information (javadocs). diff --git a/cbor/README.md b/cbor/README.md new file mode 100644 index 000000000..fae46795b --- /dev/null +++ b/cbor/README.md @@ -0,0 +1,60 @@ +## Overview + +[Jackson](/FasterXML/jackson) (Java) data format module that supports reading and writing +[CBOR](https://www.rfc-editor.org/info/rfc7049) +("Concise Binary Object Representation") encoded data. +Module extends standard Jackson streaming API (`JsonFactory`, `JsonParser`, `JsonGenerator`), and as such works seamlessly with all the higher level data abstractions (data binding, tree model, and pluggable extensions). + +## Status + +As of version 2.4.0, this module is considered stable and production quality. Similar to JSON- and other JSON-like +backends, it implementsfull support for all levels (streaming, data-binding, tree model). + +[![Build Status](https://travis-ci.org/FasterXML/jackson-dataformat-cbor.svg?branch=master)](https://travis-ci.org/FasterXML/jackson-dataformat-cbor) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/) +[![Javadoc](https://javadoc-emblem.rhcloud.com/doc/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/badge.svg)](http://www.javadoc.io/doc/com.fasterxml.jackson.dataformat/jackson-dataformat-cbor) + +### Limitations + +Minor limitations exist with respect to advanced type-handling of `CBOR` format: + +* While tags are written for some types (`BigDecimal`, `BigInteger`), they are not handling on parsing + +# Maven dependency + +To use this extension on Maven-based projects, use following dependency: + +```xml + + com.fasterxml.jackson.dataformat + jackson-dataformat-cbor + 2.4.0 + +``` + +(or whatever version is most up-to-date at the moment) + +## Usage + +Basic usage is by using `CborFactory` in places where you would usually use `JsonFactory`: + +```java +CBORFactory f = new CBORFactory(); +ObjectMapper mapper = new ObjectMapper(f); +// and then read/write data as usual +SomeType value = ...; +byte[] cborData = mapper.writeValueAsBytes(value); +SomeType otherValue = mapper.readValue(cborData, SomeType.class); +``` + +Implementation allows use of any of 3 main operating modes: + +* Streaming API (`CBORParser` and `CBORGenerator`) +* Databinding (via `ObjectMapper` / `ObjectReader` / `ObjectWriter`) +* Tree Model (using `TreeNode`, or its concrete subtype, `JsonNode` -- not JSON-specific despite the name) + +and all the usual data-binding use cases exactly like when using `JSON` or `Smile` (2 canonical 100% supported Jackson data formats). + +# Documentation + +* [Wiki](../../wiki) (includes Javadocs) diff --git a/cbor/pom.xml b/cbor/pom.xml new file mode 100644 index 000000000..a7ddc7d1d --- /dev/null +++ b/cbor/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + com.fasterxml.jackson.dataformat + jackson-dataformats-binary + 2.8.0-SNAPSHOT + + jackson-dataformat-cbor + Jackson dataformat: CBOR + bundle + Support for reading and writing Concise Binary Object Representation +([CBOR](https://www.rfc-editor.org/info/rfc7049) +encoded data using Jackson abstractions (streaming API, data binding, tree model) + + http://github.com/FasterXML/jackson-dataformats-binary + + + + com/fasterxml/jackson/dataformat/cbor + ${project.groupId}.cbor + + + + + + + com.fasterxml.jackson.core + jackson-core + ${version.jackson.core} + + + + + com.fasterxml.jackson.core + jackson-databind + test + + + com.fasterxml.jackson.core + jackson-annotations + test + + + + + + + + com.google.code.maven-replacer-plugin + replacer + + + process-packageVersion + generate-sources + + + + + + diff --git a/cbor/release-notes/CREDITS b/cbor/release-notes/CREDITS new file mode 100644 index 000000000..01a43d781 --- /dev/null +++ b/cbor/release-notes/CREDITS @@ -0,0 +1,35 @@ +Here are people who have contributed to development of this project +(version numbers in brackets indicate release in which the problem was fixed) + +Tatu Saloranta, tatu.saloranta@iki.fi: author + +Clinton Gormley (clintongormley@github) + +* Suggested [#5]: Support binary (byte[]) Object keys (assuming UTF-8 encoding) + (2.4.3) +* Suggested [#6]: Support 'self-describe' CBOR tag + (2.4.3) + +mbaril@github) + +* Reported #9, suggested fix, contributed unit test: Infinite loop when trying + to write binary data using CBORGenerator + (2.5.1) + +Steve Gury (stevegury@github) + +* Reported #13, suggested fix: Bug in boundary checking in the CBORParser + (2.6.2) + +Adrien Grand (jpountz@github) + +* Reported #15: CBORParser.getNumberType returns DOUBLE even if the generator + has been fed with a float + (2.6.5) + +philipa@githubL + +* Requested #20: Add a public `finishToken()` + (2.7.2) +* Requested #22: CBORGenerator.copyCurrentStructure() and copyCurrentEvent() do not copy tags + (2.7.2) diff --git a/cbor/release-notes/VERSION b/cbor/release-notes/VERSION new file mode 100644 index 000000000..20bbb3518 --- /dev/null +++ b/cbor/release-notes/VERSION @@ -0,0 +1,104 @@ +Project: jackson-dataformat-cbor + +------------------------------------------------------------------------ +=== Releases === +------------------------------------------------------------------------ + +2.8.0 (not yet released) + +No changes since 2.7 + +2.7.4 (29-Apr-2016) +2.7.3 (16-Mar-2016) + +No changes since 2.7.2 + +2.7.2 (27-Feb-2016) + +#20: Add a public `finishToken()` + (requested by philipa@github) +#22: CBORGenerator.copyCurrentStructure() and copyCurrentEvent() do not copy tags + (requested by philipa@github) +- Change build to produce JDK6-compatible jar, to allow use on JDK6 runtime + +2.7.1 (02-Feb-2016) + +#19: Fix reported location after non-stream input has been parsed. + (contributed by philipa@github) + +2.7.0 (10-Jan-2016) + +#14: Add support for dynamically changing `CBORGenerator.Feature`s + +2.6.6 (not yet released) + +#18: Correct parsing of zero length byte strings + (reported, fix suggested by philipa@github) + +2.6.5 (19-Jan-2016) + +#15: CBORParser.getNumberType returns DOUBLE even if the generator has been fed with a float + (reported by Adrien G) + +2.6.4 (07-Dec-2015) +2.6.3 (12-Oct-2015) + +No changes since 2.6.2 + +2.6.2 (15-Sep-2015) + +#13: Bug in boundary checking in the CBORParser + (reported by Steve G) + +2.6.1 (09-Aug-2015) +2.6.0 (19-Jul-2015) + +No changes since 2.5 + +2.5.5 (07-Dec-2015) +2.5.4 (09-Jun-2015) +2.5.3 (24-Apr-2015) +2.5.2 (29-Mar-2015) + +No changes since 2.5.1. + +2.5.1 (06-Feb-2015) + +#9: Infinite loop when trying to write binary data using CBORGenerator + (reported by mbaril@github) + +2.5.0 (01-Jan-2015) + +#4: Implement `nextFieldName()` efficiently + +2.4.6 (not yet released) + +2.4.5 (13-Jan-2015) +2.4.4 (24-Nov-2014) +2.4.3 (04-Oct-2014) + +No changes. + +2.4.2 (15-Aug-2014) + +#5: Support binary (byte[]) Object keys (assuming UTF-8 encoding) + (suggested by Clinton G, clintongormley@github) +#6: Support 'self-describe' CBOR tag + (suggested by Clinton G, clintongormley@github) + +2.4.1 (17-Jun-2014) + +- Minor performance improvement wrt `writeFieldName(SerializableString)` + +2.4.0 (02-Jun-2014) + +No functional changes since 2.3.x. + +2.3.3 (10-Apr-2014) + +#2: Negative Long values written as zero + (reported by gjesse@github) + +2.3.2 (01-Mar-2014) + +The very first public version! diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORConstants.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORConstants.java new file mode 100644 index 000000000..43c8e37d8 --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORConstants.java @@ -0,0 +1,135 @@ +package com.fasterxml.jackson.dataformat.cbor; + +/** + * Constants used by {@link CBORGenerator} and {@link CBORParser} + * + * @author Tatu Saloranta + */ +public final class CBORConstants +{ + /* + /********************************************************** + /* Major type constants, matching prefixes + /********************************************************** + */ + + public final static int MAJOR_TYPE_INT_POS = 0; + public final static int MAJOR_TYPE_INT_NEG = 1; + public final static int MAJOR_TYPE_BYTES = 2; + public final static int MAJOR_TYPE_TEXT = 3; + public final static int MAJOR_TYPE_ARRAY = 4; + public final static int MAJOR_TYPE_OBJECT = 5; + public final static int MAJOR_TYPE_TAG = 6; + public final static int MAJOR_TYPE_MISC = 7; + + public final static int PREFIX_TYPE_INT_POS = (MAJOR_TYPE_INT_POS << 5); + public final static int PREFIX_TYPE_INT_NEG = (MAJOR_TYPE_INT_NEG << 5); + public final static int PREFIX_TYPE_BYTES = (MAJOR_TYPE_BYTES << 5); + public final static int PREFIX_TYPE_TEXT = (MAJOR_TYPE_TEXT << 5); + public final static int PREFIX_TYPE_ARRAY = (MAJOR_TYPE_ARRAY << 5); + public final static int PREFIX_TYPE_OBJECT = (MAJOR_TYPE_OBJECT << 5); + public final static int PREFIX_TYPE_TAG = (MAJOR_TYPE_TAG << 5); + public final static int PREFIX_TYPE_MISC = (MAJOR_TYPE_MISC << 5); + + /* + /********************************************************** + /* Other marker values + /********************************************************** + */ + + public final static int SUFFIX_INDEFINITE = 0x1F; + + public final static int MASK_MAJOR_TYPE = 0xE0; + + /* + /********************************************************** + /* Well-known Tag Ids + /********************************************************** + */ + + /** + * As per spec, this is a sort of "nop" tag, useful as marker + * for the very first root-level data item. + */ + public final static int TAG_ID_SELF_DESCRIBE = 55799; + + /* + /********************************************************** + /* Actual type and marker bytes + /********************************************************** + */ + + public final static byte BYTE_ARRAY_INDEFINITE = (byte) (PREFIX_TYPE_ARRAY + SUFFIX_INDEFINITE); + public final static byte BYTE_OBJECT_INDEFINITE = (byte) (PREFIX_TYPE_OBJECT + SUFFIX_INDEFINITE); + + // 2-element array commonly used (for big float, f.ex.) + public final static byte BYTE_ARRAY_2_ELEMENTS = (byte) (PREFIX_TYPE_ARRAY + 2); + + public final static byte BYTE_FALSE = (byte) (PREFIX_TYPE_MISC + 20); + public final static byte BYTE_TRUE = (byte) (PREFIX_TYPE_MISC + 21); + public final static byte BYTE_NULL = (byte) (PREFIX_TYPE_MISC + 22); + + public final static byte BYTE_EMPTY_STRING = (byte) (PREFIX_TYPE_TEXT); + + /** + * String that is chunked + */ + public final static byte BYTE_STRING_INDEFINITE = (byte) (PREFIX_TYPE_TEXT + SUFFIX_INDEFINITE); + + public final static byte BYTE_STRING_1BYTE_LEN = (byte) (PREFIX_TYPE_TEXT + 24); + public final static byte BYTE_STRING_2BYTE_LEN = (byte) (PREFIX_TYPE_TEXT + 25); + + public final static byte BYTE_FLOAT16 = (byte) (PREFIX_TYPE_MISC + 25); + public final static byte BYTE_FLOAT32 = (byte) (PREFIX_TYPE_MISC + 26); + public final static byte BYTE_FLOAT64 = (byte) (PREFIX_TYPE_MISC + 27); + + public final static byte BYTE_TAG_BIGNUM_POS = (byte) (PREFIX_TYPE_TAG + 2); + public final static byte BYTE_TAG_BIGNUM_NEG = (byte) (PREFIX_TYPE_TAG + 3); + public final static byte BYTE_TAG_DECIMAL_FRACTION = (byte) (PREFIX_TYPE_TAG + 4); + public final static byte BYTE_TAG_BIGFLOAT = (byte) (PREFIX_TYPE_TAG + 5); + + public final static byte BYTE_BREAK = (byte) 0xFF; + + public final static int INT_BREAK = 0xFF; + + /* + /********************************************************** + /* Basic UTF-8 decode/encode table + /********************************************************** + */ + + /** + * Additionally we can combine UTF-8 decoding info into similar + * data table. + * Values indicate "byte length - 1"; meaning -1 is used for + * invalid bytes, 0 for single-byte codes, 1 for 2-byte codes + * and 2 for 3-byte codes. + */ + public final static int[] sUtf8UnitLengths; + static { + int[] table = new int[256]; + for (int c = 128; c < 256; ++c) { + int code; + + // We'll add number of bytes needed for decoding + if ((c & 0xE0) == 0xC0) { // 2 bytes (0x0080 - 0x07FF) + code = 1; + } else if ((c & 0xF0) == 0xE0) { // 3 bytes (0x0800 - 0xFFFF) + code = 2; + } else if ((c & 0xF8) == 0xF0) { + // 4 bytes; double-char with surrogates and all... + code = 3; + } else { + // And -1 seems like a good "universal" error marker... + code = -1; + } + table[c] = code; + } + sUtf8UnitLengths = table; + } + + public static boolean hasMajorType(int expType, byte encoded) { + int actual = (encoded & MASK_MAJOR_TYPE) >> 5; + return (actual == expType); + } +} diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORFactory.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORFactory.java new file mode 100644 index 000000000..489663134 --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORFactory.java @@ -0,0 +1,413 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.net.URL; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.format.InputAccessor; +import com.fasterxml.jackson.core.format.MatchStrength; +import com.fasterxml.jackson.core.io.IOContext; + +/** + * Factory used for constructing {@link CBORParser} and {@link CBORGenerator} + * instances; both of which handle + * CBOR + * encoded data. + *

+ * Extends {@link JsonFactory} mostly so that users can actually use it in place + * of regular non-CBOR factory instances. + *

+ * Note on using non-byte-based sources/targets (char based, like + * {@link java.io.Reader} and {@link java.io.Writer}): these can not be + * used for CBOR documents; attempt will throw exception. + * + * @author Tatu Saloranta + */ +public class CBORFactory extends JsonFactory +{ + private static final long serialVersionUID = 1; // 2.6 + + /* + /********************************************************** + /* Constants + /********************************************************** + */ + + /** + * Name used to identify CBOR format. + * (and returned by {@link #getFormatName()} + */ + public final static String FORMAT_NAME = "CBOR"; + + /** + * Bitfield (set of flags) of all parser features that are enabled + * by default. + */ + final static int DEFAULT_CBOR_PARSER_FEATURE_FLAGS = CBORParser.Feature.collectDefaults(); + + /** + * Bitfield (set of flags) of all generator features that are enabled + * by default. + */ + final static int DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS = CBORGenerator.Feature.collectDefaults(); + + /* + /********************************************************** + /* Configuration + /********************************************************** + */ + + protected int _formatParserFeatures; + protected int _formatGeneratorFeatures; + + /* + /********************************************************** + /* Factory construction, configuration + /********************************************************** + */ + + /** + * Default constructor used to create factory instances. + * Creation of a factory instance is a light-weight operation, + * but it is still a good idea to reuse limited number of + * factory instances (and quite often just a single instance): + * factories are used as context for storing some reused + * processing objects (such as symbol tables parsers use) + * and this reuse only works within context of a single + * factory instance. + */ + public CBORFactory() { this(null); } + + public CBORFactory(ObjectCodec oc) { + super(oc); + _formatParserFeatures = DEFAULT_CBOR_PARSER_FEATURE_FLAGS; + _formatGeneratorFeatures = DEFAULT_CBOR_GENERATOR_FEATURE_FLAGS; + } + + /** + * Note: REQUIRES at least 2.2.1 -- unfortunate intra-patch dep but seems + * preferable to just leaving bug be as is + * + * @since 2.2.1 + */ + public CBORFactory(CBORFactory src, ObjectCodec oc) + { + super(src, oc); + _formatParserFeatures = src._formatParserFeatures; + _formatGeneratorFeatures = src._formatGeneratorFeatures; + } + + @Override + public CBORFactory copy() + { + _checkInvalidCopy(CBORFactory.class); + // note: as with base class, must NOT copy mapper reference + return new CBORFactory(this, null); + } + + /* + /********************************************************** + /* Serializable overrides + /********************************************************** + */ + + /** + * Method that we need to override to actually make restoration go + * through constructors etc. + * Also: must be overridden by sub-classes as well. + */ + @Override + protected Object readResolve() { + return new CBORFactory(this, _objectCodec); + } + + /* + /********************************************************** + /* Versioned + /********************************************************** + */ + + @Override + public Version version() { + return PackageVersion.VERSION; + } + + /* + /********************************************************** + /* Format detection functionality + /********************************************************** + */ + + @Override + public String getFormatName() { + return FORMAT_NAME; + } + + // Defaults work fine for this: + // public boolean canUseSchema(FormatSchema schema) { } + + @Override + public MatchStrength hasFormat(InputAccessor acc) throws IOException { + return CBORParserBootstrapper.hasCBORFormat(acc); + } + + /* + /********************************************************** + /* Capability introspection + /********************************************************** + */ + + @Override + public boolean canHandleBinaryNatively() { + return true; + } + + @Override // since 2.6 + public Class getFormatReadFeatureType() { + return CBORParser.Feature.class; + } + + @Override // since 2.6 + public Class getFormatWriteFeatureType() { + return CBORGenerator.Feature.class; + } + + /* + /********************************************************** + /* Configuration, parser settings + /********************************************************** + */ + + /** + * Method for enabling or disabling specified parser feature + * (check {@link CBORParser.Feature} for list of features) + */ + public final CBORFactory configure(CBORParser.Feature f, boolean state) + { + if (state) { + enable(f); + } else { + disable(f); + } + return this; + } + + /** + * Method for enabling specified parser feature + * (check {@link CBORParser.Feature} for list of features) + */ + public CBORFactory enable(CBORParser.Feature f) { + _formatParserFeatures |= f.getMask(); + return this; + } + + /** + * Method for disabling specified parser features + * (check {@link CBORParser.Feature} for list of features) + */ + public CBORFactory disable(CBORParser.Feature f) { + _formatParserFeatures &= ~f.getMask(); + return this; + } + + /** + * Checked whether specified parser feature is enabled. + */ + public final boolean isEnabled(CBORParser.Feature f) { + return (_formatParserFeatures & f.getMask()) != 0; + } + + /* + /********************************************************** + /* Configuration, generator settings + /********************************************************** + */ + + /** + * Method for enabling or disabling specified generator feature + * (check {@link CBORGenerator.Feature} for list of features) + */ + public final CBORFactory configure(CBORGenerator.Feature f, boolean state) { + if (state) { + enable(f); + } else { + disable(f); + } + return this; + } + + + /** + * Method for enabling specified generator features + * (check {@link CBORGenerator.Feature} for list of features) + */ + public CBORFactory enable(CBORGenerator.Feature f) { + _formatGeneratorFeatures |= f.getMask(); + return this; + } + + /** + * Method for disabling specified generator feature + * (check {@link CBORGenerator.Feature} for list of features) + */ + public CBORFactory disable(CBORGenerator.Feature f) { + _formatGeneratorFeatures &= ~f.getMask(); + return this; + } + + /** + * Check whether specified generator feature is enabled. + */ + public final boolean isEnabled(CBORGenerator.Feature f) { + return (_formatGeneratorFeatures & f.getMask()) != 0; + } + + /* + /********************************************************** + /* Overridden parser factory methods, new (2.1) + /********************************************************** + */ + + @SuppressWarnings("resource") + @Override + public CBORParser createParser(File f) throws IOException { + return _createParser(new FileInputStream(f), _createContext(f, true)); + } + + @Override + public CBORParser createParser(URL url) throws IOException { + return _createParser(_optimizedStreamFromURL(url), _createContext(url, true)); + } + + @Override + public CBORParser createParser(InputStream in) throws IOException { + return _createParser(in, _createContext(in, false)); + } + + @Override + public CBORParser createParser(byte[] data) throws IOException { + return _createParser(data, 0, data.length, _createContext(data, true)); + } + + @Override + public CBORParser createParser(byte[] data, int offset, int len) throws IOException { + return _createParser(data, offset, len, _createContext(data, true)); + } + + /* + /********************************************************** + /* Overridden generator factory methods + /********************************************************** + */ + + /** + * Method for constructing {@link JsonGenerator} for generating + * CBOR-encoded output. + *

+ * Since CBOR format always uses UTF-8 internally, enc + * argument is ignored. + */ + @Override + public CBORGenerator createGenerator(OutputStream out, JsonEncoding enc) throws IOException { + return _createCBORGenerator(_createContext(out, false), + _generatorFeatures, _formatGeneratorFeatures, _objectCodec, out); + } + + /** + * Method for constructing {@link JsonGenerator} for generating + * CBOR-encoded output. + *

+ * Since CBOR format always uses UTF-8 internally, no encoding need + * to be passed to this method. + */ + @Override + public CBORGenerator createGenerator(OutputStream out) throws IOException { + return _createCBORGenerator(_createContext(out, false), + _generatorFeatures, _formatGeneratorFeatures, _objectCodec, out); + } + + /* + /****************************************************** + /* Overridden internal factory methods + /****************************************************** + */ + + @Override + protected IOContext _createContext(Object srcRef, boolean resourceManaged) { + return super._createContext(srcRef, resourceManaged); + } + + /** + * Overridable factory method that actually instantiates desired + * parser. + */ + @Override + protected CBORParser _createParser(InputStream in, IOContext ctxt) throws IOException + { + return new CBORParserBootstrapper(ctxt, in).constructParser(_factoryFeatures, + _parserFeatures, _formatParserFeatures, + _objectCodec, _byteSymbolCanonicalizer); + } + + /** + * Overridable factory method that actually instantiates desired + * parser. + */ + @Override + protected JsonParser _createParser(Reader r, IOContext ctxt) throws IOException { + return _nonByteSource(); + } + + @Override + protected JsonParser _createParser(char[] data, int offset, int len, IOContext ctxt, + boolean recyclable) throws IOException { + return _nonByteSource(); + } + + /** + * Overridable factory method that actually instantiates desired + * parser. + */ + @Override + protected CBORParser _createParser(byte[] data, int offset, int len, IOContext ctxt) throws IOException + { + return new CBORParserBootstrapper(ctxt, data, offset, len).constructParser( + _factoryFeatures, _parserFeatures, _formatParserFeatures, + _objectCodec, _byteSymbolCanonicalizer); + } + + @Override + protected CBORGenerator _createGenerator(Writer out, IOContext ctxt) throws IOException { + return _nonByteTarget(); + } + + @Override + protected CBORGenerator _createUTF8Generator(OutputStream out, IOContext ctxt) throws IOException { + return _createCBORGenerator(ctxt, + _generatorFeatures, _formatGeneratorFeatures, _objectCodec, out); + } + + @Override + protected Writer _createWriter(OutputStream out, JsonEncoding enc, IOContext ctxt) throws IOException { + return _nonByteTarget(); + } + + private final CBORGenerator _createCBORGenerator(IOContext ctxt, + int stdFeat, int formatFeat, ObjectCodec codec, OutputStream out) throws IOException + { + // false -> we won't manage the stream unless explicitly directed to + CBORGenerator gen = new CBORGenerator(ctxt, stdFeat, formatFeat, _objectCodec, out); + if (CBORGenerator.Feature.WRITE_TYPE_HEADER.enabledIn(formatFeat)) { + gen.writeTag(CBORConstants.TAG_ID_SELF_DESCRIBE); + } + return gen; + } + + protected T _nonByteTarget() { + throw new UnsupportedOperationException("Can not create generator for non-byte-based target"); + } + + protected T _nonByteSource() { + throw new UnsupportedOperationException("Can not create generator for non-byte-based source"); + } +} diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORGenerator.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORGenerator.java new file mode 100644 index 000000000..d8e6650a7 --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORGenerator.java @@ -0,0 +1,1452 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.math.BigDecimal; +import java.math.BigInteger; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.io.*; +import com.fasterxml.jackson.core.json.JsonWriteContext; +import com.fasterxml.jackson.core.base.GeneratorBase; + +import static com.fasterxml.jackson.dataformat.cbor.CBORConstants.*; + +/** + * {@link JsonGenerator} implementation that writes CBOR encoded content. + * + * @author Tatu Saloranta + */ +public class CBORGenerator extends GeneratorBase +{ + /** + * Let's ensure that we have big enough output buffer because of + * safety margins we need for UTF-8 encoding. + */ + final static int BYTE_BUFFER_FOR_OUTPUT = 16000; + + /** + * Longest char chunk we will output is chosen so that it is guaranteed to fit + * in an empty buffer even if everything encoded in 3-byte sequences; but also + * fit two full chunks in case of single-byte (ascii) output. + */ + private final static int MAX_LONG_STRING_CHARS = (BYTE_BUFFER_FOR_OUTPUT / 4) - 4; + + /** + * This is the worst case length (in bytes) of maximum chunk we ever write. + */ + private final static int MAX_LONG_STRING_BYTES = (MAX_LONG_STRING_CHARS * 3) + 3; + + /** + * Enumeration that defines all togglable features for CBOR generator. + */ + public enum Feature implements FormatFeature + { + /** + * Feature that determines whether generator should try to use smallest (size-wise) + * integer representation: if true, will use smallest representation that is enough + * to retain value; if false, will use length indicated by argument type (4-byte + * for int, 8-byte for long and so on). + */ + WRITE_MINIMAL_INTS(true), + + /** + * Feature that determines whether CBOR "Self-Describe Tag" (value 55799, + * encoded as 3-byte sequence of 0xD9, 0xD9, 0xF7) should be written + * at the beginning of document or not. + *

+ * Default value is false meaning that type tag will not be written + * at the beginning of a new document. + * + * @since 2.5 + */ + WRITE_TYPE_HEADER(false), + ; + + protected final boolean _defaultState; + protected final int _mask; + + /** + * Method that calculates bit set (flags) of all features that + * are enabled by default. + */ + public static int collectDefaults() { + int flags = 0; + for (Feature f : values()) { + if (f.enabledByDefault()) { + flags |= f.getMask(); + } + } + return flags; + } + + private Feature(boolean defaultState) { + _defaultState = defaultState; + _mask = (1 << ordinal()); + } + + @Override public boolean enabledByDefault() { return _defaultState; } + @Override public boolean enabledIn(int flags) { return (flags & getMask()) != 0; } + @Override public int getMask() { return _mask; } + } + + /** + * To simplify certain operations, we require output buffer length + * to allow outputting of contiguous 256 character UTF-8 encoded String + * value. Length of the longest UTF-8 code point (from Java char) is 3 bytes, + * and we need both initial token byte and single-byte end marker + * so we get following value. + *

+ * Note: actually we could live with shorter one; absolute minimum would + * be for encoding 64-character Strings. + */ + private final static int MIN_BUFFER_LENGTH = (3 * 256) + 2; + + private final static long MIN_INT_AS_LONG = (long) Integer.MIN_VALUE; + private final static long MAX_INT_AS_LONG = (long) Integer.MAX_VALUE; + + /* + /********************************************************** + /* Configuration + /********************************************************** + */ + + final protected IOContext _ioContext; + + final protected OutputStream _out; + + /** + * Bit flag composed of bits that indicate which + * {@link CBORGenerator.Feature}s + * are enabled. + */ + protected int _formatFeatures; + + protected boolean _cfgMinimalInts; + + /* + /********************************************************** + /* Output buffering + /********************************************************** + */ + + /** + * Intermediate buffer in which contents are buffered before + * being written using {@link #_out}. + */ + protected byte[] _outputBuffer; + + /** + * Pointer to the next available byte in {@link #_outputBuffer} + */ + protected int _outputTail = 0; + + /** + * Offset to index after the last valid index in {@link #_outputBuffer}. + * Typically same as length of the buffer. + */ + protected final int _outputEnd; + + /** + * Intermediate buffer in which characters of a String are copied + * before being encoded. + */ + protected char[] _charBuffer; + + protected final int _charBufferLength; + + /** + * Let's keep track of how many bytes have been output, may prove useful + * when debugging. This does not include bytes buffered in + * the output buffer, just bytes that have been written using underlying + * stream writer. + */ + protected int _bytesWritten; + + /* + /********************************************************** + /* Shared String detection + /********************************************************** + */ + + /** + * Flag that indicates whether the output buffer is recycable (and + * needs to be returned to recycler once we are done) or not. + */ + protected boolean _bufferRecyclable; + + /* + /********************************************************** + /* Life-cycle + /********************************************************** + */ + + public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, + ObjectCodec codec, OutputStream out) + { + super(stdFeatures, codec); + _formatFeatures = formatFeatures; + _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); + _ioContext = ctxt; + _out = out; + _bufferRecyclable = true; + _outputBuffer = ctxt.allocWriteEncodingBuffer(BYTE_BUFFER_FOR_OUTPUT); + _outputEnd = _outputBuffer.length; + _charBuffer = ctxt.allocConcatBuffer(); + _charBufferLength = _charBuffer.length; + // let's just sanity check to prevent nasty odd errors + if (_outputEnd < MIN_BUFFER_LENGTH) { + throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd + +") too short, must be at least "+MIN_BUFFER_LENGTH); + } + } + + /** + * Alternative constructor that may be used to feed partially initialized content. + * + * @param outputBuffer Buffer to use for output before flushing to the underlying stream + * @param offset Offset pointing past already buffered content; that is, number of bytes of valid content + * to output, within buffer. + */ + public CBORGenerator(IOContext ctxt, int stdFeatures, int formatFeatures, + ObjectCodec codec, OutputStream out, byte[] outputBuffer, int offset, boolean bufferRecyclable) + { + super(stdFeatures, codec); + _formatFeatures = formatFeatures; + _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(formatFeatures); + _ioContext = ctxt; + _out = out; + _bufferRecyclable = bufferRecyclable; + _outputTail = offset; + _outputBuffer = outputBuffer; + _outputEnd = _outputBuffer.length; + _charBuffer = ctxt.allocConcatBuffer(); + _charBufferLength = _charBuffer.length; + // let's just sanity check to prevent nasty odd errors + if (_outputEnd < MIN_BUFFER_LENGTH) { + throw new IllegalStateException("Internal encoding buffer length ("+_outputEnd + +") too short, must be at least "+MIN_BUFFER_LENGTH); + } + } + + /* + /********************************************************** + /* Versioned + /********************************************************** + */ + + @Override + public Version version() { + return PackageVersion.VERSION; + } + + /* + /********************************************************** + /* Capability introspection + /********************************************************** + */ + + @Override + public boolean canWriteBinaryNatively() { + return true; + } + + /* + /********************************************************** + /* Overridden methods, configuration + /********************************************************** + */ + + /** + * No way (or need) to indent anything, so let's block any attempts. + * (should we throw an exception instead?) + */ + @Override + public JsonGenerator useDefaultPrettyPrinter() { + return this; + } + + /** + * No way (or need) to indent anything, so let's block any attempts. + * (should we throw an exception instead?) + */ + @Override + public JsonGenerator setPrettyPrinter(PrettyPrinter pp) { + return this; + } + + @Override + public Object getOutputTarget() { + return _out; + } + + @Override + public int getOutputBuffered() { + return _outputTail; + } + +// public JsonParser overrideStdFeatures(int values, int mask) + + @Override + public int getFormatFeatures() { + return _formatFeatures; + } + + @Override + public JsonGenerator overrideStdFeatures(int values, int mask) { + int oldState = _features; + int newState = (oldState & ~mask) | (values & mask); + if (oldState != newState) { + _features = newState; + } + return this; + } + + @Override + public JsonGenerator overrideFormatFeatures(int values, int mask) { + int oldState = _formatFeatures; + int newState = (_formatFeatures & ~mask) | (values & mask); + if (oldState != newState) { + _formatFeatures = newState; + _cfgMinimalInts = Feature.WRITE_MINIMAL_INTS.enabledIn(newState); + } + return this; + } + + /* + /********************************************************** + /* Overridden methods, write methods + /********************************************************** + */ + + /* And then methods overridden to make final, streamline some + * aspects... + */ + + @Override + public final void writeFieldName(String name) throws IOException + { + if (_writeContext.writeFieldName(name) == JsonWriteContext.STATUS_EXPECT_VALUE) { + _reportError("Can not write a field name, expecting a value"); + } + _writeString(name); + } + + @Override + public final void writeFieldName(SerializableString name) throws IOException + { + // Object is a value, need to verify it's allowed + if (_writeContext.writeFieldName(name.getValue()) == JsonWriteContext.STATUS_EXPECT_VALUE) { + _reportError("Can not write a field name, expecting a value"); + } + byte[] raw = name.asUnquotedUTF8(); + final int len = raw.length; + if (len == 0) { + _writeByte(BYTE_EMPTY_STRING); + return; + } + _writeLengthMarker(PREFIX_TYPE_TEXT, len); + _writeBytes(raw, 0, len); + } + + @Override + public final void writeStringField(String fieldName, String value) throws IOException + { + if (_writeContext.writeFieldName(fieldName) == JsonWriteContext.STATUS_EXPECT_VALUE) { + _reportError("Can not write a field name, expecting a value"); + } + _writeString(fieldName); + // inlined from 'writeString()' + if (value == null) { + writeNull(); + return; + } + _verifyValueWrite("write String value"); + _writeString(value); + } + + /* + /********************************************************** + /* Overridden methods, copying with tag-awareness + /********************************************************** + */ + + /** + * Specialize {@link JsonGenerator#copyCurrentEvent} to handle tags. + */ + @Override + public void copyCurrentEvent(JsonParser p) throws IOException { + maybeCopyTag(p); + super.copyCurrentEvent(p); + } + + /** + * Specialize {@link JsonGenerator#copyCurrentStructure} to handle tags. + */ + @Override + public void copyCurrentStructure(JsonParser p) throws IOException { + maybeCopyTag(p); + super.copyCurrentStructure(p); + } + + protected void maybeCopyTag(JsonParser p) throws IOException + { + if (p instanceof CBORParser) { + if (p.hasCurrentToken()) { + final int currentTag = ((CBORParser)p).getCurrentTag(); + + if (currentTag != -1) { + writeTag(currentTag); + } + } + } + } + + /* + /********************************************************** + /* Extended API, configuration + /********************************************************** + */ + + public CBORGenerator enable(Feature f) { + _formatFeatures |= f.getMask(); + if (f == Feature.WRITE_MINIMAL_INTS) { + _cfgMinimalInts = true; + } + return this; + } + + public CBORGenerator disable(Feature f) { + _formatFeatures &= ~f.getMask(); + if (f == Feature.WRITE_MINIMAL_INTS) { + _cfgMinimalInts = false; + } + return this; + } + + public final boolean isEnabled(Feature f) { + return (_formatFeatures & f.getMask()) != 0; + } + + public CBORGenerator configure(Feature f, boolean state) { + if (state) { + enable(f); + } else { + disable(f); + } + return this; + } + + /* + /********************************************************** + /* Extended API, CBOR-specific encoded output + /********************************************************** + */ + + /** + * Method for writing out an explicit CBOR Tag. + * + * @param tagId Positive integer (0 or higher) + * + * @since 2.5 + */ + public void writeTag(int tagId) throws IOException + { + if (tagId < 0) { + throw new IllegalArgumentException("Can not write negative tag ids ("+tagId+")"); + } + _writeLengthMarker(PREFIX_TYPE_TAG, tagId); + } + + /* + /********************************************************** + /* Extended API, raw bytes (by-passing encoder) + /********************************************************** + */ + + /** + * Method for directly inserting specified byte in output at + * current position. + *

+ * NOTE: only use this method if you really know what you are doing. + */ + public void writeRaw(byte b) throws IOException { + _writeByte(b); + } + + /** + * Method for directly inserting specified bytes in output at + * current position. + *

+ * NOTE: only use this method if you really know what you are doing. + */ + public void writeBytes(byte[] data, int offset, int len) throws IOException { + _writeBytes(data, offset, len); + } + + /* + /********************************************************** + /* Output method implementations, structural + /********************************************************** + */ + + @Override + public final void writeStartArray() throws IOException + { + _verifyValueWrite("start an array"); + _writeContext = _writeContext.createChildArrayContext(); + _writeByte(BYTE_ARRAY_INDEFINITE); + } + + // TODO: implement this for CBOR + /* + * Unlike with JSON, this method can use slightly optimized version + * since CBOR has a variant that allows embedding length in array + * start marker. But it mostly (or only?) makes sense for small + * arrays, cases where length marker fits within type marker byte; + * otherwise we might as well just use "indefinite" notation. + */ + @Override + public void writeStartArray(int size) throws IOException { + _verifyValueWrite("start an array"); + _writeContext = _writeContext.createChildArrayContext(); + /* + if (size >= 31 || size < 0) { + _writeByte(BYTE_ARRAY_INDEFINITE); + } else { + } + */ + _writeByte(BYTE_ARRAY_INDEFINITE); + } + + @Override + public final void writeEndArray() throws IOException + { + if (!_writeContext.inArray()) { + _reportError("Current context not an ARRAY but "+_writeContext.getTypeDesc()); + } + _writeByte(BYTE_BREAK); + _writeContext = _writeContext.getParent(); + } + + @Override + public final void writeStartObject() throws IOException + { + _verifyValueWrite("start an object"); + _writeContext = _writeContext.createChildObjectContext(); + _writeByte(BYTE_OBJECT_INDEFINITE); + } + + @Override + public final void writeEndObject() throws IOException + { + if (!_writeContext.inObject()) { + _reportError("Current context not an object but "+_writeContext.getTypeDesc()); + } + _writeContext = _writeContext.getParent(); + _writeByte(BYTE_BREAK); + } + + /* + /********************************************************** + /* Output method implementations, textual + /********************************************************** + */ + + @Override + public void writeString(String text) throws IOException,JsonGenerationException + { + if (text == null) { + writeNull(); + return; + } + _verifyValueWrite("write String value"); + _writeString(text); + } + + @Override + public final void writeString(SerializableString sstr) throws IOException + { + _verifyValueWrite("write String value"); + byte[] raw = sstr.asUnquotedUTF8(); + final int len = raw.length; + if (len == 0) { + _writeByte(BYTE_EMPTY_STRING); + return; + } + _writeLengthMarker(PREFIX_TYPE_TEXT, len); + _writeBytes(raw, 0, len); + } + + @Override + public void writeString(char[] text, int offset, int len) throws IOException + { + _verifyValueWrite("write String value"); + if (len == 0) { + _writeByte(BYTE_EMPTY_STRING); + return; + } + _writeString(text, offset, len); + } + + @Override + public void writeRawUTF8String(byte[] raw, int offset, int len) throws IOException + { + _verifyValueWrite("write String value"); + if (len == 0) { + _writeByte(BYTE_EMPTY_STRING); + return; + } + _writeLengthMarker(PREFIX_TYPE_TEXT, len); + _writeBytes(raw, 0, len); + } + + @Override + public final void writeUTF8String(byte[] text, int offset, int len) throws IOException + { + // Since no escaping is needed, same as 'writeRawUTF8String' + writeRawUTF8String(text, offset, len); + } + + /* + /********************************************************** + /* Output method implementations, unprocessed ("raw") + /********************************************************** + */ + + @Override + public void writeRaw(String text) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRaw(String text, int offset, int len) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRaw(char[] text, int offset, int len) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRaw(char c) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRawValue(String text) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRawValue(String text, int offset, int len) throws IOException { + throw _notSupported(); + } + + @Override + public void writeRawValue(char[] text, int offset, int len) throws IOException { + throw _notSupported(); + } + + /* + /********************************************************** + /* Output method implementations, base64-encoded binary + /********************************************************** + */ + + @Override + public void writeBinary(Base64Variant b64variant, byte[] data, int offset, int len) throws IOException + { + if (data == null) { + writeNull(); + return; + } + _verifyValueWrite("write Binary value"); + _writeLengthMarker(PREFIX_TYPE_BYTES, len); + _writeBytes(data, offset, len); + } + + @Override + public int writeBinary(InputStream data, int dataLength) + throws IOException + { + /* 28-Mar-2014, tatu: Theoretically we could implement encoder that uses + * chunking to output binary content of unknown (a priori) length. + * But for no let's require knowledge of length, for simplicity: may be + * revisited in future. + */ + if (dataLength < 0) { + throw new UnsupportedOperationException("Must pass actual length for CBOR encoded data"); + } + _verifyValueWrite("write Binary value"); + int missing; + + _writeLengthMarker(PREFIX_TYPE_BYTES, dataLength); + missing = _writeBytes(data, dataLength); + if (missing > 0) { + _reportError("Too few bytes available: missing "+missing+" bytes (out of "+dataLength+")"); + } + return dataLength; + } + + @Override + public int writeBinary(Base64Variant b64variant, InputStream data, int dataLength) + throws IOException + { + return writeBinary(data, dataLength); + } + + /* + /********************************************************** + /* Output method implementations, primitive + /********************************************************** + */ + + @Override + public void writeBoolean(boolean state) throws IOException + { + _verifyValueWrite("write boolean value"); + if (state) { + _writeByte(BYTE_TRUE); + } else { + _writeByte(BYTE_FALSE); + } + } + + @Override + public void writeNull() throws IOException + { + _verifyValueWrite("write null value"); + _writeByte(BYTE_NULL); + } + + @Override + public void writeNumber(int i) throws IOException + { + _verifyValueWrite("write number"); + int marker; + if (i < 0) { + i = -i - 1; + marker = PREFIX_TYPE_INT_NEG; + } else { + marker = PREFIX_TYPE_INT_POS; + } + + _ensureRoomForOutput(5); + byte b0; + if (_cfgMinimalInts) { + if (i < 24) { + _outputBuffer[_outputTail++] = (byte) (marker + i); + return; + } + if (i <= 0xFF) { + _outputBuffer[_outputTail++] = (byte) (marker + 24); + _outputBuffer[_outputTail++] = (byte) i; + return; + } + b0 = (byte) i; + i >>= 8; + if (i <= 0xFF) { + _outputBuffer[_outputTail++] = (byte) (marker + 25); + _outputBuffer[_outputTail++] = (byte) i; + _outputBuffer[_outputTail++] = b0; + return; + } + } else { + b0 = (byte) i; + i >>= 8; + } + _outputBuffer[_outputTail++] = (byte) (marker + 26); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + _outputBuffer[_outputTail++] = b0; + } + + @Override + public void writeNumber(long l) throws IOException + { + if (_cfgMinimalInts) { + // First: maybe 32 bits is enough? + if (l <= MAX_INT_AS_LONG && l >= MIN_INT_AS_LONG) { + writeNumber((int) l); + return; + } + } + _verifyValueWrite("write number"); + _ensureRoomForOutput(9); + if (l < 0L) { + l += 1; + l = -l; + _outputBuffer[_outputTail++] = (PREFIX_TYPE_INT_NEG + 27); + } else { + _outputBuffer[_outputTail++] = (PREFIX_TYPE_INT_POS + 27); + } + int i = (int) (l >> 32); + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + i = (int) l; + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + } + + @Override + public void writeNumber(BigInteger v) throws IOException + { + if (v == null) { + writeNull(); + return; + } + _verifyValueWrite("write number"); + + /* Supported by using type tags, as per spec: major type for tag '6'; + * 5 LSB either 2 for positive bignum or 3 for negative bignum. + * And then byte sequence that encode variable length integer. + */ + if (v.signum() < 0) { + _writeByte(BYTE_TAG_BIGNUM_NEG); + v = v.negate(); + } else { + _writeByte(BYTE_TAG_BIGNUM_POS); + } + byte[] data = v.toByteArray(); + final int len = data.length; + _writeLengthMarker(PREFIX_TYPE_BYTES, len); + _writeBytes(data, 0, len); + } + + @Override + public void writeNumber(double d) throws IOException + { + _verifyValueWrite("write number"); + _ensureRoomForOutput(11); + /* 17-Apr-2010, tatu: could also use 'doubleToIntBits', but it seems more accurate to use + * exact representation; and possibly faster. However, if there are cases + * where collapsing of NaN was needed (for non-Java clients), this can + * be changed + */ + long l = Double.doubleToRawLongBits(d); + _outputBuffer[_outputTail++] = BYTE_FLOAT64; + + int i = (int) (l >> 32); + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + i = (int) l; + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + } + + @Override + public void writeNumber(float f) throws IOException + { + // Ok, now, we needed token type byte plus 5 data bytes (7 bits each) + _ensureRoomForOutput(6); + _verifyValueWrite("write number"); + + /* 17-Apr-2010, tatu: could also use 'floatToIntBits', but it seems more accurate to use + * exact representation; and possibly faster. However, if there are cases + * where collapsing of NaN was needed (for non-Java clients), this can + * be changed + */ + int i = Float.floatToRawIntBits(f); + _outputBuffer[_outputTail++] = BYTE_FLOAT32; + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + } + + @Override + public void writeNumber(BigDecimal dec) throws IOException + { + if (dec == null) { + writeNull(); + return; + } + _verifyValueWrite("write number"); + /* Supported by using type tags, as per spec: major type for tag '6'; + * 5 LSB 4. + * And then a two-int array, with mantissa and exponent + */ + _writeByte(BYTE_TAG_BIGFLOAT); + _writeByte(BYTE_ARRAY_2_ELEMENTS); + + int scale = dec.scale(); + _writeIntValue(scale); + + /* Hmmmh. Specification suggest use of regular integer for mantissa. + * But... it may or may not fit. Let's try to do that, if it works; + * if not, use byte array. + */ + BigInteger unscaled = dec.unscaledValue(); + byte[] data = unscaled.toByteArray(); + if (data.length <= 4) { + int v = data[0]; // let it be sign extended on purpose + for (int i = 1; i < data.length; ++i) { + v = (v << 8) + (data[i] & 0xFF); + } + _writeIntValue(v); + } else if (data.length <= 8) { + long v = data[0]; // let it be sign extended on purpose + for (int i = 1; i < data.length; ++i) { + v = (v << 8) + (data[i] & 0xFF); + } + _writeLongValue(v); + } else { + final int len = data.length; + _writeLengthMarker(PREFIX_TYPE_BYTES, len); + _writeBytes(data, 0, len); + } + } + + @Override + public void writeNumber(String encodedValue) throws IOException,JsonGenerationException, UnsupportedOperationException + { + // just write as a String -- CBOR does not require schema, so databinding + // on receiving end should be able to coerce it appropriately + writeString(encodedValue); + } + + /* + /********************************************************** + /* Implementations for other methods + /********************************************************** + */ + + @Override + protected final void _verifyValueWrite(String typeMsg) throws IOException + { + int status = _writeContext.writeValue(); + if (status == JsonWriteContext.STATUS_EXPECT_NAME) { + _reportError("Can not "+typeMsg+", expecting field name"); + } + } + + /* + /********************************************************** + /* Low-level output handling + /********************************************************** + */ + + @Override + public final void flush() throws IOException + { + _flushBuffer(); + if (isEnabled(JsonGenerator.Feature.FLUSH_PASSED_TO_STREAM)) { + _out.flush(); + } + } + + @Override + public void close() throws IOException + { + // First: let's see that we still have buffers... + if ((_outputBuffer != null) + && isEnabled(JsonGenerator.Feature.AUTO_CLOSE_JSON_CONTENT)) { + while (true) { + JsonStreamContext ctxt = getOutputContext(); + if (ctxt.inArray()) { + writeEndArray(); + } else if (ctxt.inObject()) { + writeEndObject(); + } else { + break; + } + } + } +// boolean wasClosed = _closed; + super.close(); + _flushBuffer(); + + if (_ioContext.isResourceManaged() || isEnabled(JsonGenerator.Feature.AUTO_CLOSE_TARGET)) { + _out.close(); + } else { + // If we can't close it, we should at least flush + _out.flush(); + } + // Internal buffer(s) generator has can now be released as well + _releaseBuffers(); + } + + + /* + /********************************************************** + /* Internal methods: low-level text output + /********************************************************** + */ + + protected final void _writeString(String name) throws IOException + { + int len = name.length(); + if (len == 0) { + _writeByte(BYTE_EMPTY_STRING); + return; + } + // Actually, let's not bother with copy for shortest strings + if (len <= MAX_SHORT_STRING_CHARS) { + _ensureSpace(MAX_SHORT_STRING_BYTES); // can afford approximate length + int actual = _encode(_outputTail+1, name, len); + final byte[] buf = _outputBuffer; + int ix = _outputTail; + if (actual < MAX_SHORT_STRING_CHARS) { // fits in prefix byte + buf[ix++] = (byte) (PREFIX_TYPE_TEXT + actual); + _outputTail = ix + actual; + return; + } + // no, have to move. Blah. + System.arraycopy(buf, ix+1, buf, ix+2, actual); + buf[ix++] = BYTE_STRING_1BYTE_LEN; + buf[ix++] = (byte) actual; + _outputTail = ix+actual; + return; + } + + char[] cbuf = _charBuffer; + if (len > cbuf.length) { + _charBuffer = cbuf = new char[Math.max(_charBuffer.length + 32, len)]; + } + name.getChars(0, len, cbuf, 0); + _writeString(cbuf, 0, len); + } + + private final static int MAX_SHORT_STRING_CHARS = 23; + private final static int MAX_SHORT_STRING_BYTES = 23 * 3 + 2; // in case it's > 23 bytes + + private final static int MAX_MEDIUM_STRING_CHARS = 255; + private final static int MAX_MEDIUM_STRING_BYTES = 255 * 3 + 3; // in case it's > 255 bytes + + protected final void _ensureSpace(int needed) throws IOException { + if ((_outputTail + needed + 3) > _outputEnd) { + _flushBuffer(); + } + } + + protected final void _writeString(char[] text, int offset, int len) throws IOException + { + if (len <= MAX_SHORT_STRING_CHARS) { // possibly short strings (not necessarily) + _ensureSpace(MAX_SHORT_STRING_BYTES); // can afford approximate length + int actual = _encode(_outputTail+1, text, offset, offset+len); + final byte[] buf = _outputBuffer; + int ix = _outputTail; + if (actual < MAX_SHORT_STRING_CHARS) { // fits in prefix byte + buf[ix++] = (byte) (PREFIX_TYPE_TEXT + actual); + _outputTail = ix + actual; + return; + } + // no, have to move. Blah. + System.arraycopy(buf, ix+1, buf, ix+2, actual); + buf[ix++] = BYTE_STRING_1BYTE_LEN; + buf[ix++] = (byte) actual; + _outputTail = ix+actual; + return; + } + if (len <= MAX_MEDIUM_STRING_CHARS) { + _ensureSpace(MAX_MEDIUM_STRING_BYTES); // short enough, can approximate + int actual = _encode(_outputTail+2, text, offset, offset+len); + final byte[] buf = _outputBuffer; + int ix = _outputTail; + if (actual < MAX_MEDIUM_STRING_CHARS) { // fits as expected + buf[ix++] = BYTE_STRING_1BYTE_LEN; + buf[ix++] = (byte) actual; + _outputTail = ix + actual; + return; + } + // no, have to move. Blah. + System.arraycopy(buf, ix+2, buf, ix+3, actual); + buf[ix++] = BYTE_STRING_2BYTE_LEN; + buf[ix++] = (byte) (actual >> 8); + buf[ix++] = (byte) actual; + _outputTail = ix+actual; + return; + } + if (len <= MAX_LONG_STRING_CHARS) { // no need to chunk yet + // otherwise, long but single chunk + _ensureSpace(MAX_LONG_STRING_BYTES); // calculate accurate length to avoid extra flushing + int ix = _outputTail; + int actual = _encode(ix+3, text, offset, offset+len); + final byte[] buf = _outputBuffer; + buf[ix++] = BYTE_STRING_2BYTE_LEN; + buf[ix++] = (byte) (actual >> 8); + buf[ix++] = (byte) actual; + _outputTail = ix+actual; + return; + } + _writeChunkedString(text, offset, len); + } + + protected final void _writeChunkedString(char[] text, int offset, int len) throws IOException + { + // need to use a marker first + _writeByte(BYTE_STRING_INDEFINITE); + + while (len > MAX_LONG_STRING_CHARS) { + _ensureSpace(MAX_LONG_STRING_BYTES); // marker and single-byte length? + int ix = _outputTail; + int actual = _encode(_outputTail+3, text, offset, offset+MAX_LONG_STRING_CHARS); + final byte[] buf = _outputBuffer; + buf[ix++] = BYTE_STRING_2BYTE_LEN; + buf[ix++] = (byte) (actual >> 8); + buf[ix++] = (byte) actual; + _outputTail = ix+actual; + offset += MAX_LONG_STRING_CHARS; + len -= MAX_LONG_STRING_CHARS; + } + // and for the last chunk, just use recursion + if (len > 0) { + _writeString(text, offset, len); + } + // plus end marker + _writeByte(BYTE_BREAK); + } + + /* + /********************************************************** + /* Internal methods, UTF-8 encoding + /********************************************************** + */ + + /** + * Helper method called when the whole character sequence is known to + * fit in the output buffer regardless of UTF-8 expansion. + */ + private final int _encode(int outputPtr, char[] str, int i, int end) + { + // First: let's see if it's all ASCII: that's rather fast + final byte[] outBuf = _outputBuffer; + final int outputStart = outputPtr; + do { + int c = str[i]; + if (c > 0x7F) { + return _shortUTF8Encode2(str, i, end, outputPtr, outputStart); + } + outBuf[outputPtr++] = (byte) c; + } while (++i < end); + return outputPtr - outputStart; + } + + /** + * Helper method called when the whole character sequence is known to + * fit in the output buffer, but not all characters are single-byte (ASCII) + * characters. + */ + private final int _shortUTF8Encode2(char[] str, int i, int end, + int outputPtr, int outputStart) + { + final byte[] outBuf = _outputBuffer; + while (i < end) { + int c = str[i++]; + if (c <= 0x7F) { + outBuf[outputPtr++] = (byte) c; + continue; + } + // Nope, multi-byte: + if (c < 0x800) { // 2-byte + outBuf[outputPtr++] = (byte) (0xc0 | (c >> 6)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + continue; + } + // 3 or 4 bytes (surrogate) + // Surrogates? + if (c < SURR1_FIRST || c > SURR2_LAST) { // nope, regular 3-byte character + outBuf[outputPtr++] = (byte) (0xe0 | (c >> 12)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 6) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + continue; + } + // Yup, a surrogate pair + if (c > SURR1_LAST) { // must be from first range; second won't do + _throwIllegalSurrogate(c); + } + // ... meaning it must have a pair + if (i >= end) { + _throwIllegalSurrogate(c); + } + c = _convertSurrogate(c, str[i++]); + if (c > 0x10FFFF) { // illegal in JSON as well as in XML + _throwIllegalSurrogate(c); + } + outBuf[outputPtr++] = (byte) (0xf0 | (c >> 18)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 12) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 6) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + } + return (outputPtr - outputStart); + } + + private final int _encode(int outputPtr, String str, int len) + { + final byte[] outBuf = _outputBuffer; + final int outputStart = outputPtr; + + for (int i = 0; i < len; ++i) { + int c = str.charAt(i); + if (c > 0x7F) { + return _encode2(i, outputPtr, str, len, outputStart); + } + outBuf[outputPtr++] = (byte) c; + } + return (outputPtr - outputStart); + } + + private final int _encode2(int i, int outputPtr, String str, int len, + int outputStart) + { + final byte[] outBuf = _outputBuffer; + // no; non-ASCII stuff, slower loop + while (i < len) { + int c = str.charAt(i++); + if (c <= 0x7F) { + outBuf[outputPtr++] = (byte) c; + continue; + } + // Nope, multi-byte: + if (c < 0x800) { // 2-byte + outBuf[outputPtr++] = (byte) (0xc0 | (c >> 6)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + continue; + } + // 3 or 4 bytes (surrogate) + // Surrogates? + if (c < SURR1_FIRST || c > SURR2_LAST) { // nope, regular 3-byte character + outBuf[outputPtr++] = (byte) (0xe0 | (c >> 12)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 6) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + continue; + } + // Yup, a surrogate pair + if (c > SURR1_LAST) { // must be from first range; second won't do + _throwIllegalSurrogate(c); + } + // ... meaning it must have a pair + if (i >= len) { + _throwIllegalSurrogate(c); + } + c = _convertSurrogate(c, str.charAt(i++)); + if (c > 0x10FFFF) { // illegal in JSON as well as in XML + _throwIllegalSurrogate(c); + } + outBuf[outputPtr++] = (byte) (0xf0 | (c >> 18)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 12) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | ((c >> 6) & 0x3f)); + outBuf[outputPtr++] = (byte) (0x80 | (c & 0x3f)); + } + return (outputPtr - outputStart); + } + + /** + * Method called to calculate UTF codepoint, from a surrogate pair. + */ + private int _convertSurrogate(int firstPart, int secondPart) + { + // Ok, then, is the second part valid? + if (secondPart < SURR2_FIRST || secondPart > SURR2_LAST) { + throw new IllegalArgumentException("Broken surrogate pair: first char 0x"+Integer.toHexString(firstPart)+", second 0x"+Integer.toHexString(secondPart)+"; illegal combination"); + } + return 0x10000 + ((firstPart - SURR1_FIRST) << 10) + (secondPart - SURR2_FIRST); + } + + private void _throwIllegalSurrogate(int code) + { + if (code > 0x10FFFF) { // over max? + throw new IllegalArgumentException("Illegal character point (0x"+Integer.toHexString(code)+") to output; max is 0x10FFFF as per RFC 4627"); + } + if (code >= SURR1_FIRST) { + if (code <= SURR1_LAST) { // Unmatched first part (closing without second part?) + throw new IllegalArgumentException("Unmatched first part of surrogate pair (0x"+Integer.toHexString(code)+")"); + } + throw new IllegalArgumentException("Unmatched second part of surrogate pair (0x"+Integer.toHexString(code)+")"); + } + // should we ever get this? + throw new IllegalArgumentException("Illegal character point (0x"+Integer.toHexString(code)+") to output"); + } + + /* + /********************************************************** + /* Internal methods, writing bytes + /********************************************************** + */ + + private final void _ensureRoomForOutput(int needed) throws IOException { + if ((_outputTail + needed) >= _outputEnd) { + _flushBuffer(); + } + } + + private final void _writeIntValue(int i) throws IOException + { + int marker; + if (i < 0) { + i += 1; + i = -1; + marker = PREFIX_TYPE_INT_NEG; + } else { + marker = PREFIX_TYPE_INT_POS; + } + _writeLengthMarker(marker, i); + } + + private final void _writeLongValue(long l) throws IOException + { + _ensureRoomForOutput(9); + if (l < 0) { + l += 1; + l = -1; + _outputBuffer[_outputTail++] = (PREFIX_TYPE_INT_NEG + 27); + } else { + _outputBuffer[_outputTail++] = (PREFIX_TYPE_INT_POS + 27); + } + int i = (int) (l >> 32); + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + i = (int) l; + _outputBuffer[_outputTail++] = (byte) (i >> 24); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + } + + private final void _writeLengthMarker(int majorType, int i) throws IOException + { + _ensureRoomForOutput(5); + if (i < 24) { + _outputBuffer[_outputTail++] = (byte) (majorType + i); + return; + } + if (i <= 0xFF) { + _outputBuffer[_outputTail++] = (byte) (majorType + 24); + _outputBuffer[_outputTail++] = (byte) i; + return; + } + final byte b0 = (byte) i; + i >>= 8; + if (i <= 0xFF) { + _outputBuffer[_outputTail++] = (byte) (majorType + 25); + _outputBuffer[_outputTail++] = (byte) i; + _outputBuffer[_outputTail++] = b0; + return; + } + _outputBuffer[_outputTail++] = (byte) (majorType + 26); + _outputBuffer[_outputTail++] = (byte) (i >> 16); + _outputBuffer[_outputTail++] = (byte) (i >> 8); + _outputBuffer[_outputTail++] = (byte) i; + _outputBuffer[_outputTail++] = b0; + } + + private final void _writeByte(byte b) throws IOException + { + if (_outputTail >= _outputEnd) { + _flushBuffer(); + } + _outputBuffer[_outputTail++] = b; + } + + /* + private final void _writeBytes(byte b1, byte b2) throws IOException + { + if ((_outputTail + 1) >= _outputEnd) { + _flushBuffer(); + } + _outputBuffer[_outputTail++] = b1; + _outputBuffer[_outputTail++] = b2; + } + */ + + private final void _writeBytes(byte[] data, int offset, int len) throws IOException + { + if (len == 0) { + return; + } + if ((_outputTail + len) >= _outputEnd) { + _writeBytesLong(data, offset, len); + return; + } + // common case, non-empty, fits in just fine: + System.arraycopy(data, offset, _outputBuffer, _outputTail, len); + _outputTail += len; + } + + private final int _writeBytes(InputStream in, int bytesLeft) throws IOException + { + while (bytesLeft > 0) { + int room = _outputEnd - _outputTail; + if (room <= 0) { + _flushBuffer(); + room = _outputEnd - _outputTail; + } + int count = in.read(_outputBuffer, _outputTail, room); + if (count < 0) { + break; + } + _outputTail += count; + bytesLeft -= count; + } + return bytesLeft; + } + + private final void _writeBytesLong(byte[] data, int offset, int len) throws IOException + { + if (_outputTail >= _outputEnd) { + _flushBuffer(); + } + while (true) { + int currLen = Math.min(len, (_outputEnd - _outputTail)); + System.arraycopy(data, offset, _outputBuffer, _outputTail, currLen); + _outputTail += currLen; + if ((len -= currLen) == 0) { + break; + } + offset += currLen; + _flushBuffer(); + } + } + + /* + /********************************************************** + /* Internal methods, buffer handling + /********************************************************** + */ + + @Override + protected void _releaseBuffers() + { + byte[] buf = _outputBuffer; + if (buf != null && _bufferRecyclable) { + _outputBuffer = null; + _ioContext.releaseWriteEncodingBuffer(buf); + } + char[] cbuf = _charBuffer; + if (cbuf != null) { + _charBuffer = null; + _ioContext.releaseConcatBuffer(cbuf); + } + } + + protected final void _flushBuffer() throws IOException + { + if (_outputTail > 0) { + _bytesWritten += _outputTail; + _out.write(_outputBuffer, 0, _outputTail); + _outputTail = 0; + } + } + + /* + /********************************************************** + /* Internal methods, error reporting + /********************************************************** + */ + + protected UnsupportedOperationException _notSupported() { + return new UnsupportedOperationException(); + } +} diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParser.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParser.java new file mode 100644 index 000000000..6381b73b8 --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParser.java @@ -0,0 +1,2977 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.nio.charset.Charset; +import java.util.Arrays; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.base.ParserMinimalBase; +import com.fasterxml.jackson.core.io.IOContext; +import com.fasterxml.jackson.core.io.NumberInput; +import com.fasterxml.jackson.core.json.DupDetector; +import com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer; +import com.fasterxml.jackson.core.util.ByteArrayBuilder; +import com.fasterxml.jackson.core.util.TextBuffer; + +public final class CBORParser extends ParserMinimalBase +{ + private final static byte[] NO_BYTES = new byte[0]; + + /** + * Enumeration that defines all togglable features for CBOR generators. + */ + public enum Feature implements FormatFeature + { +// BOGUS(false) + ; + + final boolean _defaultState; + final int _mask; + + /** + * Method that calculates bit set (flags) of all features that + * are enabled by default. + */ + public static int collectDefaults() + { + int flags = 0; + for (Feature f : values()) { + if (f.enabledByDefault()) { + flags |= f.getMask(); + } + } + return flags; + } + + private Feature(boolean defaultState) { + _defaultState = defaultState; + _mask = (1 << ordinal()); + } + + @Override public boolean enabledByDefault() { return _defaultState; } + @Override public int getMask() { return _mask; } + @Override public boolean enabledIn(int flags) { return (flags & _mask) != 0; } + } + + private final static Charset UTF8 = Charset.forName("UTF-8"); + + private final static int[] NO_INTS = new int[0]; + + private final static int[] UTF8_UNIT_CODES = CBORConstants.sUtf8UnitLengths; + + // Constants for handling of 16-bit "mini-floats" + private final static double MATH_POW_2_10 = Math.pow(2, 10); + private final static double MATH_POW_2_NEG14 = Math.pow(2, -14); + + /* + /********************************************************** + /* Configuration + /********************************************************** + */ + + /** + * Codec used for data binding when (if) requested. + */ + protected ObjectCodec _objectCodec; + + /* + /********************************************************** + /* Generic I/O state + /********************************************************** + */ + + /** + * I/O context for this reader. It handles buffer allocation + * for the reader. + */ + final protected IOContext _ioContext; + + /** + * Flag that indicates whether parser is closed or not. Gets + * set when parser is either closed by explicit call + * ({@link #close}) or when end-of-input is reached. + */ + protected boolean _closed; + + /* + /********************************************************** + /* Current input data + /********************************************************** + */ + + // Note: type of actual buffer depends on sub-class, can't include + + /** + * Pointer to next available character in buffer + */ + protected int _inputPtr = 0; + + /** + * Index of character after last available one in the buffer. + */ + protected int _inputEnd = 0; + + /* + /********************************************************** + /* Current input location information + /********************************************************** + */ + + /** + * Number of characters/bytes that were contained in previous blocks + * (blocks that were already processed prior to the current buffer). + */ + protected long _currInputProcessed = 0L; + + /** + * Current row location of current point in input buffer, starting + * from 1, if available. + */ + protected int _currInputRow = 1; + + /** + * Current index of the first character of the current row in input + * buffer. Needed to calculate column position, if necessary; benefit + * of not having column itself is that this only has to be updated + * once per line. + */ + protected int _currInputRowStart = 0; + + /* + /********************************************************** + /* Information about starting location of event + /* Reader is pointing to; updated on-demand + /********************************************************** + */ + + // // // Location info at point when current token was started + + /** + * Total number of bytes/characters read before start of current token. + * For big (gigabyte-sized) sizes are possible, needs to be long, + * unlike pointers and sizes related to in-memory buffers. + */ + protected long _tokenInputTotal = 0; + + /** + * Input row on which current token starts, 1-based + */ + protected int _tokenInputRow = 1; + + /** + * Column on input row that current token starts; 0-based (although + * in the end it'll be converted to 1-based) + */ + protected int _tokenInputCol = 0; + + /* + /********************************************************** + /* Parsing state + /********************************************************** + */ + + /** + * Information about parser context, context in which + * the next token is to be parsed (root, array, object). + */ + protected CBORReadContext _parsingContext; + /** + * Buffer that contains contents of String values, including + * field names if necessary (name split across boundary, + * contains escape sequence, or access needed to char array) + */ + protected final TextBuffer _textBuffer; + + /** + * Temporary buffer that is needed if field name is accessed + * using {@link #getTextCharacters} method (instead of String + * returning alternatives) + */ + protected char[] _nameCopyBuffer = null; + + /** + * Flag set to indicate whether the field name is available + * from the name copy buffer or not (in addition to its String + * representation being available via read context) + */ + protected boolean _nameCopied = false; + + /** + * ByteArrayBuilder is needed if 'getBinaryValue' is called. If so, + * we better reuse it for remainder of content. + */ + protected ByteArrayBuilder _byteArrayBuilder = null; + + /** + * We will hold on to decoded binary data, for duration of + * current event, so that multiple calls to + * {@link #getBinaryValue} will not need to decode data more + * than once. + */ + protected byte[] _binaryValue; + + /** + * We will keep track of tag value for possible future use. + */ + protected int _tagValue = -1; + + /* + /********************************************************** + /* Input source config, state (from ex StreamBasedParserBase) + /********************************************************** + */ + + /** + * Input stream that can be used for reading more content, if one + * in use. May be null, if input comes just as a full buffer, + * or if the stream has been closed. + */ + protected InputStream _inputStream; + + /** + * Current buffer from which data is read; generally data is read into + * buffer from input source, but in some cases pre-loaded buffer + * is handed to the parser. + */ + protected byte[] _inputBuffer; + + /** + * Flag that indicates whether the input buffer is recycable (and + * needs to be returned to recycler once we are done) or not. + *

+ * If it is not, it also means that parser can NOT modify underlying + * buffer. + */ + protected boolean _bufferRecyclable; + + /* + /********************************************************** + /* Additional parsing state + /********************************************************** + */ + + /** + * Flag that indicates that the current token has not yet + * been fully processed, and needs to be finished for + * some access (or skipped to obtain the next token) + */ + protected boolean _tokenIncomplete = false; + + /** + * Type byte of the current token + */ + protected int _typeByte; + + /** + * Helper variables used when dealing with chunked content. + */ + private int _chunkLeft, _chunkEnd; + + /* + /********************************************************** + /* Symbol handling, decoding + /********************************************************** + */ + + /** + * Symbol table that contains field names encountered so far + */ + final protected ByteQuadsCanonicalizer _symbols; + + /** + * Temporary buffer used for name parsing. + */ + protected int[] _quadBuffer = NO_INTS; + + /** + * Quads used for hash calculation + */ + protected int _quad1, _quad2, _quad3; + + /* + /********************************************************** + /* Constants and fields of former 'JsonNumericParserBase' + /********************************************************** + */ + + final protected static int NR_UNKNOWN = 0; + + // First, integer types + + final protected static int NR_INT = 0x0001; + final protected static int NR_LONG = 0x0002; + final protected static int NR_BIGINT = 0x0004; + + // And then floating point types + + final protected static int NR_FLOAT = 0x008; + final protected static int NR_DOUBLE = 0x010; + final protected static int NR_BIGDECIMAL = 0x0020; + + // Also, we need some numeric constants + + final static BigInteger BI_MIN_INT = BigInteger.valueOf(Integer.MIN_VALUE); + final static BigInteger BI_MAX_INT = BigInteger.valueOf(Integer.MAX_VALUE); + + final static BigInteger BI_MIN_LONG = BigInteger.valueOf(Long.MIN_VALUE); + final static BigInteger BI_MAX_LONG = BigInteger.valueOf(Long.MAX_VALUE); + + final static BigDecimal BD_MIN_LONG = new BigDecimal(BI_MIN_LONG); + final static BigDecimal BD_MAX_LONG = new BigDecimal(BI_MAX_LONG); + + final static BigDecimal BD_MIN_INT = new BigDecimal(BI_MIN_INT); + final static BigDecimal BD_MAX_INT = new BigDecimal(BI_MAX_INT); + + final static long MIN_INT_L = (long) Integer.MIN_VALUE; + final static long MAX_INT_L = (long) Integer.MAX_VALUE; + + // These are not very accurate, but have to do... (for bounds checks) + + final static double MIN_LONG_D = (double) Long.MIN_VALUE; + final static double MAX_LONG_D = (double) Long.MAX_VALUE; + + final static double MIN_INT_D = (double) Integer.MIN_VALUE; + final static double MAX_INT_D = (double) Integer.MAX_VALUE; + + // Digits, numeric + final protected static int INT_0 = '0'; + final protected static int INT_9 = '9'; + + final protected static int INT_MINUS = '-'; + final protected static int INT_PLUS = '+'; + + final protected static char CHAR_NULL = '\0'; + + // Numeric value holders: multiple fields used for + // for efficiency + + /** + * Bitfield that indicates which numeric representations + * have been calculated for the current type + */ + protected int _numTypesValid = NR_UNKNOWN; + + // First primitives + + protected int _numberInt; + protected long _numberLong; + protected float _numberFloat; + protected double _numberDouble; + + // And then object types + + protected BigInteger _numberBigInt; + protected BigDecimal _numberBigDecimal; + + /* + /********************************************************** + /* Life-cycle + /********************************************************** + */ + + public CBORParser(IOContext ctxt, int parserFeatures, int cborFeatures, + ObjectCodec codec, ByteQuadsCanonicalizer sym, + InputStream in, byte[] inputBuffer, int start, int end, + boolean bufferRecyclable) + { + super(parserFeatures); + _ioContext = ctxt; + _objectCodec = codec; + _symbols = sym; + + _inputStream = in; + _inputBuffer = inputBuffer; + _inputPtr = start; + _inputEnd = end; + _bufferRecyclable = bufferRecyclable; + _textBuffer = ctxt.constructTextBuffer(); + DupDetector dups = JsonParser.Feature.STRICT_DUPLICATE_DETECTION.enabledIn(parserFeatures) + ? DupDetector.rootDetector(this) : null; + _parsingContext = CBORReadContext.createRootContext(dups); + + _tokenInputRow = -1; + _tokenInputCol = -1; + } + + @Override + public ObjectCodec getCodec() { + return _objectCodec; + } + + @Override + public void setCodec(ObjectCodec c) { + _objectCodec = c; + } + + /* + /********************************************************** + /* Versioned + /********************************************************** + */ + + @Override + public Version version() { + return PackageVersion.VERSION; + } + + /* + /********************************************************** + /* Configuration + /********************************************************** + */ + +// public JsonParser overrideStdFeatures(int values, int mask) + + @Override + public int getFormatFeatures() { + // No parser features, yet + return 0; + } + + //public JsonParser overrideFormatFeatures(int values, int mask) { + + /* + /********************************************************** + /* Extended API + /********************************************************** + */ + + /** + * Method that can be used to access tag id associated with + * the most recently decoded value (whether completely, for + * scalar values, or partially, for Objects/Arrays), if any. + * If no tag was associated with it, -1 is returned. + * + * @since 2.5 + */ + public int getCurrentTag() { + return _tagValue; + } + + /* + /********************************************************** + /* Abstract impls + /********************************************************** + */ + + @Override + public int releaseBuffered(OutputStream out) throws IOException + { + int count = _inputEnd - _inputPtr; + if (count < 1) { + return 0; + } + // let's just advance ptr to end + int origPtr = _inputPtr; + out.write(_inputBuffer, origPtr, count); + return count; + } + + @Override + public Object getInputSource() { + return _inputStream; + } + + /** + * Overridden since we do not really have character-based locations, + * but we do have byte offset to specify. + */ + @Override + public JsonLocation getTokenLocation() + { + // token location is correctly managed... + return new JsonLocation(_ioContext.getSourceReference(), + _tokenInputTotal, // bytes + -1, -1, (int) _tokenInputTotal); // char offset, line, column + } + + /** + * Overridden since we do not really have character-based locations, + * but we do have byte offset to specify. + */ + @Override + public JsonLocation getCurrentLocation() + { + final long offset = _currInputProcessed + _inputPtr; + return new JsonLocation(_ioContext.getSourceReference(), + offset, // bytes + -1, -1, (int) offset); // char offset, line, column + } + + /** + * Method that can be called to get the name associated with + * the current event. + */ + @Override + public String getCurrentName() throws IOException + { + if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { + CBORReadContext parent = _parsingContext.getParent(); + return parent.getCurrentName(); + } + return _parsingContext.getCurrentName(); + } + + @Override + public void overrideCurrentName(String name) + { + // Simple, but need to look for START_OBJECT/ARRAY's "off-by-one" thing: + CBORReadContext ctxt = _parsingContext; + if (_currToken == JsonToken.START_OBJECT || _currToken == JsonToken.START_ARRAY) { + ctxt = ctxt.getParent(); + } + // Unfortunate, but since we did not expose exceptions, need to wrap + try { + ctxt.setCurrentName(name); + } catch (IOException e) { + throw new IllegalStateException(e); + } + } + + @Override + public void close() throws IOException { + if (!_closed) { + _closed = true; + _symbols.release(); + try { + _closeInput(); + } finally { + // as per [JACKSON-324], do in finally block + // Also, internal buffer(s) can now be released as well + _releaseBuffers(); + } + } + } + + @Override + public boolean isClosed() { return _closed; } + + @Override + public CBORReadContext getParsingContext() { + return _parsingContext; + } + + /* + /********************************************************** + /* Overridden methods + /********************************************************** + */ + + @Override + public boolean hasTextCharacters() + { + if (_currToken == JsonToken.VALUE_STRING) { + // yes; is or can be made available efficiently as char[] + return _textBuffer.hasTextAsCharacters(); + } + if (_currToken == JsonToken.FIELD_NAME) { + // not necessarily; possible but: + return _nameCopied; + } + // other types, no benefit from accessing as char[] + return false; + } + + /** + * Method called to release internal buffers owned by the base + * reader. This may be called along with {@link #_closeInput} (for + * example, when explicitly closing this reader instance), or + * separately (if need be). + */ + protected void _releaseBuffers() throws IOException + { + if (_bufferRecyclable) { + byte[] buf = _inputBuffer; + if (buf != null) { + _inputBuffer = null; + _ioContext.releaseReadIOBuffer(buf); + } + } + _textBuffer.releaseBuffers(); + char[] buf = _nameCopyBuffer; + if (buf != null) { + _nameCopyBuffer = null; + _ioContext.releaseNameCopyBuffer(buf); + } + } + + /* + /********************************************************** + /* JsonParser impl + /********************************************************** + */ + + @Override + public JsonToken nextToken() throws IOException + { + _numTypesValid = NR_UNKNOWN; + // For longer tokens (text, binary), we'll only read when requested + if (_tokenIncomplete) { + _skipIncomplete(); + } + _tokenInputTotal = _currInputProcessed + _inputPtr; + // also: clear any data retained so far + _binaryValue = null; + + /* First: need to keep track of lengths of defined-length Arrays and + * Objects (to materialize END_ARRAY/END_OBJECT as necessary); + * as well as handle names for Object entries. + */ + if (_parsingContext.inObject()) { + if (_currToken != JsonToken.FIELD_NAME) { + _tagValue = -1; + // completed the whole Object? + if (!_parsingContext.expectMoreValues()) { + _parsingContext = _parsingContext.getParent(); + return (_currToken = JsonToken.END_OBJECT); + } + return (_currToken = _decodeFieldName()); + } + } else { + if (!_parsingContext.expectMoreValues()) { + _tagValue = -1; + _parsingContext = _parsingContext.getParent(); + return (_currToken = JsonToken.END_ARRAY); + } + } + if (_inputPtr >= _inputEnd) { + if (!loadMore()) { + return _handleCBOREOF(); + } + } + int ch = _inputBuffer[_inputPtr++]; + int type = (ch >> 5) & 0x7; + + // One special case: need to consider tag as prefix first: + if (type == 6) { + _tagValue = Integer.valueOf(_decodeTag(ch & 0x1F)); + if (_inputPtr >= _inputEnd) { + if (!loadMore()) { + return _handleCBOREOF(); + } + } + ch = _inputBuffer[_inputPtr++]; + type = (ch >> 5) & 0x7; + } else { + _tagValue = -1; + } + + final int lowBits = ch & 0x1F; + switch (type) { + case 0: // positive int + _numTypesValid = NR_INT; + if (lowBits <= 23) { + _numberInt = lowBits; + } else { + switch (lowBits - 24) { + case 0: + _numberInt = _decode8Bits(); + break; + case 1: + _numberInt = _decode16Bits(); + break; + case 2: + _numberInt = _decode32Bits(); + break; + case 3: + _numberLong = _decode64Bits(); + _numTypesValid = NR_LONG; + break; + default: + _invalidToken(ch); + } + } + return (_currToken = JsonToken.VALUE_NUMBER_INT); + case 1: // negative int + _numTypesValid = NR_INT; + if (lowBits <= 23) { + _numberInt = -lowBits - 1; + } else { + switch (lowBits - 24) { + case 0: + _numberInt = -_decode8Bits() - 1; + break; + case 1: + _numberInt = -_decode16Bits() - 1; + break; + case 2: + _numberInt = -_decode32Bits() - 1; + break; + case 3: + _numberLong = -_decode64Bits() - 1L; + _numTypesValid = NR_LONG; + break; + default: + _invalidToken(ch); + } + } + return (_currToken = JsonToken.VALUE_NUMBER_INT); + + case 2: // byte[] + _typeByte = ch; + _tokenIncomplete = true; + return (_currToken = JsonToken.VALUE_EMBEDDED_OBJECT); + + case 3: // String + _typeByte = ch; + _tokenIncomplete = true; + return (_currToken = JsonToken.VALUE_STRING); + + case 4: // Array + _currToken = JsonToken.START_ARRAY; + { + int len = _decodeExplicitLength(lowBits); + _parsingContext = _parsingContext.createChildArrayContext(len); + } + return _currToken; + + case 5: // Object + _currToken = JsonToken.START_OBJECT; + { + int len = _decodeExplicitLength(lowBits); + _parsingContext = _parsingContext.createChildObjectContext(len); + } + return _currToken; + + case 6: // another tag; not allowed + _reportError("Multiple tags not allowed per value (first tag: "+_tagValue+")"); + + default: // misc: tokens, floats + switch (lowBits) { + case 20: + return (_currToken = JsonToken.VALUE_FALSE); + case 21: + return (_currToken = JsonToken.VALUE_TRUE); + case 22: + return (_currToken = JsonToken.VALUE_NULL); + case 25: // 16-bit float... + // As per [http://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript] + { + _numberFloat = (float) _decodeHalfSizeFloat(); + _numTypesValid = NR_FLOAT; + } + return (_currToken = JsonToken.VALUE_NUMBER_FLOAT); + case 26: // Float32 + { + _numberFloat = Float.intBitsToFloat(_decode32Bits()); + _numTypesValid = NR_FLOAT; + } + return (_currToken = JsonToken.VALUE_NUMBER_FLOAT); + case 27: // Float64 + _numberDouble = Double.longBitsToDouble(_decode64Bits()); + _numTypesValid = NR_DOUBLE; + return (_currToken = JsonToken.VALUE_NUMBER_FLOAT); + case 31: // Break + if (_parsingContext.inArray()) { + if (!_parsingContext.hasExpectedLength()) { + _parsingContext = _parsingContext.getParent(); + return (_currToken = JsonToken.END_ARRAY); + } + } + // Object end-marker can't occur here + _reportUnexpectedBreak(); + } + _invalidToken(ch); + } + return null; + } + + protected JsonToken _handleCBOREOF() throws IOException { + /* NOTE: here we can and should close input, release buffers, + * since this is "hard" EOF, not a boundary imposed by + * header token. + */ + _tagValue = -1; + close(); + return (_currToken = null); + } + + protected String _numberToName(int ch, boolean neg) throws IOException + { + final int lowBits = ch & 0x1F; + int i; + if (lowBits <= 23) { + i = lowBits; + } else { + switch (lowBits) { + case 24: + i = _decode8Bits(); + break; + case 25: + i = _decode16Bits(); + break; + case 26: + i = _decode32Bits(); + break; + case 27: + { + long l = _decode64Bits(); + if (neg) { + l = -l - 1L; + } + return String.valueOf(l); + } + default: + throw _constructError("Invalid length indicator for ints ("+lowBits+"), token 0x"+Integer.toHexString(ch)); + } + } + if (neg) { + i = -i - 1; + } + return String.valueOf(1); + } + + // @since 2.7.2 -- will be added in `JsonParser` in 2.8 + // see [dataformat-cbor#20] + /** + * Method for forcing full read of current token, even if it might otherwise + * only be read if data is accessed via {@link #getText} and similar methods. + */ + public void finishToken() throws IOException + { + if (_tokenIncomplete) { + _finishToken(); + } + } + + // base impl is fine: + //public String getCurrentName() throws IOException + + protected void _invalidToken(int ch) throws JsonParseException { + ch &= 0xFF; + if (ch == 0xFF) { + throw _constructError("Mismatched BREAK byte (0xFF): encountered where value expected"); + } + throw _constructError("Invalid CBOR value token (first byte): 0x"+Integer.toHexString(ch)); + } + + /* + /********************************************************** + /* Public API, traversal, nextXxxValue/nextFieldName + /********************************************************** + */ + + @Override + public boolean nextFieldName(SerializableString str) throws IOException + { + // Two parsing modes; can only succeed if expecting field name, so handle that first: + if (_parsingContext.inObject() && _currToken != JsonToken.FIELD_NAME) { + _numTypesValid = NR_UNKNOWN; + if (_tokenIncomplete) { + _skipIncomplete(); + } + _tokenInputTotal = _currInputProcessed + _inputPtr; + _binaryValue = null; + _tagValue = -1; + // completed the whole Object? + if (!_parsingContext.expectMoreValues()) { + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_OBJECT; + return false; + } + byte[] nameBytes = str.asQuotedUTF8(); + final int byteLen = nameBytes.length; + // fine; require room for up to 2-byte marker, data itself + int ptr = _inputPtr; + if ((ptr + byteLen + 1) < _inputEnd) { + final int ch = _inputBuffer[ptr++]; + // only handle usual textual type + if (((ch >> 5) & 0x7) == CBORConstants.MAJOR_TYPE_TEXT) { + int lenMarker = ch & 0x1F; + if (lenMarker <= 24) { + if (lenMarker == 23) { + lenMarker = _inputBuffer[ptr++] & 0xFF; + } + if (lenMarker == byteLen) { + int i = 0; + while (true) { + if (i == lenMarker) { + _inputPtr = ptr+i; + _parsingContext.setCurrentName(str.getValue()); + _currToken = JsonToken.FIELD_NAME; + return true; + } + if (nameBytes[i] != _inputBuffer[ptr+i]) { + break; + } + ++i; + } + } + } + } + } + + } + // otherwise just fall back to default handling; should occur rarely + return (nextToken() == JsonToken.FIELD_NAME) && str.getValue().equals(getCurrentName()); + } + + @Override + public String nextFieldName() throws IOException + { + if (_parsingContext.inObject() && _currToken != JsonToken.FIELD_NAME) { + _numTypesValid = NR_UNKNOWN; + if (_tokenIncomplete) { + _skipIncomplete(); + } + _tokenInputTotal = _currInputProcessed + _inputPtr; + _binaryValue = null; + _tagValue = -1; + // completed the whole Object? + if (!_parsingContext.expectMoreValues()) { + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_OBJECT; + return null; + } + // inlined "_decodeFieldName()" + + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + final int ch = _inputBuffer[_inputPtr++]; + final int type = ((ch >> 5) & 0x7); + + // offline non-String cases, as they are expected to be rare + if (type != CBORConstants.MAJOR_TYPE_TEXT) { + if (ch == -1) { // end-of-object, common + if (!_parsingContext.hasExpectedLength()) { + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_OBJECT; + return null; + } + _reportUnexpectedBreak(); + } + _decodeNonStringName(ch); + _currToken = JsonToken.FIELD_NAME; + return getText(); + } + final int lenMarker = ch & 0x1F; + String name; + if (lenMarker <= 23) { + if (lenMarker == 0) { + name = ""; + } else { + name = _findDecodedFromSymbols(lenMarker); + if (name != null) { + _inputPtr += lenMarker; + } else { + name = _decodeShortName(lenMarker); + name = _addDecodedToSymbols(lenMarker, name); + } + } + } else { + final int actualLen = _decodeExplicitLength(lenMarker); + if (actualLen < 0) { + name = _decodeChunkedName(); + } else { + name = _decodeLongerName(actualLen); + } + } + _parsingContext.setCurrentName(name); + _currToken = JsonToken.FIELD_NAME; + return name; + } + // otherwise just fall back to default handling; should occur rarely + return (nextToken() == JsonToken.FIELD_NAME) ? getCurrentName() : null; + } + + @Override + public String nextTextValue() throws IOException + { + _numTypesValid = NR_UNKNOWN; + if (_tokenIncomplete) { + _skipIncomplete(); + } + _tokenInputTotal = _currInputProcessed + _inputPtr; + _binaryValue = null; + _tagValue = -1; + + if (_parsingContext.inObject()) { + if (_currToken != JsonToken.FIELD_NAME) { + _tagValue = -1; + // completed the whole Object? + if (!_parsingContext.expectMoreValues()) { + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_OBJECT; + return null; + } + _currToken = _decodeFieldName(); + return null; + } + } else { + if (!_parsingContext.expectMoreValues()) { + _tagValue = -1; + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_ARRAY; + return null; + } + } + if (_inputPtr >= _inputEnd) { + if (!loadMore()) { + _handleCBOREOF(); + return null; + } + } + int ch = _inputBuffer[_inputPtr++]; + int type = (ch >> 5) & 0x7; + + // One special case: need to consider tag as prefix first: + if (type == 6) { + _tagValue = Integer.valueOf(_decodeTag(ch & 0x1F)); + if (_inputPtr >= _inputEnd) { + if (!loadMore()) { + _handleCBOREOF(); + return null; + } + } + ch = _inputBuffer[_inputPtr++]; + type = (ch >> 5) & 0x7; + } else { + _tagValue = -1; + } + + final int lowBits = ch & 0x1F; + switch (type) { + case 0: // positive int + _numTypesValid = NR_INT; + if (lowBits <= 23) { + _numberInt = lowBits; + } else { + switch (lowBits - 24) { + case 0: + _numberInt = _decode8Bits(); + break; + case 1: + _numberInt = _decode16Bits(); + break; + case 2: + _numberInt = _decode32Bits(); + break; + case 3: + _numberLong = _decode64Bits(); + _numTypesValid = NR_LONG; + break; + default: + _invalidToken(ch); + } + } + _currToken = JsonToken.VALUE_NUMBER_INT; + return null; + case 1: // negative int + _numTypesValid = NR_INT; + if (lowBits <= 23) { + _numberInt = -lowBits - 1; + } else { + switch (lowBits - 24) { + case 0: + _numberInt = -_decode8Bits() - 1; + break; + case 1: + _numberInt = -_decode16Bits() - 1; + break; + case 2: + _numberInt = -_decode32Bits() - 1; + break; + case 3: + _numberLong = -_decode64Bits() - 1L; + _numTypesValid = NR_LONG; + break; + default: + _invalidToken(ch); + } + } + _currToken = JsonToken.VALUE_NUMBER_INT; + return null; + + case 2: // byte[] + _typeByte = ch; + _tokenIncomplete = true; + _currToken = JsonToken.VALUE_EMBEDDED_OBJECT; + return null; + + case 3: // String + _typeByte = ch; + _tokenIncomplete = true; + _currToken = JsonToken.VALUE_STRING; + return _finishTextToken(ch); + + case 4: // Array + _currToken = JsonToken.START_ARRAY; + { + int len = _decodeExplicitLength(lowBits); + _parsingContext = _parsingContext.createChildArrayContext(len); + } + return null; + + case 5: // Object + _currToken = JsonToken.START_OBJECT; + { + int len = _decodeExplicitLength(lowBits); + _parsingContext = _parsingContext.createChildObjectContext(len); + } + return null; + + case 6: // another tag; not allowed + _reportError("Multiple tags not allowed per value (first tag: "+_tagValue+")"); + + default: // misc: tokens, floats + switch (lowBits) { + case 20: + _currToken = JsonToken.VALUE_FALSE; + return null; + case 21: + _currToken = JsonToken.VALUE_TRUE; + return null; + case 22: + _currToken = JsonToken.VALUE_NULL; + return null; + case 25: // 16-bit float... + // As per [http://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript] + { + _numberFloat = _decodeHalfSizeFloat(); + _numTypesValid = NR_FLOAT; + } + _currToken = JsonToken.VALUE_NUMBER_FLOAT; + return null; + case 26: // Float32 + { + _numberFloat = Float.intBitsToFloat(_decode32Bits()); + _numTypesValid = NR_FLOAT; + } + _currToken = JsonToken.VALUE_NUMBER_FLOAT; + return null; + case 27: // Float64 + _numberDouble = Double.longBitsToDouble(_decode64Bits()); + _numTypesValid = NR_DOUBLE; + _currToken = JsonToken.VALUE_NUMBER_FLOAT; + return null; + case 31: // Break + if (_parsingContext.inArray()) { + if (!_parsingContext.hasExpectedLength()) { + _parsingContext = _parsingContext.getParent(); + _currToken = JsonToken.END_ARRAY; + return null; + } + } + // Object end-marker can't occur here + _reportUnexpectedBreak(); + } + _invalidToken(ch); + } + // otherwise fall back to generic handling: + return (nextToken() == JsonToken.VALUE_STRING) ? getText() : null; + } + + @Override + public int nextIntValue(int defaultValue) throws IOException + { + if (nextToken() == JsonToken.VALUE_NUMBER_INT) { + return getIntValue(); + } + return defaultValue; + } + + @Override + public long nextLongValue(long defaultValue) throws IOException + { + if (nextToken() == JsonToken.VALUE_NUMBER_INT) { + return getLongValue(); + } + return defaultValue; + } + + @Override + public Boolean nextBooleanValue() throws IOException + { + switch (nextToken()) { + case VALUE_TRUE: + return Boolean.TRUE; + case VALUE_FALSE: + return Boolean.FALSE; + default: + return null; + } + } + + /* + /********************************************************** + /* Public API, access to token information, text + /********************************************************** + */ + + /** + * Method for accessing textual representation of the current event; + * if no current event (before first call to {@link #nextToken}, or + * after encountering end-of-input), returns null. + * Method can be called for any event. + */ + @Override + public String getText() throws IOException + { + JsonToken t = _currToken; + if (_tokenIncomplete) { + if (t == JsonToken.VALUE_STRING) { + return _finishTextToken(_typeByte); + } + } + if (t == JsonToken.VALUE_STRING) { + return _textBuffer.contentsAsString(); + } + if (t == null) { // null only before/after document + return null; + } + if (t == JsonToken.FIELD_NAME) { + return _parsingContext.getCurrentName(); + } + if (t.isNumeric()) { + return getNumberValue().toString(); + } + return _currToken.asString(); + } + + @Override + public char[] getTextCharacters() throws IOException + { + if (_currToken != null) { // null only before/after document + if (_tokenIncomplete) { + _finishToken(); + } + switch (_currToken) { + case VALUE_STRING: + return _textBuffer.getTextBuffer(); + case FIELD_NAME: + return _parsingContext.getCurrentName().toCharArray(); + // fall through + case VALUE_NUMBER_INT: + case VALUE_NUMBER_FLOAT: + return getNumberValue().toString().toCharArray(); + + default: + return _currToken.asCharArray(); + } + } + return null; + } + + @Override + public int getTextLength() throws IOException + { + if (_currToken != null) { // null only before/after document + if (_tokenIncomplete) { + _finishToken(); + } + switch (_currToken) { + case VALUE_STRING: + return _textBuffer.size(); + case FIELD_NAME: + return _parsingContext.getCurrentName().length(); + // fall through + case VALUE_NUMBER_INT: + case VALUE_NUMBER_FLOAT: + return getNumberValue().toString().length(); + + default: + return _currToken.asCharArray().length; + } + } + return 0; + } + + @Override + public int getTextOffset() throws IOException { + return 0; + } + + @Override + public String getValueAsString() throws IOException + { + // inlined 'getText()' for common case of having String + if (_tokenIncomplete) { + if (_currToken == JsonToken.VALUE_STRING) { + return _finishTextToken(_typeByte); + } + } + if (_currToken == JsonToken.VALUE_STRING) { + return _textBuffer.contentsAsString(); + } + if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) { + return null; + } + return getText(); + } + + @Override + public String getValueAsString(String defaultValue) throws IOException + { + if (_currToken != JsonToken.VALUE_STRING) { + if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) { + return defaultValue; + } + } + return getText(); + } + + /* + /********************************************************** + /* Public API, access to token information, binary + /********************************************************** + */ + + @Override + public byte[] getBinaryValue(Base64Variant b64variant) throws IOException + { + if (_tokenIncomplete) { + _finishToken(); + } + if (_currToken != JsonToken.VALUE_EMBEDDED_OBJECT ) { + // TODO, maybe: support base64 for text? + _reportError("Current token ("+getCurrentToken()+") not VALUE_EMBEDDED_OBJECT, can not access as binary"); + } + return _binaryValue; + } + + @Override + public Object getEmbeddedObject() throws IOException + { + if (_tokenIncomplete) { + _finishToken(); + } + if (_currToken == JsonToken.VALUE_EMBEDDED_OBJECT ) { + return _binaryValue; + } + return null; + } + + @Override + public int readBinaryValue(Base64Variant b64variant, OutputStream out) throws IOException + { + if (_currToken != JsonToken.VALUE_EMBEDDED_OBJECT ) { + // Todo, maybe: support base64 for text? + _reportError("Current token ("+getCurrentToken()+") not VALUE_EMBEDDED_OBJECT, can not access as binary"); + } + if (!_tokenIncomplete) { // someone already decoded or read + if (_binaryValue == null) { // if this method called twice in a row + return 0; + } + final int len = _binaryValue.length; + out.write(_binaryValue, 0, len); + return len; + } + + _tokenIncomplete = false; + int len = _decodeExplicitLength(_typeByte & 0x1F); + if (len >= 0) { // non-chunked + return _readAndWriteBytes(out, len); + } + // Chunked... + int total = 0; + while (true) { + len = _decodeChunkLength(CBORConstants.MAJOR_TYPE_BYTES); + if (len < 0) { + return total; + } + total += _readAndWriteBytes(out, len); + } + } + + private int _readAndWriteBytes(OutputStream out, int total) throws IOException + { + int left = total; + while (left > 0) { + int avail = _inputEnd - _inputPtr; + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + avail = _inputEnd - _inputPtr; + } + int count = Math.min(avail, left); + out.write(_inputBuffer, _inputPtr, count); + _inputPtr += count; + left -= count; + } + _tokenIncomplete = false; + return total; + } + + /* + /********************************************************** + /* Numeric accessors of public API + /********************************************************** + */ + + @Override + public Number getNumberValue() throws IOException + { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_UNKNOWN); // will also check event type + } + // Separate types for int types + if (_currToken == JsonToken.VALUE_NUMBER_INT) { + if ((_numTypesValid & NR_INT) != 0) { + return _numberInt; + } + if ((_numTypesValid & NR_LONG) != 0) { + return _numberLong; + } + if ((_numTypesValid & NR_BIGINT) != 0) { + return _numberBigInt; + } + // Shouldn't get this far but if we do + return _numberBigDecimal; + } + + /* And then floating point types. But here optimal type + * needs to be big decimal, to avoid losing any data? + */ + if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + return _numberBigDecimal; + } + if ((_numTypesValid & NR_DOUBLE) != 0) { + return _numberDouble; + } + if ((_numTypesValid & NR_FLOAT) == 0) { // sanity check + _throwInternal(); + } + return _numberFloat; + } + + @Override + public NumberType getNumberType() throws IOException + { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_UNKNOWN); // will also check event type + } + if (_currToken == JsonToken.VALUE_NUMBER_INT) { + if ((_numTypesValid & NR_INT) != 0) { + return NumberType.INT; + } + if ((_numTypesValid & NR_LONG) != 0) { + return NumberType.LONG; + } + return NumberType.BIG_INTEGER; + } + + /* And then floating point types. Here optimal type + * needs to be big decimal, to avoid losing any data? + * However... using BD is slow, so let's allow returning + * double as type if no explicit call has been made to access + * data as BD? + */ + if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + return NumberType.BIG_DECIMAL; + } + if ((_numTypesValid & NR_DOUBLE) != 0) { + return NumberType.DOUBLE; + } + return NumberType.FLOAT; + } + + @Override + public int getIntValue() throws IOException + { + if ((_numTypesValid & NR_INT) == 0) { + if (_numTypesValid == NR_UNKNOWN) { // not parsed at all + _checkNumericValue(NR_INT); // will also check event type + } + if ((_numTypesValid & NR_INT) == 0) { // wasn't an int natively? + convertNumberToInt(); // let's make it so, if possible + } + } + return _numberInt; + } + + @Override + public long getLongValue() throws IOException + { + if ((_numTypesValid & NR_LONG) == 0) { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_LONG); + } + if ((_numTypesValid & NR_LONG) == 0) { + convertNumberToLong(); + } + } + return _numberLong; + } + + @Override + public BigInteger getBigIntegerValue() throws IOException + { + if ((_numTypesValid & NR_BIGINT) == 0) { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_BIGINT); + } + if ((_numTypesValid & NR_BIGINT) == 0) { + convertNumberToBigInteger(); + } + } + return _numberBigInt; + } + + @Override + public float getFloatValue() throws IOException + { + if ((_numTypesValid & NR_FLOAT) == 0) { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_FLOAT); + } + if ((_numTypesValid & NR_FLOAT) == 0) { + convertNumberToFloat(); + } + } + // Bounds/range checks would be tricky here, so let's not bother even trying... + /* + if (value < -Float.MAX_VALUE || value > MAX_FLOAT_D) { + _reportError("Numeric value ("+getText()+") out of range of Java float"); + } + */ + return _numberFloat; + } + + @Override + public double getDoubleValue() throws IOException + { + if ((_numTypesValid & NR_DOUBLE) == 0) { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_DOUBLE); + } + if ((_numTypesValid & NR_DOUBLE) == 0) { + convertNumberToDouble(); + } + } + return _numberDouble; + } + + @Override + public BigDecimal getDecimalValue() throws IOException + { + if ((_numTypesValid & NR_BIGDECIMAL) == 0) { + if (_numTypesValid == NR_UNKNOWN) { + _checkNumericValue(NR_BIGDECIMAL); + } + if ((_numTypesValid & NR_BIGDECIMAL) == 0) { + convertNumberToBigDecimal(); + } + } + return _numberBigDecimal; + } + + /* + /********************************************************** + /* Numeric conversions + /********************************************************** + */ + + protected void _checkNumericValue(int expType) throws IOException + { + // Int or float? + if (_currToken == JsonToken.VALUE_NUMBER_INT || _currToken == JsonToken.VALUE_NUMBER_FLOAT) { + return; + } + _reportError("Current token ("+getCurrentToken()+") not numeric, can not use numeric value accessors"); + } + + protected void convertNumberToInt() throws IOException + { + // First, converting from long ought to be easy + if ((_numTypesValid & NR_LONG) != 0) { + // Let's verify it's lossless conversion by simple roundtrip + int result = (int) _numberLong; + if (((long) result) != _numberLong) { + _reportError("Numeric value ("+getText()+") out of range of int"); + } + _numberInt = result; + } else if ((_numTypesValid & NR_BIGINT) != 0) { + if (BI_MIN_INT.compareTo(_numberBigInt) > 0 + || BI_MAX_INT.compareTo(_numberBigInt) < 0) { + reportOverflowInt(); + } + _numberInt = _numberBigInt.intValue(); + } else if ((_numTypesValid & NR_DOUBLE) != 0) { + // Need to check boundaries + if (_numberDouble < MIN_INT_D || _numberDouble > MAX_INT_D) { + reportOverflowInt(); + } + _numberInt = (int) _numberDouble; + } else if ((_numTypesValid & NR_FLOAT) != 0) { + if (_numberFloat < MIN_INT_D || _numberFloat > MAX_INT_D) { + reportOverflowInt(); + } + _numberInt = (int) _numberFloat; + } else if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + if (BD_MIN_INT.compareTo(_numberBigDecimal) > 0 + || BD_MAX_INT.compareTo(_numberBigDecimal) < 0) { + reportOverflowInt(); + } + _numberInt = _numberBigDecimal.intValue(); + } else { + _throwInternal(); + } + _numTypesValid |= NR_INT; + } + + protected void convertNumberToLong() throws IOException + { + if ((_numTypesValid & NR_INT) != 0) { + _numberLong = (long) _numberInt; + } else if ((_numTypesValid & NR_BIGINT) != 0) { + if (BI_MIN_LONG.compareTo(_numberBigInt) > 0 + || BI_MAX_LONG.compareTo(_numberBigInt) < 0) { + reportOverflowLong(); + } + _numberLong = _numberBigInt.longValue(); + } else if ((_numTypesValid & NR_DOUBLE) != 0) { + if (_numberDouble < MIN_LONG_D || _numberDouble > MAX_LONG_D) { + reportOverflowLong(); + } + _numberLong = (long) _numberDouble; + } else if ((_numTypesValid & NR_FLOAT) != 0) { + if (_numberFloat < MIN_LONG_D || _numberFloat > MAX_LONG_D) { + reportOverflowInt(); + } + _numberLong = (long) _numberFloat; + } else if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + if (BD_MIN_LONG.compareTo(_numberBigDecimal) > 0 + || BD_MAX_LONG.compareTo(_numberBigDecimal) < 0) { + reportOverflowLong(); + } + _numberLong = _numberBigDecimal.longValue(); + } else { + _throwInternal(); + } + _numTypesValid |= NR_LONG; + } + + protected void convertNumberToBigInteger() throws IOException + { + if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + // here it'll just get truncated, no exceptions thrown + _numberBigInt = _numberBigDecimal.toBigInteger(); + } else if ((_numTypesValid & NR_LONG) != 0) { + _numberBigInt = BigInteger.valueOf(_numberLong); + } else if ((_numTypesValid & NR_INT) != 0) { + _numberBigInt = BigInteger.valueOf(_numberInt); + } else if ((_numTypesValid & NR_DOUBLE) != 0) { + _numberBigInt = BigDecimal.valueOf(_numberDouble).toBigInteger(); + } else if ((_numTypesValid & NR_FLOAT) != 0) { + _numberBigInt = BigDecimal.valueOf(_numberFloat).toBigInteger(); + } else { + _throwInternal(); + } + _numTypesValid |= NR_BIGINT; + } + + protected void convertNumberToFloat() throws IOException + { + // Note: this MUST start with more accurate representations, since we don't know which + // value is the original one (others get generated when requested) + if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + _numberFloat = _numberBigDecimal.floatValue(); + } else if ((_numTypesValid & NR_BIGINT) != 0) { + _numberFloat = _numberBigInt.floatValue(); + } else if ((_numTypesValid & NR_DOUBLE) != 0) { + _numberFloat = (float) _numberDouble; + } else if ((_numTypesValid & NR_LONG) != 0) { + _numberFloat = (float) _numberLong; + } else if ((_numTypesValid & NR_INT) != 0) { + _numberFloat = (float) _numberInt; + } else { + _throwInternal(); + } + _numTypesValid |= NR_FLOAT; + } + + protected void convertNumberToDouble() throws IOException + { + // Note: this MUST start with more accurate representations, since we don't know which + // value is the original one (others get generated when requested) + if ((_numTypesValid & NR_BIGDECIMAL) != 0) { + _numberDouble = _numberBigDecimal.doubleValue(); + } else if ((_numTypesValid & NR_FLOAT) != 0) { + _numberDouble = (double) _numberFloat; + } else if ((_numTypesValid & NR_BIGINT) != 0) { + _numberDouble = _numberBigInt.doubleValue(); + } else if ((_numTypesValid & NR_LONG) != 0) { + _numberDouble = (double) _numberLong; + } else if ((_numTypesValid & NR_INT) != 0) { + _numberDouble = (double) _numberInt; + } else { + _throwInternal(); + } + _numTypesValid |= NR_DOUBLE; + } + + protected void convertNumberToBigDecimal() throws IOException + { + // Note: this MUST start with more accurate representations, since we don't know which + // value is the original one (others get generated when requested) + if ((_numTypesValid & (NR_DOUBLE | NR_FLOAT)) != 0) { + // Let's parse from String representation, to avoid rounding errors that + //non-decimal floating operations would incur + _numberBigDecimal = NumberInput.parseBigDecimal(getText()); + } else if ((_numTypesValid & NR_BIGINT) != 0) { + _numberBigDecimal = new BigDecimal(_numberBigInt); + } else if ((_numTypesValid & NR_LONG) != 0) { + _numberBigDecimal = BigDecimal.valueOf(_numberLong); + } else if ((_numTypesValid & NR_INT) != 0) { + _numberBigDecimal = BigDecimal.valueOf(_numberInt); + } else { + _throwInternal(); + } + _numTypesValid |= NR_BIGDECIMAL; + } + + protected void reportOverflowInt() throws IOException { + _reportError("Numeric value ("+getText()+") out of range of int ("+Integer.MIN_VALUE+" - "+Integer.MAX_VALUE+")"); + } + + protected void reportOverflowLong() throws IOException { + _reportError("Numeric value ("+getText()+") out of range of long ("+Long.MIN_VALUE+" - "+Long.MAX_VALUE+")"); + } + + /* + /********************************************************** + /* Internal methods, secondary parsing + /********************************************************** + */ + + /** + * Method called to finish parsing of a token so that token contents + * are retriable + */ + protected void _finishToken() throws IOException + { + _tokenIncomplete = false; + int ch = _typeByte; + final int type = ((ch >> 5) & 0x7); + ch &= 0x1F; + + // Either String or byte[] + if (type != CBORConstants.MAJOR_TYPE_TEXT) { + if (type == CBORConstants.MAJOR_TYPE_BYTES) { + _binaryValue = _finishBytes(_decodeExplicitLength(ch)); + return; + } + // should never happen so + _throwInternal(); + } + + // String value, decode + final int len = _decodeExplicitLength(ch); + + if (len <= 0) { + if (len < 0) { + _finishChunkedText(); + } else { + _textBuffer.resetWithEmpty(); + } + return; + } + if (len > (_inputEnd - _inputPtr)) { + // or if not, could we read? + if (len >= _inputBuffer.length) { + // If not enough space, need handling similar to chunked + _finishLongText(len); + return; + } + _loadToHaveAtLeast(len); + } + // offline for better optimization + _finishShortText(len); + } + + /** + * @since 2.6 + */ + protected String _finishTextToken(int ch) throws IOException + { + _tokenIncomplete = false; + final int type = ((ch >> 5) & 0x7); + ch &= 0x1F; + + // sanity check + if (type != CBORConstants.MAJOR_TYPE_TEXT) { + // should never happen so + _throwInternal(); + } + + // String value, decode + final int len = _decodeExplicitLength(ch); + + if (len <= 0) { + if (len == 0) { + _textBuffer.resetWithEmpty(); + return ""; + } + _finishChunkedText(); + return _textBuffer.contentsAsString(); + } + if (len > (_inputEnd - _inputPtr)) { + // or if not, could we read? + if (len >= _inputBuffer.length) { + // If not enough space, need handling similar to chunked + _finishLongText(len); + return _textBuffer.contentsAsString(); + } + _loadToHaveAtLeast(len); + } + // offline for better optimization + return _finishShortText(len); + } + + private final String _finishShortText(int len) throws IOException + { + char[] outBuf = _textBuffer.emptyAndGetCurrentSegment(); + if (outBuf.length < len) { // one minor complication + outBuf = _textBuffer.expandCurrentSegment(len); + } + + int outPtr = 0; + int inPtr = _inputPtr; + _inputPtr += len; + final byte[] inputBuf = _inputBuffer; + + // Let's actually do a tight loop for ASCII first: + final int end = inPtr + len; + + int i; + while ((i = inputBuf[inPtr]) >= 0) { + outBuf[outPtr++] = (char) i; + if (++inPtr == end) { + return _textBuffer.setCurrentAndReturn(outPtr); + } + } + + final int[] codes = UTF8_UNIT_CODES; + do { + i = inputBuf[inPtr++] & 0xFF; + switch (codes[i]) { + case 0: + break; + case 1: + i = ((i & 0x1F) << 6) | (inputBuf[inPtr++] & 0x3F); + break; + case 2: + i = ((i & 0x0F) << 12) + | ((inputBuf[inPtr++] & 0x3F) << 6) + | (inputBuf[inPtr++] & 0x3F); + break; + case 3: + i = ((i & 0x07) << 18) + | ((inputBuf[inPtr++] & 0x3F) << 12) + | ((inputBuf[inPtr++] & 0x3F) << 6) + | (inputBuf[inPtr++] & 0x3F); + // note: this is the codepoint value; need to split, too + i -= 0x10000; + outBuf[outPtr++] = (char) (0xD800 | (i >> 10)); + i = 0xDC00 | (i & 0x3FF); + break; + default: // invalid + _reportError("Invalid byte "+Integer.toHexString(i)+" in Unicode text block"); + } + outBuf[outPtr++] = (char) i; + } while (inPtr < end); + return _textBuffer.setCurrentAndReturn(outPtr); + } + + private final void _finishLongText(int len) throws IOException + { + char[] outBuf = _textBuffer.emptyAndGetCurrentSegment(); + int outPtr = 0; + final int[] codes = UTF8_UNIT_CODES; + int outEnd = outBuf.length; + + while (--len >= 0) { + int c = _nextByte() & 0xFF; + int code = codes[c]; + if (code == 0 && outPtr < outEnd) { + outBuf[outPtr++] = (char) c; + continue; + } + if ((len -= code) < 0) { // may need to improve error here but... + throw _constructError("Malformed UTF-8 character at end of long (non-chunked) text segment"); + } + + switch (code) { + case 0: + break; + case 1: // 2-byte UTF + { + int d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = ((c & 0x1F) << 6) | (d & 0x3F); + } + break; + case 2: // 3-byte UTF + c = _decodeUTF8_3(c); + break; + case 3: // 4-byte UTF + c = _decodeUTF8_4(c); + // Let's add first part right away: + outBuf[outPtr++] = (char) (0xD800 | (c >> 10)); + if (outPtr >= outBuf.length) { + outBuf = _textBuffer.finishCurrentSegment(); + outPtr = 0; + outEnd = outBuf.length; + } + c = 0xDC00 | (c & 0x3FF); + // And let the other char output down below + break; + default: + // Is this good enough error message? + _reportInvalidChar(c); + } + // Need more room? + if (outPtr >= outEnd) { + outBuf = _textBuffer.finishCurrentSegment(); + outPtr = 0; + outEnd = outBuf.length; + } + // Ok, let's add char to output: + outBuf[outPtr++] = (char) c; + } + _textBuffer.setCurrentLength(outPtr); + } + + private final void _finishChunkedText() throws IOException + { + char[] outBuf = _textBuffer.emptyAndGetCurrentSegment(); + int outPtr = 0; + final int[] codes = UTF8_UNIT_CODES; + int outEnd = outBuf.length; + final byte[] input = _inputBuffer; + + _chunkEnd = _inputPtr; + _chunkLeft = 0; + + while (true) { + // at byte boundary fine to get break marker, hence different: + if (_inputPtr >= _chunkEnd) { + // end of chunk? get a new one, if there is one; if not, we are done + if (_chunkLeft == 0) { + int len = _decodeChunkLength(CBORConstants.MAJOR_TYPE_TEXT); + if (len < 0) { // fine at this point (but not later) + break; + } + _chunkLeft = len; + int end = _inputPtr + len; + if (end <= _inputEnd) { // all within buffer + _chunkLeft = 0; + _chunkEnd = end; + } else { // stretches beyond + _chunkLeft = (end - _inputEnd); + _chunkEnd = _inputEnd; + } + } + // besides of which just need to ensure there's content + if (_inputPtr >= _inputEnd) { // end of buffer, but not necessarily chunk + loadMoreGuaranteed(); + int end = _inputPtr + _chunkLeft; + if (end <= _inputEnd) { // all within buffer + _chunkLeft = 0; + _chunkEnd = end; + } else { // stretches beyond + _chunkLeft = (end - _inputEnd); + _chunkEnd = _inputEnd; + } + } + } + int c = input[_inputPtr++] & 0xFF; + int code = codes[c]; + if (code == 0 && outPtr < outEnd) { + outBuf[outPtr++] = (char) c; + continue; + } + switch (code) { + case 0: + break; + case 1: // 2-byte UTF + { + int d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = ((c & 0x1F) << 6) | (d & 0x3F); + } + break; + case 2: // 3-byte UTF + c = _decodeChunkedUTF8_3(c); + break; + case 3: // 4-byte UTF + c = _decodeChunkedUTF8_4(c); + // Let's add first part right away: + outBuf[outPtr++] = (char) (0xD800 | (c >> 10)); + if (outPtr >= outBuf.length) { + outBuf = _textBuffer.finishCurrentSegment(); + outPtr = 0; + outEnd = outBuf.length; + } + c = 0xDC00 | (c & 0x3FF); + // And let the other char output down below + break; + default: + // Is this good enough error message? + _reportInvalidChar(c); + } + // Need more room? + if (outPtr >= outEnd) { + outBuf = _textBuffer.finishCurrentSegment(); + outPtr = 0; + outEnd = outBuf.length; + } + // Ok, let's add char to output: + outBuf[outPtr++] = (char) c; + } + _textBuffer.setCurrentLength(outPtr); + } + + private final int _nextByte() throws IOException { + int inPtr = _inputPtr; + if (inPtr < _inputEnd) { + int ch = _inputBuffer[inPtr]; + _inputPtr = inPtr+1; + return ch; + } + loadMoreGuaranteed(); + return _inputBuffer[_inputPtr++]; + } + + private final int _nextChunkedByte() throws IOException { + int inPtr = _inputPtr; + + // NOTE: _chunkEnd less than or equal to _inputEnd + if (inPtr >= _chunkEnd) { + return _nextChunkedByte2(); + } + int ch = _inputBuffer[inPtr]; + _inputPtr = inPtr+1; + return ch; + } + + private final int _nextChunkedByte2() throws IOException + { + // two possibilities: either end of buffer (in which case, just load more), + // or end of chunk + + if (_inputPtr >= _inputEnd) { // end of buffer, but not necessarily chunk + loadMoreGuaranteed(); + if (_chunkLeft > 0) { + int end = _inputPtr + _chunkLeft; + if (end <= _inputEnd) { // all within buffer + _chunkLeft = 0; + _chunkEnd = end; + } else { // stretches beyond + _chunkLeft = (end - _inputEnd); + _chunkEnd = _inputEnd; + } + // either way, got it now + return _inputBuffer[_inputPtr++]; + } + } + int len = _decodeChunkLength(CBORConstants.MAJOR_TYPE_TEXT); + // not actually acceptable if we got a split character + if (len < 0) { + _reportInvalidEOF(": chunked Text ends with partial UTF-8 character"); + } + int end = _inputPtr + len; + if (end <= _inputEnd) { // all within buffer + _chunkLeft = 0; + _chunkEnd = end; + } else { // stretches beyond + _chunkLeft = (end - _inputEnd); + _chunkEnd = _inputEnd; + } + // either way, got it now + return _inputBuffer[_inputPtr++]; + } + + @SuppressWarnings("resource") + protected byte[] _finishBytes(int len) throws IOException + { + // First, simple: non-chunked + if (len >= 0) { + if (len == 0) { + return NO_BYTES; + } + byte[] b = new byte[len]; + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int ptr = 0; + while (true) { + int toAdd = Math.min(len, _inputEnd - _inputPtr); + System.arraycopy(_inputBuffer, _inputPtr, b, ptr, toAdd); + _inputPtr += toAdd; + ptr += toAdd; + len -= toAdd; + if (len <= 0) { + return b; + } + loadMoreGuaranteed(); + } + } + + // or, if not, chunked... + ByteArrayBuilder bb = _getByteArrayBuilder(); + while (true) { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int ch = _inputBuffer[_inputPtr++] & 0xFF; + if (ch == 0xFF) { // end marker + break; + } + // verify that type matches + int type = (ch >> 5); + if (type != CBORConstants.MAJOR_TYPE_BYTES) { + throw _constructError("Mismatched chunk in chunked content: expected "+CBORConstants.MAJOR_TYPE_BYTES + +" but encountered "+type); + } + len = _decodeExplicitLength(ch & 0x1F); + if (len < 0) { + throw _constructError("Illegal chunked-length indicator within chunked-length value (type "+CBORConstants.MAJOR_TYPE_BYTES+")"); + } + while (len > 0) { + int avail = _inputEnd - _inputPtr; + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + avail = _inputEnd - _inputPtr; + } + int count = Math.min(avail, len); + bb.write(_inputBuffer, _inputPtr, count); + _inputPtr += count; + len -= count; + } + } + return bb.toByteArray(); + } + + protected final JsonToken _decodeFieldName() throws IOException + { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + final int ch = _inputBuffer[_inputPtr++]; + final int type = ((ch >> 5) & 0x7); + + // Expecting a String, but may need to allow other types too + if (type != CBORConstants.MAJOR_TYPE_TEXT) { // the usual case + if (ch == -1) { + if (!_parsingContext.hasExpectedLength()) { + _parsingContext = _parsingContext.getParent(); + return JsonToken.END_OBJECT; + } + _reportUnexpectedBreak(); + } + // offline non-String cases, as they are expected to be rare + _decodeNonStringName(ch); + return JsonToken.FIELD_NAME; + } + final int lenMarker = ch & 0x1F; + String name; + if (lenMarker <= 23) { + if (lenMarker == 0) { + name = ""; + } else { + name = _findDecodedFromSymbols(lenMarker); + if (name != null) { + _inputPtr += lenMarker; + } else { + name = _decodeShortName(lenMarker); + name = _addDecodedToSymbols(lenMarker, name); + } + } + } else { + final int actualLen = _decodeExplicitLength(lenMarker); + if (actualLen < 0) { + name = _decodeChunkedName(); + } else { + name = _decodeLongerName(actualLen); + } + } + _parsingContext.setCurrentName(name); + return JsonToken.FIELD_NAME; + } + + private final String _decodeShortName(int len) throws IOException + { + // note: caller ensures we have enough bytes available + int outPtr = 0; + char[] outBuf = _textBuffer.emptyAndGetCurrentSegment(); + if (outBuf.length < len) { // one minor complication + outBuf = _textBuffer.expandCurrentSegment(len); + } + int inPtr = _inputPtr; + _inputPtr += len; + final int[] codes = UTF8_UNIT_CODES; + final byte[] inBuf = _inputBuffer; + + // First a tight loop for Ascii + final int end = inPtr + len; + while (true) { + int i = inBuf[inPtr] & 0xFF; + int code = codes[i]; + if (code != 0) { + break; + } + outBuf[outPtr++] = (char) i; + if (++inPtr == end) { + return _textBuffer.setCurrentAndReturn(outPtr); + } + } + + // But in case there's multi-byte char, use a full loop + while (inPtr < end) { + int i = inBuf[inPtr++] & 0xFF; + int code = codes[i]; + if (code != 0) { + // trickiest one, need surrogate handling + switch (code) { + case 1: + i = ((i & 0x1F) << 6) | (inBuf[inPtr++] & 0x3F); + break; + case 2: + i = ((i & 0x0F) << 12) + | ((inBuf[inPtr++] & 0x3F) << 6) + | (inBuf[inPtr++] & 0x3F); + break; + case 3: + i = ((i & 0x07) << 18) + | ((inBuf[inPtr++] & 0x3F) << 12) + | ((inBuf[inPtr++] & 0x3F) << 6) + | (inBuf[inPtr++] & 0x3F); + // note: this is the codepoint value; need to split, too + i -= 0x10000; + outBuf[outPtr++] = (char) (0xD800 | (i >> 10)); + i = 0xDC00 | (i & 0x3FF); + break; + default: // invalid + _reportError("Invalid byte "+Integer.toHexString(i)+" in Object name"); + } + } + outBuf[outPtr++] = (char) i; + } + return _textBuffer.setCurrentAndReturn(outPtr); + } + + private final String _decodeLongerName(int len) throws IOException + { + // Do we have enough buffered content to read? + if ((_inputEnd - _inputPtr) < len) { + // or if not, could we read? + if (len >= _inputBuffer.length) { + // If not enough space, need handling similar to chunked + _finishLongText(len); + return _textBuffer.contentsAsString(); + } + _loadToHaveAtLeast(len); + } + String name = _findDecodedFromSymbols(len); + if (name != null) { + _inputPtr += len; + return name; + } + name = _decodeShortName(len); + return _addDecodedToSymbols(len, name); + } + + private final String _decodeChunkedName() throws IOException + { + _finishChunkedText(); + return _textBuffer.contentsAsString(); + } + + /** + * Method that handles initial token type recognition for token + * that has to be either FIELD_NAME or END_OBJECT. + */ + protected final void _decodeNonStringName(int ch) throws IOException + { + final int type = ((ch >> 5) & 0x7); + String name; + if (type == CBORConstants.MAJOR_TYPE_INT_POS) { + name = _numberToName(ch, false); + } else if (type == CBORConstants.MAJOR_TYPE_INT_NEG) { + name = _numberToName(ch, true); + } else if (type == CBORConstants.MAJOR_TYPE_BYTES) { + /* 08-Sep-2014, tatu: As per [Issue#5], there are codecs + * (f.ex. Perl module "CBOR::XS") that use Binary data... + */ + final int blen = _decodeExplicitLength(ch & 0x1F); + byte[] b = _finishBytes(blen); + // TODO: Optimize, if this becomes commonly used & bottleneck; we have + // more optimized UTF-8 codecs available. + name = new String(b, UTF8); + } else { + if ((ch & 0xFF) == CBORConstants.INT_BREAK) { + _reportUnexpectedBreak(); + } + throw _constructError("Unsupported major type ("+type+") for CBOR Objects, not (yet?) supported, only Strings"); + } + _parsingContext.setCurrentName(name); + } + + private final String _findDecodedFromSymbols(final int len) throws IOException + { + if ((_inputEnd - _inputPtr) < len) { + _loadToHaveAtLeast(len); + } + // First: maybe we already have this name decoded? + if (len < 5) { + int inPtr = _inputPtr; + final byte[] inBuf = _inputBuffer; + int q = inBuf[inPtr] & 0xFF; + if (len > 1) { + q = (q << 8) + (inBuf[++inPtr] & 0xFF); + if (len > 2) { + q = (q << 8) + (inBuf[++inPtr] & 0xFF); + if (len > 3) { + q = (q << 8) + (inBuf[++inPtr] & 0xFF); + } + } + } + _quad1 = q; + return _symbols.findName(q); + } + + final byte[] inBuf = _inputBuffer; + int inPtr = _inputPtr; + + // First quadbyte is easy + int q1 = (inBuf[inPtr++] & 0xFF); + q1 = (q1 << 8) | (inBuf[inPtr++] & 0xFF); + q1 = (q1 << 8) | (inBuf[inPtr++] & 0xFF); + q1 = (q1 << 8) | (inBuf[inPtr++] & 0xFF); + + if (len < 9) { + int q2 = (inBuf[inPtr++] & 0xFF); + int left = len - 5; + if (left > 0) { + q2 = (q2 << 8) + (inBuf[inPtr++] & 0xFF); + if (left > 1) { + q2 = (q2 << 8) + (inBuf[inPtr++] & 0xFF); + if (left > 2) { + q2 = (q2 << 8) + (inBuf[inPtr++] & 0xFF); + } + } + } + _quad1 = q1; + _quad2 = q2; + return _symbols.findName(q1, q2); + } + + int q2 = (inBuf[inPtr++] & 0xFF); + q2 = (q2 << 8) | (inBuf[inPtr++] & 0xFF); + q2 = (q2 << 8) | (inBuf[inPtr++] & 0xFF); + q2 = (q2 << 8) | (inBuf[inPtr++] & 0xFF); + + if (len < 13) { + int q3 = (inBuf[inPtr++] & 0xFF); + int left = len - 9; + if (left > 0) { + q3 = (q3 << 8) + (inBuf[inPtr++] & 0xFF); + if (left > 1) { + q3 = (q3 << 8) + (inBuf[inPtr++] & 0xFF); + if (left > 2) { + q3 = (q3 << 8) + (inBuf[inPtr++] & 0xFF); + } + } + } + _quad1 = q1; + _quad2 = q2; + _quad3 = q3; + return _symbols.findName(q1, q2, q3); + } + return _findDecodedLong(len, q1, q2); + } + + /** + * Method for locating names longer than 8 bytes (in UTF-8) + */ + private final String _findDecodedLong(int len, int q1, int q2) throws IOException + { + // first, need enough buffer to store bytes as ints: + { + int bufLen = (len + 3) >> 2; + if (bufLen > _quadBuffer.length) { + _quadBuffer = _growArrayTo(_quadBuffer, bufLen); + } + } + _quadBuffer[0] = q1; + _quadBuffer[1] = q2; + + // then decode, full quads first + int offset = 2; + int inPtr = _inputPtr+8; + len -= 8; + + final byte[] inBuf = _inputBuffer; + do { + int q = (inBuf[inPtr++] & 0xFF); + q = (q << 8) | inBuf[inPtr++] & 0xFF; + q = (q << 8) | inBuf[inPtr++] & 0xFF; + q = (q << 8) | inBuf[inPtr++] & 0xFF; + _quadBuffer[offset++] = q; + } while ((len -= 4) > 3); + // and then leftovers + if (len > 0) { + int q = inBuf[inPtr] & 0xFF; + if (len > 1) { + q = (q << 8) + (inBuf[++inPtr] & 0xFF); + if (len > 2) { + q = (q << 8) + (inBuf[++inPtr] & 0xFF); + } + } + _quadBuffer[offset++] = q; + } + return _symbols.findName(_quadBuffer, offset); + } + + private final String _addDecodedToSymbols(int len, String name) { + if (len < 5) { + return _symbols.addName(name, _quad1); + } + if (len < 9) { + return _symbols.addName(name, _quad1, _quad2); + } + if (len < 13) { + return _symbols.addName(name, _quad1, _quad2, _quad3); + } + int qlen = (len + 3) >> 2; + return _symbols.addName(name, _quadBuffer, qlen); + } + + private static int[] _growArrayTo(int[] arr, int minSize) { + return Arrays.copyOf(arr, minSize+4); + } + + /* + /********************************************************** + /* Internal methods, skipping + /********************************************************** + */ + + /** + * Method called to skip remainders of an incomplete token, when + * contents themselves will not be needed any more. + * Only called or byte array and text. + */ + protected void _skipIncomplete() throws IOException + { + _tokenIncomplete = false; + final int type = ((_typeByte >> 5) & 0x7); + + // Either String or byte[] + if (type != CBORConstants.MAJOR_TYPE_TEXT + && type == CBORConstants.MAJOR_TYPE_TEXT) { + _throwInternal(); + } + final int lowBits = _typeByte & 0x1F; + + if (lowBits <= 23) { + if (lowBits > 0) { + _skipBytes(lowBits); + } + return; + } + switch (lowBits) { + case 24: + _skipBytes(_decode8Bits()); + break; + case 25: + _skipBytes(_decode16Bits()); + break; + case 26: + _skipBytes(_decode32Bits()); + break; + case 27: // seriously? + _skipBytesL(_decode64Bits()); + break; + case 31: + _skipChunked(type); + break; + default: + _invalidToken(_typeByte); + } + } + + protected void _skipChunked(int expectedType) throws IOException + { + while (true) { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int ch = _inputBuffer[_inputPtr++] & 0xFF; + if (ch == 0xFF) { + return; + } + // verify that type matches + int type = (ch >> 5); + if (type != expectedType) { + throw _constructError("Mismatched chunk in chunked content: expected "+expectedType + +" but encountered "+type); + } + + final int lowBits = ch & 0x1F; + + if (lowBits <= 23) { + if (lowBits > 0) { + _skipBytes(lowBits); + } + continue; + } + switch (lowBits) { + case 24: + _skipBytes(_decode8Bits()); + break; + case 25: + _skipBytes(_decode16Bits()); + break; + case 26: + _skipBytes(_decode32Bits()); + break; + case 27: // seriously? + _skipBytesL(_decode64Bits()); + break; + case 31: + throw _constructError("Illegal chunked-length indicator within chunked-length value (type "+expectedType+")"); + default: + _invalidToken(_typeByte); + } + } + } + + protected void _skipBytesL(long llen) throws IOException + { + while (llen > MAX_INT_L) { + _skipBytes((int) MAX_INT_L); + llen -= MAX_INT_L; + } + _skipBytes((int) llen); + } + + protected void _skipBytes(int len) throws IOException + { + while (true) { + int toAdd = Math.min(len, _inputEnd - _inputPtr); + _inputPtr += toAdd; + len -= toAdd; + if (len <= 0) { + return; + } + loadMoreGuaranteed(); + } + } + + /* + /********************************************************** + /* Internal methods, length/number decoding + /********************************************************** + */ + + private final int _decodeTag(int lowBits) throws IOException + { + if (lowBits <= 23) { + return lowBits; + } + switch (lowBits - 24) { + case 0: + return _decode8Bits(); + case 1: + return _decode16Bits(); + case 2: + return _decode32Bits(); + case 3: + // 16-Jan-2014, tatu: Technically legal, but nothing defined, so let's + // only allow for cases where encoder is being wasteful... + long l = _decode64Bits(); + if (l < MIN_INT_L || l > MAX_INT_L) { + _reportError("Illegal Tag value: "+l); + } + return (int) l; + } + throw _constructError("Invalid low bits for Tag token: 0x"+Integer.toHexString(lowBits)); + } + + /** + * Method used to decode explicit length of a variable-length value + * (or, for indefinite/chunked, indicate that one is not known). + * Note that long (64-bit) length is only allowed if it fits in + * 32-bit signed int, for now; expectation being that longer values + * are always encoded as chunks. + */ + private final int _decodeExplicitLength(int lowBits) throws IOException + { + // common case, indefinite length; relies on marker + if (lowBits == 31) { + return -1; + } + if (lowBits <= 23) { + return lowBits; + } + switch (lowBits - 24) { + case 0: + return _decode8Bits(); + case 1: + return _decode16Bits(); + case 2: + return _decode32Bits(); + case 3: + long l = _decode64Bits(); + if (l < 0 || l > MAX_INT_L) { + throw _constructError("Illegal length for "+getCurrentToken()+": "+l); + } + return (int) l; + } + throw _constructError("Invalid length for "+getCurrentToken()+": 0x"+Integer.toHexString(lowBits)); + } + + private int _decodeChunkLength(int expType) throws IOException + { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int ch = (int) _inputBuffer[_inputPtr++] & 0xFF; + if (ch == CBORConstants.INT_BREAK) { + return -1; + } + int type = (ch >> 5); + if (type != expType) { + throw _constructError("Mismatched chunk in chunked content: expected " + +expType+" but encountered "+type+" (byte 0x"+Integer.toHexString(ch)+")"); + } + int len = _decodeExplicitLength(ch & 0x1F); + if (len < 0) { + throw _constructError("Illegal chunked-length indicator within chunked-length value (type "+expType+")"); + } + return len; + } + + private float _decodeHalfSizeFloat() throws IOException + { + int i16 = _decode16Bits() & 0xFFFF; + + boolean neg = (i16 >> 15) != 0; + int e = (i16 >> 10) & 0x1F; + int f = i16 & 0x03FF; + + if (e == 0) { + float result = (float) (MATH_POW_2_NEG14 * (f / MATH_POW_2_10)); + return neg ? -result : result; + } + if (e == 0x1F) { + if (f != 0) return Float.NaN; + return neg ? Float.NEGATIVE_INFINITY : Float.POSITIVE_INFINITY; + } + float result = (float) (Math.pow(2, e - 15) * (1 + f / MATH_POW_2_10)); + return neg ? -result : result; + } + + private final int _decode8Bits() throws IOException { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + return _inputBuffer[_inputPtr++] & 0xFF; + } + + private final int _decode16Bits() throws IOException { + int ptr = _inputPtr; + if ((ptr + 1) >= _inputEnd) { + return _slow16(); + } + final byte[] b = _inputBuffer; + int v = ((b[ptr] & 0xFF) << 8) + (b[ptr+1] & 0xFF); + _inputPtr = ptr+2; + return v; + } + + private final int _slow16() throws IOException { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int v = (_inputBuffer[_inputPtr++] & 0xFF); + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + return (v << 8) + (_inputBuffer[_inputPtr++] & 0xFF); + } + + private final int _decode32Bits() throws IOException { + int ptr = _inputPtr; + if ((ptr + 3) >= _inputEnd) { + return _slow32(); + } + final byte[] b = _inputBuffer; + int v = (b[ptr++] << 24) + ((b[ptr++] & 0xFF) << 16) + + ((b[ptr++] & 0xFF) << 8) + (b[ptr++] & 0xFF); + _inputPtr = ptr; + return v; + } + + private final int _slow32() throws IOException { + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + int v = _inputBuffer[_inputPtr++]; // sign will disappear anyway + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + v = (v << 8) + (_inputBuffer[_inputPtr++] & 0xFF); + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + v = (v << 8) + (_inputBuffer[_inputPtr++] & 0xFF); + if (_inputPtr >= _inputEnd) { + loadMoreGuaranteed(); + } + return (v << 8) + (_inputBuffer[_inputPtr++] & 0xFF); + } + + private final long _decode64Bits() throws IOException { + int ptr = _inputPtr; + if ((ptr + 7) >= _inputEnd) { + return _slow64(); + } + final byte[] b = _inputBuffer; + int i1 = (b[ptr++] << 24) + ((b[ptr++] & 0xFF) << 16) + + ((b[ptr++] & 0xFF) << 8) + (b[ptr++] & 0xFF); + int i2 = (b[ptr++] << 24) + ((b[ptr++] & 0xFF) << 16) + + ((b[ptr++] & 0xFF) << 8) + (b[ptr++] & 0xFF); + _inputPtr = ptr; + return _long(i1, i2); + } + + private final long _slow64() throws IOException { + return _long(_decode32Bits(), _decode32Bits()); + } + + private final static long _long(int i1, int i2) + { + long l1 = i1; + long l2 = i2; + l2 = (l2 << 32) >>> 32; + return (l1 << 32) + l2; + } + + /* + /********************************************************** + /* Internal methods, UTF8 decoding + /********************************************************** + */ + + /* + private final int X_decodeUTF8_2(int c) throws IOException { + int d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + return ((c & 0x1F) << 6) | (d & 0x3F); + } + */ + + private final int _decodeUTF8_3(int c1) throws IOException + { + c1 &= 0x0F; + int d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + int c = (c1 << 6) | (d & 0x3F); + d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = (c << 6) | (d & 0x3F); + return c; + } + + private final int _decodeChunkedUTF8_3(int c1) throws IOException + { + c1 &= 0x0F; + int d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + int c = (c1 << 6) | (d & 0x3F); + d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = (c << 6) | (d & 0x3F); + return c; + } + + /** + * @return Character value minus 0x10000; this so that caller + * can readily expand it to actual surrogates + */ + private final int _decodeUTF8_4(int c) throws IOException + { + int d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = ((c & 0x07) << 6) | (d & 0x3F); + d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = (c << 6) | (d & 0x3F); + d = _nextByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + return ((c << 6) | (d & 0x3F)) - 0x10000; + } + + private final int _decodeChunkedUTF8_4(int c) throws IOException + { + int d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = ((c & 0x07) << 6) | (d & 0x3F); + d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + c = (c << 6) | (d & 0x3F); + d = _nextChunkedByte(); + if ((d & 0xC0) != 0x080) { + _reportInvalidOther(d & 0xFF, _inputPtr); + } + return ((c << 6) | (d & 0x3F)) - 0x10000; + } + + /* + /********************************************************** + /* Low-level reading, other + /********************************************************** + */ + + protected final boolean loadMore() throws IOException + { + if (_inputStream != null) { + _currInputProcessed += _inputEnd; + + int count = _inputStream.read(_inputBuffer, 0, _inputBuffer.length); + if (count > 0) { + _inputPtr = 0; + _inputEnd = count; + return true; + } + // End of input + _closeInput(); + // Should never return 0, so let's fail + if (count == 0) { + throw new IOException("InputStream.read() returned 0 characters when trying to read "+_inputBuffer.length+" bytes"); + } + } + return false; + } + + protected final void loadMoreGuaranteed() throws IOException { + if (!loadMore()) { _reportInvalidEOF(); } + } + + /** + * Helper method that will try to load at least specified number bytes in + * input buffer, possible moving existing data around if necessary + */ + protected final void _loadToHaveAtLeast(int minAvailable) throws IOException + { + // No input stream, no leading (either we are closed, or have non-stream input source) + if (_inputStream == null) { + throw _constructError("Needed to read "+minAvailable+" bytes, reached end-of-input"); + } + // Need to move remaining data in front? + int amount = _inputEnd - _inputPtr; + if (amount > 0 && _inputPtr > 0) { + _currInputProcessed += _inputPtr; + //_currInputRowStart -= _inputPtr; + System.arraycopy(_inputBuffer, _inputPtr, _inputBuffer, 0, amount); + _inputEnd = amount; + } else { + _inputEnd = 0; + } + _inputPtr = 0; + while (_inputEnd < minAvailable) { + int count = _inputStream.read(_inputBuffer, _inputEnd, _inputBuffer.length - _inputEnd); + if (count < 1) { + // End of input + _closeInput(); + // Should never return 0, so let's fail + if (count == 0) { + throw new IOException("InputStream.read() returned 0 characters when trying to read "+amount+" bytes"); + } + throw _constructError("Needed to read "+minAvailable+" bytes, missed "+minAvailable+" before end-of-input"); + } + _inputEnd += count; + } + } + + protected ByteArrayBuilder _getByteArrayBuilder() { + if (_byteArrayBuilder == null) { + _byteArrayBuilder = new ByteArrayBuilder(); + } else { + _byteArrayBuilder.reset(); + } + return _byteArrayBuilder; + } + + protected void _closeInput() throws IOException { + if (_inputStream != null) { + if (_ioContext.isResourceManaged() || isEnabled(JsonParser.Feature.AUTO_CLOSE_SOURCE)) { + _inputStream.close(); + } + _inputStream = null; + } + } + + @Override + protected void _handleEOF() throws JsonParseException { + if (!_parsingContext.inRoot()) { + _reportInvalidEOF(": expected close marker for "+_parsingContext.getTypeDesc()+" (from "+_parsingContext.getStartLocation(_ioContext.getSourceReference())+")"); + } + } + + /* + /********************************************************** + /* Internal methods, error reporting + /********************************************************** + */ + + protected void _reportUnexpectedBreak() throws IOException { + if (_parsingContext.inRoot()) { + throw _constructError("Unexpected Break (0xFF) token in Root context"); + } + throw _constructError("Unexpected Break (0xFF) token in definite length (" + +_parsingContext.getExpectedLength()+") " + +(_parsingContext.inObject() ? "Object" : "Array" )); + } + + protected void _reportInvalidChar(int c) throws JsonParseException { + // Either invalid WS or illegal UTF-8 start char + if (c < ' ') { + _throwInvalidSpace(c); + } + _reportInvalidInitial(c); + } + + protected void _reportInvalidInitial(int mask) throws JsonParseException { + _reportError("Invalid UTF-8 start byte 0x"+Integer.toHexString(mask)); + } + + protected void _reportInvalidOther(int mask) throws JsonParseException { + _reportError("Invalid UTF-8 middle byte 0x"+Integer.toHexString(mask)); + } + + protected void _reportInvalidOther(int mask, int ptr) throws JsonParseException { + _inputPtr = ptr; + _reportInvalidOther(mask); + } +} + diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParserBootstrapper.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParserBootstrapper.java new file mode 100644 index 000000000..3ee8dd29a --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORParserBootstrapper.java @@ -0,0 +1,205 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.format.InputAccessor; +import com.fasterxml.jackson.core.format.MatchStrength; +import com.fasterxml.jackson.core.io.IOContext; +import com.fasterxml.jackson.core.sym.ByteQuadsCanonicalizer; + +/** + * Simple bootstrapper version used with CBOR format parser. + */ +public class CBORParserBootstrapper +{ + /* + /********************************************************** + /* Configuration + /********************************************************** + */ + + protected final IOContext _context; + protected final InputStream _in; + + /* + /********************************************************** + /* Input buffering + /********************************************************** + */ + + protected final byte[] _inputBuffer; + protected int _inputPtr, _inputEnd; + + /** + * Flag that indicates whether buffer above is to be recycled + * after being used or not. + */ + protected final boolean _bufferRecyclable; + + /* + /********************************************************** + /* Input location + /********************************************************** + */ + + /** + * Current number of input units (bytes or chars) that were processed in + * previous blocks, + * before contents of current input buffer. + *

+ * Note: includes possible BOMs, if those were part of the input. + */ + protected int _inputProcessed; + + /* + /********************************************************** + /* Life-cycle + /********************************************************** + */ + + public CBORParserBootstrapper(IOContext ctxt, InputStream in) + { + _context = ctxt; + _in = in; + _inputBuffer = ctxt.allocReadIOBuffer(); + _inputEnd = _inputPtr = 0; + _inputProcessed = 0; + _bufferRecyclable = true; + } + + public CBORParserBootstrapper(IOContext ctxt, byte[] inputBuffer, int inputStart, int inputLen) + { + _context = ctxt; + _in = null; + _inputBuffer = inputBuffer; + _inputPtr = inputStart; + _inputEnd = (inputStart + inputLen); + // Need to offset this for correct location info + _inputProcessed = -inputStart; + _bufferRecyclable = false; + } + + public CBORParser constructParser(int factoryFeatures, + int generalParserFeatures, int formatFeatures, + ObjectCodec codec, ByteQuadsCanonicalizer rootByteSymbols) + throws IOException, JsonParseException + { + ByteQuadsCanonicalizer can = rootByteSymbols.makeChild(factoryFeatures); + // We just need a single byte to recognize possible "empty" document. + ensureLoaded(1); + CBORParser p = new CBORParser(_context, generalParserFeatures, formatFeatures, + codec, can, + _in, _inputBuffer, _inputPtr, _inputEnd, _bufferRecyclable); + if (_inputPtr < _inputEnd) { // only false for empty doc + ; // anything we should verify? In future, could verify + } else { + /* 13-Jan-2014, tatu: Actually, let's allow empty documents even if + * header signature would otherwise be needed. This is useful for + * JAX-RS provider, empty PUT/POST payloads? + */ + ; + } + return p; + } + + /* + /********************************************************** + /* Encoding detection for data format auto-detection + /********************************************************** + */ + + public static MatchStrength hasCBORFormat(InputAccessor acc) throws IOException + { + // Ok: ideally we start with the header -- if so, we are golden + if (!acc.hasMoreBytes()) { + return MatchStrength.INCONCLUSIVE; + } + // We always need at least two bytes to determine, so + byte b = acc.nextByte(); + + /* 13-Jan-2014, tatu: Let's actually consider indefine-length Objects + * as conclusive matches if empty, or start with a text key. + */ + if (b == CBORConstants.BYTE_OBJECT_INDEFINITE) { + if (acc.hasMoreBytes()) { + b = acc.nextByte(); + if (b == CBORConstants.BYTE_BREAK) { + return MatchStrength.SOLID_MATCH; + } + if (CBORConstants.hasMajorType(CBORConstants.MAJOR_TYPE_TEXT, b)) { + return MatchStrength.SOLID_MATCH; + } + // other types; unlikely but can't exactly rule out + return MatchStrength.INCONCLUSIVE; + } + } else if (b == CBORConstants.BYTE_ARRAY_INDEFINITE) { + if (acc.hasMoreBytes()) { + b = acc.nextByte(); + if (b == CBORConstants.BYTE_BREAK) { + return MatchStrength.SOLID_MATCH; + } + // all kinds of types are possible, so let's just acknowledge it as possible: + return MatchStrength.WEAK_MATCH; + } + } else if (CBORConstants.hasMajorType(CBORConstants.MAJOR_TYPE_TAG, b)) { + + // Actually, specific "self-describe tag" is a very good indicator + // (see [Issue#6] + if (b == (byte) 0xD9) { + if (acc.hasMoreBytes()) { + b = acc.nextByte(); + if (b == (byte) 0xD9) { + if (acc.hasMoreBytes()) { + b = acc.nextByte(); + if (b == (byte) 0xF7) { + return MatchStrength.FULL_MATCH; + } + } + } + } + } + // As to other tags, possible. May want to add other "well-known" (commonly + // used ones for root value) tags for 'solid' match in future. + return MatchStrength.WEAK_MATCH; + + // Other types; the only one where there's significant checking possibility + // is in last, "misc" category + } else if (CBORConstants.hasMajorType(CBORConstants.MAJOR_TYPE_MISC, b)) { + if ((b == CBORConstants.BYTE_FALSE) + || (b == CBORConstants.BYTE_TRUE) + || (b == CBORConstants.BYTE_NULL)) { + return MatchStrength.SOLID_MATCH; + } + return MatchStrength.NO_MATCH; + } + return MatchStrength.INCONCLUSIVE; + } + + /* + /********************************************************** + /* Internal methods, raw input access + /********************************************************** + */ + + protected boolean ensureLoaded(int minimum) throws IOException + { + if (_in == null) { // block source; nothing more to load + return false; + } + + /* Let's assume here buffer has enough room -- this will always + * be true for the limited used this method gets + */ + int gotten = (_inputEnd - _inputPtr); + while (gotten < minimum) { + int count = _in.read(_inputBuffer, _inputEnd, _inputBuffer.length - _inputEnd); + if (count < 1) { + return false; + } + _inputEnd += count; + gotten += count; + } + return true; + } +} diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORReadContext.java b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORReadContext.java new file mode 100644 index 000000000..2b8bb1833 --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/CBORReadContext.java @@ -0,0 +1,204 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.io.CharTypes; +import com.fasterxml.jackson.core.json.DupDetector; + +/** + * Replacement of {@link com.fasterxml.jackson.core.json.JsonReadContext} + * to support features needed by CBOR format. + */ +public final class CBORReadContext + extends JsonStreamContext +{ + /** + * Parent context for this context; null for root context. + */ + protected final CBORReadContext _parent; + + // // // Optional duplicate detection + + protected final DupDetector _dups; + + /** + * For fixed-size Arrays, Objects, this indicates expected number of entries. + */ + protected int _expEntryCount; + + // // // Location information (minus source reference) + + protected String _currentName; + + /* + /********************************************************** + /* Simple instance reuse slots + /********************************************************** + */ + + protected CBORReadContext _child = null; + + /* + /********************************************************** + /* Instance construction, reuse + /********************************************************** + */ + + public CBORReadContext(CBORReadContext parent, DupDetector dups, + int type, int expEntryCount) + { + super(); + _parent = parent; + _dups = dups; + _type = type; + _expEntryCount = expEntryCount; + _index = -1; + } + + protected void reset(int type, int expEntryCount) + { + _type = type; + _expEntryCount = expEntryCount; + _index = -1; + _currentName = null; + if (_dups != null) { + _dups.reset(); + } + } + + // // // Factory methods + + public static CBORReadContext createRootContext(DupDetector dups) { + return new CBORReadContext(null, dups, TYPE_ROOT, -1); + } + + public CBORReadContext createChildArrayContext(int expEntryCount) + { + CBORReadContext ctxt = _child; + if (ctxt == null) { + _child = ctxt = new CBORReadContext(this, + (_dups == null) ? null : _dups.child(), + TYPE_ARRAY, expEntryCount); + } else { + ctxt.reset(TYPE_ARRAY, expEntryCount); + } + return ctxt; + } + + public CBORReadContext createChildObjectContext(int expEntryCount) + { + CBORReadContext ctxt = _child; + if (ctxt == null) { + _child = ctxt = new CBORReadContext(this, + (_dups == null) ? null : _dups.child(), + TYPE_OBJECT, expEntryCount); + return ctxt; + } + ctxt.reset(TYPE_OBJECT, expEntryCount); + return ctxt; + } + + /* + /********************************************************** + /* Abstract method implementation + /********************************************************** + */ + + @Override + public String getCurrentName() { return _currentName; } + + @Override + public CBORReadContext getParent() { return _parent; } + + /* + /********************************************************** + /* Extended API + /********************************************************** + */ + + public boolean hasExpectedLength() { return (_expEntryCount >= 0); } + public int getExpectedLength() { return _expEntryCount; } + + public boolean acceptsBreakMarker() { + return (_expEntryCount < 0) && _type != TYPE_ROOT; + } + + /** + * Method called to see if a new value is expected for this + * Array or Object. Checks against expected length, if one known, + * updating count of current entries if limit not yet reached. + */ + public boolean expectMoreValues() { + if (++_index == _expEntryCount) { + return false; + } + return true; + } + + /** + * @return Location pointing to the point where the context + * start marker was found + */ + public JsonLocation getStartLocation(Object srcRef) { + // not much we can tell + return new JsonLocation(srcRef, 1L, -1, -1); + } + + /* + /********************************************************** + /* State changes + /********************************************************** + */ + + public void setCurrentName(String name) throws JsonProcessingException + { + _currentName = name; + if (_dups != null) { + _checkDup(_dups, name); + } + } + + private void _checkDup(DupDetector dd, String name) throws JsonProcessingException + { + if (dd.isDup(name)) { + throw new JsonParseException("Duplicate field '"+name+"'", dd.findLocation()); + } + } + + /* + /********************************************************** + /* Overridden standard methods + /********************************************************** + */ + + /** + * Overridden to provide developer readable "JsonPath" representation + * of the context. + */ + @Override + public String toString() + { + StringBuilder sb = new StringBuilder(64); + switch (_type) { + case TYPE_ROOT: + sb.append("/"); + break; + case TYPE_ARRAY: + sb.append('['); + sb.append(getCurrentIndex()); + sb.append(']'); + break; + case TYPE_OBJECT: + sb.append('{'); + if (_currentName != null) { + sb.append('"'); + CharTypes.appendQuoted(sb, _currentName); + sb.append('"'); + } else { + sb.append('?'); + } + sb.append('}'); + break; + } + return sb.toString(); + } +} diff --git a/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/PackageVersion.java.in b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/PackageVersion.java.in new file mode 100644 index 000000000..7860aa14b --- /dev/null +++ b/cbor/src/main/java/com/fasterxml/jackson/dataformat/cbor/PackageVersion.java.in @@ -0,0 +1,20 @@ +package @package@; + +import com.fasterxml.jackson.core.Version; +import com.fasterxml.jackson.core.Versioned; +import com.fasterxml.jackson.core.util.VersionUtil; + +/** + * Automatically generated from PackageVersion.java.in during + * packageVersion-generate execution of maven-replacer-plugin in + * pom.xml. + */ +public final class PackageVersion implements Versioned { + public final static Version VERSION = VersionUtil.parseVersion( + "@projectversion@", "@projectgroupid@", "@projectartifactid@"); + + @Override + public Version version() { + return VERSION; + } +} diff --git a/cbor/src/main/resources/META-INF/services/com.fasterxml.jackson.core.JsonFactory b/cbor/src/main/resources/META-INF/services/com.fasterxml.jackson.core.JsonFactory new file mode 100644 index 000000000..82aae34d9 --- /dev/null +++ b/cbor/src/main/resources/META-INF/services/com.fasterxml.jackson.core.JsonFactory @@ -0,0 +1 @@ +com.fasterxml.jackson.dataformat.cbor.CBORFactory diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/CBORTestBase.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/CBORTestBase.java new file mode 100644 index 000000000..8273cf08f --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/CBORTestBase.java @@ -0,0 +1,244 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.Arrays; +import java.util.Random; + +import org.junit.Assert; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.databind.ObjectMapper; + +abstract class CBORTestBase + extends junit.framework.TestCase +{ + + /* + /********************************************************** + /* Factory methods + /********************************************************** + */ + + protected CBORParser cborParser(ByteArrayOutputStream bytes) throws IOException { + return cborParser(bytes.toByteArray()); + } + + protected CBORParser cborParser(byte[] input) throws IOException { + return cborParser(cborFactory(), input); + } + + protected CBORParser cborParser(InputStream in) throws IOException { + CBORFactory f = cborFactory(); + return cborParser(f, in); + } + + protected CBORParser cborParser(CBORFactory f, byte[] input) throws IOException { + return f.createParser(input); + } + + protected CBORParser cborParser(CBORFactory f, InputStream in) throws IOException { + return f.createParser(in); + } + + protected ObjectMapper cborMapper() { + return new ObjectMapper(cborFactory()); + } + + protected CBORFactory cborFactory() { + CBORFactory f = new CBORFactory(); + return f; + } + + protected byte[] cborDoc(String json) throws IOException { + return cborDoc(cborFactory(), json); + } + + protected byte[] cborDoc(CBORFactory cborF, String json) throws IOException + { + JsonFactory jf = new JsonFactory(); + JsonParser jp = jf.createParser(json); + ByteArrayOutputStream out = new ByteArrayOutputStream(json.length()); + JsonGenerator dest = cborF.createGenerator(out); + + while (jp.nextToken() != null) { + dest.copyCurrentEvent(jp); + } + jp.close(); + dest.close(); + return out.toByteArray(); + } + + protected CBORGenerator cborGenerator(ByteArrayOutputStream result) + throws IOException + { + return cborGenerator(cborFactory(), result); + } + + protected CBORGenerator cborGenerator(CBORFactory f, + ByteArrayOutputStream result) + throws IOException + { + return f.createGenerator(result, null); + } + + /* + /********************************************************** + /* Additional assertion methods + /********************************************************** + */ + + protected void assertToken(JsonToken expToken, JsonToken actToken) + { + if (actToken != expToken) { + fail("Expected token "+expToken+", current token "+actToken); + } + } + + protected void assertToken(JsonToken expToken, JsonParser jp) + { + assertToken(expToken, jp.getCurrentToken()); + } + + protected void assertType(Object ob, Class expType) + { + if (ob == null) { + fail("Expected an object of type "+expType.getName()+", got null"); + } + Class cls = ob.getClass(); + if (!expType.isAssignableFrom(cls)) { + fail("Expected type "+expType.getName()+", got "+cls.getName()); + } + } + + protected void verifyException(Throwable e, String... matches) + { + String msg = e.getMessage(); + String lmsg = (msg == null) ? "" : msg.toLowerCase(); + for (String match : matches) { + String lmatch = match.toLowerCase(); + if (lmsg.indexOf(lmatch) >= 0) { + return; + } + } + fail("Expected an exception with one of substrings ("+Arrays.asList(matches)+"): got one with message \""+msg+"\""); + } + + protected void _verifyBytes(byte[] actBytes, byte... expBytes) { + Assert.assertArrayEquals(expBytes, actBytes); + } + + protected void _verifyBytes(byte[] actBytes, byte exp1, byte[] expRest) { + byte[] expBytes = new byte[expRest.length+1]; + System.arraycopy(expRest, 0, expBytes, 1, expRest.length); + expBytes[0] = exp1; + Assert.assertArrayEquals(expBytes, actBytes); + } + + protected void _verifyBytes(byte[] actBytes, byte exp1, byte exp2, byte[] expRest) { + byte[] expBytes = new byte[expRest.length+2]; + System.arraycopy(expRest, 0, expBytes, 2, expRest.length); + expBytes[0] = exp1; + expBytes[1] = exp2; + Assert.assertArrayEquals(expBytes, actBytes); + } + + protected void _verifyBytes(byte[] actBytes, byte exp1, byte exp2, byte exp3, byte[] expRest) { + byte[] expBytes = new byte[expRest.length+3]; + System.arraycopy(expRest, 0, expBytes, 3, expRest.length); + expBytes[0] = exp1; + expBytes[1] = exp2; + expBytes[2] = exp3; + Assert.assertArrayEquals(expBytes, actBytes); + } + + /** + * Method that gets textual contents of the current token using + * available methods, and ensures results are consistent, before + * returning them + */ + protected String getAndVerifyText(JsonParser jp) throws IOException + { + // Ok, let's verify other accessors + int actLen = jp.getTextLength(); + char[] ch = jp.getTextCharacters(); + String str2 = new String(ch, jp.getTextOffset(), actLen); + String str = jp.getText(); + + if (str.length() != actLen) { + fail("Internal problem (jp.token == "+jp.getCurrentToken()+"): jp.getText().length() ['"+str+"'] == "+str.length()+"; jp.getTextLength() == "+actLen); + } + assertEquals("String access via getText(), getTextXxx() must be the same", str, str2); + + return str; + } + + /* + /********************************************************** + /* Text generation + /********************************************************** + */ + + protected static String generateUnicodeString(int length) { + return generateUnicodeString(length, new Random(length)); + } + + protected static String generateUnicodeString(int length, Random rnd) + { + StringBuilder sw = new StringBuilder(length+10); + do { + // First, add 7 ascii characters + int num = 4 + (rnd.nextInt() & 7); + while (--num >= 0) { + sw.append((char) ('A' + num)); + } + // Then a unicode char of 2, 3 or 4 bytes long + switch (rnd.nextInt() % 3) { + case 0: + sw.append((char) (256 + rnd.nextInt() & 511)); + break; + case 1: + sw.append((char) (2048 + rnd.nextInt() & 4095)); + break; + default: + sw.append((char) (65536 + rnd.nextInt() & 0x3FFF)); + break; + } + } while (sw.length() < length); + return sw.toString(); + } + + protected static String generateAsciiString(int length) { + return generateAsciiString(length, new Random(length)); + } + + protected static String generateAsciiString(int length, Random rnd) + { + StringBuilder sw = new StringBuilder(length+10); + do { + // First, add 7 ascii characters + int num = 4 + (rnd.nextInt() & 7); + while (--num >= 0) { + sw.append((char) ('A' + num)); + } + // and space + sw.append(' '); + } while (sw.length() < length); + return sw.toString(); + } + + /* + /********************************************************** + /* Other helper methods + /********************************************************** + */ + + protected static String aposToQuotes(String str) { + return str.replace("'", "\""); + } + + protected static String quote(String str) { + return '"'+str+'"'; + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorBinaryTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorBinaryTest.java new file mode 100644 index 000000000..0d10fb0bf --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorBinaryTest.java @@ -0,0 +1,110 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; + +import org.junit.*; +import org.junit.rules.TemporaryFolder; + +import com.fasterxml.jackson.core.JsonGenerator; + +public class GeneratorBinaryTest //extends CBORTestBase +{ + final static int SMALL_LENGTH = 100; + final static int LARGE_LENGTH = CBORGenerator.BYTE_BUFFER_FOR_OUTPUT + 500; + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + private File binaryInputFile; + private File cborFile; + private File binaryOutputFile; + + @Before + public void before() throws IOException + { + binaryInputFile = tempFolder.newFile("sourceData.bin"); + cborFile = tempFolder.newFile("cbor.bin"); + binaryOutputFile = tempFolder.newFile("outputData.bin"); + } + + @Test + public void testSmallByteArray() throws Exception + { + testEncodeAndDecodeBytes(SMALL_LENGTH); + } + + @Test + public void testLargeByteArray() throws Exception + { + testEncodeAndDecodeBytes(LARGE_LENGTH); + } + + private void generateInputFile(File input, int fileSize) throws NoSuchAlgorithmException, IOException + { + OutputStream os = new BufferedOutputStream(new FileOutputStream(input)); + SecureRandom sr = SecureRandom.getInstance("SHA1PRNG"); + byte[] temp = new byte[1024]; + int remaining = fileSize; + while (remaining > 0) { + sr.nextBytes(temp); + os.write(temp, 0, Math.min(temp.length, remaining)); + remaining -= temp.length; + } + os.close(); + } + + private void testEncodeAndDecodeBytes(int length) throws NoSuchAlgorithmException, IOException + { + generateInputFile(binaryInputFile, length); + encodeInCBOR(binaryInputFile, cborFile); + decodeFromCborInFile(this.cborFile, this.binaryOutputFile); + assertFileEquals(this.binaryInputFile, this.binaryOutputFile); + } + + private void encodeInCBOR(File inputFile, File outputFile) throws NoSuchAlgorithmException, IOException + { + CBORFactory f = new CBORFactory(); + OutputStream os = new BufferedOutputStream(new FileOutputStream(outputFile)); + InputStream is = new BufferedInputStream(new FileInputStream(inputFile)); + + JsonGenerator gen = f.createGenerator(os); + gen.writeBinary(is, (int) inputFile.length()); + + gen.close(); + is.close(); + os.close(); + } + + private void decodeFromCborInFile(File input, File output) throws NoSuchAlgorithmException, IOException + { + CBORFactory f = new CBORFactory(); + OutputStream os = new FileOutputStream(output); + + InputStream is = new FileInputStream(input); + CBORParser parser = f.createParser(is); + parser.nextToken(); + parser.readBinaryValue(null, os); + + parser.close(); + is.close(); + os.close(); + } + + private void assertFileEquals(File file1, File file2) throws IOException + { + FileInputStream fis1 = new FileInputStream(file1); + FileInputStream fis2 = new FileInputStream(file2); + + Assert.assertEquals(file1.length(), file2.length()); + + int ch; + + while ((ch = fis1.read()) >= 0) { + Assert.assertEquals(ch, fis2.read()); + } + fis1.close(); + fis2.close(); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorInteropTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorInteropTest.java new file mode 100644 index 000000000..22448b6ee --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorInteropTest.java @@ -0,0 +1,58 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.ByteArrayOutputStream; + +/** + * Unit tests geared at testing issues that were raised due to + * inter-operability with other CBOR codec implementations + */ +public class GeneratorInteropTest extends CBORTestBase +{ + private final static byte[] TYPE_DESC_AND_TRUE = new byte[] { + (byte) 0xD9, + (byte) 0xD9, + (byte) 0xF7, + CBORConstants.BYTE_TRUE + }; + + // Test for [Issue#6], for optional writing of CBOR Type Description Tag + public void testTypeDescriptionTag() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + // as per spec, Type Desc Tag has value + gen.writeTag(CBORConstants.TAG_ID_SELF_DESCRIBE); + gen.writeBoolean(true); + gen.close(); + + _verifyBytes(out.toByteArray(), TYPE_DESC_AND_TRUE); + } + + public void testAutoTypeDescription() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORFactory f = cborFactory(); + assertFalse(f.isEnabled(CBORGenerator.Feature.WRITE_TYPE_HEADER)); + + CBORGenerator gen = f.createGenerator(out); + // First, without feature, we get just a single byte doc + gen.writeBoolean(true); + gen.close(); + + _verifyBytes(out.toByteArray(), new byte[] { + CBORConstants.BYTE_TRUE + }); + + f.enable(CBORGenerator.Feature.WRITE_TYPE_HEADER); + // but with auto-write + out = new ByteArrayOutputStream(); + gen = f.createGenerator(out); + // First, without feature, we get just a single byte doc + gen.writeBoolean(true); + gen.close(); + + + + _verifyBytes(out.toByteArray(), TYPE_DESC_AND_TRUE); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorLongStringTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorLongStringTest.java new file mode 100644 index 000000000..d9ee81cae --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorLongStringTest.java @@ -0,0 +1,68 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.util.*; + +import com.fasterxml.jackson.core.*; + +public class GeneratorLongStringTest extends CBORTestBase +{ + final static int DOC_LEN = 2000000; // 2 meg test doc + + public void testLongWithMultiBytes() throws Exception + { + CBORFactory f = cborFactory(); + ArrayList strings = new ArrayList(); + Random rnd = new Random(123); + + ByteArrayOutputStream out = new ByteArrayOutputStream(DOC_LEN); + JsonGenerator gen = f.createGenerator(out); + gen.writeStartArray(); + + // Let's create 1M doc, first using Strings + while (out.size() < (DOC_LEN - 10000)) { + String str = generateUnicodeString(5000, rnd); + strings.add(str); + gen.writeString(str); + } + gen.writeEndArray(); + gen.close(); + // Written ok; let's try parsing then + _verifyStrings(f, out.toByteArray(), strings); + + // Then same with char[] + out = new ByteArrayOutputStream(DOC_LEN); + gen = f.createGenerator(out); + gen.writeStartArray(); + + // Let's create 1M doc, first using Strings + for (int i = 0, len = strings.size(); i < len; ++i) { + char[] ch = strings.get(i).toCharArray(); + gen.writeString(ch, 0, ch.length); + } + gen.writeEndArray(); + gen.close(); + _verifyStrings(f, out.toByteArray(), strings); + } + + /* + /********************************************************** + /* Helper methods + /********************************************************** + */ + + private void _verifyStrings(JsonFactory f, byte[] input, List strings) + throws IOException + { + /* + JsonParser jp = f.createParser(input); + assertToken(JsonToken.START_ARRAY, jp.nextToken()); + for (int i = 0, len = strings.size(); i < len; ++i) { + assertToken(JsonToken.VALUE_STRING, jp.nextToken()); + assertEquals(strings.get(i), jp.getText()); + } + assertToken(JsonToken.END_ARRAY, jp.nextToken()); + jp.close(); + */ + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorSimpleTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorSimpleTest.java new file mode 100644 index 000000000..c8105b811 --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/GeneratorSimpleTest.java @@ -0,0 +1,418 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.math.BigDecimal; +import java.util.*; + +import org.junit.Assert; + +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class GeneratorSimpleTest extends CBORTestBase +{ + private final ObjectMapper MAPPER = cborMapper(); + + /** + * Test for verifying handling of 'true', 'false' and 'null' literals + */ + public void testSimpleLiterals() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + + assertEquals(0, gen.getOutputBuffered()); + gen.writeBoolean(true); + assertEquals(1, gen.getOutputBuffered()); + + gen.close(); + assertEquals(0, gen.getOutputBuffered()); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_TRUE); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeBoolean(false); + gen.close(); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_FALSE); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNull(); + gen.close(); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_NULL); + } + + public void testMinimalIntValues() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + assertTrue(gen.isEnabled(CBORGenerator.Feature.WRITE_MINIMAL_INTS)); + gen.writeNumber(17); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 17)); + + // then without minimal + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.disable(CBORGenerator.Feature.WRITE_MINIMAL_INTS); + gen.writeNumber(17); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 26), + (byte) 0, (byte) 0, (byte) 0, (byte) 17); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(Integer.MAX_VALUE); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 26), + (byte) 0x7F, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(Integer.MIN_VALUE); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 26), + (byte) 0x7F, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF); + } + + public void testIntValues() throws Exception + { + // first, single-byte + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeNumber(13); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 13)); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(-13); + gen.close(); + _verifyBytes(out.toByteArray(), + // note: since there is no "-0", number one less than it'd appear + (byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 12)); + + // then two byte + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(0xFF); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 24), (byte) 0xFF); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(-256); + gen.close(); + _verifyBytes(out.toByteArray(), + // note: since there is no "-0", number one less than it'd appear + (byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 24), (byte) 0xFF); + + // and three byte + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(0xFEDC); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 25), (byte) 0xFE, (byte) 0xDC); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(-0xFFFE); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 25), (byte) 0xFF, (byte) 0xFD); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(Integer.MAX_VALUE); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 26), + (byte) 0x7F, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNumber(Integer.MIN_VALUE); + gen.close(); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 26), + (byte) 0x7F, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF); + } + + public void testLongValues() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + long l = -1L + Integer.MIN_VALUE; + gen.writeNumber(l); + gen.close(); + byte[] b = out.toByteArray(); + assertEquals((byte) (CBORConstants.PREFIX_TYPE_INT_NEG + 27), b[0]); + assertEquals(9, b.length); + // could test full contents, but for now this shall suffice + assertEquals(0, b[1]); + assertEquals(0, b[2]); + assertEquals(0, b[3]); + } + + public void testFloatValues() throws Exception + { + // first, 32-bit float + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + float f = 1.25f; + gen.writeNumber(f); + gen.close(); + int raw = Float.floatToIntBits(f); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.BYTE_FLOAT32), + (byte) (raw >> 24), + (byte) (raw >> 16), + (byte) (raw >> 8), + (byte) raw); + + // then 64-bit double + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + double d = 0.75f; + gen.writeNumber(d); + gen.close(); + long rawL = Double.doubleToLongBits(d); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.BYTE_FLOAT64), + (byte) (rawL >> 56), + (byte) (rawL >> 48), + (byte) (rawL >> 40), + (byte) (rawL >> 32), + (byte) (rawL >> 24), + (byte) (rawL >> 16), + (byte) (rawL >> 8), + (byte) rawL); + } + + public void testEmptyArray() throws Exception + { + // First: empty array (2 bytes) + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeStartArray(); + gen.writeEndArray(); + gen.close(); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_ARRAY_INDEFINITE, + CBORConstants.BYTE_BREAK); + } + + public void testEmptyObject() throws Exception + { + // First: empty array (2 bytes) + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeStartObject(); + gen.writeEndObject(); + gen.close(); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_OBJECT_INDEFINITE, + CBORConstants.BYTE_BREAK); + } + + public void testIntArray() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + + // currently will produce indefinite-length array + gen.writeStartArray(); + gen.writeNumber(1); + gen.writeNumber(2); + gen.writeNumber(3); + gen.writeEndArray(); + gen.close(); + + final byte[] EXP = new byte[] { + CBORConstants.BYTE_ARRAY_INDEFINITE, + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 1), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 2), + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 3), + CBORConstants.BYTE_BREAK + }; + + _verifyBytes(out.toByteArray(), EXP); + + // Also, data-binding should produce identical + byte[] b = MAPPER.writeValueAsBytes(new int[] { 1, 2, 3 }); + _verifyBytes(b, EXP); + } + + public void testTrivialObject() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + + // currently will produce indefinite-length Object + gen.writeStartObject(); + gen.writeNumberField("a", 1); + gen.writeNumberField("b", 2); + gen.writeEndObject(); + gen.close(); + + final byte[] EXP = new byte[] { + CBORConstants.BYTE_OBJECT_INDEFINITE, + (byte) (CBORConstants.PREFIX_TYPE_TEXT + 1), + (byte) 'a', + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 1), + (byte) (CBORConstants.PREFIX_TYPE_TEXT + 1), + (byte) 'b', + (byte) (CBORConstants.PREFIX_TYPE_INT_POS + 2), + CBORConstants.BYTE_BREAK + }; + + _verifyBytes(out.toByteArray(), EXP); + Map map = new LinkedHashMap(); + map.put("a", 1); + map.put("b", 2); + byte[] b = MAPPER.writeValueAsBytes(map); + _verifyBytes(b, EXP); + } + + public void testShortText() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeString(""); + gen.close(); + _verifyBytes(out.toByteArray(), CBORConstants.BYTE_EMPTY_STRING); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeString("abc"); + gen.close(); + _verifyBytes(out.toByteArray(), (byte) (CBORConstants.PREFIX_TYPE_TEXT + 3), + (byte) 'a', (byte) 'b', (byte) 'c'); + } + + public void testLongerText() throws Exception + { + // First, something with 8-bit length + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + final String SHORT_ASCII = generateAsciiString(240); + gen.writeString(SHORT_ASCII); + gen.close(); + byte[] b = SHORT_ASCII.getBytes("UTF-8"); + int len = b.length; + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_TEXT + 24), (byte) len, b); + + // and ditto with fuller Unicode + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + final String SHORT_UNICODE = generateUnicodeString(160); + gen.writeString(SHORT_UNICODE); + gen.close(); + b = SHORT_UNICODE.getBytes("UTF-8"); + len = b.length; + // just a sanity check; will break if generation changes + assertEquals(196, len); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_TEXT + 24), (byte) len, b); + + // and then something bit more sizable + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + final String MEDIUM_UNICODE = generateUnicodeString(800); + gen.writeString(MEDIUM_UNICODE); + gen.close(); + b = MEDIUM_UNICODE.getBytes("UTF-8"); + len = b.length; + // just a sanity check; will break if generation changes + assertEquals(926, len); + _verifyBytes(out.toByteArray(), + (byte) (CBORConstants.PREFIX_TYPE_TEXT + 25), + (byte) (len>>8), (byte) len, + b); + } + + public void testInvalidWrites() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeStartObject(); + // this should NOT succeed: + try { + gen.writeString("test"); + fail("Should NOT allow write of anything but FIELD_NAME or END_OBJECT at this point"); + } catch (JsonGenerationException e) { + verifyException(e, "expecting field name"); + } + gen.close(); + + // and as per [dataformat-cbor#21] this also + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeStartArray(); + gen.writeStartObject(); + try { + gen.writeString("BAR"); + fail("Should NOT allow write of anything but FIELD_NAME or END_OBJECT at this point"); + } catch (JsonGenerationException e) { + verifyException(e, "expecting field name"); + } + gen.close(); + } + + public void testCopyCurrentEventWithTag() throws Exception { + final ByteArrayOutputStream sourceBytes = new ByteArrayOutputStream(); + final CBORGenerator sourceGen = cborGenerator(sourceBytes); + sourceGen.writeNumber(BigDecimal.ONE); + sourceGen.close(); + + final ByteArrayOutputStream targetBytes = new ByteArrayOutputStream(); + final CBORGenerator gen = cborGenerator(targetBytes); + final CBORParser cborParser = cborParser(sourceBytes); + while (cborParser.nextToken() != null) { + gen.copyCurrentEvent(cborParser); + } + gen.close(); + + // copyCurrentEvent doesn't preserve fixed arrays, so we can't + // compare with the source bytes. + Assert.assertArrayEquals(new byte[] { + CBORConstants.BYTE_TAG_BIGFLOAT, + CBORConstants.BYTE_ARRAY_INDEFINITE, + 0, + 1, + CBORConstants.BYTE_BREAK + }, + targetBytes.toByteArray()); + } + + public void testCopyCurrentSturctureWithTag() throws Exception { + final ByteArrayOutputStream sourceBytes = new ByteArrayOutputStream(); + final CBORGenerator sourceGen = cborGenerator(sourceBytes); + sourceGen.writeNumber(BigDecimal.ONE); + sourceGen.close(); + + final ByteArrayOutputStream targetBytes = new ByteArrayOutputStream(); + final CBORGenerator gen = cborGenerator(targetBytes); + final CBORParser cborParser = cborParser(sourceBytes); + cborParser.nextToken(); + gen.copyCurrentStructure(cborParser); + gen.close(); + + // copyCurrentEvent doesn't preserve fixed arrays, so we can't + // compare with the source bytes. + Assert.assertArrayEquals(new byte[] { + CBORConstants.BYTE_TAG_BIGFLOAT, + CBORConstants.BYTE_ARRAY_INDEFINITE, + 0, + 1, + CBORConstants.BYTE_BREAK + }, + targetBytes.toByteArray()); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserBinaryTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserBinaryTest.java new file mode 100644 index 000000000..3b2fb1483 --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserBinaryTest.java @@ -0,0 +1,72 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.ByteArrayOutputStream; + +import org.junit.Assert; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.ObjectMapper; + +public class ParserBinaryTest extends CBORTestBase +{ + final static class Bytes { + public byte[] bytes; + + public Bytes() { } + public Bytes(byte[] b) { bytes = b; } + } + + private final ObjectMapper MAPPER = cborMapper(); + + public void testSmallBinaryValues() throws Exception { + _testBinary(0); + _testBinary(1); + _testBinary(20); + _testBinary(100); + } + + public void testMediumBinaryValues() throws Exception { + _testBinary(500); + _testBinary(1500); + _testBinary(8900); + } + + public void testLargeBinaryValues() throws Exception { + _testBinary(99000); + _testBinary(299000); + _testBinary(740000); + } + + public void _testBinary(int size) throws Exception + { + byte[] input = new byte[size]; + for (int i = 0; i < input.length; ++i) { + input[i] = (byte) i; + } + + // First, read/write as individual value + byte[] raw = MAPPER.writeValueAsBytes(input); + byte[] b2 = MAPPER.readValue(raw, byte[].class); + assertNotNull(b2); + Assert.assertArrayEquals(input, b2); + + // then as POJO member + raw = MAPPER.writeValueAsBytes(new Bytes(input)); + Bytes bytes = MAPPER.readValue(raw, Bytes.class); + assertNotNull(bytes); + assertNotNull(bytes.bytes); + Assert.assertArrayEquals(input, bytes.bytes); + + // and finally using incremental access method + raw = MAPPER.writeValueAsBytes(input); + JsonParser p = MAPPER.getFactory().createParser(raw); + assertToken(JsonToken.VALUE_EMBEDDED_OBJECT, p.nextToken()); + ByteArrayOutputStream bout = new ByteArrayOutputStream(input.length / 3); + assertEquals(input.length, p.readBinaryValue(bout)); + assertEquals(input.length, bout.size()); + b2 = bout.toByteArray(); + Assert.assertArrayEquals(input, b2); + p.close(); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInputStreamTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInputStreamTest.java new file mode 100644 index 000000000..e468ee2b1 --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInputStreamTest.java @@ -0,0 +1,50 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.junit.Test; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.SequenceInputStream; + +// for [dataformat-cbor#13] +public class ParserInputStreamTest extends CBORTestBase +{ + @Test + public void testInpuStream() throws Exception { + CBORFactory f = new CBORFactory(); + ObjectMapper cborMapper = new ObjectMapper(new CBORFactory()); + byte[] buffer = generateHugeCBOR(f); + + // split the buffer in two smaller buffer + int len = 160; + byte[] buf1 = new byte[len]; + byte[] buf2 = new byte[buffer.length - len]; + System.arraycopy(buffer, 0, buf1, 0, len); + System.arraycopy(buffer, len, buf2, 0, buffer.length - len); + + // aggregate the two buffers via a SequenceInputStream + ByteArrayInputStream in1 = new ByteArrayInputStream(buf1); + ByteArrayInputStream in2 = new ByteArrayInputStream(buf2); + SequenceInputStream inputStream = new SequenceInputStream(in1, in2); + + JsonNode jsonNode = cborMapper.readTree(inputStream); + assertNotNull(jsonNode); + } + + private byte[] generateHugeCBOR(CBORFactory f) throws IOException { + String hugeJson = "{"; + for (char c='a'; c <= 'z'; c++) { + for (char cc='a'; cc <= 'z'; cc++) { + hugeJson += "\"" + c + cc + "\":0,"; + } + for (int i = 0; i < 50; i++) { + hugeJson += "\"" + c + i + "\":" + i + ","; + } + } + hugeJson += "\"name\":123"; + hugeJson += "}"; + return cborDoc(f, hugeJson); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInteropTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInteropTest.java new file mode 100644 index 000000000..6acb6492a --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserInteropTest.java @@ -0,0 +1,91 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.format.DataFormatDetector; +import com.fasterxml.jackson.core.format.DataFormatMatcher; +import com.fasterxml.jackson.core.format.MatchStrength; + +/** + * Unit tests geared at testing issues that were raised due to + * inter-operability with other CBOR codec implementations + */ +public class ParserInteropTest extends CBORTestBase +{ + private final static byte[] SELF_DESC_PLUS_TRUE = new byte[] { + (byte) 0xD9, + (byte) 0xD9, + (byte) 0xF7, + CBORConstants.BYTE_TRUE + }; + + // for [Issue#5]; Perl CBOR::XS module uses binary encoding for + // Map/Object keys; presumably in UTF-8. + public void testBinaryEncodedKeys() throws Exception + { + // from equivalent of '{"query":{} }' + final byte[] INPUT = { (byte) 0xa1, 0x45, 0x71, 0x75, 0x65, 0x72, 0x79, (byte) 0xa0 }; + JsonParser p = cborParser(INPUT); + + assertToken(JsonToken.START_OBJECT, p.nextToken()); + assertToken(JsonToken.FIELD_NAME, p.nextToken()); + assertEquals("query", p.getCurrentName()); + assertToken(JsonToken.START_OBJECT, p.nextToken()); + assertToken(JsonToken.END_OBJECT, p.nextToken()); + assertToken(JsonToken.END_OBJECT, p.nextToken()); + + assertNull(p.nextToken()); + p.close(); + } + + // for [Issue#6]: should be fine to have self-desc tag in general + public void testSelfDescribeTagRead() throws Exception + { + CBORParser p = cborParser(SELF_DESC_PLUS_TRUE); + + assertEquals(-1, p.getCurrentTag()); + + assertToken(JsonToken.VALUE_TRUE, p.nextToken()); + assertEquals(CBORConstants.TAG_ID_SELF_DESCRIBE, p.getCurrentTag()); + + assertNull(p.nextToken()); + assertEquals(-1, p.getCurrentTag()); + + p.close(); + } + + // as per [Issue#6], self-describe great for format auto-detection + public void testFormatDetection() throws Exception + { + CBORFactory f = cborFactory(); + // let's try to confuse auto-detector with JSON one too... + DataFormatDetector det = new DataFormatDetector(new JsonFactory(), f); + det = det.withMinimalMatch(MatchStrength.WEAK_MATCH).withOptimalMatch(MatchStrength.SOLID_MATCH); + + DataFormatMatcher match = det.findFormat(SELF_DESC_PLUS_TRUE); + JsonFactory result = match.getMatch(); + assertNotNull(result); + assertEquals("CBOR", match.getMatchedFormatName()); + assertEquals(MatchStrength.FULL_MATCH, match.getMatchStrength()); + + + // but there are other ok matches too + match = det.findFormat(cborDoc(f, "{\"field\" :\"value\"}")); + result = match.getMatch(); + assertNotNull(result); + assertEquals("CBOR", match.getMatchedFormatName()); + assertEquals(MatchStrength.SOLID_MATCH, match.getMatchStrength()); + + match = det.findFormat(cborDoc(f, "true")); + result = match.getMatch(); + assertNotNull(result); + assertEquals("CBOR", match.getMatchedFormatName()); + assertEquals(MatchStrength.SOLID_MATCH, match.getMatchStrength()); + + // and others so-so + match = det.findFormat(cborDoc(f, "[ 1, 2, 3 ]")); + result = match.getMatch(); + assertNotNull(result); + assertEquals("CBOR", match.getMatchedFormatName()); + assertEquals(MatchStrength.WEAK_MATCH, match.getMatchStrength()); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserNextXxxTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserNextXxxTest.java new file mode 100644 index 000000000..1b3f7cdfa --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserNextXxxTest.java @@ -0,0 +1,219 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.util.Random; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.io.SerializedString; + +// note: copied from test of same name from jackson-dataformat-smile +public class ParserNextXxxTest extends CBORTestBase +{ + public void testIsNextTokenName() throws Exception + { + _testIsNextTokenName1(); + _testIsNextTokenName2(); + } + + public void testIssue34() throws Exception + { + final int TESTROUNDS = 223; + + final CBORFactory f = new CBORFactory(); + + // build the big document to trigger issue + ByteArrayOutputStream bytes = new ByteArrayOutputStream(2000); + JsonGenerator g = f.createGenerator(bytes); + for (int i = 0; i < TESTROUNDS; ++i) { + g.writeStartObject(); + g.writeNumberField("fieldName", 1); + g.writeEndObject(); + } + g.close(); + final byte[] DOC = bytes.toByteArray(); + + SerializableString fieldName = new SerializedString("fieldName"); + JsonParser parser = f.createParser(DOC); + + for (int i = 0; i < TESTROUNDS - 1; i++) { + assertEquals(JsonToken.START_OBJECT, parser.nextToken()); + + // These will succeed + assertTrue(parser.nextFieldName(fieldName)); + + parser.nextLongValue(-1); + assertEquals(JsonToken.END_OBJECT, parser.nextToken()); + } + + assertEquals(JsonToken.START_OBJECT, parser.nextToken()); + + // This will fail + assertTrue(parser.nextFieldName(fieldName)); + parser.close(); + } + + public void testIssue38() throws Exception + { + final CBORFactory f = new CBORFactory(); + byte[] DOC = cborDoc(f, "{\"field\" :\"value\"}"); + + SerializableString fieldName = new SerializedString("field"); + JsonParser parser = f.createParser(DOC); + assertEquals(JsonToken.START_OBJECT, parser.nextToken()); + assertTrue(parser.nextFieldName(fieldName)); + assertEquals(JsonToken.VALUE_STRING, parser.nextToken()); + assertEquals("value", parser.getText()); + assertEquals(JsonToken.END_OBJECT, parser.nextToken()); + assertNull(parser.nextToken()); + parser.close(); + } + + public void testNextNameWithLongContent() throws Exception + { + final CBORFactory f = new CBORFactory(); + + // do 3 meg thingy + final int SIZE = 3 * 1024 * 1024; + ByteArrayOutputStream bytes = new ByteArrayOutputStream(SIZE + 20); + + JsonGenerator g = f.createGenerator(bytes); + + g.writeStartObject(); + Random rnd = new Random(1); + int count = 0; + + while (bytes.size() < SIZE) { + ++count; + int val = rnd.nextInt(); + g.writeFieldName("f"+val); + g.writeNumber(val % 1000); + } + g.writeEndObject(); + g.close(); + final byte[] DOC = bytes.toByteArray(); + + JsonParser parser = f.createParser(DOC); + assertToken(JsonToken.START_OBJECT, parser.nextToken()); + rnd = new Random(1); + for (int i = 0; i < count; ++i) { + int exp = rnd.nextInt(); + SerializableString expName = new SerializedString("f"+exp); + assertTrue(parser.nextFieldName(expName)); + assertToken(JsonToken.VALUE_NUMBER_INT, parser.nextToken()); + assertEquals(exp % 1000, parser.getIntValue()); + } + assertToken(JsonToken.END_OBJECT, parser.nextToken()); + parser.close(); + } + + /* + /******************************************************** + /* Actual test code + /******************************************************** + */ + + private void _testIsNextTokenName1() throws Exception + { + CBORFactory f = new CBORFactory(); + final byte[] DOC = cborDoc(f, "{\"name\":123,\"name2\":14,\"x\":\"name\"}"); + JsonParser jp = f.createParser(DOC); + final SerializedString NAME = new SerializedString("name"); + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.START_OBJECT, jp.getCurrentToken()); + assertTrue(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals(NAME.getValue(), jp.getCurrentName()); + assertEquals(NAME.getValue(), jp.getText()); + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.getCurrentToken()); + assertEquals(123, jp.getIntValue()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("name2", jp.getCurrentName()); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.nextToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("x", jp.getCurrentName()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_STRING, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.END_OBJECT, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertNull(jp.getCurrentToken()); + + jp.close(); + + // Actually, try again with slightly different sequence... + jp = f.createParser(DOC); + assertToken(JsonToken.START_OBJECT, jp.nextToken()); + assertFalse(jp.nextFieldName(new SerializedString("Nam"))); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals(NAME.getValue(), jp.getCurrentName()); + assertEquals(NAME.getValue(), jp.getText()); + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.getCurrentToken()); + assertEquals(123, jp.getIntValue()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("name2", jp.getCurrentName()); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.nextToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("x", jp.getCurrentName()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_STRING, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.END_OBJECT, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertNull(jp.getCurrentToken()); + + jp.close(); + } + + private void _testIsNextTokenName2() throws Exception + { + CBORFactory f = new CBORFactory(); + final byte[] DOC = cborDoc(f, "{\"name\":123,\"name2\":14,\"x\":\"name\"}"); + JsonParser jp = f.createParser(DOC); + SerializableString NAME = new SerializedString("name"); + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.START_OBJECT, jp.getCurrentToken()); + assertTrue(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals(NAME.getValue(), jp.getCurrentName()); + assertEquals(NAME.getValue(), jp.getText()); + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.getCurrentToken()); + assertEquals(123, jp.getIntValue()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("name2", jp.getCurrentName()); + assertToken(JsonToken.VALUE_NUMBER_INT, jp.nextToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.FIELD_NAME, jp.getCurrentToken()); + assertEquals("x", jp.getCurrentName()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.VALUE_STRING, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertToken(JsonToken.END_OBJECT, jp.getCurrentToken()); + + assertFalse(jp.nextFieldName(NAME)); + assertNull(jp.getCurrentToken()); + + jp.close(); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserSimpleTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserSimpleTest.java new file mode 100644 index 000000000..964bcd48d --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserSimpleTest.java @@ -0,0 +1,397 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.*; +import java.util.LinkedHashMap; +import java.util.Map; + +import com.fasterxml.jackson.core.*; +import com.fasterxml.jackson.core.JsonParser.NumberType; +import com.fasterxml.jackson.databind.ObjectMapper; + +/** + * Unit tests for simple value types. + */ +public class ParserSimpleTest extends CBORTestBase +{ + private final ObjectMapper MAPPER = cborMapper(); + + /** + * Test for verifying handling of 'true', 'false' and 'null' literals + */ + public void testSimpleLiterals() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + JsonGenerator gen = cborGenerator(out); + gen.writeBoolean(true); + gen.close(); + JsonParser p = cborParser(out); + assertEquals(JsonToken.VALUE_TRUE, p.nextToken()); + assertNull(p.nextToken()); + p.close(); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeBoolean(false); + gen.close(); + p = cborParser(out); + assertEquals(JsonToken.VALUE_FALSE, p.nextToken()); + assertNull(p.nextToken()); + p.close(); + + out = new ByteArrayOutputStream(); + gen = cborGenerator(out); + gen.writeNull(); + gen.close(); + p = cborParser(out); + assertEquals(JsonToken.VALUE_NULL, p.nextToken()); + assertNull(p.nextToken()); + p.close(); + } + + public void testIntValues() throws Exception + { + // first, single-byte + CBORFactory f = cborFactory(); + // single byte + _verifyInt(f, 13); + _verifyInt(f, -19); + // two bytes + _verifyInt(f, 255); + _verifyInt(f, -127); + // three + _verifyInt(f, 256); + _verifyInt(f, 0xFFFF); + _verifyInt(f, -300); + _verifyInt(f, -0xFFFF); + // and all 4 bytes + _verifyInt(f, 0x7FFFFFFF); + _verifyInt(f, 0x70000000 << 1); + } + + private void _verifyInt(CBORFactory f, int value) throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + JsonGenerator gen = cborGenerator(f, out); + gen.writeNumber(value); + gen.close(); + JsonParser p = cborParser(f, out.toByteArray()); + assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken()); + assertEquals(NumberType.INT, p.getNumberType()); + assertEquals(value, p.getIntValue()); + assertEquals((double) value, p.getDoubleValue()); + assertNull(p.nextToken()); + p.close(); + } + + public void testLongValues() throws Exception + { + CBORFactory f = cborFactory(); + _verifyLong(f, 1L + Integer.MAX_VALUE); + _verifyLong(f, -1L + Integer.MIN_VALUE); + } + + private void _verifyLong(CBORFactory f, long value) throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + JsonGenerator gen = cborGenerator(f, out); + gen.writeNumber(value); + gen.close(); + JsonParser p = cborParser(f, out.toByteArray()); + assertEquals(JsonToken.VALUE_NUMBER_INT, p.nextToken()); + assertEquals(value, p.getLongValue()); + assertEquals(NumberType.LONG, p.getNumberType()); + assertEquals((double) value, p.getDoubleValue()); + assertNull(p.nextToken()); + p.close(); + } + + public void testFloatValues() throws Exception + { + // first, single-byte + CBORFactory f = cborFactory(); + // single byte + _verifyFloat(f, 0.25); + _verifyFloat(f, 20.5); + + // But then, oddity: 16-bit mini-float + // Examples from [https://en.wikipedia.org/wiki/Half_precision_floating-point_format] + _verifyHalfFloat(f, 0, 0.0); + _verifyHalfFloat(f, 0x3C00, 1.0); + _verifyHalfFloat(f, 0xC000, -2.0); + _verifyHalfFloat(f, 0x7BFF, 65504.0); + _verifyHalfFloat(f, 0x7C00, Double.POSITIVE_INFINITY); + _verifyHalfFloat(f, 0xFC00, Double.NEGATIVE_INFINITY); + + // ... can add more, but need bit looser comparison if so + } + + private void _verifyFloat(CBORFactory f, double value) throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + JsonGenerator gen = cborGenerator(f, out); + gen.writeNumber((float) value); + gen.close(); + JsonParser p = cborParser(f, out.toByteArray()); + assertEquals(JsonToken.VALUE_NUMBER_FLOAT, p.nextToken()); + if (NumberType.FLOAT != p.getNumberType()) { + fail("Expected `NumberType.FLOAT`, got "+p.getNumberType()+": "+p.getText()); + } + assertEquals(value, p.getDoubleValue()); + assertNull(p.nextToken()); + p.close(); + } + + private void _verifyHalfFloat(JsonFactory f, int i16, double value) throws IOException + { + JsonParser p = f.createParser(new byte[] { + (byte) (CBORConstants.PREFIX_TYPE_MISC + 25), + (byte) (i16 >> 8), (byte) i16 + }); + assertEquals(JsonToken.VALUE_NUMBER_FLOAT, p.nextToken()); + assertEquals(NumberType.FLOAT, p.getNumberType()); + assertEquals(value, p.getDoubleValue()); + assertNull(p.nextToken()); + p.close(); + } + + public void testSimpleArray() throws Exception + { + byte[] b = MAPPER.writeValueAsBytes(new int[] { 1, 2, 3, 4}); + int[] output = MAPPER.readValue(b, int[].class); + assertEquals(4, output.length); + for (int i = 1; i <= output.length; ++i) { + assertEquals(i, output[i-1]); + } + } + + public void testSimpleObject() throws Exception + { + Map input = new LinkedHashMap(); + input.put("a", 1); + input.put("bar", "foo"); + final String NON_ASCII_NAME = "Y\\u00F6"; + input.put(NON_ASCII_NAME, -3.25); + input.put("", ""); + byte[] b = MAPPER.writeValueAsBytes(input); + + // First, using streaming API + JsonParser p = cborParser(b); + assertToken(JsonToken.START_OBJECT, p.nextToken()); + + assertToken(JsonToken.FIELD_NAME, p.nextToken()); + assertEquals("a", p.getCurrentName()); + assertToken(JsonToken.VALUE_NUMBER_INT, p.nextToken()); + assertEquals(1, p.getIntValue()); + + assertToken(JsonToken.FIELD_NAME, p.nextToken()); + assertEquals("bar", p.getCurrentName()); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertEquals("foo", p.getText()); + + assertToken(JsonToken.FIELD_NAME, p.nextToken()); + assertEquals(NON_ASCII_NAME, p.getCurrentName()); + assertToken(JsonToken.VALUE_NUMBER_FLOAT, p.nextToken()); + assertEquals(-3.25, p.getDoubleValue()); + + assertToken(JsonToken.FIELD_NAME, p.nextToken()); + assertEquals("", p.getCurrentName()); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertEquals("", p.getText()); + + assertToken(JsonToken.END_OBJECT, p.nextToken()); + + p.close(); + + Map output = MAPPER.readValue(b, Map.class); + assertEquals(4, output.size()); + assertEquals(Integer.valueOf(1), output.get("a")); + assertEquals("foo", output.get("bar")); + assertEquals(Double.valueOf(-3.25), output.get(NON_ASCII_NAME)); + assertEquals("", output.get("")); + } + + public void testMediumText() throws Exception + { + _testMedium(1100); + _testMedium(1300); + _testMedium(1900); + _testMedium(2300); + _testMedium(3900); + } + + private void _testMedium(int len) throws Exception + { + // First, use size that should fit in output buffer, but + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + final String MEDIUM = generateUnicodeString(len); + gen.writeString(MEDIUM); + gen.close(); + + final byte[] b = out.toByteArray(); + + // verify that it is indeed non-chunked still... + assertEquals((byte) (CBORConstants.PREFIX_TYPE_TEXT + 25), b[0]); + + JsonParser p = cborParser(b); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertEquals(MEDIUM, p.getText()); + assertNull(p.nextToken()); + p.close(); + } + + public void testCurrentLocationByteOffset() throws Exception { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeString("1234567890"); + gen.writeString("1234567890"); + gen.close(); + + final byte[] b = out.toByteArray(); + + JsonParser p = cborParser(b); + + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertEquals(1, p.getCurrentLocation().getByteOffset()); + p.getText(); // fully read token. + assertEquals(11, p.getCurrentLocation().getByteOffset()); + + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertEquals(12, p.getCurrentLocation().getByteOffset()); + p.getText(); + assertEquals(22, p.getCurrentLocation().getByteOffset()); + + assertNull(p.nextToken()); + assertEquals(22, p.getCurrentLocation().getByteOffset()); + + p.close(); + assertEquals(22, p.getCurrentLocation().getByteOffset()); + } + + public void testLongNonChunkedText() throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + + final String LONG = generateUnicodeString(37000); + final byte[] LONG_B = LONG.getBytes("UTF-8"); + final int BYTE_LEN = LONG_B.length; + out.write(CBORConstants.BYTE_ARRAY_INDEFINITE); + out.write((byte) (CBORConstants.PREFIX_TYPE_TEXT + 25)); + out.write((byte) (BYTE_LEN >> 8)); + out.write((byte) BYTE_LEN); + out.write(LONG.getBytes("UTF-8")); + out.write(CBORConstants.BYTE_BREAK); + + final byte[] b = out.toByteArray(); + assertEquals(BYTE_LEN + 5, b.length); + + // Important! Need to construct a stream, to force boundary conditions + JsonParser p = cborParser(new ByteArrayInputStream(b)); + assertToken(JsonToken.START_ARRAY, p.nextToken()); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + String actual = p.getText(); + + final int end = Math.min(LONG.length(), actual.length()); + for (int i = 0; i < end; ++i) { + if (LONG.charAt(i) != actual.charAt(i)) { + fail("Character #"+i+" (of "+end+") differs; expected 0x"+Integer.toHexString(LONG.charAt(i)) + +" found 0x"+Integer.toHexString(actual.charAt(i))); + } + } + + assertEquals(LONG.length(), actual.length()); + + assertEquals(LONG, p.getText()); + assertToken(JsonToken.END_ARRAY, p.nextToken()); + assertNull(p.nextToken()); + p.close(); + } + + public void testLongChunkedText() throws Exception + { + // First, try with ASCII content + StringBuilder sb = new StringBuilder(21000); + for (int i = 0; i < 21000; ++i) { + sb.append('Z'); + } + _testLongChunkedText(sb.toString()); + // Second, with actual variable byte-length Unicode + _testLongChunkedText(generateUnicodeString(21000)); + } + + public void _testLongChunkedText(String input) throws Exception + { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator gen = cborGenerator(out); + gen.writeString(input); + gen.close(); + + final int textByteCount = input.getBytes("UTF-8").length; + final byte[] b = out.toByteArray(); + assertEquals((byte) (CBORConstants.PREFIX_TYPE_TEXT + 0x1F), b[0]); + assertEquals(CBORConstants.BYTE_BREAK, b[b.length-1]); + + // First, verify validity by scanning + int i = 1; + int total = 0; + + for (int end = b.length-1; i < end; ) { + int type = b[i++] & 0xFF; + int len = type - CBORConstants.PREFIX_TYPE_TEXT; + + if (len < 24) { // tiny, fine + ; + } else if (len == 24) { // 1-byte + len = (b[i++] & 0xFF); + } else if (len == 25) { // 2-byte + len = ((b[i++] & 0xFF) << 8) + (b[i++] & 0xFF); + } + i += len; + total += len; + } + assertEquals(b.length-1, i); + assertEquals(textByteCount, total); + + JsonParser p; + + // then skipping + p = cborParser(new ByteArrayInputStream(b)); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + assertNull(p.nextToken()); + p.close(); + + // and then with actual full parsing/access + p = cborParser(new ByteArrayInputStream(b)); + assertToken(JsonToken.VALUE_STRING, p.nextToken()); + String actual = p.getText(); + assertNull(p.nextToken()); + assertEquals(input.length(), actual.length()); + if (!input.equals(actual)) { + i = 0; + while (i < input.length() && input.charAt(i) == actual.charAt(i)) { ++i; } + fail("Strings differ at #"+i+" (length "+input.length()+"); expected 0x" + +Integer.toHexString(input.charAt(i))+", got 0x" + +Integer.toHexString(actual.charAt(i))); + } + assertEquals(input, actual); + p.close(); + } + + public void testFloatNumberType() throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + CBORGenerator generator = cborGenerator(out); + generator.writeStartObject(); + generator.writeFieldName("foo"); + generator.writeNumber(3f); + generator.writeEndObject(); + generator.close(); + + CBORParser parser = cborParser(out.toByteArray()); + assertEquals(JsonToken.START_OBJECT, parser.nextToken()); + assertEquals(JsonToken.FIELD_NAME, parser.nextToken()); + assertEquals(JsonToken.VALUE_NUMBER_FLOAT, parser.nextToken()); + assertEquals(NumberType.FLOAT, parser.getNumberType()); // fails with expected but was + assertEquals(JsonToken.END_OBJECT, parser.nextToken()); + parser.close(); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserWithJsonOrgSampleTest.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserWithJsonOrgSampleTest.java new file mode 100644 index 000000000..d878c2853 --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/ParserWithJsonOrgSampleTest.java @@ -0,0 +1,175 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.io.IOException; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; + +/** + * Tests that use the json.org sample document. + */ +public class ParserWithJsonOrgSampleTest extends CBORTestBase +{ + // From JSON specification, sample doc... + protected final static int SAMPLE_SPEC_VALUE_WIDTH = 800; + protected final static int SAMPLE_SPEC_VALUE_HEIGHT = 600; + protected final static String SAMPLE_SPEC_VALUE_TITLE = "View from 15th Floor"; + protected final static String SAMPLE_SPEC_VALUE_TN_URL = "http://www.example.com/image/481989943"; + protected final static int SAMPLE_SPEC_VALUE_TN_HEIGHT = 125; + protected final static String SAMPLE_SPEC_VALUE_TN_WIDTH = "100"; + protected final static int SAMPLE_SPEC_VALUE_TN_ID1 = 116; + protected final static int SAMPLE_SPEC_VALUE_TN_ID2 = 943; + protected final static int SAMPLE_SPEC_VALUE_TN_ID3 = 234; + protected final static int SAMPLE_SPEC_VALUE_TN_ID4 = 38793; + + protected final static String SAMPLE_DOC_JSON_SPEC = + "{\n" + +" \"Image\" : {\n" + +" \"Width\" : "+SAMPLE_SPEC_VALUE_WIDTH+",\n" + +" \"Height\" : "+SAMPLE_SPEC_VALUE_HEIGHT+"," + +"\"Title\" : \""+SAMPLE_SPEC_VALUE_TITLE+"\",\n" + +" \"Thumbnail\" : {\n" + +" \"Url\" : \""+SAMPLE_SPEC_VALUE_TN_URL+"\",\n" + +"\"Height\" : "+SAMPLE_SPEC_VALUE_TN_HEIGHT+",\n" + +" \"Width\" : \""+SAMPLE_SPEC_VALUE_TN_WIDTH+"\"\n" + +" },\n" + +" \"IDs\" : ["+SAMPLE_SPEC_VALUE_TN_ID1+","+SAMPLE_SPEC_VALUE_TN_ID2+","+SAMPLE_SPEC_VALUE_TN_ID3+","+SAMPLE_SPEC_VALUE_TN_ID4+"]\n" + +" }" + +"}" + ; + + public void testJsonSampleDoc() throws IOException + { + byte[] data = cborDoc(SAMPLE_DOC_JSON_SPEC); + verifyJsonSpecSampleDoc(cborParser(data), true, true); + verifyJsonSpecSampleDoc(cborParser(data), true, false); + verifyJsonSpecSampleDoc(cborParser(data), false, false); + verifyJsonSpecSampleDoc(cborParser(data), false, true); + } + + protected void verifyJsonSpecSampleDoc(JsonParser jp, boolean verifyContents, + boolean requireNumbers) throws IOException + { + if (!jp.hasCurrentToken()) { + jp.nextToken(); + } + assertToken(JsonToken.START_OBJECT, jp.getCurrentToken()); // main object + + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Image' + if (verifyContents) { + verifyFieldName(jp, "Image"); + } + + assertToken(JsonToken.START_OBJECT, jp.nextToken()); // 'image' object + + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Width' + if (verifyContents) { + verifyFieldName(jp, "Width"); + } + + verifyIntToken(jp.nextToken(), requireNumbers); + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_WIDTH); + } + + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Height' + if (verifyContents) { + verifyFieldName(jp, "Height"); + } + + verifyIntToken(jp.nextToken(), requireNumbers); + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_HEIGHT); + } + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Title' + if (verifyContents) { + verifyFieldName(jp, "Title"); + } + assertToken(JsonToken.VALUE_STRING, jp.nextToken()); + assertEquals(SAMPLE_SPEC_VALUE_TITLE, getAndVerifyText(jp)); + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Thumbnail' + if (verifyContents) { + verifyFieldName(jp, "Thumbnail"); + } + + assertToken(JsonToken.START_OBJECT, jp.nextToken()); // 'thumbnail' object + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Url' + if (verifyContents) { + verifyFieldName(jp, "Url"); + } + assertToken(JsonToken.VALUE_STRING, jp.nextToken()); + if (verifyContents) { + assertEquals(SAMPLE_SPEC_VALUE_TN_URL, getAndVerifyText(jp)); + } + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Height' + if (verifyContents) { + verifyFieldName(jp, "Height"); + } + verifyIntToken(jp.nextToken(), requireNumbers); + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_TN_HEIGHT); + } + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'Width' + if (verifyContents) { + verifyFieldName(jp, "Width"); + } + // Width value is actually a String in the example + assertToken(JsonToken.VALUE_STRING, jp.nextToken()); + if (verifyContents) { + assertEquals(SAMPLE_SPEC_VALUE_TN_WIDTH, getAndVerifyText(jp)); + } + + assertToken(JsonToken.END_OBJECT, jp.nextToken()); // 'thumbnail' object + assertToken(JsonToken.FIELD_NAME, jp.nextToken()); // 'IDs' + assertToken(JsonToken.START_ARRAY, jp.nextToken()); // 'ids' array + verifyIntToken(jp.nextToken(), requireNumbers); // ids[0] + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_TN_ID1); + } + verifyIntToken(jp.nextToken(), requireNumbers); // ids[1] + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_TN_ID2); + } + verifyIntToken(jp.nextToken(), requireNumbers); // ids[2] + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_TN_ID3); + } + verifyIntToken(jp.nextToken(), requireNumbers); // ids[3] + if (verifyContents) { + verifyIntValue(jp, SAMPLE_SPEC_VALUE_TN_ID4); + } + assertToken(JsonToken.END_ARRAY, jp.nextToken()); // 'ids' array + + assertToken(JsonToken.END_OBJECT, jp.nextToken()); // 'image' object + + assertToken(JsonToken.END_OBJECT, jp.nextToken()); // main object + } + + private void verifyIntToken(JsonToken t, boolean requireNumbers) + { + if (t == JsonToken.VALUE_NUMBER_INT) { + return; + } + if (requireNumbers) { // to get error + assertToken(JsonToken.VALUE_NUMBER_INT, t); + } + // if not number, must be String + if (t != JsonToken.VALUE_STRING) { + fail("Expected INT or STRING value, got "+t); + } + } + + protected void verifyFieldName(JsonParser jp, String expName) + throws IOException + { + assertEquals(expName, jp.getText()); + assertEquals(expName, jp.getCurrentName()); + } + + protected void verifyIntValue(JsonParser jp, long expValue) + throws IOException + { + // First, via textual + assertEquals(String.valueOf(expValue), jp.getText()); + } +} diff --git a/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/TestBiggerData.java b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/TestBiggerData.java new file mode 100644 index 000000000..f20c22a1f --- /dev/null +++ b/cbor/src/test/java/com/fasterxml/jackson/dataformat/cbor/TestBiggerData.java @@ -0,0 +1,139 @@ +package com.fasterxml.jackson.dataformat.cbor; + +import java.util.*; + +import com.fasterxml.jackson.databind.*; + +/** + * Bigger test to try to do smoke-testing of overall functionality, + * using more sizable (500k of JSON, 200k of encoded data) dataset. + * Should tease out at least some of boundary conditions. + */ +public class TestBiggerData extends CBORTestBase +{ + static class Citm + { + public Map areaNames; + public Map audienceSubCategoryNames; + public Map blockNames; + public Map seatCategoryNames; + public Map subTopicNames; + public Map subjectNames; + public Map topicNames; + public Map topicSubTopics; + public Map venueNames; + + public Map events; + public List performances; + } + + static class Event + { + public int id; + public String name; + public String description; + public String subtitle; + public String logo; + public int subjectCode; + public int[] topicIds; + public LinkedHashSet subTopicIds; + } + + static class Performance + { + public int id; + public int eventId; + public String name; + public String description; + public String logo; + + public List prices; + public List seatCategories; + + public long start; + public String seatMapImage; + public String venueCode; +} + + static class Price { + public int amount; + public int audienceSubCategoryId; + public int seatCategoryId; + } + + static class SeatCategory { + public int seatCategoryId; + public List areas; + } + + static class Area { + public int areaId; + public int[] blockIds; + } + + /* + /********************************************************** + /* Test methods + /********************************************************** + */ + + final ObjectMapper MAPPER = new ObjectMapper(); + + public void testReading() throws Exception + { + Citm citm0 = MAPPER.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"), + Citm.class); + + ObjectMapper mapper = cborMapper(); + byte[] cbor = mapper.writeValueAsBytes(citm0); + + Citm citm = mapper.readValue(cbor, Citm.class); + + assertNotNull(citm); + assertNotNull(citm.areaNames); + assertEquals(17, citm.areaNames.size()); + assertNotNull(citm.events); + assertEquals(184, citm.events.size()); + + assertNotNull(citm.seatCategoryNames); + assertEquals(64, citm.seatCategoryNames.size()); + assertNotNull(citm.subTopicNames); + assertEquals(19, citm.subTopicNames.size()); + assertNotNull(citm.subjectNames); + assertEquals(0, citm.subjectNames.size()); + assertNotNull(citm.topicNames); + assertEquals(4, citm.topicNames.size()); + assertNotNull(citm.topicSubTopics); + assertEquals(4, citm.topicSubTopics.size()); + assertNotNull(citm.venueNames); + assertEquals(1, citm.venueNames.size()); + } + + public void testRoundTrip() throws Exception + { + Citm citm0 = MAPPER.readValue(getClass().getResourceAsStream("/data/citm_catalog.json"), + Citm.class); + ObjectMapper mapper = cborMapper(); + byte[] cbor = mapper.writeValueAsBytes(citm0); + + Citm citm = mapper.readValue(cbor, Citm.class); + + byte[] smile1 = mapper.writeValueAsBytes(citm); + Citm citm2 = mapper.readValue(smile1, Citm.class); + byte[] smile2 = mapper.writeValueAsBytes(citm2); + + assertEquals(smile1.length, smile2.length); + + assertNotNull(citm.areaNames); + assertEquals(17, citm.areaNames.size()); + assertNotNull(citm.events); + assertEquals(184, citm.events.size()); + + assertEquals(citm.seatCategoryNames.size(), citm2.seatCategoryNames.size()); + assertEquals(citm.subTopicNames.size(), citm2.subTopicNames.size()); + assertEquals(citm.subjectNames.size(), citm2.subjectNames.size()); + assertEquals(citm.topicNames.size(), citm2.topicNames.size()); + assertEquals(citm.topicSubTopics.size(), citm2.topicSubTopics.size()); + assertEquals(citm.venueNames.size(), citm2.venueNames.size()); + } +} diff --git a/cbor/src/test/resources/data/citm_catalog.json b/cbor/src/test/resources/data/citm_catalog.json new file mode 100644 index 000000000..245fdbbed --- /dev/null +++ b/cbor/src/test/resources/data/citm_catalog.json @@ -0,0 +1,50469 @@ +{ + "areaNames": { + "205705993": "Arrière-scène central", + "205705994": "1er balcon central", + "205705995": "2ème balcon bergerie cour", + "205705996": "2ème balcon bergerie jardin", + "205705998": "1er balcon bergerie jardin", + "205705999": "1er balcon bergerie cour", + "205706000": "Arrière-scène jardin", + "205706001": "Arrière-scène cour", + "205706002": "2ème balcon jardin", + "205706003": "2ème balcon cour", + "205706004": "2ème Balcon central", + "205706005": "1er balcon jardin", + "205706006": "1er balcon cour", + "205706007": "Orchestre central", + "205706008": "Orchestre jardin", + "205706009": "Orchestre cour", + "342752287": "Zone physique secrète" + }, + "audienceSubCategoryNames": { + "337100890": "Abonné" + }, + "blockNames": {}, + "events": { + "138586341": { + "description": null, + "id": 138586341, + "logo": null, + "name": "30th Anniversary Tour", + "subTopicIds": [ + 337184269, + 337184283 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604 + ] + }, + "138586345": { + "description": null, + "id": 138586345, + "logo": "/images/UE0AAAAACEKo6QAAAAZDSVRN", + "name": "Berliner Philharmoniker", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586349": { + "description": null, + "id": 138586349, + "logo": "/images/UE0AAAAACEKo7QAAAAZDSVRN", + "name": "Berliner Philharmoniker", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586353": { + "description": null, + "id": 138586353, + "logo": "/images/UE0AAAAACEKo8QAAAAZDSVRN", + "name": "Pittsburgh Symphony Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586357": { + "description": null, + "id": 138586357, + "logo": "/images/UE0AAAAACEKo9QAAAAhDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586361": { + "description": null, + "id": 138586361, + "logo": "/images/UE0AAAAACEKo+QAAAAVDSVRN", + "name": "WDR Sinfonieorchester Köln", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586365": { + "description": null, + "id": 138586365, + "logo": "/images/UE0AAAAACEKo/QAAAAVDSVRN", + "name": "Alessandro - G.F. Haendel", + "subTopicIds": [ + 337184284, + 337184263, + 337184298, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586369": { + "description": null, + "id": 138586369, + "logo": "/images/UE0AAAAACEKpAQAAAAVDSVRN", + "name": "Orchestre Colonne", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586373": { + "description": null, + "id": 138586373, + "logo": "/images/UE0AAAAACEKpBQAAAAdDSVRN", + "name": "Christophe", + "subTopicIds": [ + 337184280, + 337184297, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586377": { + "description": null, + "id": 138586377, + "logo": "/images/UE0AAAAACEKpCQAAAAVDSVRN", + "name": "Joshua Redman Quartet", + "subTopicIds": [ + 337184269, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586381": { + "description": null, + "id": 138586381, + "logo": "/images/UE0AAAAACEKpDQAAAAVDSVRN", + "name": "Orchestre Symphonique d'Etat de São Paulo", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586385": { + "description": null, + "id": 138586385, + "logo": "/images/UE0AAAAACEKpEQAAAAVDSVRN", + "name": "Le génie italien", + "subTopicIds": [ + 337184284, + 337184298, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586389": { + "description": null, + "id": 138586389, + "logo": "/images/UE0AAAAACEKpFQAAAAVDSVRN", + "name": "Les Noces de Figaro - W.A. Mozart (version de concert)", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586393": { + "description": null, + "id": 138586393, + "logo": "/images/UE0AAAAACEKpGQAAAAhDSVRN", + "name": "Orchestre Pasdeloup", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586397": { + "description": null, + "id": 138586397, + "logo": null, + "name": "The Saxophone Summit", + "subTopicIds": [ + 337184269, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586401": { + "description": null, + "id": 138586401, + "logo": "/images/UE0AAAAACEKpIQAAAAVDSVRN", + "name": "Patricia Petibon - Nouveau Monde", + "subTopicIds": [ + 337184263, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586405": { + "description": null, + "id": 138586405, + "logo": "/images/UE0AAAAACEKpJQAAAAVDSVRN", + "name": "Russian National Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586409": { + "description": null, + "id": 138586409, + "logo": "/images/UE0AAAAACEKpKQAAAAZDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586413": { + "description": null, + "id": 138586413, + "logo": "/images/UE0AAAAACEKpLQAAAAVDSVRN", + "name": "Evgeny Kissin", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586417": { + "description": null, + "id": 138586417, + "logo": "/images/UE0AAAAACEKpMQAAAAZDSVRN", + "name": "Bach, concertos pour piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586421": { + "description": null, + "id": 138586421, + "logo": "/images/UE0AAAAACEKpNQAAAAVDSVRN", + "name": "Bach, concertos pour piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586425": { + "description": null, + "id": 138586425, + "logo": null, + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586429": { + "description": null, + "id": 138586429, + "logo": "/images/UE0AAAAACEKpPQAAAAVDSVRN", + "name": "Gewandhausorchester Leipzig", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586433": { + "description": null, + "id": 138586433, + "logo": "/images/UE0AAAAACEKpQQAAAAVDSVRN", + "name": "Gewandhausorchester Leipzig", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586437": { + "description": null, + "id": 138586437, + "logo": "/images/UE0AAAAACEKpRQAAAAVDSVRN", + "name": "Budapest Festival Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586441": { + "description": null, + "id": 138586441, + "logo": "/images/UE0AAAAACEKpSQAAAAVDSVRN", + "name": "Orchestre National du Capitole de Toulouse", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586445": { + "description": null, + "id": 138586445, + "logo": "/images/UE0AAAAACEKpTQAAAAVDSVRN", + "name": "Gewandhausorchester Leipzig", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586449": { + "description": null, + "id": 138586449, + "logo": "/images/UE0AAAAACEKpUQAAAAVDSVRN", + "name": "Gewandhausorchester Leipzig", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586453": { + "description": null, + "id": 138586453, + "logo": "/images/UE0AAAAACEKpVQAAAAVDSVRN", + "name": "Remember Shakti", + "subTopicIds": [ + 337184269, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586457": { + "description": null, + "id": 138586457, + "logo": "/images/UE0AAAAACEKpWQAAAAVDSVRN", + "name": "Menahem Pressler - Quatuor Ebène", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586461": { + "description": null, + "id": 138586461, + "logo": "/images/UE0AAAAACEKpXQAAAAZDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586465": { + "description": null, + "id": 138586465, + "logo": "/images/UE0AAAAACEKpYQAAAAVDSVRN", + "name": "Orquesta Buena Vista Social Club", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586469": { + "description": null, + "id": 138586469, + "logo": "/images/UE0AAAAACEKpZQAAAAVDSVRN", + "name": "The Cleveland Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586473": { + "description": null, + "id": 138586473, + "logo": "/images/UE0AAAAACEKpaQAAAAVDSVRN", + "name": "The Cleveland Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586477": { + "description": null, + "id": 138586477, + "logo": "/images/UE0AAAAACEKpbQAAAAZDSVRN", + "name": "Orchestre Philharmonique du Luxembourg", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586481": { + "description": null, + "id": 138586481, + "logo": "/images/UE0AAAAACEKpcQAAAAVDSVRN", + "name": "Maurizio Pollini, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586485": { + "description": null, + "id": 138586485, + "logo": "/images/UE0AAAAACEKpdQAAAAZDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586501": { + "description": null, + "id": 138586501, + "logo": "/images/UE0AAAAACEKphQAAAAVDSVRN", + "name": "Antonio Meneses - Maria-João Pires", + "subTopicIds": [ + 337184268, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586505": { + "description": null, + "id": 138586505, + "logo": "/images/UE0AAAAACEKpiQAAAAVDSVRN", + "name": "Musiques pour la reine Caroline", + "subTopicIds": [ + 337184284, + 337184263, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586509": { + "description": null, + "id": 138586509, + "logo": null, + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586513": { + "description": null, + "id": 138586513, + "logo": "/images/UE0AAAAACEKpkQAAAAVDSVRN", + "name": "Les Mystères d'Isis - W.A. Mozart (cersion de concert)", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586517": { + "description": null, + "id": 138586517, + "logo": "/images/UE0AAAAACEKplQAAAAdDSVRN", + "name": "Martha Argerich - Gidon Kremer", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586521": { + "description": null, + "id": 138586521, + "logo": "/images/UE0AAAAACEKpmQAAAAVDSVRN", + "name": "Cecilia Bartoli - Mozart et la Vienne classique", + "subTopicIds": [ + 337184298, + 337184268, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586525": { + "description": null, + "id": 138586525, + "logo": "/images/UE0AAAAACEKpnQAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586529": { + "description": null, + "id": 138586529, + "logo": null, + "name": "Orchestre Pasdeloup", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586533": { + "description": null, + "id": 138586533, + "logo": "/images/UE0AAAAACEKppQAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586537": { + "description": null, + "id": 138586537, + "logo": "/images/UE0AAAAACEKpqQAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586541": { + "description": null, + "id": 138586541, + "logo": "/images/UE0AAAAACEKprQAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586545": { + "description": null, + "id": 138586545, + "logo": "/images/UE0AAAAACEKpsQAAAAVDSVRN", + "name": "Academy of Saint Martin in the Fields", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586549": { + "description": null, + "id": 138586549, + "logo": "/images/UE0AAAAACEKptQAAAAVDSVRN", + "name": "Quatuor Hagen", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586553": { + "description": null, + "id": 138586553, + "logo": "/images/UE0AAAAACEKpuQAAAAVDSVRN", + "name": "Quatuor Hagen", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586557": { + "description": null, + "id": 138586557, + "logo": "/images/UE0AAAAACEKpvQAAAAVDSVRN", + "name": "Quatuor Hagen", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586561": { + "description": null, + "id": 138586561, + "logo": "/images/UE0AAAAACEKpwQAAAAVDSVRN", + "name": "Sunwook Kim, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586565": { + "description": null, + "id": 138586565, + "logo": null, + "name": "Orchestre Colonne", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586569": { + "description": null, + "id": 138586569, + "logo": "/images/UE0AAAAACEKpyQAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586581": { + "description": null, + "id": 138586581, + "logo": null, + "name": "Orchestre National de France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586585": { + "description": null, + "id": 138586585, + "logo": "/images/UE0AAAAACEKp2QAAAAVDSVRN", + "name": "Messe en si mineur - J.S. Bach", + "subTopicIds": [ + 337184296, + 337184263, + 337184298, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586589": { + "description": null, + "id": 138586589, + "logo": null, + "name": "Le Messie - G.F. Haendel", + "subTopicIds": [ + 337184263, + 337184298, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586593": { + "description": null, + "id": 138586593, + "logo": "/images/UE0AAAAACEKp4QAAAAdDSVRN", + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586597": { + "description": null, + "id": 138586597, + "logo": "/images/UE0AAAAACEKp5QAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586601": { + "description": null, + "id": 138586601, + "logo": "/images/UE0AAAAACEKp6QAAAAdDSVRN", + "name": "Orchestre Pasdeloup", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586605": { + "description": null, + "id": 138586605, + "logo": null, + "name": "Orchestre Colonne", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586609": { + "description": null, + "id": 138586609, + "logo": null, + "name": "Ciné-concert - Le Cuirassé Potemkine", + "subTopicIds": [ + 337184267, + 337184262, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 107888604, + 324846100 + ] + }, + "138586613": { + "description": null, + "id": 138586613, + "logo": "/images/UE0AAAAACEKp9QAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586617": { + "description": null, + "id": 138586617, + "logo": "/images/UE0AAAAACEKp+QAAAAVDSVRN", + "name": "London Symphony Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586625": { + "description": null, + "id": 138586625, + "logo": null, + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586629": { + "description": null, + "id": 138586629, + "logo": "/images/UE0AAAAACEKqBQAAAAVDSVRN", + "name": "Orquesta Sinfonica Simón Bolívar de Venezuela", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586633": { + "description": null, + "id": 138586633, + "logo": "/images/UE0AAAAACEKqCQAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184298, + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586641": { + "description": null, + "id": 138586641, + "logo": "/images/UE0AAAAACEKqEQAAAAVDSVRN", + "name": "Edita Gruberova - Airs de concert", + "subTopicIds": [ + 337184284, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586645": { + "description": null, + "id": 138586645, + "logo": "/images/UE0AAAAACEKqFQAAAAdDSVRN", + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586649": { + "description": null, + "id": 138586649, + "logo": "/images/UE0AAAAACEKqGQAAAAZDSVRN", + "name": "Alexei Volodin, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586653": { + "description": null, + "id": 138586653, + "logo": null, + "name": "Sonya Yoncheva - Diva !", + "subTopicIds": [ + 337184284, + 337184263, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586657": { + "description": null, + "id": 138586657, + "logo": "/images/UE0AAAAACEKqIQAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586661": { + "description": null, + "id": 138586661, + "logo": null, + "name": "Le Ramayana balinais - L'Enlèvement de Sita", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586667": { + "description": null, + "id": 138586667, + "logo": null, + "name": "Dave Holland & friends", + "subTopicIds": [ + 337184269, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586671": { + "description": null, + "id": 138586671, + "logo": "/images/UE0AAAAACEKqLwAAAAlDSVRN", + "name": "Boris Godounov - M.Moussorgski (version de concert)", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586675": { + "description": null, + "id": 138586675, + "logo": "/images/UE0AAAAACEKqMwAAAAVDSVRN", + "name": "Insula orchestra - Accentus", + "subTopicIds": [ + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586679": { + "description": null, + "id": 138586679, + "logo": "/images/UE0AAAAACEKqNwAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586687": { + "description": null, + "id": 138586687, + "logo": "/images/UE0AAAAACEKqPwAAAAVDSVRN", + "name": "Bryn Terfel - Héros légendaires", + "subTopicIds": [ + 337184284, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586691": { + "description": null, + "id": 138586691, + "logo": null, + "name": "Les Siècles", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586695": { + "description": null, + "id": 138586695, + "logo": "/images/UE0AAAAACEKqRwAAAAVDSVRN", + "name": "Gautier Capuçon - Frank Braley", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586699": { + "description": null, + "id": 138586699, + "logo": null, + "name": "Festival Présences 2014 \"Paris Berlin\"", + "subTopicIds": [ + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586703": { + "description": null, + "id": 138586703, + "logo": "/images/UE0AAAAACEKqTwAAAAZDSVRN", + "name": "Autour de Tristan", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586707": { + "description": null, + "id": 138586707, + "logo": "/images/UE0AAAAACEKqUwAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586711": { + "description": null, + "id": 138586711, + "logo": "/images/UE0AAAAACEKqVwAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586715": { + "description": null, + "id": 138586715, + "logo": "/images/UE0AAAAACEKqWwAAAAVDSVRN", + "name": "Orchestre du Théâtre Mariinsky", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586719": { + "description": null, + "id": 138586719, + "logo": "/images/UE0AAAAACEKqXwAAAAVDSVRN", + "name": "Etienne Daho et invités", + "subTopicIds": [ + 337184280, + 337184297, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586723": { + "description": null, + "id": 138586723, + "logo": null, + "name": "Fantasia in concert", + "subTopicIds": [ + 337184299, + 337184268, + 337184267, + 337184275, + 337184282 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846098, + 324846099, + 107888604, + 324846100 + ] + }, + "138586731": { + "description": null, + "id": 138586731, + "logo": "/images/UE0AAAAACEKqawAAAAVDSVRN", + "name": "Khatia Buniatishvili, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586735": { + "description": null, + "id": 138586735, + "logo": "/images/UE0AAAAACEKqbwAAAAVDSVRN", + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586743": { + "description": null, + "id": 138586743, + "logo": null, + "name": "Guy Braunstein - Zvi Plesser - Sunwook Kim", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586747": { + "description": null, + "id": 138586747, + "logo": "/images/UE0AAAAACEKqewAAAAVDSVRN", + "name": "Janine Jansen and friends", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586751": { + "description": null, + "id": 138586751, + "logo": "/images/UE0AAAAACEKqfwAAAAVDSVRN", + "name": "Elena Bashkirova, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586755": { + "description": null, + "id": 138586755, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184284, + 337184298, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586759": { + "description": null, + "id": 138586759, + "logo": null, + "name": "San Francisco Symphony", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586771": { + "description": null, + "id": 138586771, + "logo": null, + "name": "Passion selon saint Jean - J.S. Bach", + "subTopicIds": [ + 337184296, + 337184263, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586775": { + "description": null, + "id": 138586775, + "logo": null, + "name": "Yundi Li , piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586779": { + "description": null, + "id": 138586779, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586783": { + "description": null, + "id": 138586783, + "logo": null, + "name": "Orchestre Pasdeloup", + "subTopicIds": [ + 337184268, + 337184269, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586787": { + "description": null, + "id": 138586787, + "logo": null, + "name": "Orchestre du Conservatoire de Paris", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586795": { + "description": null, + "id": 138586795, + "logo": null, + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586799": { + "description": null, + "id": 138586799, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586803": { + "description": null, + "id": 138586803, + "logo": null, + "name": "Royal Concertgebouw Orchestra Amsterdam", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586807": { + "description": null, + "id": 138586807, + "logo": null, + "name": "Royal Concertgebouw Orchestra Amsterdam", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586811": { + "description": null, + "id": 138586811, + "logo": null, + "name": "Royal Concertgebouw Orchestra Amsterdam", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586815": { + "description": null, + "id": 138586815, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586823": { + "description": null, + "id": 138586823, + "logo": null, + "name": "London Symphony Orchestra", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586827": { + "description": null, + "id": 138586827, + "logo": null, + "name": "London Symphony Orchestra", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586831": { + "description": null, + "id": 138586831, + "logo": null, + "name": "Le Concert des Nations - Jordi Savall", + "subTopicIds": [ + 337184263, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586835": { + "description": null, + "id": 138586835, + "logo": null, + "name": "Leonidas Kavakos - Yuja Wang", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586839": { + "description": null, + "id": 138586839, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586843": { + "description": null, + "id": 138586843, + "logo": null, + "name": "Quatuor Artemis - Gautier Capuçon", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586847": { + "description": null, + "id": 138586847, + "logo": null, + "name": "Quatuor Artemis - Quatuor Ébène", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586851": { + "description": null, + "id": 138586851, + "logo": null, + "name": "Quatuor Artemis - Elisabeth Leonskaja", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586855": { + "description": null, + "id": 138586855, + "logo": null, + "name": "Russian National Orchestra", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586859": { + "description": null, + "id": 138586859, + "logo": null, + "name": "Passion selon saint Matthieu", + "subTopicIds": [ + 337184296, + 337184263, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586863": { + "description": null, + "id": 138586863, + "logo": null, + "name": "Les Arts Florissants - Concert de Pâques", + "subTopicIds": [ + 337184263, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586867": { + "description": null, + "id": 138586867, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586871": { + "description": null, + "id": 138586871, + "logo": null, + "name": "Leylâ et Majnûn ou L'Amour mystique", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586875": { + "description": null, + "id": 138586875, + "logo": null, + "name": "Stephen Kovacevich, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586879": { + "description": null, + "id": 138586879, + "logo": null, + "name": "Orchestra Mozart Bologna - Mahler Chamber Orchestra", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586883": { + "description": null, + "id": 138586883, + "logo": null, + "name": "Ballet Royal du Cambodge", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586889": { + "description": null, + "id": 138586889, + "logo": null, + "name": "MDR Sinfonieorchester Leipzig", + "subTopicIds": [ + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586893": { + "description": null, + "id": 138586893, + "logo": null, + "name": "Orchestre Colonne", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586897": { + "description": null, + "id": 138586897, + "logo": null, + "name": "Elisabeth Leonskaja, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586901": { + "description": null, + "id": 138586901, + "logo": null, + "name": "Yuja Wang, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586905": { + "description": null, + "id": 138586905, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586909": { + "description": null, + "id": 138586909, + "logo": null, + "name": "Anne-Sophie Mutter - Lambert Orkis", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586917": { + "description": null, + "id": 138586917, + "logo": null, + "name": "Orchestre National d'Île-de-France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586921": { + "description": null, + "id": 138586921, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586929": { + "description": null, + "id": 138586929, + "logo": null, + "name": "Orchestre Pasdeloup", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586933": { + "description": null, + "id": 138586933, + "logo": null, + "name": "Gilberto Gil", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586937": { + "description": null, + "id": 138586937, + "logo": null, + "name": "Nelson Freire, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586941": { + "description": null, + "id": 138586941, + "logo": null, + "name": "Orchestre Philharmonique de Radio France", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586945": { + "description": null, + "id": 138586945, + "logo": null, + "name": "Orfeo - C. Monteverdi (version de concert)", + "subTopicIds": [ + 337184284, + 337184263, + 337184298, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586949": { + "description": null, + "id": 138586949, + "logo": null, + "name": "Bamberger Symphoniker", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586953": { + "description": null, + "id": 138586953, + "logo": null, + "name": "Murray Perahia, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586957": { + "description": null, + "id": 138586957, + "logo": null, + "name": "Orchestre National du Capitole de Toulouse", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586961": { + "description": null, + "id": 138586961, + "logo": null, + "name": "Krystian Zimerman, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586965": { + "description": null, + "id": 138586965, + "logo": null, + "name": "Rafal Blechacz, piano", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586969": { + "description": null, + "id": 138586969, + "logo": null, + "name": "Les Voyages musicaux de Marco Polo", + "subTopicIds": [ + 337184279, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586973": { + "description": null, + "id": 138586973, + "logo": null, + "name": "Orchestre National de Lyon", + "subTopicIds": [ + 337184298, + 337184268, + 337184283, + 337184292, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586977": { + "description": null, + "id": 138586977, + "logo": null, + "name": "Guy Braunstein - Zvi Plesser - Sunwook Kim", + "subTopicIds": [ + 337184281, + 337184283, + 337184273 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586981": { + "description": null, + "id": 138586981, + "logo": null, + "name": "La Bohème - G. Puccini (version de concert)", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586989": { + "description": null, + "id": 138586989, + "logo": null, + "name": "Otello - G. Verdi (version de concert)", + "subTopicIds": [ + 337184284, + 337184298, + 337184268, + 337184283, + 337184292 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586993": { + "description": null, + "id": 138586993, + "logo": null, + "name": "Staatskapelle Berlin", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "138586997": { + "description": null, + "id": 138586997, + "logo": null, + "name": "Staatskapelle Berlin", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "151183114": { + "description": null, + "id": 151183114, + "logo": null, + "name": "San Francisco Symphony", + "subTopicIds": [ + 337184298, + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "339420802": { + "description": null, + "id": 339420802, + "logo": null, + "name": "Lou Doillon", + "subTopicIds": [ + 337184280, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "339420805": { + "description": null, + "id": 339420805, + "logo": null, + "name": "Patrick Watson & Orchestre National d'Ile-de-France", + "subTopicIds": [ + 337184280, + 337184283, + 337184262 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341069930": { + "description": null, + "id": 341069930, + "logo": "/images/UE0AAAAAFFRQagAAAAlDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181232": { + "description": null, + "id": 341181232, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181233": { + "description": null, + "id": 341181233, + "logo": "/images/UE0AAAAAFFYDMQAAAAhDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181234": { + "description": null, + "id": 341181234, + "logo": "/images/UE0AAAAAFFYDMgAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181235": { + "description": null, + "id": 341181235, + "logo": "/images/UE0AAAAAFFYDMwAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181236": { + "description": null, + "id": 341181236, + "logo": "/images/UE0AAAAAFFYDNAAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181237": { + "description": null, + "id": 341181237, + "logo": "/images/UE0AAAAAFFYDNQAAAAhDSVRN", + "name": "Paavo Järvi, direction", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181238": { + "description": null, + "id": 341181238, + "logo": "/images/UE0AAAAAFFYDNgAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181239": { + "description": null, + "id": 341181239, + "logo": "/images/UE0AAAAAFFYDNwAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181240": { + "description": null, + "id": 341181240, + "logo": "/images/UE0AAAAAFFYDOAAAAAhDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181241": { + "description": null, + "id": 341181241, + "logo": "/images/UE0AAAAAFFYDOQAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181242": { + "description": null, + "id": 341181242, + "logo": "/images/UE0AAAAAFFYDOgAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181243": { + "description": null, + "id": 341181243, + "logo": "/images/UE0AAAAAFFYDOwAAAAdDSVRN", + "name": "Concert anniversaire des 90 ans de Menahem Pressler", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181244": { + "description": null, + "id": 341181244, + "logo": "/images/UE0AAAAAFFYDPAAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181245": { + "description": null, + "id": 341181245, + "logo": "/images/UE0AAAAAFFYDPQAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181246": { + "description": null, + "id": 341181246, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181247": { + "description": null, + "id": 341181247, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181248": { + "description": null, + "id": 341181248, + "logo": "/images/UE0AAAAAFFYDQAAAAAZDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181249": { + "description": null, + "id": 341181249, + "logo": "/images/UE0AAAAAFFYDQQAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181250": { + "description": null, + "id": 341181250, + "logo": "/images/UE0AAAAAFFYDQgAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181251": { + "description": null, + "id": 341181251, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181252": { + "description": null, + "id": 341181252, + "logo": "/images/UE0AAAAAFFYDRAAAAAdDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181253": { + "description": null, + "id": 341181253, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181254": { + "description": null, + "id": 341181254, + "logo": "/images/UE0AAAAAFFYDRgAAAAlDSVRN", + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181255": { + "description": null, + "id": 341181255, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181256": { + "description": null, + "id": 341181256, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181257": { + "description": null, + "id": 341181257, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181258": { + "description": null, + "id": 341181258, + "logo": null, + "name": "Orchestre de Paris", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "341181259": { + "description": null, + "id": 341181259, + "logo": null, + "name": "14052122 JARVI / GOERNE / SOLBERG / CHŒUR", + "subTopicIds": [ + 337184268, + 337184288, + 337184283, + 337184275 + ], + "subjectCode": null, + "subtitle": null, + "topicIds": [ + 324846099, + 107888604, + 324846100 + ] + }, + "342742592": { + "description": null, + "id": 342742592, + "logo": null, + "name": "event secret 2", + "subTopicIds": [], + "subjectCode": null, + "subtitle": null, + "topicIds": [] + }, + "342742593": { + "description": null, + "id": 342742593, + "logo": null, + "name": "event secret 3", + "subTopicIds": [], + "subjectCode": null, + "subtitle": null, + "topicIds": [] + }, + "342742594": { + "description": null, + "id": 342742594, + "logo": null, + "name": "event secret 4", + "subTopicIds": [], + "subjectCode": null, + "subtitle": null, + "topicIds": [] + }, + "342742595": { + "description": null, + "id": 342742595, + "logo": null, + "name": "event secret 5", + "subTopicIds": [], + "subjectCode": null, + "subtitle": null, + "topicIds": [] + }, + "342742596": { + "description": null, + "id": 342742596, + "logo": null, + "name": "event secret 6", + "subTopicIds": [], + "subjectCode": null, + "subtitle": null, + "topicIds": [] + } + }, + "performances": [ + { + "eventId": 138586341, + "id": 339887544, + "logo": null, + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937295 + }, + { + "amount": 66500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937296 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937295 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937296 + } + ], + "seatMapImage": null, + "start": 1372701600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 339420802, + "id": 339430296, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937295 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937296 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937295 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937296 + } + ], + "seatMapImage": null, + "start": 1372788000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 339420805, + "id": 339430301, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937295 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937296 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937295 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937296 + } + ], + "seatMapImage": null, + "start": 1373220000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586345, + "id": 138586347, + "logo": "/images/UE0AAAAACEKo6QAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 152000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1377972000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586349, + "id": 138586351, + "logo": "/images/UE0AAAAACEKo7QAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 152000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1378044000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586353, + "id": 138586355, + "logo": "/images/UE0AAAAACEKo8QAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1378490400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341069930, + "id": 341070133, + "logo": "/images/UE0AAAAAFFRQagAAAAlDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + } + ], + "seatMapImage": null, + "start": 1378922400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341069930, + "id": 341070132, + "logo": "/images/UE0AAAAAFFRQagAAAAlDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + } + ], + "seatMapImage": null, + "start": 1379008800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586357, + "id": 138586359, + "logo": "/images/UE0AAAAACEKo9QAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1379095200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586361, + "id": 138586363, + "logo": "/images/UE0AAAAACEKo+QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1379440800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586365, + "id": 138586367, + "logo": "/images/UE0AAAAACEKo/QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1379959200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181254, + "id": 341181470, + "logo": "/images/UE0AAAAAFFYDRgAAAAlDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1380132000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181254, + "id": 341181469, + "logo": "/images/UE0AAAAAFFYDRgAAAAlDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1380218400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586369, + "id": 138586371, + "logo": "/images/UE0AAAAACEKpAQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1380650400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181252, + "id": 341181467, + "logo": "/images/UE0AAAAAFFYDRAAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1380736800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586373, + "id": 138586375, + "logo": "/images/UE0AAAAACEKpBQAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1380996000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586377, + "id": 138586379, + "logo": "/images/UE0AAAAACEKpCQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1381082400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586381, + "id": 138586383, + "logo": "/images/UE0AAAAACEKpDQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1381168800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586385, + "id": 138586387, + "logo": "/images/UE0AAAAACEKpEQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1381255200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181234, + "id": 341181437, + "logo": "/images/UE0AAAAAFFYDMgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1381341600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181234, + "id": 341181436, + "logo": "/images/UE0AAAAAFFYDMgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1381428000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586389, + "id": 138586391, + "logo": "/images/UE0AAAAACEKpFQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1381512600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586393, + "id": 138586395, + "logo": "/images/UE0AAAAACEKpGQAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937241 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937242 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937244 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937245 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937246 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937241 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937242 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937244 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937245 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937246 + } + ], + "seatMapImage": null, + "start": 1381586400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586397, + "id": 138586399, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1381672800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586401, + "id": 138586403, + "logo": "/images/UE0AAAAACEKpIQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1381773600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586405, + "id": 138586407, + "logo": "/images/UE0AAAAACEKpJQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1381860000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181233, + "id": 341181435, + "logo": "/images/UE0AAAAAFFYDMQAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1381946400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181237, + "id": 341181442, + "logo": "/images/UE0AAAAAFFYDNQAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1382032800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586409, + "id": 138586411, + "logo": "/images/UE0AAAAACEKpKQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1382119200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586413, + "id": 138586415, + "logo": "/images/UE0AAAAACEKpLQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1382277600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586417, + "id": 138586419, + "logo": "/images/UE0AAAAACEKpMQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1382378400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586421, + "id": 138586423, + "logo": "/images/UE0AAAAACEKpNQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1382464800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181238, + "id": 341181444, + "logo": "/images/UE0AAAAAFFYDNgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1382551200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181238, + "id": 341181443, + "logo": "/images/UE0AAAAAFFYDNgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1382637600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586425, + "id": 138586427, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1382724000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586429, + "id": 138586431, + "logo": "/images/UE0AAAAACEKpPQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1382810400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586433, + "id": 138586435, + "logo": "/images/UE0AAAAACEKpQQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1382886000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586437, + "id": 138586439, + "logo": "/images/UE0AAAAACEKpRQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1383073200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586441, + "id": 138586443, + "logo": "/images/UE0AAAAACEKpSQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1383246000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586445, + "id": 138586447, + "logo": "/images/UE0AAAAACEKpTQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1383332400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586449, + "id": 138586451, + "logo": "/images/UE0AAAAACEKpUQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1383418800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742708, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383555600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742709, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383562800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586453, + "id": 138586455, + "logo": "/images/UE0AAAAACEKpVQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937295 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937296 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937295 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937296 + } + ], + "seatMapImage": null, + "start": 1383591600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742710, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383642000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742711, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383649200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742712, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383728400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742713, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383735600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742714, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383814800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742592, + "id": 342742715, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1383822000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586457, + "id": 138586459, + "logo": "/images/UE0AAAAACEKpWQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1383850800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586461, + "id": 138586463, + "logo": "/images/UE0AAAAACEKpXQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1383937200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586465, + "id": 138586467, + "logo": "/images/UE0AAAAACEKpYQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1384110000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586469, + "id": 138586471, + "logo": "/images/UE0AAAAACEKpZQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937289 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937290 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937292 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937293 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937289 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937290 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937292 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937293 + } + ], + "seatMapImage": null, + "start": 1384196400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586473, + "id": 138586475, + "logo": "/images/UE0AAAAACEKpaQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1384282800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586477, + "id": 138586479, + "logo": "/images/UE0AAAAACEKpbQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1384369200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586481, + "id": 138586483, + "logo": "/images/UE0AAAAACEKpcQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1384455600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586485, + "id": 138586487, + "logo": "/images/UE0AAAAACEKpdQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1384542000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586501, + "id": 138586503, + "logo": "/images/UE0AAAAACEKphQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1384801200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586505, + "id": 138586507, + "logo": "/images/UE0AAAAACEKpiQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1384887600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586509, + "id": 138586511, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1385146800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586513, + "id": 138586515, + "logo": "/images/UE0AAAAACEKpkQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1385231400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586517, + "id": 138586519, + "logo": "/images/UE0AAAAACEKplQAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1385305200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586521, + "id": 138586523, + "logo": "/images/UE0AAAAACEKpmQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 152000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1385492400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181235, + "id": 341181439, + "logo": "/images/UE0AAAAAFFYDMwAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1385665200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586525, + "id": 138586527, + "logo": "/images/UE0AAAAACEKpnQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1385751600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586529, + "id": 138586531, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937241 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937242 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937244 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937245 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937246 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937241 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937242 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937244 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937245 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937246 + } + ], + "seatMapImage": null, + "start": 1385823600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181235, + "id": 341181438, + "logo": "/images/UE0AAAAAFFYDMwAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1385838000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586533, + "id": 138586535, + "logo": "/images/UE0AAAAACEKppQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1385910000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586537, + "id": 138586539, + "logo": "/images/UE0AAAAACEKpqQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1386010800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586541, + "id": 138586543, + "logo": "/images/UE0AAAAACEKprQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1386097200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181236, + "id": 341181440, + "logo": "/images/UE0AAAAAFFYDNAAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1386183600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181236, + "id": 341181441, + "logo": "/images/UE0AAAAAFFYDNAAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1386270000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586545, + "id": 138586547, + "logo": "/images/UE0AAAAACEKpsQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1386356400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586549, + "id": 138586551, + "logo": "/images/UE0AAAAACEKptQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1386428400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586553, + "id": 138586555, + "logo": "/images/UE0AAAAACEKpuQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1386442800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586557, + "id": 138586559, + "logo": "/images/UE0AAAAACEKpvQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1386514800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742716, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386579600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742717, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386586800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586561, + "id": 138586563, + "logo": "/images/UE0AAAAACEKpwQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1386615600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742718, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386666000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742719, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386673200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586565, + "id": 138586567, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1386702000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742720, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386752400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742721, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386759600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181241, + "id": 341181449, + "logo": "/images/UE0AAAAAFFYDOQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1386788400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742722, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386838800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742593, + "id": 342742723, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1386846000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181241, + "id": 341181450, + "logo": "/images/UE0AAAAAFFYDOQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1386874800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586569, + "id": 138586571, + "logo": "/images/UE0AAAAACEKpyQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1386961200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742724, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387184400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742725, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387191600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586581, + "id": 138586583, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264860 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264861 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264863 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264864 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264860 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264861 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264863 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264864 + } + ], + "seatMapImage": null, + "start": 1387220400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742726, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387270800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742727, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387278000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586585, + "id": 138586587, + "logo": "/images/UE0AAAAACEKp2QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1387306800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742728, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387357200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742729, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387364400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181250, + "id": 341181465, + "logo": "/images/UE0AAAAAFFYDQgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1387393200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742730, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387443600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742594, + "id": 342742731, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387450800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586589, + "id": 138586591, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1387566000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586593, + "id": 138586595, + "logo": "/images/UE0AAAAACEKp4QAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1387724400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742732, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387789200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742733, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387796400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742734, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387875600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742735, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387882800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742736, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387962000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742737, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1387969200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742738, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1388048400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742595, + "id": 342742739, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1388055600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742740, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1388998800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742741, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389006000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742742, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389085200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742743, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389092400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742744, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389171600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742745, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389178800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181245, + "id": 341181458, + "logo": "/images/UE0AAAAAFFYDPQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1389207600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742746, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389258000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 342742596, + "id": 342742747, + "logo": null, + "name": null, + "prices": [ + { + "amount": 180500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 342752792 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 342752287, + "blockIds": [] + } + ], + "seatCategoryId": 342752792 + } + ], + "seatMapImage": null, + "start": 1389265200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181245, + "id": 341181457, + "logo": "/images/UE0AAAAAFFYDPQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1389294000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586597, + "id": 138586599, + "logo": "/images/UE0AAAAACEKp5QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1389380400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586601, + "id": 138586603, + "logo": "/images/UE0AAAAACEKp6QAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937241 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937242 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937244 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937245 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937246 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937241 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937242 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937244 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937245 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937246 + } + ], + "seatMapImage": null, + "start": 1389452400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586605, + "id": 138586607, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1389538800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586609, + "id": 138586611, + "logo": null, + "name": null, + "prices": [ + { + "amount": 15000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937314 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937314 + } + ], + "seatMapImage": null, + "start": 1389726000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181242, + "id": 341181451, + "logo": "/images/UE0AAAAAFFYDOgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1389812400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181242, + "id": 341181452, + "logo": "/images/UE0AAAAAFFYDOgAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1389898800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586613, + "id": 138586615, + "logo": "/images/UE0AAAAACEKp9QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086215 + } + ], + "seatMapImage": null, + "start": 1389985200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586617, + "id": 138586619, + "logo": "/images/UE0AAAAACEKp+QAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1390071600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586625, + "id": 138586627, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1390143600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586629, + "id": 138586631, + "logo": "/images/UE0AAAAACEKqBQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937271 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937272 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937274 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937275 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937271 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937272 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937274 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937275 + } + ], + "seatMapImage": null, + "start": 1390159800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181239, + "id": 341181446, + "logo": "/images/UE0AAAAAFFYDNwAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1390417200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181239, + "id": 341181445, + "logo": "/images/UE0AAAAAFFYDNwAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1390503600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586633, + "id": 138586635, + "logo": "/images/UE0AAAAACEKqCQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1390590000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586641, + "id": 138586643, + "logo": "/images/UE0AAAAACEKqEQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1390676400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586645, + "id": 138586647, + "logo": "/images/UE0AAAAACEKqFQAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1390748400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586649, + "id": 138586651, + "logo": "/images/UE0AAAAACEKqGQAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1390849200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586653, + "id": 138586655, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1390935600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181243, + "id": 341181453, + "logo": "/images/UE0AAAAAFFYDOwAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1391022000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181243, + "id": 341181454, + "logo": "/images/UE0AAAAAFFYDOwAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1391108400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586657, + "id": 138586659, + "logo": "/images/UE0AAAAACEKqIQAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1391194800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586661, + "id": 138586663, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1391353200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586661, + "id": 138586665, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1391367600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586667, + "id": 138586669, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937295 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937296 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937295 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937296 + } + ], + "seatMapImage": null, + "start": 1391540400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586671, + "id": 138586673, + "logo": "/images/UE0AAAAACEKqLwAAAAlDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937289 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937290 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937292 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937293 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937289 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937290 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937292 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937293 + } + ], + "seatMapImage": null, + "start": 1391626800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586675, + "id": 138586677, + "logo": "/images/UE0AAAAACEKqMwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1391713200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586679, + "id": 138586681, + "logo": "/images/UE0AAAAACEKqNwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1391799600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586687, + "id": 138586689, + "logo": "/images/UE0AAAAACEKqPwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1391886000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586691, + "id": 138586693, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1391958000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586695, + "id": 138586697, + "logo": "/images/UE0AAAAACEKqRwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1392145200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181240, + "id": 341181448, + "logo": "/images/UE0AAAAAFFYDOAAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1392231600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181240, + "id": 341181447, + "logo": "/images/UE0AAAAAFFYDOAAAAAhDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1392318000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586699, + "id": 138586701, + "logo": null, + "name": null, + "prices": [ + { + "amount": 15000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264872 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264872 + } + ], + "seatMapImage": null, + "start": 1392404400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586703, + "id": 138586705, + "logo": "/images/UE0AAAAACEKqTwAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1392490800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586707, + "id": 138586709, + "logo": "/images/UE0AAAAACEKqUwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1392562800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586711, + "id": 138586713, + "logo": "/images/UE0AAAAACEKqVwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1392663600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586715, + "id": 138586717, + "logo": "/images/UE0AAAAACEKqWwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1392750000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181248, + "id": 341181462, + "logo": "/images/UE0AAAAAFFYDQAAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1392836400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586719, + "id": 138586721, + "logo": "/images/UE0AAAAACEKqXwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1393095600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586723, + "id": 138586729, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937307 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937308 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937310 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937311 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937312 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937307 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937308 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937310 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937311 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937312 + } + ], + "seatMapImage": null, + "start": 1393678800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586723, + "id": 138586725, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937307 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937308 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937310 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937311 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937312 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937307 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937308 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937310 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937311 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937312 + } + ], + "seatMapImage": null, + "start": 1393693200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586723, + "id": 138586727, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937307 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937308 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937310 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937311 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937312 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937307 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937308 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937310 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937311 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937312 + } + ], + "seatMapImage": null, + "start": 1393754400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586731, + "id": 138586733, + "logo": "/images/UE0AAAAACEKqawAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1393959600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181249, + "id": 341181463, + "logo": "/images/UE0AAAAAFFYDQQAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1394046000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181249, + "id": 341181464, + "logo": "/images/UE0AAAAAFFYDQQAAAAdDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1394132400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586735, + "id": 138586737, + "logo": "/images/UE0AAAAACEKqbwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1394218800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586743, + "id": 138586745, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1394305200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586747, + "id": 138586749, + "logo": "/images/UE0AAAAACEKqewAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1394377200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586751, + "id": 138586753, + "logo": "/images/UE0AAAAACEKqfwAAAAVDSVRN", + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1394478000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181244, + "id": 341181455, + "logo": "/images/UE0AAAAAFFYDPAAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1394650800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181244, + "id": 341181456, + "logo": "/images/UE0AAAAAFFYDPAAAAAZDSVRN", + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1394737200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586755, + "id": 138586757, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264866 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264867 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264869 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264870 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264866 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264867 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264869 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264870 + } + ], + "seatMapImage": null, + "start": 1394823600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586759, + "id": 138586761, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1395082800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 151183114, + "id": 151183116, + "logo": null, + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937289 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937290 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937292 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937293 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937289 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937290 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937292 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937293 + } + ], + "seatMapImage": null, + "start": 1395169200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586771, + "id": 138586773, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1395255600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586775, + "id": 138586777, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1395342000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586779, + "id": 138586781, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1395428400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586783, + "id": 138586785, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937241 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937242 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937244 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937245 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937246 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937241 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937242 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937244 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937245 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937246 + } + ], + "seatMapImage": null, + "start": 1395500400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586787, + "id": 138586789, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1395514800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586795, + "id": 138586797, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1395586800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181246, + "id": 341181459, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1395860400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181246, + "id": 341181460, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826019 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826019 + } + ], + "seatMapImage": null, + "start": 1395946800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586799, + "id": 138586801, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1396033200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586803, + "id": 138586805, + "logo": null, + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1396191600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586807, + "id": 138586809, + "logo": null, + "name": null, + "prices": [ + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1396288800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586811, + "id": 138586813, + "logo": null, + "name": null, + "prices": [ + { + "amount": 90250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 71250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1396375200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181255, + "id": 341181472, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1396461600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181255, + "id": 341181471, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1396548000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586815, + "id": 138586817, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1396634400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586823, + "id": 138586825, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1396720800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586827, + "id": 138586829, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1396792800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586831, + "id": 138586833, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1396893600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586835, + "id": 138586837, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1396980000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181256, + "id": 341181473, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1397066400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181256, + "id": 341181474, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1397152800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586839, + "id": 138586841, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264866 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264867 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264869 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264870 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264866 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264867 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264869 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264870 + } + ], + "seatMapImage": null, + "start": 1397239200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586843, + "id": 138586845, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1397311200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586847, + "id": 138586849, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1397325600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586851, + "id": 138586853, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1397397600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586855, + "id": 138586857, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1397498400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586859, + "id": 138586861, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1397584800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586863, + "id": 138586865, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1397930400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181251, + "id": 341181466, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1398276000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181253, + "id": 341181468, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + } + ], + "seatMapImage": null, + "start": 1398362400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586867, + "id": 138586869, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1398448800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586871, + "id": 138586873, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1398607200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586875, + "id": 138586877, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1398708000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586879, + "id": 138586881, + "logo": null, + "name": null, + "prices": [ + { + "amount": 171000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 123500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 66500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1398794400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586883, + "id": 138586887, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1399125600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586883, + "id": 138586885, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1399140000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586889, + "id": 138586891, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937307 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937308 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937310 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937311 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937307 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937308 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937310 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937311 + } + ], + "seatMapImage": null, + "start": 1399312800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586893, + "id": 138586895, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1399399200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181232, + "id": 341181434, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1399485600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586897, + "id": 138586899, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1399917600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586901, + "id": 138586903, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1400176800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586905, + "id": 138586907, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1400263200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586909, + "id": 138586911, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1400349600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586917, + "id": 138586919, + "logo": null, + "name": null, + "prices": [ + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937235 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937236 + }, + { + "amount": 19000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937238 + }, + { + "amount": 14250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937239 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937240 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937235 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937236 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937238 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937239 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937240 + } + ], + "seatMapImage": null, + "start": 1400421600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181259, + "id": 341181480, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + } + ], + "seatMapImage": null, + "start": 1400695200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181259, + "id": 341181479, + "logo": null, + "name": null, + "prices": [ + { + "amount": 80750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826016 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826017 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826015 + }, + { + "amount": 28500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 340826018 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826016 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826017 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 340826015 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 340826018 + } + ], + "seatMapImage": null, + "start": 1400781600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586921, + "id": 138586923, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086210 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086211 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086213 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086214 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086210 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086211 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086214 + } + ], + "seatMapImage": null, + "start": 1400868000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586929, + "id": 138586931, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937241 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937242 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937244 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937245 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937246 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937241 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937242 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937244 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937245 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937246 + } + ], + "seatMapImage": null, + "start": 1400940000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586933, + "id": 138586935, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1401026400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586937, + "id": 138586939, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1401127200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586941, + "id": 138586943, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264860 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264861 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264863 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341264864 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264860 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264861 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264863 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341264864 + } + ], + "seatMapImage": null, + "start": 1401472800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586945, + "id": 138586947, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1401730200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586949, + "id": 138586951, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1401818400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586953, + "id": 138586955, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1401904800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586957, + "id": 138586959, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + } + ], + "seatMapImage": null, + "start": 1401991200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586961, + "id": 138586963, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1402077600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586965, + "id": 138586967, + "logo": null, + "name": null, + "prices": [ + { + "amount": 95000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1402423200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181258, + "id": 341181477, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1402509600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181258, + "id": 341181478, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1402596000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586969, + "id": 138586971, + "logo": null, + "name": null, + "prices": [ + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086196 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 339086197 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086196 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 339086197 + } + ], + "seatMapImage": null, + "start": 1402768800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586973, + "id": 138586975, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + } + ], + "seatMapImage": null, + "start": 1402840800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586977, + "id": 138586979, + "logo": null, + "name": null, + "prices": [ + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 33250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 23750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 16150, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1402941600000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586981, + "id": 138586983, + "logo": null, + "name": null, + "prices": [ + { + "amount": 123500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937289 + }, + { + "amount": 85500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937290 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937292 + }, + { + "amount": 38000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937293 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937294 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937289 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937290 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937292 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937293 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937294 + } + ], + "seatMapImage": null, + "start": 1403028000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181257, + "id": 341181475, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1403114400000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181257, + "id": 341181476, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1403200800000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 341181247, + "id": 341181461, + "logo": null, + "name": null, + "prices": [ + { + "amount": 57000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179212 + }, + { + "amount": 42750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179213 + }, + { + "amount": 32300, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179214 + }, + { + "amount": 20900, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179215 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 341179216 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179212 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179213 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179214 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + } + ], + "seatCategoryId": 341179215 + }, + { + "areas": [ + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 341179216 + } + ], + "seatMapImage": null, + "start": 1403719200000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586989, + "id": 138586991, + "logo": null, + "name": null, + "prices": [ + { + "amount": 152000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937284 + }, + { + "amount": 104500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937285 + }, + { + "amount": 76000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937287 + }, + { + "amount": 52250, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937288 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937283 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937284 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937285 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937287 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937288 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937283 + } + ], + "seatMapImage": null, + "start": 1403892000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586993, + "id": 138586995, + "logo": null, + "name": null, + "prices": [ + { + "amount": 123500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 85500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 38000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1404324000000, + "venueCode": "PLEYEL_PLEYEL" + }, + { + "eventId": 138586997, + "id": 138586999, + "logo": null, + "name": null, + "prices": [ + { + "amount": 123500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937277 + }, + { + "amount": 85500, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937278 + }, + { + "amount": 61750, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937280 + }, + { + "amount": 38000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937281 + }, + { + "amount": 10000, + "audienceSubCategoryId": 337100890, + "seatCategoryId": 338937282 + } + ], + "seatCategories": [ + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937277 + }, + { + "areas": [ + { + "areaId": 205705999, + "blockIds": [] + }, + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937278 + }, + { + "areas": [ + { + "areaId": 205705998, + "blockIds": [] + }, + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205705995, + "blockIds": [] + }, + { + "areaId": 205705996, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205705993, + "blockIds": [] + }, + { + "areaId": 205706007, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937280 + }, + { + "areas": [ + { + "areaId": 205705994, + "blockIds": [] + }, + { + "areaId": 205706006, + "blockIds": [] + }, + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706001, + "blockIds": [] + }, + { + "areaId": 205706000, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937281 + }, + { + "areas": [ + { + "areaId": 205706005, + "blockIds": [] + }, + { + "areaId": 205706004, + "blockIds": [] + }, + { + "areaId": 205706003, + "blockIds": [] + }, + { + "areaId": 205706002, + "blockIds": [] + }, + { + "areaId": 205706009, + "blockIds": [] + }, + { + "areaId": 205706008, + "blockIds": [] + } + ], + "seatCategoryId": 338937282 + } + ], + "seatMapImage": null, + "start": 1404410400000, + "venueCode": "PLEYEL_PLEYEL" + } + ], + "seatCategoryNames": { + "338937235": "1ère catégorie", + "338937236": "2ème catégorie", + "338937238": "3ème catégorie", + "338937239": "4ème catégorie", + "338937240": "5ème catégorie", + "338937241": "1ère catégorie", + "338937242": "2ème catégorie", + "338937244": "3ème catégorie", + "338937245": "4ème catégorie", + "338937246": "5ème catégorie", + "338937271": "1ère catégorie", + "338937272": "2ème catégorie", + "338937274": "3ème catégorie", + "338937275": "4ème catégorie", + "338937277": "1ère catégorie", + "338937278": "2ème catégorie", + "338937280": "3ème catégorie", + "338937281": "4ème catégorie", + "338937282": "5ème catégorie", + "338937283": "5ème catégorie", + "338937284": "1ère catégorie", + "338937285": "2ème catégorie", + "338937287": "3ème catégorie", + "338937288": "4ème catégorie", + "338937289": "1ère catégorie", + "338937290": "2ème catégorie", + "338937292": "3ème catégorie", + "338937293": "4ème catégorie", + "338937294": "5ème catégorie", + "338937295": "1ère catégorie", + "338937296": "2ème catégorie", + "338937307": "1ère catégorie", + "338937308": "2ème catégorie", + "338937310": "3ème catégorie", + "338937311": "4ème catégorie", + "338937312": "5ème catégorie", + "338937314": "Catégorie unique", + "339086196": "1ère catégorie", + "339086197": "2ème catégorie", + "339086210": "1ère catégorie", + "339086211": "2ème catégorie", + "339086213": "3ème catégorie", + "339086214": "4ème catégorie", + "339086215": "5ème catégorie", + "340826015": "Catégorie 3", + "340826016": "Catégorie 1", + "340826017": "Catégorie 2", + "340826018": "Catégorie 4", + "340826019": "Catégorie 5", + "341179212": "CAT1", + "341179213": "CAT2", + "341179214": "CAT3", + "341179215": "CAT4", + "341179216": "CAT5", + "341264860": "1ère catégorie", + "341264861": "2ème catégorie", + "341264863": "3ème catégorie", + "341264864": "4ème catégorie", + "341264866": "1ère catégorie", + "341264867": "2ème catégorie", + "341264869": "3ème catégorie", + "341264870": "4ème catégorie", + "341264872": "1ère catégorie", + "342752792": "catétgorie unique" + }, + "subTopicNames": { + "337184262": "Musique amplifiée", + "337184263": "Musique baroque", + "337184267": "Ciné-concert", + "337184268": "Musique classique", + "337184269": "Jazz", + "337184273": "Musique de chambre", + "337184275": "Musique dirigée", + "337184279": "Musique du monde", + "337184280": "Pop/rock", + "337184281": "Musique de chambre", + "337184282": "Famille", + "337184283": "Concert", + "337184284": "Opéra (version de concert)", + "337184288": "Musique contemporaine", + "337184292": "Musique vocale", + "337184296": "Musique ancienne", + "337184297": "Chanson", + "337184298": "Voix", + "337184299": "famille" + }, + "subjectNames": {}, + "topicNames": { + "107888604": "Activité", + "324846098": "Type de public", + "324846099": "Genre", + "324846100": "Formations musicales" + }, + "topicSubTopics": { + "107888604": [ + 337184283, + 337184267 + ], + "324846098": [ + 337184299 + ], + "324846099": [ + 337184268, + 337184288, + 337184284, + 337184263, + 337184298, + 337184269, + 337184280, + 337184297, + 337184281, + 337184296, + 337184279 + ], + "324846100": [ + 337184275, + 337184262, + 337184292, + 337184273, + 337184282 + ] + }, + "venueNames": { + "PLEYEL_PLEYEL": "Salle Pleyel" + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..ec97bf537 --- /dev/null +++ b/pom.xml @@ -0,0 +1,93 @@ + + 4.0.0 + + com.fasterxml.jackson + jackson-parent + 2.8-rc1-SNAPSHOT + + com.fasterxml.jackson.dataformat + jackson-dataformats-binary + Jackson dataformats: Binary + 2.8.0-SNAPSHOT + pom + Parent pom for Jackson binary dataformats. + + + + cbor + + + https://github.com/FasterXML/jackson-dataformats-binary + + scm:git:git@github.com:FasterXML/jackson-dataformats-binary.git + scm:git:git@github.com:FasterXML/jackson-dataformats-binary.git + http://github.com/FasterXML/jackson-dataformats-binary + HEAD + + + https://github.com/FasterXML/jackson-dataformats-binary/issues + + + + UTF-8 + 2.8.0-SNAPSHOT + 5.1 + + + + + + + com.fasterxml.jackson.core + jackson-databind + ${version.jackson.core} + + + + + + + + com.fasterxml.jackson.core + jackson-core + ${version.jackson.core} + + + + junit + junit + test + + + + + + + + + com.google.code.maven-replacer-plugin + replacer + + + process-packageVersion + generate-sources + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + com/fasterxml/jackson/**/failing/*.java + + + + + + + +