b2ffb2c678a6140b7635e81448431c3daf1f1d2e
[externalapi/nbi.git] / docs / offeredapis / swaggers / serviceOrder_1_0_0.json
1
2 {
3   "swagger": "2.0",
4   "info": {
5     "description": "serviceOrder API designed for ONAP Beijing Release.\nThis API is build from TMF open API18.0 (applying TMF Guideline 3.0);\nOnly operations GET (by id and list) and POST are available.",
6     "version": "1.0.0_inProgress",
7     "title": "API ServiceOrder",
8     "x-logo": {
9       "url": "/redoc/logo.png",
10       "backgroundColor": "#FFFFFF"
11     }
12   },
13   
14   "host": "serverRoot",
15   "basePath":   "/nbi/api/v1",
16   "schemes": [
17     "https"
18   ],
19   "consumes": [
20     "application/json;charset=utf-8"
21   ],
22   "produces": [
23     "application/json;charset=utf-8"
24   ],
25   "tags": [
26   
27     {
28       "name": "ServiceOrder",
29       "description": "A Service Order is a type of order which can be used to describe a group of operations on service – one service order item per service. An action at the level of the service order item describe the operation to be done on a service (add, terminate for example). The service order is triggered from the BSS system in charge of the product order management to ONAP that will manage the service fulfillment."
30     }
31   ],
32   "paths": {
33       "/serviceOrder": {
34       "post": {
35         "tags": [
36            "ServiceOrder"
37         ],        
38         "operationId": "serviceOrderCreate",
39         "summary": "Create a service order",
40         "description": "This operation creates a service order entity.\nThe TMF Open API specification document provides the list of mandatory and non mandatory attributes when creating a ServiceOrder, including any possible rule conditions and applicable default values.\nPOST should be used without specifying the id and the href, the Service Order Management system is in charge of generating the id + href for the ServiceOrder.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n   \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n   \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n   \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n   \n - 104: A customer for existing service(s) is provided but he did not exist\n   \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n   \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId  and tenantId provided\n   ",
41         "deprecated": false,
42         
43         "parameters": [
44           
45           {
46             "name": "serviceOrder",
47             "required": true,
48             "in": "body",
49             "description": "",
50             "schema": {
51               "$ref": "#/definitions/CreateServiceOrder"
52             }
53           }
54         ],
55         "responses": {
56           "201": {
57             "description": "Success",
58             "schema": {
59               "$ref": "#/definitions/ServiceOrder"
60             }
61
62           },
63           "400": {
64             
65             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
66             "schema": {
67             
68               "$ref": "#/definitions/ErrorRepresentation"
69             }
70           },
71           "401": {
72             
73             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
74             "schema": {
75             
76               "$ref": "#/definitions/ErrorRepresentation"
77             }
78           },
79           "403": {
80             
81             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
82             "schema": {
83             
84               "$ref": "#/definitions/ErrorRepresentation"
85             }
86           },
87           "404": {
88             
89             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
90             "schema": {
91             
92               "$ref": "#/definitions/ErrorRepresentation"
93             }
94           },
95           "422": {
96             
97             "description": "Unprocessable entity\n\nFunctional error\n\nSpecific encapsulated business errors for current operation\n\n - 100: OrderItem with 'add' action but serviceSpecification id missing\n   \n - 101: OrderItem with 'change'/'noChange'/'remove' but service id missing\n   \n - 102: OrderItem with 'add' action - serviceSpecification id provided but not existing\n   \n - 103: OrderItem with 'add' action but service id already existing in the inventory\n   \n - 104: A customer for existing service(s) is provided but he did not exist\n   \n - 105: OrderItem with 'change'/'noChange'/'remove' - Service id provided but it is not existing in the inventory\n   \n - 106: [Not managed for current Relese] Issue with lcpCloudRegionId  and tenantId provided\n   ",
98             "schema": {
99             
100               "$ref": "#/definitions/ErrorRepresentation"
101             }
102           },
103           "500": {
104             
105             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
106             "schema": {
107             
108               "$ref": "#/definitions/ErrorRepresentation"
109             }
110           },
111           "503": {
112             
113             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
114             "schema": {
115             
116               "$ref": "#/definitions/ErrorRepresentation"
117             }
118           }
119         }
120       },
121       "get": {
122         "tags": [
123            "ServiceOrder"
124         ],        
125         "operationId": "serviceOrderFind",
126         "summary": "List service orders",
127         "description": "Retrieve and list service order entities according to given criteria.\nOnly a predefined set of attribute is proposed.\nAttribute selection could be described in the fields attribute.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
128         "deprecated": false,
129         
130         "parameters": [
131           
132           {
133             "name": "externalId",
134             "required": false,
135             "in": "query",
136             "description": "",
137             
138               "type": "string"
139           },
140           {
141             "name": "state",
142             "required": false,
143             "in": "query",
144             "description": "state of the order(s) to be retrieved",
145             
146               "type": "string"
147           },
148           {
149             "name": "description",
150             "required": false,
151             "in": "query",
152             "description": "",
153             
154               "type": "string"
155           },
156           {
157             "name": "orderDate.gt",
158             "required": false,
159             "in": "query",
160             "description": "order date greather than",
161             
162               "type": "string"
163           },
164           {
165             "name": "orderDate.lt",
166             "required": false,
167             "in": "query",
168             "description": "order date lower than",
169             
170               "type": "string"
171           },
172           {
173             "name": "fields",
174             "required": false,
175             "in": "query",
176             "description": "this attribute could be used to filter retrieved attribute(s) and/or sort SO.",
177             
178               "type": "string"
179           },
180           {
181             "name": "offset",
182             "required": false,
183             "in": "query",
184             "description": "The index of the first element to retrieve. Zero is the first element of the collection.",
185             
186               "type": "integer",
187               "format": "int32"
188           },
189           {
190             "name": "limit",
191             "required": false,
192             "in": "query",
193             "description": "The maximum number of elements to retrieve (it can be greater than the actual available number of items).",
194             
195               "type": "integer",
196               "format": "int32"
197           }
198         ],
199         "responses": {
200           "200": {
201             "description": "Success",
202             "schema": {
203               "type": "array",
204               "items": {
205               "$ref": "#/definitions/ServiceOrder"
206               }
207             },
208             "headers": {
209               "X-Total-Count": {
210                 "description": "",
211               "type": "integer",
212               "format": "int32"
213               },
214               "X-Result-Count": {
215                 "description": "",
216               "type": "integer",
217               "format": "int32"
218               }
219             }
220
221           },
222           "400": {
223             
224             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
225             "schema": {
226             
227               "$ref": "#/definitions/ErrorRepresentation"
228             }
229           },
230           "401": {
231             
232             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
233             "schema": {
234             
235               "$ref": "#/definitions/ErrorRepresentation"
236             }
237           },
238           "403": {
239             
240             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
241             "schema": {
242             
243               "$ref": "#/definitions/ErrorRepresentation"
244             }
245           },
246           "404": {
247             
248             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
249             "schema": {
250             
251               "$ref": "#/definitions/ErrorRepresentation"
252             }
253           },
254           "422": {
255             
256             "description": "Unprocessable entity\n\nFunctional error",
257             "schema": {
258             
259               "$ref": "#/definitions/ErrorRepresentation"
260             }
261           },
262           "500": {
263             
264             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
265             "schema": {
266             
267               "$ref": "#/definitions/ErrorRepresentation"
268             }
269           },
270           "503": {
271             
272             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
273             "schema": {
274             
275               "$ref": "#/definitions/ErrorRepresentation"
276             }
277           }
278         }
279       }
280     },
281       "/serviceOrder/{id}": {
282       "get": {
283         "tags": [
284            "ServiceOrder"
285         ],        
286         "operationId": "serviceOrderGet",
287         "summary": "Retrieve a service order",
288         "description": "This operation retrieves a service order entity. \nAttribute selection is enabled for all first level attributes.\n\nSpecific business errors for current operation will be encapsulated in\n\nHTTP Response 422 Unprocessable entity\n",
289         "deprecated": false,
290         
291         "parameters": [
292           
293           {
294             "name": "id",
295             "in": "path",
296             "required": true,
297             "type": "string",
298             "description": ""
299           },
300           {
301             "name": "fields",
302             "required": false,
303             "in": "query",
304             "description": "Attribute selection",
305             
306               "type": "string"
307           }
308         ],
309         "responses": {
310           "200": {
311             "description": "Success",
312             "schema": {
313               "$ref": "#/definitions/ServiceOrder"
314             }
315
316           },
317           "400": {
318             
319             "description": "Bad Request\n\nList of supported error codes:\n- 20: Invalid URL parameter value\n- 21: Missing body\n- 22: Invalid body\n- 23: Missing body field\n- 24: Invalid body field\n- 25: Missing header\n- 26: Invalid header value\n- 27: Missing query-string parameter\n- 28: Invalid query-string parameter value",
320             "schema": {
321             
322               "$ref": "#/definitions/ErrorRepresentation"
323             }
324           },
325           "401": {
326             
327             "description": "Unauthorized\n\nList of supported error codes:\n- 40: Missing credentials\n- 41: Invalid credentials\n- 42: Expired credentials",
328             "schema": {
329             
330               "$ref": "#/definitions/ErrorRepresentation"
331             }
332           },
333           "403": {
334             
335             "description": "Forbidden\n\nList of supported error codes:\n- 50: Access denied\n- 51: Forbidden requester\n- 52: Forbidden user\n- 53: Too many requests",
336             "schema": {
337             
338               "$ref": "#/definitions/ErrorRepresentation"
339             }
340           },
341           "404": {
342             
343             "description": "Not Found\n\nList of supported error codes:\n- 60: Resource not found",
344             "schema": {
345             
346               "$ref": "#/definitions/ErrorRepresentation"
347             }
348           },
349           "422": {
350             
351             "description": "Unprocessable entity\n\nFunctional error",
352             "schema": {
353             
354               "$ref": "#/definitions/ErrorRepresentation"
355             }
356           },
357           "500": {
358             
359             "description": "Internal Server Error\n\nList of supported error codes:\n- 1: Internal error",
360             "schema": {
361             
362               "$ref": "#/definitions/ErrorRepresentation"
363             }
364           },
365           "503": {
366             
367             "description": "Service Unavailable\n\nList of supported error codes:\n- 5: The service is temporarily unavailable\n- 6: Orange API is over capacity, retry later !",
368             "schema": {
369             
370               "$ref": "#/definitions/ErrorRepresentation"
371             }
372           }
373         }
374       }
375     }
376   },
377 "definitions": {
378   
379     "ActionType": {
380       "description": "Action type to be describer on the order item.\nmodify is not managed in Beijing release",
381       
382       "type": "string",
383       "enum": [
384                   "add",
385                   "modify",
386                   "delete",
387                   "noChange"]
388       
389     },
390     "StateType": {
391       "description": "List of possible state for the order and the orderItem.",
392       
393       "type": "string",
394       "enum": [
395                   "acknowledged",
396                   "rejected",
397                   "pending",
398                   "held",
399                   "inProgress",
400                   "cancelled",
401                   "completed",
402                   "failed",
403                   "partial"]
404       
405     },
406     "RelationshipType": {
407       "description": "Relationship type;\nOnly reliesOn is managed in Beijing release.",
408       
409       "type": "string",
410       "enum": [
411                   "reliesOn"]
412       
413     },
414
415     "ErrorRepresentation": {
416       "description": "Representation of an error.",
417
418       
419       "required": [
420           
421             "code",
422             "reason"
423       ],
424       "type": "object",
425       "properties": {
426         "code": {
427           "description": "Application related code (as defined in the API or from a common list)",
428               "type": "integer",
429               "format": "int32"
430         },
431         "reason": {
432           "description": "Text that explains the reason for error. This can be shown to a client user.",
433               "type": "string"
434         },
435         "message": {
436           "description": "Text that provide more details and corrective actions related to the error. This can be shown to a client user",
437               "type": "string"
438         },
439         "status": {
440           "description": "http error code extension like 400-2",
441               "type": "string"
442         },
443         "referenceError": {
444           "description": "url pointing to documentation describing the error",
445               "type": "string"
446         },
447         "@type": {
448           "description": "The class type of a REST resource",
449               "type": "string"
450         },
451         "@schemaLocation": {
452           "description": "it provides a link to the schema describing a REST resource",
453               "type": "string"
454         }
455       }
456       
457     },
458
459     "ServiceRelationship": {
460       "description": "Linked Services to the one instantiate\nnbi component used this relationship to sort request to ONAP.",
461
462       
463       "required": [
464           
465             "type",
466             "service"
467       ],
468       "type": "object",
469       "properties": {
470         "type": {
471           
472            "$ref": "#/definitions/RelationshipType"
473         },
474         "service": {
475           
476               "$ref": "#/definitions/Service"
477         }
478       }
479       
480     },
481
482     "ServiceRef": {
483       "description": "Service references",
484
485       
486       "required": [
487           
488             "id"
489       ],
490       "type": "object",
491       "properties": {
492         "id": {
493           "description": "Unique identifier of the service",
494               "type": "string"
495         },
496         "href": {
497           "description": "Reference of the service",
498               "type": "string"
499         }
500       }
501       
502     },
503
504     "ServiceCharacteristic": {
505       "description": "ServiceCharacteristic",
506
507       
508       "required": [
509           
510             "name"
511       ],
512       "type": "object",
513       "properties": {
514         "name": {
515           "description": "Name of characteristic",
516               "type": "string"
517         },
518         "valueType": {
519           "description": "",
520               "type": "string"
521         },
522         "value": {
523           
524               "$ref": "#/definitions/Value"
525         }
526       }
527       
528     },
529
530     "RelatedParty": {
531       "description": "A related party defines party which are involved in this order and the role they are playing.\nfor Beijing release:\nWith the current version of APIs used from SO and AAI we need to manage a ‘customer’. This customer concept is confusing with Customer BSS concept. We took the following rules to manage the ‘customer’ information:\no\tIt could be provided through a serviceOrder in the service Order a relatedParty with role ‘ONAPcustomer’ should be provided in the serviceOrder header (we will not consider in this release the party at item level); External API component will check if this customer exists and create it in AAI if not.\no\tIf no relatedParty are provided the service will be affected to ‘generic’ customer (dummy customer) – we assume this ‘generic’ customer always exists.",
532
533       
534       "required": [
535           
536             "id",
537             "role"
538       ],
539       "type": "object",
540       "properties": {
541         "id": {
542           "description": "Unique identifier of a related party",
543               "type": "string"
544         },
545         "href": {
546           "description": "An hyperlink to the party - not used in Beijnig release",
547               "type": "string"
548         },
549         "role": {
550           "description": "The role of the related party (e.g. Owner, requester, fullfiller etc).\nONLY 'ONAPcustomer' is considered",
551               "type": "string"
552         },
553         "name": {
554           "description": "Name of the related party",
555               "type": "string"
556         },
557         "@referredType": {
558           "description": "",
559               "type": "string"
560         }
561       }
562       
563     },
564
565     "ServiceSpecificationRef": {
566       "description": "The service specification (these attributes are fetched from the catalogue).",
567
568       
569       "required": [
570           
571             "id"
572       ],
573       "type": "object",
574       "properties": {
575         "id": {
576           "description": "Unique identifier of the service specification\nThis information will be used to retrieve SDC information + mapped to SO ModelNameVersionIdin the request.",
577               "type": "string"
578         },
579         "href": {
580           "description": "Reference of the service specification\nNot used in Beijing release.",
581               "type": "string"
582         },
583         "name": {
584           "description": "Name of the service specification\nNot used in Beijing release",
585               "type": "string"
586         },
587         "version": {
588           "description": "Version of the service Specification\nNot used in Beijing release",
589               "type": "string"
590         },
591         "targetServiceSchema": {
592           
593               "$ref": "#/definitions/TargetServiceSchema"
594         },
595         "@type": {
596           "description": "Not used in Beijing release",
597               "type": "string"
598         },
599         "@schemaLocation": {
600           "description": "Not used in Beijing release",
601               "type": "string"
602         },
603         "@baseType": {
604           "description": "Not used in Beijing release",
605               "type": "string"
606         }
607       }
608       
609     },
610
611     "Service": {
612       "description": "Service (to be added, modified, deleted) description",
613
614       
615       "required": [
616           
617             "id"
618       ],
619       "type": "object",
620       "properties": {
621         "id": {
622           "description": "Identifier of a service instance.\nIt must be valued if orderItem action is 'delete' and corresponds to a AAI service.id",
623               "type": "string"
624         },
625         "href": {
626           "description": "Reference to the Service (useful for delete or modify command).\nNot managed in Beijing release.",
627               "type": "string"
628         },
629         "name": {
630           "description": "Name of the service - When orderItem action is 'add' this name will be used in ONAP/SO request as InstaceName.",
631               "type": "string"
632         },
633         "serviceState": {
634           "description": "The lifecycle state of the service requested;\nNot managed in Beijing release.",
635               "type": "string"
636         },
637         "@type": {
638           "description": "To define the service type\nNot managed in Beijing Release",
639               "type": "string"
640         },
641         "@schemaLocation": {
642           "description": "The URL to get the resource schema.\nNot managed in Beijing Release",
643               "type": "string"
644         },
645         "serviceCharacteristic": {
646           
647           "type": "array",
648           "items": {
649               "$ref": "#/definitions/ServiceCharacteristic"
650           }
651         },
652         "serviceRelationship": {
653           
654           "type": "array",
655           "items": {
656               "$ref": "#/definitions/ServiceRelationship"
657           }
658         },
659         "relatedParty": {
660           
661           "type": "array",
662           "items": {
663               "$ref": "#/definitions/RelatedParty"
664           }
665         },
666         "serviceSpecification": {
667           
668               "$ref": "#/definitions/ServiceSpecificationRef"
669         }
670       }
671       
672     },
673
674     "OrderItemRelationship": {
675       "description": "Linked order item to the one containing this attribute.\nnbi component used this relationship to sort request to ONAP.",
676
677       
678       "required": [
679           
680             "type",
681             "id"
682       ],
683       "type": "object",
684       "properties": {
685         "type": {
686           
687            "$ref": "#/definitions/RelationshipType"
688         },
689         "id": {
690           "description": "Unique identifier of an order item",
691               "type": "string"
692         }
693       }
694       
695     },
696
697     "ServiceOrderItem": {
698       "description": "An identified part of the order. A service order is decomposed into one or more order items.",
699
700       
701       "required": [
702           
703             "id",
704             "service"
705       ],
706       "type": "object",
707       "properties": {
708         "id": {
709           "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)",
710               "type": "string"
711         },
712         "action": {
713           
714            "$ref": "#/definitions/ActionType"
715         },
716         "state": {
717           
718            "$ref": "#/definitions/StateType"
719         },
720         "@type": {
721           "description": "Used to extend the order item.\nnot used in Beijing relase",
722               "type": "string"
723         },
724         "@schemaLocation": {
725           "description": "not used in Beijing relase",
726               "type": "string"
727         },
728         "@baseType": {
729           "description": "not used in Beijing relase",
730               "type": "string"
731         },
732         "orderItemRelationship": {
733           
734           "type": "array",
735           "items": {
736               "$ref": "#/definitions/OrderItemRelationship"
737           }
738         },
739         "service": {
740           
741               "$ref": "#/definitions/Service"
742         }
743       }
744       
745     },
746
747     "ServiceOrder": {
748       "description": "A Service Order is a type of order which can be used to place an order between a customer and a service provider or between a service provider and a partner and vice versa",
749
750       
751       "required": [
752           
753             "id"
754       ],
755       "type": "object",
756       "properties": {
757         "id": {
758           "description": "ID created on repository side",
759               "type": "string"
760         },
761         "href": {
762           "description": "Hyperlink to access the order",
763               "type": "string"
764         },
765         "externalId": {
766           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
767               "type": "string"
768         },
769         "priority": {
770           "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)",
771               "type": "string"
772         },
773         "description": {
774           "description": "A free-text description of the service order",
775               "type": "string"
776         },
777         "category": {
778           "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)",
779               "type": "string"
780         },
781         "state": {
782           
783            "$ref": "#/definitions/StateType"
784         },
785         "orderDate": {
786           "description": "",
787               "type": "string",
788               "format": "date-time"
789         },
790         "completionDateTime": {
791           "description": "Date when the order was completed",
792               "type": "string",
793               "format": "date-time"
794         },
795         "requestedStartDate": {
796           "description": "Order start date wished by the requestor",
797               "type": "string",
798               "format": "date-time"
799         },
800         "requestedCompletionDate": {
801           "description": "Requested delivery date from the requestor perspective",
802               "type": "string",
803               "format": "date-time"
804         },
805         "expectedCompletionDate": {
806           "description": "",
807               "type": "string",
808               "format": "date-time"
809         },
810         "startDate": {
811           "description": "Date when the order was started for processing",
812               "type": "string",
813               "format": "date-time"
814         },
815         "@baseType": {
816           "description": "",
817               "type": "string"
818         },
819         "@type": {
820           "description": "",
821               "type": "string"
822         },
823         "@schemaLocation": {
824           "description": "",
825               "type": "string"
826         },
827         "relatedParty": {
828           
829           "type": "array",
830           "items": {
831               "$ref": "#/definitions/RelatedParty"
832           }
833         },
834         "orderRelationship": {
835           
836           "type": "array",
837           "items": {
838               "$ref": "#/definitions/OrderRelationship"
839           }
840         },
841         "orderItem": {
842           
843           "type": "array",
844           "items": {
845               "$ref": "#/definitions/ServiceOrderItem"
846           }
847         }
848       }
849       
850     },
851
852     "OrderRelationship": {
853       "description": "Linked order to the one containing this attribute.\nThis relationship is not used to sort ONAP request.",
854
855       
856       "required": [
857           
858             "id"
859       ],
860       "type": "object",
861       "properties": {
862         "type": {
863           "description": "The type of related order, can be : “dependency” if the order needs to be “not started” until another order item is complete (a service order in this case) or “cross-ref” to keep track of the source order (a productOrder)",
864               "type": "string"
865         },
866         "id": {
867           "description": "The id of the related order",
868               "type": "string"
869         },
870         "href": {
871           "description": "A hyperlink to the related order",
872               "type": "string"
873         },
874         "@referredType": {
875           "description": "Type of the referred order.",
876               "type": "string"
877         }
878       }
879       
880     },
881
882     "TargetServiceSchema": {
883       "description": "Target to the schema describing the service spec resource",
884
885       
886       "required": [
887           
888             "@type",
889             "@schemaLocation"
890       ],
891       "type": "object",
892       "properties": {
893         "@type": {
894           "description": "Indicates the (class) type of resource.",
895               "type": "string"
896         },
897         "@schemaLocation": {
898           "description": "This field provided a link to the schema describing this REST resource.",
899               "type": "string"
900         }
901       }
902       
903     },
904
905     "Value": {
906       "description": "Value is a descriptive structure for service characteristic;\nFor Beijing we only manage 'basic' attribute - the serviceCharacteristicValue must be used.",
907
908       
909       "type": "object",
910       "properties": {
911         "@type": {
912           "description": "Indicates the (class) type of resource.\nNot used in Beijing Release",
913               "type": "string"
914         },
915         "@schemaLocation": {
916           "description": "This field provided a link to the schema describing this REST resource.\nNot used in Beijing Release",
917               "type": "string"
918         },
919         "serviceCharacteristicValue": {
920           "description": "Value of the characteristic.\nThis attribute must be used in Beijing Release to provide characteristic value.",
921               "type": "string"
922         }
923       }
924       
925     },
926
927     "CreateServiceOrderItem": {
928       "description": "This structure is used in the operation POST for a serviceOrder request to describe an item.\nAttribute description is not accurate and should be find in the serviceOrderItem class.",
929
930       
931       "required": [
932           
933             "id",
934             "service"
935       ],
936       "type": "object",
937       "properties": {
938         "id": {
939           "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, …)",
940               "type": "string"
941         },
942         "action": {
943           
944            "$ref": "#/definitions/ActionType"
945         },
946         "@type": {
947           "description": "Indicates the type of resource.",
948               "type": "string"
949         },
950         "@schemaLocation": {
951           "description": "A link to the schema describing this REST resource",
952               "type": "string"
953         },
954         "@baseType": {
955           "description": "Indicates the base type of the resource.",
956               "type": "string"
957         },
958         "orderItemRelationship": {
959           
960           "type": "array",
961           "items": {
962               "$ref": "#/definitions/OrderItemRelationship"
963           }
964         },
965         "service": {
966           
967               "$ref": "#/definitions/Service"
968         }
969       }
970       
971     },
972
973     "CreateServiceOrder": {
974       "description": "This structure is used in the operation POST for a serviceOrder request.\nAttribute description is not accurate and should be find in the serviceOrder class.",
975
976       
977       "type": "object",
978       "properties": {
979         "externalId": {
980           "description": "ID given by the consumer and only understandable by him (to facilitate his searches)",
981               "type": "string"
982         },
983         "priority": {
984           "description": "A way that can be used by consumers to prioritize orders in Service Order Management system (from 0 to 4 : 0 is the highest priority, and 4 the lowest)",
985               "type": "string"
986         },
987         "description": {
988           "description": "A free-text description of the service order",
989               "type": "string"
990         },
991         "category": {
992           "description": "Used to categorize the order that can be useful for the OM system (e.g. “broadband”, “TVOption”, ...)",
993               "type": "string"
994         },
995         "requestedStartDate": {
996           "description": "Order start date wished by the requestor",
997               "type": "string",
998               "format": "date-time"
999         },
1000         "requestedCompletionDate": {
1001           "description": "Requested delivery date from the requestor perspective",
1002               "type": "string",
1003               "format": "date-time"
1004         },
1005         "@baseType": {
1006           "description": "",
1007               "type": "string"
1008         },
1009         "@type": {
1010           "description": "",
1011               "type": "string"
1012         },
1013         "@schemaLocation": {
1014           "description": "",
1015               "type": "string"
1016         },
1017         "relatedParty": {
1018           
1019           "type": "array",
1020           "items": {
1021               "$ref": "#/definitions/RelatedParty"
1022           }
1023         },
1024         "orderRelationship": {
1025           
1026           "type": "array",
1027           "items": {
1028               "$ref": "#/definitions/OrderRelationship"
1029           }
1030         },
1031         "orderItem": {
1032           
1033           "type": "array",
1034           "items": {
1035               "$ref": "#/definitions/CreateServiceOrderItem"
1036           }
1037         }
1038       }
1039       
1040     },
1041
1042     "Hub": {
1043       "description": "An HUB resource is used by client side to subscribe to notification.\nNot managed in the Beijing release.",
1044
1045       
1046         "discriminator": "id",
1047       
1048       "required": [
1049           
1050             "callback"
1051       ],
1052       "type": "object",
1053       "properties": {
1054         "id": {
1055           "description": "",
1056               "type": "string"
1057         },
1058         "query": {
1059           "description": "",
1060               "type": "string"
1061         },
1062         "callback": {
1063           "description": "",
1064               "type": "string"
1065         }
1066       }
1067       
1068     }
1069   }
1070 }
1071