1 <?php
2 /*
3  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
4  * use this file except in compliance with the License. You may obtain a copy of
5  * the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12  * License for the specific language governing permissions and limitations under
13  * the License.
14  */
15 
16 
17   /**
18    * The "products" collection of methods.
19    * Typical usage is:
20    *  <code>
21    *   $shoppingService = new Google_ShoppingService(...);
22    *   $products = $shoppingService->products;
23    *  </code>
24    */
25   class Google_ProductsServiceResource extends Google_ServiceResource {
26 
27     /**
28      * Returns a single product (products.get)
29      *
30      * @param string $source Query source
31      * @param string $accountId Merchant center account id
32      * @param string $productIdType Type of productId
33      * @param string $productId Id of product
34      * @param array $optParams Optional parameters.
35      *
36      * @opt_param string attributeFilter Comma separated list of attributes to return
37      * @opt_param bool categories.enabled Whether to return category information
38      * @opt_param string categories.include Category specification
39      * @opt_param bool categories.useGcsConfig This parameter is currently ignored
40      * @opt_param string location Location used to determine tax and shipping
41      * @opt_param bool recommendations.enabled Whether to return recommendation information
42      * @opt_param string recommendations.include Recommendation specification
43      * @opt_param bool recommendations.useGcsConfig This parameter is currently ignored
44      * @opt_param string taxonomy Merchant taxonomy
45      * @opt_param string thumbnails Thumbnail specification
46      * @return Google_Product
47      */
48     public function get($source, $accountId, $productIdType, $productId, $optParams = array()) {
49       $params = array('source' => $source, 'accountId' => $accountId, 'productIdType' => $productIdType, 'productId' => $productId);
50       $params = array_merge($params, $optParams);
51       $data = $this->__call('get', array($params));
52       if ($this->useObjects()) {
53         return new Google_Product($data);
54       } else {
55         return $data;
56       }
57     }
58     /**
59      * Returns a list of products and content modules (products.list)
60      *
61      * @param string $source Query source
62      * @param array $optParams Optional parameters.
63      *
64      * @opt_param string attributeFilter Comma separated list of attributes to return
65      * @opt_param string availability Comma separated list of availabilities (outOfStock, limited, inStock, backOrder, preOrder, onDisplayToOrder) to return
66      * @opt_param string boostBy Boosting specification
67      * @opt_param bool categories.enabled Whether to return category information
68      * @opt_param string categories.include Category specification
69      * @opt_param bool categories.useGcsConfig This parameter is currently ignored
70      * @opt_param string categoryRecommendations.category Category for which to retrieve recommendations
71      * @opt_param bool categoryRecommendations.enabled Whether to return category recommendation information
72      * @opt_param string categoryRecommendations.include Category recommendation specification
73      * @opt_param bool categoryRecommendations.useGcsConfig This parameter is currently ignored
74      * @opt_param string channels Channels specification
75      * @opt_param bool clickTracking Whether to add a click tracking parameter to offer URLs
76      * @opt_param string country Country restriction (ISO 3166)
77      * @opt_param string crowdBy Crowding specification
78      * @opt_param string currency Currency restriction (ISO 4217)
79      * @opt_param bool extras.enabled Whether to return extra information.
80      * @opt_param string extras.info What extra information to return.
81      * @opt_param string facets.discover Facets to discover
82      * @opt_param bool facets.enabled Whether to return facet information
83      * @opt_param string facets.include Facets to include (applies when useGcsConfig == false)
84      * @opt_param bool facets.includeEmptyBuckets Return empty facet buckets.
85      * @opt_param bool facets.useGcsConfig Whether to return facet information as configured in the GCS account
86      * @opt_param string language Language restriction (BCP 47)
87      * @opt_param string location Location used to determine tax and shipping
88      * @opt_param string maxResults Maximum number of results to return
89      * @opt_param int maxVariants Maximum number of variant results to return per result
90      * @opt_param bool promotions.enabled Whether to return promotion information
91      * @opt_param bool promotions.useGcsConfig Whether to return promotion information as configured in the GCS account
92      * @opt_param string q Search query
93      * @opt_param string rankBy Ranking specification
94      * @opt_param bool redirects.enabled Whether to return redirect information
95      * @opt_param bool redirects.useGcsConfig Whether to return redirect information as configured in the GCS account
96      * @opt_param bool relatedQueries.enabled Whether to return related queries
97      * @opt_param bool relatedQueries.useGcsConfig This parameter is currently ignored
98      * @opt_param string restrictBy Restriction specification
99      * @opt_param bool safe Whether safe search is enabled. Default: true
100      * @opt_param bool spelling.enabled Whether to return spelling suggestions
101      * @opt_param bool spelling.useGcsConfig This parameter is currently ignored
102      * @opt_param string startIndex Index (1-based) of first product to return
103      * @opt_param string taxonomy Taxonomy name
104      * @opt_param string thumbnails Image thumbnails specification
105      * @opt_param string useCase One of CommerceSearchUseCase, ShoppingApiUseCase
106      * @return Google_Products
107      */
108     public function listProducts($source, $optParams = array()) {
109       $params = array('source' => $source);
110       $params = array_merge($params, $optParams);
111       $data = $this->__call('list', array($params));
112       if ($this->useObjects()) {
113         return new Google_Products($data);
114       } else {
115         return $data;
116       }
117     }
118   }
119 
120 /**
121  * Service definition for Google_Shopping (v1).
122  *
123  * <p>
124  * Lets you search over product data.
125  * </p>
126  *
127  * <p>
128  * For more information about this service, see the
129  * <a href="https://developers.google.com/shopping-search/v1/getting_started" target="_blank">API Documentation</a>
130  * </p>
131  *
132  * @author Google, Inc.
133  */
134 class Google_ShoppingService extends Google_Service {
135   public $products;
136   /**
137    * Constructs the internal representation of the Shopping service.
138    *
139    * @param Google_Client $client
140    */
141   public function __construct(Google_Client $client) {
142     $this->servicePath = 'shopping/search/v1/';
143     $this->version = 'v1';
144     $this->serviceName = 'shopping';
145 
146     $client->addService($this->serviceName, $this->version);
147     $this->products = new Google_ProductsServiceResource($this, $this->serviceName, 'products', json_decode('{"methods": {"get": {"id": "shopping.products.get", "path": "{source}/products/{accountId}/{productIdType}/{productId}", "httpMethod": "GET", "parameters": {"accountId": {"type": "integer", "required": true, "format": "uint32", "location": "path"}, "attributeFilter": {"type": "string", "location": "query"}, "categories.enabled": {"type": "boolean", "location": "query"}, "categories.include": {"type": "string", "location": "query"}, "categories.useGcsConfig": {"type": "boolean", "location": "query"}, "location": {"type": "string", "location": "query"}, "productId": {"type": "string", "required": true, "location": "path"}, "productIdType": {"type": "string", "required": true, "location": "path"}, "recommendations.enabled": {"type": "boolean", "location": "query"}, "recommendations.include": {"type": "string", "location": "query"}, "recommendations.useGcsConfig": {"type": "boolean", "location": "query"}, "source": {"type": "string", "required": true, "location": "path"}, "taxonomy": {"type": "string", "location": "query"}, "thumbnails": {"type": "string", "location": "query"}}, "response": {"$ref": "Product"}, "scopes": ["https://www.googleapis.com/auth/shoppingapi"]}, "list": {"id": "shopping.products.list", "path": "{source}/products", "httpMethod": "GET", "parameters": {"attributeFilter": {"type": "string", "location": "query"}, "availability": {"type": "string", "location": "query"}, "boostBy": {"type": "string", "location": "query"}, "categories.enabled": {"type": "boolean", "location": "query"}, "categories.include": {"type": "string", "location": "query"}, "categories.useGcsConfig": {"type": "boolean", "location": "query"}, "categoryRecommendations.category": {"type": "string", "location": "query"}, "categoryRecommendations.enabled": {"type": "boolean", "location": "query"}, "categoryRecommendations.include": {"type": "string", "location": "query"}, "categoryRecommendations.useGcsConfig": {"type": "boolean", "location": "query"}, "channels": {"type": "string", "location": "query"}, "clickTracking": {"type": "boolean", "location": "query"}, "country": {"type": "string", "location": "query"}, "crowdBy": {"type": "string", "location": "query"}, "currency": {"type": "string", "location": "query"}, "extras.enabled": {"type": "boolean", "location": "query"}, "extras.info": {"type": "string", "location": "query"}, "facets.discover": {"type": "string", "location": "query"}, "facets.enabled": {"type": "boolean", "location": "query"}, "facets.include": {"type": "string", "location": "query"}, "facets.includeEmptyBuckets": {"type": "boolean", "location": "query"}, "facets.useGcsConfig": {"type": "boolean", "location": "query"}, "language": {"type": "string", "location": "query"}, "location": {"type": "string", "location": "query"}, "maxResults": {"type": "integer", "format": "uint32", "location": "query"}, "maxVariants": {"type": "integer", "format": "int32", "location": "query"}, "promotions.enabled": {"type": "boolean", "location": "query"}, "promotions.useGcsConfig": {"type": "boolean", "location": "query"}, "q": {"type": "string", "location": "query"}, "rankBy": {"type": "string", "location": "query"}, "redirects.enabled": {"type": "boolean", "location": "query"}, "redirects.useGcsConfig": {"type": "boolean", "location": "query"}, "relatedQueries.enabled": {"type": "boolean", "location": "query"}, "relatedQueries.useGcsConfig": {"type": "boolean", "location": "query"}, "restrictBy": {"type": "string", "location": "query"}, "safe": {"type": "boolean", "location": "query"}, "source": {"type": "string", "required": true, "location": "path"}, "spelling.enabled": {"type": "boolean", "location": "query"}, "spelling.useGcsConfig": {"type": "boolean", "location": "query"}, "startIndex": {"type": "integer", "format": "uint32", "location": "query"}, "taxonomy": {"type": "string", "location": "query"}, "thumbnails": {"type": "string", "location": "query"}, "useCase": {"type": "string", "location": "query"}}, "response": {"$ref": "Products"}, "scopes": ["https://www.googleapis.com/auth/shoppingapi"]}}}', true));
148 
149   }
150 }
151 
152 
153 
154 class Google_Product extends Google_Model {
155   protected $__categoriesType = 'Google_ShoppingModelCategoryJsonV1';
156   protected $__categoriesDataType = 'array';
157   public $categories;
158   protected $__debugType = 'Google_ShoppingModelDebugJsonV1';
159   protected $__debugDataType = '';
160   public $debug;
161   public $id;
162   public $kind;
163   protected $__productType = 'Google_ShoppingModelProductJsonV1';
164   protected $__productDataType = '';
165   public $product;
166   protected $__recommendationsType = 'Google_ShoppingModelRecommendationsJsonV1';
167   protected $__recommendationsDataType = 'array';
168   public $recommendations;
169   public $requestId;
170   public $selfLink;
171   public function setCategories(/* array(Google_ShoppingModelCategoryJsonV1) */ $categories) {
172     $this->assertIsArray($categories, 'Google_ShoppingModelCategoryJsonV1', __METHOD__);
173     $this->categories = $categories;
174   }
175   public function getCategories() {
176     return $this->categories;
177   }
178   public function setDebug(Google_ShoppingModelDebugJsonV1 $debug) {
179     $this->debug = $debug;
180   }
181   public function getDebug() {
182     return $this->debug;
183   }
184   public function setId( $id) {
185     $this->id = $id;
186   }
187   public function getId() {
188     return $this->id;
189   }
190   public function setKind( $kind) {
191     $this->kind = $kind;
192   }
193   public function getKind() {
194     return $this->kind;
195   }
196   public function setProduct(Google_ShoppingModelProductJsonV1 $product) {
197     $this->product = $product;
198   }
199   public function getProduct() {
200     return $this->product;
201   }
202   public function setRecommendations(/* array(Google_ShoppingModelRecommendationsJsonV1) */ $recommendations) {
203     $this->assertIsArray($recommendations, 'Google_ShoppingModelRecommendationsJsonV1', __METHOD__);
204     $this->recommendations = $recommendations;
205   }
206   public function getRecommendations() {
207     return $this->recommendations;
208   }
209   public function setRequestId( $requestId) {
210     $this->requestId = $requestId;
211   }
212   public function getRequestId() {
213     return $this->requestId;
214   }
215   public function setSelfLink( $selfLink) {
216     $this->selfLink = $selfLink;
217   }
218   public function getSelfLink() {
219     return $this->selfLink;
220   }
221 }
222 
223 class Google_Products extends Google_Model {
224   protected $__categoriesType = 'Google_ShoppingModelCategoryJsonV1';
225   protected $__categoriesDataType = 'array';
226   public $categories;
227   protected $__categoryRecommendationsType = 'Google_ShoppingModelRecommendationsJsonV1';
228   protected $__categoryRecommendationsDataType = 'array';
229   public $categoryRecommendations;
230   public $currentItemCount;
231   protected $__debugType = 'Google_ShoppingModelDebugJsonV1';
232   protected $__debugDataType = '';
233   public $debug;
234   public $etag;
235   protected $__extrasType = 'Google_ShoppingModelExtrasJsonV1';
236   protected $__extrasDataType = '';
237   public $extras;
238   protected $__facetsType = 'Google_ProductsFacets';
239   protected $__facetsDataType = 'array';
240   public $facets;
241   public $id;
242   protected $__itemsType = 'Google_Product';
243   protected $__itemsDataType = 'array';
244   public $items;
245   public $itemsPerPage;
246   public $kind;
247   public $nextLink;
248   public $previousLink;
249   protected $__promotionsType = 'Google_ProductsPromotions';
250   protected $__promotionsDataType = 'array';
251   public $promotions;
252   public $redirects;
253   public $relatedQueries;
254   public $requestId;
255   public $selfLink;
256   protected $__spellingType = 'Google_ProductsSpelling';
257   protected $__spellingDataType = '';
258   public $spelling;
259   public $startIndex;
260   protected $__storesType = 'Google_ProductsStores';
261   protected $__storesDataType = 'array';
262   public $stores;
263   public $totalItems;
264   public function setCategories(/* array(Google_ShoppingModelCategoryJsonV1) */ $categories) {
265     $this->assertIsArray($categories, 'Google_ShoppingModelCategoryJsonV1', __METHOD__);
266     $this->categories = $categories;
267   }
268   public function getCategories() {
269     return $this->categories;
270   }
271   public function setCategoryRecommendations(/* array(Google_ShoppingModelRecommendationsJsonV1) */ $categoryRecommendations) {
272     $this->assertIsArray($categoryRecommendations, 'Google_ShoppingModelRecommendationsJsonV1', __METHOD__);
273     $this->categoryRecommendations = $categoryRecommendations;
274   }
275   public function getCategoryRecommendations() {
276     return $this->categoryRecommendations;
277   }
278   public function setCurrentItemCount( $currentItemCount) {
279     $this->currentItemCount = $currentItemCount;
280   }
281   public function getCurrentItemCount() {
282     return $this->currentItemCount;
283   }
284   public function setDebug(Google_ShoppingModelDebugJsonV1 $debug) {
285     $this->debug = $debug;
286   }
287   public function getDebug() {
288     return $this->debug;
289   }
290   public function setEtag( $etag) {
291     $this->etag = $etag;
292   }
293   public function getEtag() {
294     return $this->etag;
295   }
296   public function setExtras(Google_ShoppingModelExtrasJsonV1 $extras) {
297     $this->extras = $extras;
298   }
299   public function getExtras() {
300     return $this->extras;
301   }
302   public function setFacets(/* array(Google_ProductsFacets) */ $facets) {
303     $this->assertIsArray($facets, 'Google_ProductsFacets', __METHOD__);
304     $this->facets = $facets;
305   }
306   public function getFacets() {
307     return $this->facets;
308   }
309   public function setId( $id) {
310     $this->id = $id;
311   }
312   public function getId() {
313     return $this->id;
314   }
315   public function setItems(/* array(Google_Product) */ $items) {
316     $this->assertIsArray($items, 'Google_Product', __METHOD__);
317     $this->items = $items;
318   }
319   public function getItems() {
320     return $this->items;
321   }
322   public function setItemsPerPage( $itemsPerPage) {
323     $this->itemsPerPage = $itemsPerPage;
324   }
325   public function getItemsPerPage() {
326     return $this->itemsPerPage;
327   }
328   public function setKind( $kind) {
329     $this->kind = $kind;
330   }
331   public function getKind() {
332     return $this->kind;
333   }
334   public function setNextLink( $nextLink) {
335     $this->nextLink = $nextLink;
336   }
337   public function getNextLink() {
338     return $this->nextLink;
339   }
340   public function setPreviousLink( $previousLink) {
341     $this->previousLink = $previousLink;
342   }
343   public function getPreviousLink() {
344     return $this->previousLink;
345   }
346   public function setPromotions(/* array(Google_ProductsPromotions) */ $promotions) {
347     $this->assertIsArray($promotions, 'Google_ProductsPromotions', __METHOD__);
348     $this->promotions = $promotions;
349   }
350   public function getPromotions() {
351     return $this->promotions;
352   }
353   public function setRedirects(/* array(Google_string) */ $redirects) {
354     $this->assertIsArray($redirects, 'Google_string', __METHOD__);
355     $this->redirects = $redirects;
356   }
357   public function getRedirects() {
358     return $this->redirects;
359   }
360   public function setRelatedQueries(/* array(Google_string) */ $relatedQueries) {
361     $this->assertIsArray($relatedQueries, 'Google_string', __METHOD__);
362     $this->relatedQueries = $relatedQueries;
363   }
364   public function getRelatedQueries() {
365     return $this->relatedQueries;
366   }
367   public function setRequestId( $requestId) {
368     $this->requestId = $requestId;
369   }
370   public function getRequestId() {
371     return $this->requestId;
372   }
373   public function setSelfLink( $selfLink) {
374     $this->selfLink = $selfLink;
375   }
376   public function getSelfLink() {
377     return $this->selfLink;
378   }
379   public function setSpelling(Google_ProductsSpelling $spelling) {
380     $this->spelling = $spelling;
381   }
382   public function getSpelling() {
383     return $this->spelling;
384   }
385   public function setStartIndex( $startIndex) {
386     $this->startIndex = $startIndex;
387   }
388   public function getStartIndex() {
389     return $this->startIndex;
390   }
391   public function setStores(/* array(Google_ProductsStores) */ $stores) {
392     $this->assertIsArray($stores, 'Google_ProductsStores', __METHOD__);
393     $this->stores = $stores;
394   }
395   public function getStores() {
396     return $this->stores;
397   }
398   public function setTotalItems( $totalItems) {
399     $this->totalItems = $totalItems;
400   }
401   public function getTotalItems() {
402     return $this->totalItems;
403   }
404 }
405 
406 class Google_ProductsFacets extends Google_Model {
407   protected $__bucketsType = 'Google_ProductsFacetsBuckets';
408   protected $__bucketsDataType = 'array';
409   public $buckets;
410   public $count;
411   public $displayName;
412   public $name;
413   public $property;
414   public $type;
415   public $unit;
416   public function setBuckets(/* array(Google_ProductsFacetsBuckets) */ $buckets) {
417     $this->assertIsArray($buckets, 'Google_ProductsFacetsBuckets', __METHOD__);
418     $this->buckets = $buckets;
419   }
420   public function getBuckets() {
421     return $this->buckets;
422   }
423   public function setCount( $count) {
424     $this->count = $count;
425   }
426   public function getCount() {
427     return $this->count;
428   }
429   public function setDisplayName( $displayName) {
430     $this->displayName = $displayName;
431   }
432   public function getDisplayName() {
433     return $this->displayName;
434   }
435   public function setName( $name) {
436     $this->name = $name;
437   }
438   public function getName() {
439     return $this->name;
440   }
441   public function setProperty( $property) {
442     $this->property = $property;
443   }
444   public function getProperty() {
445     return $this->property;
446   }
447   public function setType( $type) {
448     $this->type = $type;
449   }
450   public function getType() {
451     return $this->type;
452   }
453   public function setUnit( $unit) {
454     $this->unit = $unit;
455   }
456   public function getUnit() {
457     return $this->unit;
458   }
459 }
460 
461 class Google_ProductsFacetsBuckets extends Google_Model {
462   public $count;
463   public $max;
464   public $maxExclusive;
465   public $min;
466   public $minExclusive;
467   public $value;
468   public function setCount( $count) {
469     $this->count = $count;
470   }
471   public function getCount() {
472     return $this->count;
473   }
474   public function setMax( $max) {
475     $this->max = $max;
476   }
477   public function getMax() {
478     return $this->max;
479   }
480   public function setMaxExclusive( $maxExclusive) {
481     $this->maxExclusive = $maxExclusive;
482   }
483   public function getMaxExclusive() {
484     return $this->maxExclusive;
485   }
486   public function setMin( $min) {
487     $this->min = $min;
488   }
489   public function getMin() {
490     return $this->min;
491   }
492   public function setMinExclusive( $minExclusive) {
493     $this->minExclusive = $minExclusive;
494   }
495   public function getMinExclusive() {
496     return $this->minExclusive;
497   }
498   public function setValue( $value) {
499     $this->value = $value;
500   }
501   public function getValue() {
502     return $this->value;
503   }
504 }
505 
506 class Google_ProductsPromotions extends Google_Model {
507   protected $__customFieldsType = 'Google_ProductsPromotionsCustomFields';
508   protected $__customFieldsDataType = 'array';
509   public $customFields;
510   public $customHtml;
511   public $description;
512   public $destLink;
513   public $imageLink;
514   public $name;
515   protected $__productType = 'Google_ShoppingModelProductJsonV1';
516   protected $__productDataType = '';
517   public $product;
518   public $type;
519   public function setCustomFields(/* array(Google_ProductsPromotionsCustomFields) */ $customFields) {
520     $this->assertIsArray($customFields, 'Google_ProductsPromotionsCustomFields', __METHOD__);
521     $this->customFields = $customFields;
522   }
523   public function getCustomFields() {
524     return $this->customFields;
525   }
526   public function setCustomHtml( $customHtml) {
527     $this->customHtml = $customHtml;
528   }
529   public function getCustomHtml() {
530     return $this->customHtml;
531   }
532   public function setDescription( $description) {
533     $this->description = $description;
534   }
535   public function getDescription() {
536     return $this->description;
537   }
538   public function setDestLink( $destLink) {
539     $this->destLink = $destLink;
540   }
541   public function getDestLink() {
542     return $this->destLink;
543   }
544   public function setImageLink( $imageLink) {
545     $this->imageLink = $imageLink;
546   }
547   public function getImageLink() {
548     return $this->imageLink;
549   }
550   public function setName( $name) {
551     $this->name = $name;
552   }
553   public function getName() {
554     return $this->name;
555   }
556   public function setProduct(Google_ShoppingModelProductJsonV1 $product) {
557     $this->product = $product;
558   }
559   public function getProduct() {
560     return $this->product;
561   }
562   public function setType( $type) {
563     $this->type = $type;
564   }
565   public function getType() {
566     return $this->type;
567   }
568 }
569 
570 class Google_ProductsPromotionsCustomFields extends Google_Model {
571   public $name;
572   public $value;
573   public function setName( $name) {
574     $this->name = $name;
575   }
576   public function getName() {
577     return $this->name;
578   }
579   public function setValue( $value) {
580     $this->value = $value;
581   }
582   public function getValue() {
583     return $this->value;
584   }
585 }
586 
587 class Google_ProductsSpelling extends Google_Model {
588   public $suggestion;
589   public function setSuggestion( $suggestion) {
590     $this->suggestion = $suggestion;
591   }
592   public function getSuggestion() {
593     return $this->suggestion;
594   }
595 }
596 
597 class Google_ProductsStores extends Google_Model {
598   public $address;
599   public $location;
600   public $name;
601   public $storeCode;
602   public $storeId;
603   public $storeName;
604   public $telephone;
605   public function setAddress( $address) {
606     $this->address = $address;
607   }
608   public function getAddress() {
609     return $this->address;
610   }
611   public function setLocation( $location) {
612     $this->location = $location;
613   }
614   public function getLocation() {
615     return $this->location;
616   }
617   public function setName( $name) {
618     $this->name = $name;
619   }
620   public function getName() {
621     return $this->name;
622   }
623   public function setStoreCode( $storeCode) {
624     $this->storeCode = $storeCode;
625   }
626   public function getStoreCode() {
627     return $this->storeCode;
628   }
629   public function setStoreId( $storeId) {
630     $this->storeId = $storeId;
631   }
632   public function getStoreId() {
633     return $this->storeId;
634   }
635   public function setStoreName( $storeName) {
636     $this->storeName = $storeName;
637   }
638   public function getStoreName() {
639     return $this->storeName;
640   }
641   public function setTelephone( $telephone) {
642     $this->telephone = $telephone;
643   }
644   public function getTelephone() {
645     return $this->telephone;
646   }
647 }
648 
649 class Google_ShoppingModelCategoryJsonV1 extends Google_Model {
650   public $id;
651   public $parents;
652   public $shortName;
653   public $url;
654   public function setId( $id) {
655     $this->id = $id;
656   }
657   public function getId() {
658     return $this->id;
659   }
660   public function setParents(/* array(Google_string) */ $parents) {
661     $this->assertIsArray($parents, 'Google_string', __METHOD__);
662     $this->parents = $parents;
663   }
664   public function getParents() {
665     return $this->parents;
666   }
667   public function setShortName( $shortName) {
668     $this->shortName = $shortName;
669   }
670   public function getShortName() {
671     return $this->shortName;
672   }
673   public function setUrl( $url) {
674     $this->url = $url;
675   }
676   public function getUrl() {
677     return $this->url;
678   }
679 }
680 
681 class Google_ShoppingModelDebugJsonV1 extends Google_Model {
682   protected $__backendTimesType = 'Google_ShoppingModelDebugJsonV1BackendTimes';
683   protected $__backendTimesDataType = 'array';
684   public $backendTimes;
685   public $elapsedMillis;
686   public $facetsRequest;
687   public $facetsResponse;
688   public $rdcResponse;
689   public $recommendedItemsRequest;
690   public $recommendedItemsResponse;
691   public $searchRequest;
692   public $searchResponse;
693   public function setBackendTimes(/* array(Google_ShoppingModelDebugJsonV1BackendTimes) */ $backendTimes) {
694     $this->assertIsArray($backendTimes, 'Google_ShoppingModelDebugJsonV1BackendTimes', __METHOD__);
695     $this->backendTimes = $backendTimes;
696   }
697   public function getBackendTimes() {
698     return $this->backendTimes;
699   }
700   public function setElapsedMillis( $elapsedMillis) {
701     $this->elapsedMillis = $elapsedMillis;
702   }
703   public function getElapsedMillis() {
704     return $this->elapsedMillis;
705   }
706   public function setFacetsRequest( $facetsRequest) {
707     $this->facetsRequest = $facetsRequest;
708   }
709   public function getFacetsRequest() {
710     return $this->facetsRequest;
711   }
712   public function setFacetsResponse( $facetsResponse) {
713     $this->facetsResponse = $facetsResponse;
714   }
715   public function getFacetsResponse() {
716     return $this->facetsResponse;
717   }
718   public function setRdcResponse( $rdcResponse) {
719     $this->rdcResponse = $rdcResponse;
720   }
721   public function getRdcResponse() {
722     return $this->rdcResponse;
723   }
724   public function setRecommendedItemsRequest( $recommendedItemsRequest) {
725     $this->recommendedItemsRequest = $recommendedItemsRequest;
726   }
727   public function getRecommendedItemsRequest() {
728     return $this->recommendedItemsRequest;
729   }
730   public function setRecommendedItemsResponse( $recommendedItemsResponse) {
731     $this->recommendedItemsResponse = $recommendedItemsResponse;
732   }
733   public function getRecommendedItemsResponse() {
734     return $this->recommendedItemsResponse;
735   }
736   public function setSearchRequest( $searchRequest) {
737     $this->searchRequest = $searchRequest;
738   }
739   public function getSearchRequest() {
740     return $this->searchRequest;
741   }
742   public function setSearchResponse( $searchResponse) {
743     $this->searchResponse = $searchResponse;
744   }
745   public function getSearchResponse() {
746     return $this->searchResponse;
747   }
748 }
749 
750 class Google_ShoppingModelDebugJsonV1BackendTimes extends Google_Model {
751   public $elapsedMillis;
752   public $hostName;
753   public $name;
754   public $serverMillis;
755   public function setElapsedMillis( $elapsedMillis) {
756     $this->elapsedMillis = $elapsedMillis;
757   }
758   public function getElapsedMillis() {
759     return $this->elapsedMillis;
760   }
761   public function setHostName( $hostName) {
762     $this->hostName = $hostName;
763   }
764   public function getHostName() {
765     return $this->hostName;
766   }
767   public function setName( $name) {
768     $this->name = $name;
769   }
770   public function getName() {
771     return $this->name;
772   }
773   public function setServerMillis( $serverMillis) {
774     $this->serverMillis = $serverMillis;
775   }
776   public function getServerMillis() {
777     return $this->serverMillis;
778   }
779 }
780 
781 class Google_ShoppingModelExtrasJsonV1 extends Google_Model {
782   protected $__facetRulesType = 'Google_ShoppingModelExtrasJsonV1FacetRules';
783   protected $__facetRulesDataType = 'array';
784   public $facetRules;
785   protected $__rankingRulesType = 'Google_ShoppingModelExtrasJsonV1RankingRules';
786   protected $__rankingRulesDataType = 'array';
787   public $rankingRules;
788   public function setFacetRules(/* array(Google_ShoppingModelExtrasJsonV1FacetRules) */ $facetRules) {
789     $this->assertIsArray($facetRules, 'Google_ShoppingModelExtrasJsonV1FacetRules', __METHOD__);
790     $this->facetRules = $facetRules;
791   }
792   public function getFacetRules() {
793     return $this->facetRules;
794   }
795   public function setRankingRules(/* array(Google_ShoppingModelExtrasJsonV1RankingRules) */ $rankingRules) {
796     $this->assertIsArray($rankingRules, 'Google_ShoppingModelExtrasJsonV1RankingRules', __METHOD__);
797     $this->rankingRules = $rankingRules;
798   }
799   public function getRankingRules() {
800     return $this->rankingRules;
801   }
802 }
803 
804 class Google_ShoppingModelExtrasJsonV1FacetRules extends Google_Model {
805   public $name;
806   public function setName( $name) {
807     $this->name = $name;
808   }
809   public function getName() {
810     return $this->name;
811   }
812 }
813 
814 class Google_ShoppingModelExtrasJsonV1RankingRules extends Google_Model {
815   public $name;
816   public function setName( $name) {
817     $this->name = $name;
818   }
819   public function getName() {
820     return $this->name;
821   }
822 }
823 
824 class Google_ShoppingModelProductJsonV1 extends Google_Model {
825   protected $__attributesType = 'Google_ShoppingModelProductJsonV1Attributes';
826   protected $__attributesDataType = 'array';
827   public $attributes;
828   protected $__authorType = 'Google_ShoppingModelProductJsonV1Author';
829   protected $__authorDataType = '';
830   public $author;
831   public $brand;
832   public $categories;
833   public $condition;
834   public $country;
835   public $creationTime;
836   public $description;
837   public $googleId;
838   public $gtin;
839   public $gtins;
840   protected $__imagesType = 'Google_ShoppingModelProductJsonV1Images';
841   protected $__imagesDataType = 'array';
842   public $images;
843   public $internal1;
844   public $internal10;
845   public $internal12;
846   public $internal13;
847   public $internal14;
848   public $internal15;
849   protected $__internal16Type = 'Google_ShoppingModelProductJsonV1Internal16';
850   protected $__internal16DataType = '';
851   public $internal16;
852   public $internal3;
853   protected $__internal4Type = 'Google_ShoppingModelProductJsonV1Internal4';
854   protected $__internal4DataType = 'array';
855   public $internal4;
856   public $internal6;
857   public $internal7;
858   public $internal8;
859   protected $__inventoriesType = 'Google_ShoppingModelProductJsonV1Inventories';
860   protected $__inventoriesDataType = 'array';
861   public $inventories;
862   public $language;
863   public $link;
864   public $modificationTime;
865   public $mpns;
866   public $plusOne;
867   public $providedId;
868   public $queryMatched;
869   public $score;
870   public $title;
871   public $totalMatchingVariants;
872   protected $__variantsType = 'Google_ShoppingModelProductJsonV1Variants';
873   protected $__variantsDataType = 'array';
874   public $variants;
875   public function setAttributes(/* array(Google_ShoppingModelProductJsonV1Attributes) */ $attributes) {
876     $this->assertIsArray($attributes, 'Google_ShoppingModelProductJsonV1Attributes', __METHOD__);
877     $this->attributes = $attributes;
878   }
879   public function getAttributes() {
880     return $this->attributes;
881   }
882   public function setAuthor(Google_ShoppingModelProductJsonV1Author $author) {
883     $this->author = $author;
884   }
885   public function getAuthor() {
886     return $this->author;
887   }
888   public function setBrand( $brand) {
889     $this->brand = $brand;
890   }
891   public function getBrand() {
892     return $this->brand;
893   }
894   public function setCategories(/* array(Google_string) */ $categories) {
895     $this->assertIsArray($categories, 'Google_string', __METHOD__);
896     $this->categories = $categories;
897   }
898   public function getCategories() {
899     return $this->categories;
900   }
901   public function setCondition( $condition) {
902     $this->condition = $condition;
903   }
904   public function getCondition() {
905     return $this->condition;
906   }
907   public function setCountry( $country) {
908     $this->country = $country;
909   }
910   public function getCountry() {
911     return $this->country;
912   }
913   public function setCreationTime( $creationTime) {
914     $this->creationTime = $creationTime;
915   }
916   public function getCreationTime() {
917     return $this->creationTime;
918   }
919   public function setDescription( $description) {
920     $this->description = $description;
921   }
922   public function getDescription() {
923     return $this->description;
924   }
925   public function setGoogleId( $googleId) {
926     $this->googleId = $googleId;
927   }
928   public function getGoogleId() {
929     return $this->googleId;
930   }
931   public function setGtin( $gtin) {
932     $this->gtin = $gtin;
933   }
934   public function getGtin() {
935     return $this->gtin;
936   }
937   public function setGtins(/* array(Google_string) */ $gtins) {
938     $this->assertIsArray($gtins, 'Google_string', __METHOD__);
939     $this->gtins = $gtins;
940   }
941   public function getGtins() {
942     return $this->gtins;
943   }
944   public function setImages(/* array(Google_ShoppingModelProductJsonV1Images) */ $images) {
945     $this->assertIsArray($images, 'Google_ShoppingModelProductJsonV1Images', __METHOD__);
946     $this->images = $images;
947   }
948   public function getImages() {
949     return $this->images;
950   }
951   public function setInternal1(/* array(Google_string) */ $internal1) {
952     $this->assertIsArray($internal1, 'Google_string', __METHOD__);
953     $this->internal1 = $internal1;
954   }
955   public function getInternal1() {
956     return $this->internal1;
957   }
958   public function setInternal10(/* array(Google_string) */ $internal10) {
959     $this->assertIsArray($internal10, 'Google_string', __METHOD__);
960     $this->internal10 = $internal10;
961   }
962   public function getInternal10() {
963     return $this->internal10;
964   }
965   public function setInternal12( $internal12) {
966     $this->internal12 = $internal12;
967   }
968   public function getInternal12() {
969     return $this->internal12;
970   }
971   public function setInternal13( $internal13) {
972     $this->internal13 = $internal13;
973   }
974   public function getInternal13() {
975     return $this->internal13;
976   }
977   public function setInternal14( $internal14) {
978     $this->internal14 = $internal14;
979   }
980   public function getInternal14() {
981     return $this->internal14;
982   }
983   public function setInternal15( $internal15) {
984     $this->internal15 = $internal15;
985   }
986   public function getInternal15() {
987     return $this->internal15;
988   }
989   public function setInternal16(Google_ShoppingModelProductJsonV1Internal16 $internal16) {
990     $this->internal16 = $internal16;
991   }
992   public function getInternal16() {
993     return $this->internal16;
994   }
995   public function setInternal3( $internal3) {
996     $this->internal3 = $internal3;
997   }
998   public function getInternal3() {
999     return $this->internal3;
1000   }
1001   public function setInternal4(/* array(Google_ShoppingModelProductJsonV1Internal4) */ $internal4) {
1002     $this->assertIsArray($internal4, 'Google_ShoppingModelProductJsonV1Internal4', __METHOD__);
1003     $this->internal4 = $internal4;
1004   }
1005   public function getInternal4() {
1006     return $this->internal4;
1007   }
1008   public function setInternal6( $internal6) {
1009     $this->internal6 = $internal6;
1010   }
1011   public function getInternal6() {
1012     return $this->internal6;
1013   }
1014   public function setInternal7( $internal7) {
1015     $this->internal7 = $internal7;
1016   }
1017   public function getInternal7() {
1018     return $this->internal7;
1019   }
1020   public function setInternal8(/* array(Google_string) */ $internal8) {
1021     $this->assertIsArray($internal8, 'Google_string', __METHOD__);
1022     $this->internal8 = $internal8;
1023   }
1024   public function getInternal8() {
1025     return $this->internal8;
1026   }
1027   public function setInventories(/* array(Google_ShoppingModelProductJsonV1Inventories) */ $inventories) {
1028     $this->assertIsArray($inventories, 'Google_ShoppingModelProductJsonV1Inventories', __METHOD__);
1029     $this->inventories = $inventories;
1030   }
1031   public function getInventories() {
1032     return $this->inventories;
1033   }
1034   public function setLanguage( $language) {
1035     $this->language = $language;
1036   }
1037   public function getLanguage() {
1038     return $this->language;
1039   }
1040   public function setLink( $link) {
1041     $this->link = $link;
1042   }
1043   public function getLink() {
1044     return $this->link;
1045   }
1046   public function setModificationTime( $modificationTime) {
1047     $this->modificationTime = $modificationTime;
1048   }
1049   public function getModificationTime() {
1050     return $this->modificationTime;
1051   }
1052   public function setMpns(/* array(Google_string) */ $mpns) {
1053     $this->assertIsArray($mpns, 'Google_string', __METHOD__);
1054     $this->mpns = $mpns;
1055   }
1056   public function getMpns() {
1057     return $this->mpns;
1058   }
1059   public function setPlusOne( $plusOne) {
1060     $this->plusOne = $plusOne;
1061   }
1062   public function getPlusOne() {
1063     return $this->plusOne;
1064   }
1065   public function setProvidedId( $providedId) {
1066     $this->providedId = $providedId;
1067   }
1068   public function getProvidedId() {
1069     return $this->providedId;
1070   }
1071   public function setQueryMatched( $queryMatched) {
1072     $this->queryMatched = $queryMatched;
1073   }
1074   public function getQueryMatched() {
1075     return $this->queryMatched;
1076   }
1077   public function setScore( $score) {
1078     $this->score = $score;
1079   }
1080   public function getScore() {
1081     return $this->score;
1082   }
1083   public function setTitle( $title) {
1084     $this->title = $title;
1085   }
1086   public function getTitle() {
1087     return $this->title;
1088   }
1089   public function setTotalMatchingVariants( $totalMatchingVariants) {
1090     $this->totalMatchingVariants = $totalMatchingVariants;
1091   }
1092   public function getTotalMatchingVariants() {
1093     return $this->totalMatchingVariants;
1094   }
1095   public function setVariants(/* array(Google_ShoppingModelProductJsonV1Variants) */ $variants) {
1096     $this->assertIsArray($variants, 'Google_ShoppingModelProductJsonV1Variants', __METHOD__);
1097     $this->variants = $variants;
1098   }
1099   public function getVariants() {
1100     return $this->variants;
1101   }
1102 }
1103 
1104 class Google_ShoppingModelProductJsonV1Attributes extends Google_Model {
1105   public $displayName;
1106   public $name;
1107   public $type;
1108   public $unit;
1109   public $value;
1110   public function setDisplayName( $displayName) {
1111     $this->displayName = $displayName;
1112   }
1113   public function getDisplayName() {
1114     return $this->displayName;
1115   }
1116   public function setName( $name) {
1117     $this->name = $name;
1118   }
1119   public function getName() {
1120     return $this->name;
1121   }
1122   public function setType( $type) {
1123     $this->type = $type;
1124   }
1125   public function getType() {
1126     return $this->type;
1127   }
1128   public function setUnit( $unit) {
1129     $this->unit = $unit;
1130   }
1131   public function getUnit() {
1132     return $this->unit;
1133   }
1134   public function setValue( $value) {
1135     $this->value = $value;
1136   }
1137   public function getValue() {
1138     return $this->value;
1139   }
1140 }
1141 
1142 class Google_ShoppingModelProductJsonV1Author extends Google_Model {
1143   public $accountId;
1144   public $name;
1145   public function setAccountId( $accountId) {
1146     $this->accountId = $accountId;
1147   }
1148   public function getAccountId() {
1149     return $this->accountId;
1150   }
1151   public function setName( $name) {
1152     $this->name = $name;
1153   }
1154   public function getName() {
1155     return $this->name;
1156   }
1157 }
1158 
1159 class Google_ShoppingModelProductJsonV1Images extends Google_Model {
1160   public $link;
1161   public $status;
1162   protected $__thumbnailsType = 'Google_ShoppingModelProductJsonV1ImagesThumbnails';
1163   protected $__thumbnailsDataType = 'array';
1164   public $thumbnails;
1165   public function setLink( $link) {
1166     $this->link = $link;
1167   }
1168   public function getLink() {
1169     return $this->link;
1170   }
1171   public function setStatus( $status) {
1172     $this->status = $status;
1173   }
1174   public function getStatus() {
1175     return $this->status;
1176   }
1177   public function setThumbnails(/* array(Google_ShoppingModelProductJsonV1ImagesThumbnails) */ $thumbnails) {
1178     $this->assertIsArray($thumbnails, 'Google_ShoppingModelProductJsonV1ImagesThumbnails', __METHOD__);
1179     $this->thumbnails = $thumbnails;
1180   }
1181   public function getThumbnails() {
1182     return $this->thumbnails;
1183   }
1184 }
1185 
1186 class Google_ShoppingModelProductJsonV1ImagesThumbnails extends Google_Model {
1187   public $content;
1188   public $height;
1189   public $link;
1190   public $width;
1191   public function setContent( $content) {
1192     $this->content = $content;
1193   }
1194   public function getContent() {
1195     return $this->content;
1196   }
1197   public function setHeight( $height) {
1198     $this->height = $height;
1199   }
1200   public function getHeight() {
1201     return $this->height;
1202   }
1203   public function setLink( $link) {
1204     $this->link = $link;
1205   }
1206   public function getLink() {
1207     return $this->link;
1208   }
1209   public function setWidth( $width) {
1210     $this->width = $width;
1211   }
1212   public function getWidth() {
1213     return $this->width;
1214   }
1215 }
1216 
1217 class Google_ShoppingModelProductJsonV1Internal16 extends Google_Model {
1218   public $length;
1219   public $number;
1220   public $size;
1221   public function setLength( $length) {
1222     $this->length = $length;
1223   }
1224   public function getLength() {
1225     return $this->length;
1226   }
1227   public function setNumber( $number) {
1228     $this->number = $number;
1229   }
1230   public function getNumber() {
1231     return $this->number;
1232   }
1233   public function setSize( $size) {
1234     $this->size = $size;
1235   }
1236   public function getSize() {
1237     return $this->size;
1238   }
1239 }
1240 
1241 class Google_ShoppingModelProductJsonV1Internal4 extends Google_Model {
1242   public $confidence;
1243   public $node;
1244   public function setConfidence( $confidence) {
1245     $this->confidence = $confidence;
1246   }
1247   public function getConfidence() {
1248     return $this->confidence;
1249   }
1250   public function setNode( $node) {
1251     $this->node = $node;
1252   }
1253   public function getNode() {
1254     return $this->node;
1255   }
1256 }
1257 
1258 class Google_ShoppingModelProductJsonV1Inventories extends Google_Model {
1259   public $availability;
1260   public $channel;
1261   public $currency;
1262   public $distance;
1263   public $distanceUnit;
1264   public $installmentMonths;
1265   public $installmentPrice;
1266   public $originalPrice;
1267   public $price;
1268   public $saleEndDate;
1269   public $salePrice;
1270   public $saleStartDate;
1271   public $shipping;
1272   public $storeId;
1273   public $tax;
1274   public function setAvailability( $availability) {
1275     $this->availability = $availability;
1276   }
1277   public function getAvailability() {
1278     return $this->availability;
1279   }
1280   public function setChannel( $channel) {
1281     $this->channel = $channel;
1282   }
1283   public function getChannel() {
1284     return $this->channel;
1285   }
1286   public function setCurrency( $currency) {
1287     $this->currency = $currency;
1288   }
1289   public function getCurrency() {
1290     return $this->currency;
1291   }
1292   public function setDistance( $distance) {
1293     $this->distance = $distance;
1294   }
1295   public function getDistance() {
1296     return $this->distance;
1297   }
1298   public function setDistanceUnit( $distanceUnit) {
1299     $this->distanceUnit = $distanceUnit;
1300   }
1301   public function getDistanceUnit() {
1302     return $this->distanceUnit;
1303   }
1304   public function setInstallmentMonths( $installmentMonths) {
1305     $this->installmentMonths = $installmentMonths;
1306   }
1307   public function getInstallmentMonths() {
1308     return $this->installmentMonths;
1309   }
1310   public function setInstallmentPrice( $installmentPrice) {
1311     $this->installmentPrice = $installmentPrice;
1312   }
1313   public function getInstallmentPrice() {
1314     return $this->installmentPrice;
1315   }
1316   public function setOriginalPrice( $originalPrice) {
1317     $this->originalPrice = $originalPrice;
1318   }
1319   public function getOriginalPrice() {
1320     return $this->originalPrice;
1321   }
1322   public function setPrice( $price) {
1323     $this->price = $price;
1324   }
1325   public function getPrice() {
1326     return $this->price;
1327   }
1328   public function setSaleEndDate( $saleEndDate) {
1329     $this->saleEndDate = $saleEndDate;
1330   }
1331   public function getSaleEndDate() {
1332     return $this->saleEndDate;
1333   }
1334   public function setSalePrice( $salePrice) {
1335     $this->salePrice = $salePrice;
1336   }
1337   public function getSalePrice() {
1338     return $this->salePrice;
1339   }
1340   public function setSaleStartDate( $saleStartDate) {
1341     $this->saleStartDate = $saleStartDate;
1342   }
1343   public function getSaleStartDate() {
1344     return $this->saleStartDate;
1345   }
1346   public function setShipping( $shipping) {
1347     $this->shipping = $shipping;
1348   }
1349   public function getShipping() {
1350     return $this->shipping;
1351   }
1352   public function setStoreId( $storeId) {
1353     $this->storeId = $storeId;
1354   }
1355   public function getStoreId() {
1356     return $this->storeId;
1357   }
1358   public function setTax( $tax) {
1359     $this->tax = $tax;
1360   }
1361   public function getTax() {
1362     return $this->tax;
1363   }
1364 }
1365 
1366 class Google_ShoppingModelProductJsonV1Variants extends Google_Model {
1367   protected $__variantType = 'Google_ShoppingModelProductJsonV1';
1368   protected $__variantDataType = '';
1369   public $variant;
1370   public function setVariant(Google_ShoppingModelProductJsonV1 $variant) {
1371     $this->variant = $variant;
1372   }
1373   public function getVariant() {
1374     return $this->variant;
1375   }
1376 }
1377 
1378 class Google_ShoppingModelRecommendationsJsonV1 extends Google_Model {
1379   protected $__recommendationListType = 'Google_ShoppingModelRecommendationsJsonV1RecommendationList';
1380   protected $__recommendationListDataType = 'array';
1381   public $recommendationList;
1382   public $type;
1383   public function setRecommendationList(/* array(Google_ShoppingModelRecommendationsJsonV1RecommendationList) */ $recommendationList) {
1384     $this->assertIsArray($recommendationList, 'Google_ShoppingModelRecommendationsJsonV1RecommendationList', __METHOD__);
1385     $this->recommendationList = $recommendationList;
1386   }
1387   public function getRecommendationList() {
1388     return $this->recommendationList;
1389   }
1390   public function setType( $type) {
1391     $this->type = $type;
1392   }
1393   public function getType() {
1394     return $this->type;
1395   }
1396 }
1397 
1398 class Google_ShoppingModelRecommendationsJsonV1RecommendationList extends Google_Model {
1399   protected $__productType = 'Google_ShoppingModelProductJsonV1';
1400   protected $__productDataType = '';
1401   public $product;
1402   public function setProduct(Google_ShoppingModelProductJsonV1 $product) {
1403     $this->product = $product;
1404   }
1405   public function getProduct() {
1406     return $this->product;
1407   }
1408 }
1409