Advertisement
BoberDiversant

Untitled

May 7th, 2019
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JSON 5.56 KB | None | 0 0
  1. {
  2.   "swagger": "2.0",
  3.   "info": {
  4.     "title": "PhoenixService.ScheduleApi"
  5.   },
  6.   "paths": {
  7.     "/api/Appointments/TakeAppointment": {
  8.       "post": {
  9.         "tags": [
  10.           "Appointments"
  11.         ],
  12.         "summary": "Делает попытку занять прием у специалиста на выбранную дату и время",
  13.         "operationId": "TakeAppointment",
  14.         "consumes": [
  15.           "application/json-patch+json",
  16.           "application/json",
  17.           "text/json",
  18.           "application/*+json"
  19.         ],
  20.         "produces": [
  21.           "text/plain",
  22.           "application/json",
  23.           "text/json"
  24.         ],
  25.         "parameters": [
  26.           {
  27.             "name": "takeAppointmentM",
  28.             "in": "body",
  29.             "description": "",
  30.             "required": false,
  31.             "schema": {
  32.               "$ref": "#/definitions/TakeAppointmentM"
  33.             }
  34.           }
  35.         ],
  36.         "responses": {
  37.           "200": {
  38.             "description": "Success",
  39.             "schema": {
  40.               "type": "boolean"
  41.             }
  42.           }
  43.         }
  44.       }
  45.     },
  46.     "/api/Schedule/GetNearestAppointment": {
  47.       "get": {
  48.         "tags": [
  49.           "Schedule"
  50.         ],
  51.         "summary": "Возвращает специалиста, у которого был последний прием пациента и дату ближайшего возможного приема",
  52.         "operationId": "GetNearestAppointment",
  53.         "consumes": [],
  54.         "produces": [
  55.           "text/plain",
  56.           "application/json",
  57.           "text/json"
  58.         ],
  59.         "parameters": [
  60.           {
  61.             "name": "requestId",
  62.             "in": "query",
  63.             "description": "ID запроса, сформировавшего дозвон",
  64.             "required": false,
  65.             "type": "string"
  66.           }
  67.         ],
  68.         "responses": {
  69.           "200": {
  70.             "description": "Success",
  71.             "schema": {
  72.               "$ref": "#/definitions/SpecialistWithScheduleM"
  73.             }
  74.           }
  75.         }
  76.       }
  77.     },
  78.     "/api/Schedule/GetAvailableAppointments": {
  79.       "post": {
  80.         "tags": [
  81.           "Schedule"
  82.         ],
  83.         "summary": "Возвращает доступные приемы у специалиста",
  84.         "operationId": "GetAvailableAppointments",
  85.         "consumes": [
  86.           "application/json-patch+json",
  87.           "application/json",
  88.           "text/json",
  89.           "application/*+json"
  90.         ],
  91.         "produces": [
  92.           "text/plain",
  93.           "application/json",
  94.           "text/json"
  95.         ],
  96.         "parameters": [
  97.           {
  98.             "name": "getSpecialistScheduleM",
  99.             "in": "body",
  100.             "description": "",
  101.             "required": false,
  102.             "schema": {
  103.               "$ref": "#/definitions/GetSpecialistScheduleM"
  104.             }
  105.           }
  106.         ],
  107.         "responses": {
  108.           "200": {
  109.             "description": "Success",
  110.             "schema": {
  111.               "$ref": "#/definitions/AvailableAppointmentsM"
  112.             }
  113.           }
  114.         }
  115.       }
  116.     }
  117.   },
  118.   "definitions": {
  119.     "TakeAppointmentM": {
  120.       "type": "object",
  121.       "properties": {
  122.         "requestId": {
  123.           "description": "ID запроса, сформировавшего дозвон",
  124.           "type": "string"
  125.         },
  126.         "specialistId": {
  127.           "description": "ID Специалиста",
  128.           "type": "string"
  129.         },
  130.         "appointment": {
  131.           "format": "date-time",
  132.           "description": "Желаемое время начала приема (с датой)",
  133.           "type": "string"
  134.         }
  135.       }
  136.     },
  137.     "SpecialistWithScheduleM": {
  138.       "type": "object",
  139.       "properties": {
  140.         "specialistId": {
  141.           "description": "ID Специалиста",
  142.           "type": "string"
  143.         },
  144.         "speciality": {
  145.           "description": "Специальность",
  146.           "type": "string"
  147.         },
  148.         "name": {
  149.           "description": "Имя специалиста (по возможности - ФИО)",
  150.           "type": "string"
  151.         },
  152.         "nearestFreeAppointmentDate": {
  153.           "format": "date-time",
  154.           "description": "Дата ближайшего доступного для записи приема",
  155.           "type": "string"
  156.         }
  157.       }
  158.     },
  159.     "GetSpecialistScheduleM": {
  160.       "type": "object",
  161.       "properties": {
  162.         "specialistId": {
  163.           "description": "ID Специалиста",
  164.           "type": "string"
  165.         },
  166.         "requestId": {
  167.           "description": "ID запроса, сформировавшего дозвон",
  168.           "type": "string"
  169.         },
  170.         "wantedDate": {
  171.           "format": "date-time",
  172.           "description": "Желаемая дата приема",
  173.           "type": "string"
  174.         }
  175.       }
  176.     },
  177.     "AvailableAppointmentsM": {
  178.       "type": "object",
  179.       "properties": {
  180.         "specialistId": {
  181.           "description": "ID Специалиста",
  182.           "type": "string"
  183.         },
  184.         "availableAppointments": {
  185.           "description": "Доступные приемы (время начала приема) - максимум 5",
  186.           "uniqueItems": false,
  187.           "type": "array",
  188.           "items": {
  189.             "format": "date-time",
  190.             "type": "string"
  191.           }
  192.         }
  193.       }
  194.     }
  195.   }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement