1<?php
2/*
3 * Copyright 2014 Google Inc.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
6 * use this file except in compliance with the License. You may obtain a copy of
7 * the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 * License for the specific language governing permissions and limitations under
15 * the License.
16 */
17
18/**
19 * Service definition for Coordinate (v1).
20 *
21 * <p>
22 * Lets you view and manage jobs in a Coordinate team.</p>
23 *
24 * <p>
25 * For more information about this service, see the API
26 * <a href="https://developers.google.com/coordinate/" target="_blank">Documentation</a>
27 * </p>
28 *
29 * @author Google, Inc.
30 */
31class Google_Service_Coordinate extends Google_Service
32{
33  /** View and manage your Google Maps Coordinate jobs. */
34  const COORDINATE =
35      "https://www.googleapis.com/auth/coordinate";
36  /** View your Google Coordinate jobs. */
37  const COORDINATE_READONLY =
38      "https://www.googleapis.com/auth/coordinate.readonly";
39
40  public $customFieldDef;
41  public $jobs;
42  public $location;
43  public $schedule;
44  public $team;
45  public $worker;
46
47  /**
48   * Constructs the internal representation of the Coordinate service.
49   *
50   * @param Google_Client $client
51   */
52  public function __construct(Google_Client $client)
53  {
54    parent::__construct($client);
55    $this->rootUrl = 'https://www.googleapis.com/';
56    $this->servicePath = 'coordinate/v1/';
57    $this->version = 'v1';
58    $this->serviceName = 'coordinate';
59
60    $this->customFieldDef = new Google_Service_Coordinate_Resource_CustomFieldDef(
61        $this,
62        $this->serviceName,
63        'customFieldDef',
64        array(
65          'methods' => array(
66            'list' => array(
67              'path' => 'teams/{teamId}/custom_fields',
68              'httpMethod' => 'GET',
69              'parameters' => array(
70                'teamId' => array(
71                  'location' => 'path',
72                  'type' => 'string',
73                  'required' => true,
74                ),
75              ),
76            ),
77          )
78        )
79    );
80    $this->jobs = new Google_Service_Coordinate_Resource_Jobs(
81        $this,
82        $this->serviceName,
83        'jobs',
84        array(
85          'methods' => array(
86            'get' => array(
87              'path' => 'teams/{teamId}/jobs/{jobId}',
88              'httpMethod' => 'GET',
89              'parameters' => array(
90                'teamId' => array(
91                  'location' => 'path',
92                  'type' => 'string',
93                  'required' => true,
94                ),
95                'jobId' => array(
96                  'location' => 'path',
97                  'type' => 'string',
98                  'required' => true,
99                ),
100              ),
101            ),'insert' => array(
102              'path' => 'teams/{teamId}/jobs',
103              'httpMethod' => 'POST',
104              'parameters' => array(
105                'teamId' => array(
106                  'location' => 'path',
107                  'type' => 'string',
108                  'required' => true,
109                ),
110                'address' => array(
111                  'location' => 'query',
112                  'type' => 'string',
113                  'required' => true,
114                ),
115                'lat' => array(
116                  'location' => 'query',
117                  'type' => 'number',
118                  'required' => true,
119                ),
120                'lng' => array(
121                  'location' => 'query',
122                  'type' => 'number',
123                  'required' => true,
124                ),
125                'title' => array(
126                  'location' => 'query',
127                  'type' => 'string',
128                  'required' => true,
129                ),
130                'assignee' => array(
131                  'location' => 'query',
132                  'type' => 'string',
133                ),
134                'customField' => array(
135                  'location' => 'query',
136                  'type' => 'string',
137                  'repeated' => true,
138                ),
139                'customerName' => array(
140                  'location' => 'query',
141                  'type' => 'string',
142                ),
143                'customerPhoneNumber' => array(
144                  'location' => 'query',
145                  'type' => 'string',
146                ),
147                'note' => array(
148                  'location' => 'query',
149                  'type' => 'string',
150                ),
151              ),
152            ),'list' => array(
153              'path' => 'teams/{teamId}/jobs',
154              'httpMethod' => 'GET',
155              'parameters' => array(
156                'teamId' => array(
157                  'location' => 'path',
158                  'type' => 'string',
159                  'required' => true,
160                ),
161                'maxResults' => array(
162                  'location' => 'query',
163                  'type' => 'integer',
164                ),
165                'minModifiedTimestampMs' => array(
166                  'location' => 'query',
167                  'type' => 'string',
168                ),
169                'omitJobChanges' => array(
170                  'location' => 'query',
171                  'type' => 'boolean',
172                ),
173                'pageToken' => array(
174                  'location' => 'query',
175                  'type' => 'string',
176                ),
177              ),
178            ),'patch' => array(
179              'path' => 'teams/{teamId}/jobs/{jobId}',
180              'httpMethod' => 'PATCH',
181              'parameters' => array(
182                'teamId' => array(
183                  'location' => 'path',
184                  'type' => 'string',
185                  'required' => true,
186                ),
187                'jobId' => array(
188                  'location' => 'path',
189                  'type' => 'string',
190                  'required' => true,
191                ),
192                'address' => array(
193                  'location' => 'query',
194                  'type' => 'string',
195                ),
196                'assignee' => array(
197                  'location' => 'query',
198                  'type' => 'string',
199                ),
200                'customField' => array(
201                  'location' => 'query',
202                  'type' => 'string',
203                  'repeated' => true,
204                ),
205                'customerName' => array(
206                  'location' => 'query',
207                  'type' => 'string',
208                ),
209                'customerPhoneNumber' => array(
210                  'location' => 'query',
211                  'type' => 'string',
212                ),
213                'lat' => array(
214                  'location' => 'query',
215                  'type' => 'number',
216                ),
217                'lng' => array(
218                  'location' => 'query',
219                  'type' => 'number',
220                ),
221                'note' => array(
222                  'location' => 'query',
223                  'type' => 'string',
224                ),
225                'progress' => array(
226                  'location' => 'query',
227                  'type' => 'string',
228                ),
229                'title' => array(
230                  'location' => 'query',
231                  'type' => 'string',
232                ),
233              ),
234            ),'update' => array(
235              'path' => 'teams/{teamId}/jobs/{jobId}',
236              'httpMethod' => 'PUT',
237              'parameters' => array(
238                'teamId' => array(
239                  'location' => 'path',
240                  'type' => 'string',
241                  'required' => true,
242                ),
243                'jobId' => array(
244                  'location' => 'path',
245                  'type' => 'string',
246                  'required' => true,
247                ),
248                'address' => array(
249                  'location' => 'query',
250                  'type' => 'string',
251                ),
252                'assignee' => array(
253                  'location' => 'query',
254                  'type' => 'string',
255                ),
256                'customField' => array(
257                  'location' => 'query',
258                  'type' => 'string',
259                  'repeated' => true,
260                ),
261                'customerName' => array(
262                  'location' => 'query',
263                  'type' => 'string',
264                ),
265                'customerPhoneNumber' => array(
266                  'location' => 'query',
267                  'type' => 'string',
268                ),
269                'lat' => array(
270                  'location' => 'query',
271                  'type' => 'number',
272                ),
273                'lng' => array(
274                  'location' => 'query',
275                  'type' => 'number',
276                ),
277                'note' => array(
278                  'location' => 'query',
279                  'type' => 'string',
280                ),
281                'progress' => array(
282                  'location' => 'query',
283                  'type' => 'string',
284                ),
285                'title' => array(
286                  'location' => 'query',
287                  'type' => 'string',
288                ),
289              ),
290            ),
291          )
292        )
293    );
294    $this->location = new Google_Service_Coordinate_Resource_Location(
295        $this,
296        $this->serviceName,
297        'location',
298        array(
299          'methods' => array(
300            'list' => array(
301              'path' => 'teams/{teamId}/workers/{workerEmail}/locations',
302              'httpMethod' => 'GET',
303              'parameters' => array(
304                'teamId' => array(
305                  'location' => 'path',
306                  'type' => 'string',
307                  'required' => true,
308                ),
309                'workerEmail' => array(
310                  'location' => 'path',
311                  'type' => 'string',
312                  'required' => true,
313                ),
314                'startTimestampMs' => array(
315                  'location' => 'query',
316                  'type' => 'string',
317                  'required' => true,
318                ),
319                'maxResults' => array(
320                  'location' => 'query',
321                  'type' => 'integer',
322                ),
323                'pageToken' => array(
324                  'location' => 'query',
325                  'type' => 'string',
326                ),
327              ),
328            ),
329          )
330        )
331    );
332    $this->schedule = new Google_Service_Coordinate_Resource_Schedule(
333        $this,
334        $this->serviceName,
335        'schedule',
336        array(
337          'methods' => array(
338            'get' => array(
339              'path' => 'teams/{teamId}/jobs/{jobId}/schedule',
340              'httpMethod' => 'GET',
341              'parameters' => array(
342                'teamId' => array(
343                  'location' => 'path',
344                  'type' => 'string',
345                  'required' => true,
346                ),
347                'jobId' => array(
348                  'location' => 'path',
349                  'type' => 'string',
350                  'required' => true,
351                ),
352              ),
353            ),'patch' => array(
354              'path' => 'teams/{teamId}/jobs/{jobId}/schedule',
355              'httpMethod' => 'PATCH',
356              'parameters' => array(
357                'teamId' => array(
358                  'location' => 'path',
359                  'type' => 'string',
360                  'required' => true,
361                ),
362                'jobId' => array(
363                  'location' => 'path',
364                  'type' => 'string',
365                  'required' => true,
366                ),
367                'allDay' => array(
368                  'location' => 'query',
369                  'type' => 'boolean',
370                ),
371                'duration' => array(
372                  'location' => 'query',
373                  'type' => 'string',
374                ),
375                'endTime' => array(
376                  'location' => 'query',
377                  'type' => 'string',
378                ),
379                'startTime' => array(
380                  'location' => 'query',
381                  'type' => 'string',
382                ),
383              ),
384            ),'update' => array(
385              'path' => 'teams/{teamId}/jobs/{jobId}/schedule',
386              'httpMethod' => 'PUT',
387              'parameters' => array(
388                'teamId' => array(
389                  'location' => 'path',
390                  'type' => 'string',
391                  'required' => true,
392                ),
393                'jobId' => array(
394                  'location' => 'path',
395                  'type' => 'string',
396                  'required' => true,
397                ),
398                'allDay' => array(
399                  'location' => 'query',
400                  'type' => 'boolean',
401                ),
402                'duration' => array(
403                  'location' => 'query',
404                  'type' => 'string',
405                ),
406                'endTime' => array(
407                  'location' => 'query',
408                  'type' => 'string',
409                ),
410                'startTime' => array(
411                  'location' => 'query',
412                  'type' => 'string',
413                ),
414              ),
415            ),
416          )
417        )
418    );
419    $this->team = new Google_Service_Coordinate_Resource_Team(
420        $this,
421        $this->serviceName,
422        'team',
423        array(
424          'methods' => array(
425            'list' => array(
426              'path' => 'teams',
427              'httpMethod' => 'GET',
428              'parameters' => array(
429                'admin' => array(
430                  'location' => 'query',
431                  'type' => 'boolean',
432                ),
433                'dispatcher' => array(
434                  'location' => 'query',
435                  'type' => 'boolean',
436                ),
437                'worker' => array(
438                  'location' => 'query',
439                  'type' => 'boolean',
440                ),
441              ),
442            ),
443          )
444        )
445    );
446    $this->worker = new Google_Service_Coordinate_Resource_Worker(
447        $this,
448        $this->serviceName,
449        'worker',
450        array(
451          'methods' => array(
452            'list' => array(
453              'path' => 'teams/{teamId}/workers',
454              'httpMethod' => 'GET',
455              'parameters' => array(
456                'teamId' => array(
457                  'location' => 'path',
458                  'type' => 'string',
459                  'required' => true,
460                ),
461              ),
462            ),
463          )
464        )
465    );
466  }
467}
468