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