
    {
    "swagger": "2.0",
    "info": {
    "description": "\n\n",
    "version": "0.1.0_inProgress",
    "title": "API InterventionOrder",
    "x-logo": {
    "url": "/redoc/logo.png",
    "backgroundColor": "#FFFFFF"
    }
    },
    
      "host": "api.orange.com",
      "basePath":	"/",
      "schemes": [
      "http"
      ],
    "produces": [
    "application/json;charset=utf-8"
    ],
    "tags": [
    
      {
      "name": "interventionOrder",
      "description": ""
      }
    ],
    "paths": {
      "/interventionOrder/{interventionOrderId}": {
    "get": {
    "tags": [
    "interventionOrder"   
    ],
        "produces": [
           "application/json;charset=utf-8"
      ],
    "operationId": "interventionOrderGet",
    "summary": "get interventionOrder",
    "description": "Recherche la prestation identifiée par interventionOrderId.",
    "deprecated": false,
    
      "parameters": [
      
    {
    "name": "interventionOrderId",
    "required": true,
    "in": "path",   
    "description": "",
    "type": "string"
    }     
    ,
    {
    "name": "X-OAPI-Application-Id",
    "required": true,
    "in": "header",
    "description": "",
    
    "type": "string"
    }
      ],
    "responses": {
    "200": {
    "description": "Ok",
    "schema": {
    "$ref": "#/definitions/InterventionOrder"
    }
    
    }
    }
    },
    "patch": {
    "tags": [
    "interventionOrder"   
    ],
        "consumes": [
           "application/json;charset=utf-8"
    ],
    "operationId": "interventionOrderPatch",
    "summary": "patch interventionOrder",
    "description": "Crée un rendez-vous avec les informations données par interventionOrder dans la prestation identifiée par interventionOrderId.",
    "deprecated": false,
    
      "parameters": [
      
    {
    "name": "interventionOrder",
    "required": true,
    "in": "body",
    "description": "",
    "schema": {
    "$ref": "#/definitions/PatchInterventionOrderRequest"
      }
    },
    {
    "name": "interventionOrderId",
    "required": true,
    "in": "path",   
    "description": "",
    "type": "string"
    }     
    ,
    {
    "name": "X-OAPI-Application-Id",
    "required": true,
    "in": "header",
    "description": "",
    
    "type": "string"
    }
      ],
    "responses": {
    "204": {
    "description": "No Content"
    
    }
    }
    }
      },
      "/interventionOrder/{interventionOrderId}/searchTimeSlot": {
    "post": {
    "tags": [
    "interventionOrder"   
    ],
        "consumes": [
           "application/json;charset=utf-8"
    ],
        "produces": [
           "application/json;charset=utf-8"
      ],
    "operationId": "interventionOrderSearchTimeSlot",
    "summary": "searchTimeSlot interventionOrder",
    "description": "Recherche les plages horaires disponibles de la prestation identifiée par interventionOrderId.",
    "deprecated": false,
    
      "parameters": [
      
    {
    "name": "searchTimeSlot",
    "required": true,
    "in": "body",
    "description": "",
    "schema": {
    "$ref": "#/definitions/SearchTimeSlotRequest"
      }
    },
    {
    "name": "interventionOrderId",
    "required": true,
    "in": "path",   
    "description": "",
    "type": "string"
    }     
    ,
    {
    "name": "X-OAPI-Application-Id",
    "required": true,
    "in": "header",
    "description": "",
    
    "type": "string"
    }
      ],
    "responses": {
    "200": {
    "description": "Ok",
    "schema": {
    "$ref": "#/definitions/SearchTimeSlotResponse"
    }
    
    }
    }
    }
      },
      "/interventionOrder/{interventionOrderId}/appointment": {
    "patch": {
    "tags": [
    "interventionOrder"   
    ],
        "consumes": [
           "application/json;charset=utf-8"
    ],
    "operationId": "interventionOrderUpdateAppointment",
    "summary": "updateAppointment interventionOrder",
    "description": "Modifie le rendez-vous de la prestation identifiée par interventionOrderId.",
    "deprecated": false,
    
      "parameters": [
      
    {
    "name": "interventionOrderId",
    "required": true,
    "in": "path",   
    "description": "",
    "type": "string"
    }     
    ,
    {
    "name": "appointment",
    "required": true,
    "in": "body",
    "description": "",
    "schema": {
    "$ref": "#/definitions/Appointment"
      }
    },
    {
    "name": "X-OAPI-Application-Id",
    "required": true,
    "in": "header",
    "description": "",
    
    "type": "string"
    }
      ],
    "responses": {
    "204": {
    "description": "No Content"
    
    }
    }
    },
    "delete": {
    "tags": [
    "interventionOrder"   
    ],
    "operationId": "interventionOrderCancelAppointment",
    "summary": "cancelAppointment interventionOrder",
    "description": "Supprime le rendez-vous de la prestation identifiée par interventionOrderId.",
    "deprecated": false,
    
      "parameters": [
      
    {
    "name": "interventionOrderId",
    "required": true,
    "in": "path",   
    "description": "",
    "type": "string"
    }     
    ,
    {
    "name": "X-OAPI-Application-Id",
    "required": true,
    "in": "header",
    "description": "",
    
    "type": "string"
    }
      ],
    "responses": {
    "204": {
    "description": "No Content"
    
    }
    }
    }
      }
    },
    "definitions": {
        

    "Error": {
    "description": "",

    
    "required": [
    
      "code"
    ],
    "type": "object",
    "properties": {
    "code": {
    "description": "",
    "type": "integer",
    "format": "int32"
    },
    "message": {
    "description": "",
    "type": "string"
    },
    "description": {
    "description": "",
    "type": "string"
    },
    "infoURL": {
    "description": "",
    "type": "string"
    }
    }
    
    },    

    "InterventionOrder": {
    "description": "Une prestation",

    
    "required": [
    
      "id"
    ],
    "type": "object",
    "properties": {
    "id": {
    "description": "numéro de la prestation",
    "type": "string"
    },
    "deliveryContractualDate": {
    "description": "Date convenue pour la prestation",
    "type": "string",
    "format": "date"
    },
    "operatorDriven": {
    "description": "Pilotage Opérateur",
    "type": "boolean"
    },
    "clientSiteInterface": {
    "description": "",
    "type": "string"
    },
    "installationType": {
    "description": "",
    "type": "string"
    },
    "operatorName": {
    "description": "",
    "type": "string"
    },
    "relatedOrganization": {
    
    "$ref": "#/definitions/RelatedOrganization"
    },
    "serviceSpecification": {
    
    "$ref": "#/definitions/ServiceSpecification"
    },
    "intervention": {
    
    "$ref": "#/definitions/Intervention"
    },
    "geographicSite": {
    
    "$ref": "#/definitions/GeographicSite"
    },
    "availableActivities": {
    
    "type": "array",
    "items": {
    "$ref": "#/definitions/AvailableActivity"
    }
    },
    "availableAsbestos": {
    
    "type": "array",
    "items": {
    "$ref": "#/definitions/AvailableAsbestos"
    }
    },
    "availableInternalServices": {
    
    "type": "array",
    "items": {
    "$ref": "#/definitions/AvailableInternalService"
    }
    }
    }
    
    },    

    "Appointment": {
    "description": "Rendez-vous pour la réalisation de l'intervention",

    
    "required": [
    
      "startDate"
    ],
    "type": "object",
    "properties": {
    "startDate": {
    "description": "Date et heure de début du rendez-vous",
    "type": "string",
    "format": "date-time"
    }
    }
    
    },    

    "TimePeriod": {
    "description": "",

    
    "type": "object",
    "properties": {
    "startDateTime": {
    "description": "",
    "type": "string",
    "format": "date-time"
    },
    "endDateTime": {
    "description": "",
    "type": "string",
    "format": "date-time"
    }
    }
    
    },    

    "Contact": {
    "description": "Liste des contacts pour une prestation",

    
    "type": "object",
    "properties": {
    "contactName": {
    "description": "Nom du contact",
    "type": "string"
    },
    "phoneNumber": {
    "description": "Liste des moyens de communication utilisés par le contact",
    "type": "string"
    }
    }
    
    },    

    "RelatedOrganization": {
    "description": "Informations sur le client titulaire",

    
    "type": "object",
    "properties": {
    "tradingName": {
    "description": "Nom du client titulaire",
    "type": "string"
    }
    }
    
    },    

    "ServiceSpecification": {
    "description": "Produit concerné par l'intervention",

    
    "required": [
    
      "id",
      "name"
    ],
    "type": "object",
    "properties": {
    "id": {
    "description": "",
    "type": "string"
    },
    "name": {
    "description": "Nom du produit concerné par l'intervention",
    "type": "string"
    }
    }
    
    },    

    "GeographicSubAdress": {
    "description": "Complément d'information sur l'adresse (étage, bâtiment, ...)",

    
    "type": "object",
    "properties": {
    "levelNumber": {
    "description": "Numéro de l'étage",
    "type": "string"
    },
    "buildingName": {
    "description": "Nom du bâtiment",
    "type": "string"
    }
    }
    
    },    

    "GeographicAddress": {
    "description": "Adresse du site géographique",

    
    "type": "object",
    "properties": {
    "streetNumber": {
    "description": "Numéro sur la voie",
    "type": "string"
    },
    "streetName": {
    "description": "Nom de la voie",
    "type": "string"
    },
    "postCode": {
    "description": "code postal",
    "type": "string"
    },
    "city": {
    "description": "Nom de la ville",
    "type": "string"
    },
    "comment": {
    "description": "commentaire d'accès au site",
    "type": "string"
    },
    "geographicCode": {
    "description": "Code INSEE",
    "type": "string"
    },
    "geographicSubAdress": {
    
    "$ref": "#/definitions/GeographicSubAdress"
    }
    }
    
    },    

    "GeographicSite": {
    "description": "Description du site géographique",

    
    "type": "object",
    "properties": {
    "asbestos": {
    "description": "",
    "type": "string"
    },
    "geographicAddress": {
    
    "$ref": "#/definitions/GeographicAddress"
    }
    }
    
    },    

    "Intervention": {
    "description": "Description d'une intervention associée à une prestation",

    
    "type": "object",
    "properties": {
    "activityId": {
    "description": "",
    "type": "string"
    },
    "internalServiceId": {
    "description": "",
    "type": "string"
    },
    "appointement": {
    
    "$ref": "#/definitions/Appointment"
    },
    "customerContact": {
    
    "$ref": "#/definitions/Contact"
    }
    }
    
    },    

    "SearchTimeSlotRequest": {
    "description": "",

    
    "required": [
    
      "requestedTimeSlot"
    ],
    "type": "object",
    "properties": {
    "relatedEntity": {
    
    "$ref": "#/definitions/RelatedEntity"
    },
    "requestedTimeSlot": {
    
    "$ref": "#/definitions/RequestedTimeSlot"
    }
    }
    
    },    

    "RelatedEntity": {
    "description": "",

    
    "required": [
    
      "actionType"
    ],
    "type": "object",
    "properties": {
    "actionType": {
    "description": "",
    "type": "string"
    }
    }
    
    },    

    "RequestedTimeSlot": {
    "description": "",

    
    "required": [
    
      "validFor"
    ],
    "type": "object",
    "properties": {
    "validFor": {
    
    "$ref": "#/definitions/Period"
    }
    }
    
    },    

    "SearchTimeSlotResponse": {
    "description": "",

    
    "required": [
    
      "searchResult",
      "availableTimeSlot"
    ],
    "type": "object",
    "properties": {
    "searchResult": {
    "description": "success or fail",
    "type": "string"
    },
    "availableTimeSlot": {
    
    "type": "array",
    "items": {
    "$ref": "#/definitions/AvailableTimeSlot"
    }
    }
    }
    
    },    

    "AvailableTimeSlot": {
    "description": "",

    
    "required": [
    
      "validFor"
    ],
    "type": "object",
    "properties": {
    "validFor": {
    
    "$ref": "#/definitions/TimePeriod"
    }
    }
    
    },    

    "PatchInterventionOrderRequest": {
    "description": "",

    
    "required": [
    
      "operatorDriven",
      "geographicSite",
      "intervention"
    ],
    "type": "object",
    "properties": {
    "operatorDriven": {
    "description": "",
    "type": "boolean"
    },
    "geographicSite": {
    
    "$ref": "#/definitions/PatchGeographicSiteRequest"
    },
    "intervention": {
    
    "$ref": "#/definitions/PatchInterventionRequest"
    }
    }
    
    },    

    "PatchInterventionRequest": {
    "description": "",

    
    "required": [
    
      "activity",
      "internalService",
      "appointment",
      "customerContact"
    ],
    "type": "object",
    "properties": {
    "activity": {
    "description": "",
    "type": "string"
    },
    "internalService": {
    "description": "",
    "type": "string"
    },
    "appointment": {
    
    "$ref": "#/definitions/Appointment"
    },
    "customerContact": {
    
    "$ref": "#/definitions/PatchContactRequest"
    }
    }
    
    },    

    "PatchGeographicAddressRequest": {
    "description": "",

    
    "type": "object",
    "properties": {
    "comment": {
    "description": "",
    "type": "string"
    },
    "geographicSubAddress": {
    
    "$ref": "#/definitions/GeographicSubAdress"
    }
    }
    
    },    

    "PatchGeographicSiteRequest": {
    "description": "",

    
    "required": [
    
      "asbestos"
    ],
    "type": "object",
    "properties": {
    "asbestos": {
    "description": "",
    "type": "string"
    },
    "geographicAddress": {
    
    "$ref": "#/definitions/PatchGeographicAddressRequest"
    }
    }
    
    },    

    "PatchContactRequest": {
    "description": "",

    
    "required": [
    
      "contactName",
      "phoneNumber"
    ],
    "type": "object",
    "properties": {
    "contactName": {
    "description": "",
    "type": "string"
    },
    "phoneNumber": {
    "description": "",
    "type": "string"
    }
    }
    
    },    

    "Period": {
    "description": "",

    
    "required": [
    
      "startDate",
      "endDate"
    ],
    "type": "object",
    "properties": {
    "startDate": {
    "description": "",
    "type": "string",
    "format": "date"
    },
    "endDate": {
    "description": "",
    "type": "string",
    "format": "date"
    }
    }
    
    },    

    "AvailableAsbestos": {
    "description": "",

    
    "required": [
    
      "id",
      "value"
    ],
    "type": "object",
    "properties": {
    "id": {
    "description": "",
    "type": "string"
    },
    "value": {
    "description": "",
    "type": "string"
    }
    }
    
    },    

    "AvailableActivity": {
    "description": "",

    
    "required": [
    
      "id",
      "value"
    ],
    "type": "object",
    "properties": {
    "id": {
    "description": "",
    "type": "string"
    },
    "value": {
    "description": "",
    "type": "string"
    }
    }
    
    },    

    "AvailableInternalService": {
    "description": "",

    
    "required": [
    
      "id",
      "value"
    ],
    "type": "object",
    "properties": {
    "id": {
    "description": "",
    "type": "string"
    },
    "value": {
    "description": "",
    "type": "string"
    }
    }
    
    }
    }
    }
  