{"swagger": "2.0", "info": {"title": "Ganje External API", "description": "Ganje provides novel infrastructures for logistics. For more information please visit https://ganje.net", "contact": {"email": "tech@ganje.net"}, "version": "1.1"}, "host": "api.ganje.net", "schemes": ["https"], "basePath": "/v1.1", "consumes": ["application/json"], "produces": ["application/json"], "securityDefinitions": {"Bearer": {"type": "apiKey", "name": "Authorization", "in": "header"}}, "security": [{"Bearer": []}], "paths": {"/account/jwt/create/": {"post": {"operationId": "account_jwt_create", "description": "Takes a set of user credentials and returns an access and refresh JSON web     token pair to prove the authentication of those credentials.\n     Add access token to requests' header as Bearer Token for authentication.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["username", "password"], "type": "object", "properties": {"username": {"title": "Username", "type": "string", "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}}}}], "responses": {"200": {"description": "access and refresh tokens", "schema": {"type": "object", "properties": {"refresh": {"title": "Refresh", "type": "string", "readOnly": true}, "access": {"title": "Access", "type": "string", "readOnly": true}, "pk": {"title": "Pk", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "expire_duration": {"title": "Expire duration", "type": "integer", "readOnly": true}, "expires_at": {"title": "Expires at", "type": "string", "format": "date-time", "readOnly": true}}}}, "401": {"description": "Invalid username or password", "examples": {"application/json": {"detail": "No active account found with the given credentials"}}}}, "tags": ["account"]}, "parameters": []}, "/account/jwt/refresh/": {"post": {"operationId": "account_jwt_refresh", "description": "Takes a refresh type JSON web token and returns an access type JSON web    token if the refresh token is valid.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["refresh"], "type": "object", "properties": {"refresh": {"title": "Refresh", "type": "string", "minLength": 1}, "access": {"title": "Access", "type": "string", "readOnly": true, "minLength": 1}}}}], "responses": {"200": {"description": "access token", "schema": {"type": "object", "properties": {"access": {"title": "Access", "type": "string", "readOnly": true}}}}, "401": {"description": "Invalid refresh token", "examples": {"application/json": {"detail": "Token is invalid or expired", "code": "token_not_valid"}}}}, "tags": ["account"]}, "parameters": []}, "/account/jwt/verify/": {"post": {"operationId": "account_jwt_verify", "description": "Takes a token and indicates if it is valid. This view provides no    information about a token's fitness for a particular use.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["token"], "type": "object", "properties": {"token": {"title": "Token", "type": "string", "minLength": 1}}}}], "responses": {"200": {"description": "None"}, "401": {"description": "Invalid refresh token", "examples": {"application/json": {"detail": "Token is invalid or expired", "code": "token_not_valid"}}}}, "tags": ["account"]}, "parameters": []}, "/hub-management/occupancies/end-user/third-party": {"post": {"operationId": "hub-management_occupancies_end-user_third-party_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["phone_number", "otp"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "type": "string", "minLength": 1}, "otp": {"title": "Otp", "type": "string", "minLength": 1}}}}], "responses": {"200": {"description": "", "schema": {"required": ["expected_check_in", "expected_check_out", "check_in", "check_out"], "type": "object", "properties": {"uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "unique", "type": "string", "maxLength": 128, "x-nullable": true}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}, "readOnly": true}, "status": {"title": "Status", "description": "in_queue:In Queue - reserved:Reserved - occupied:Occupied - unoccupied:Unoccupied - returned:Returned - canceled:Canceled - excepted:Excepted - expired:Expired - blocked:Blocked - delayed:Delayed - notdropped:Not Dropped - notpacked:Not Packed - recoordinated:Recoordinated", "type": "string", "enum": ["in_queue", "reserved", "occupied", "unoccupied", "returned", "canceled", "excepted", "expired", "blocked", "delayed", "notdropped", "notpacked", "recoordinated"]}, "process": {"title": "Process", "type": "string", "readOnly": true}, "expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_check_out": {"title": "Expected check out", "type": "string", "format": "date-time"}, "check_in": {"title": "Check in", "type": "string", "format": "date-time"}, "check_out": {"title": "Check out", "type": "string", "format": "date-time"}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "latitude": {"title": "Latitude", "description": "PAY Attention! Standard string format is like (lat, lon)", "type": "number", "x-nullable": true}, "longitude": {"title": "Longitude", "description": "PAY Attention! Standard string format is like (lat, lon)", "type": "number", "x-nullable": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}}, "readOnly": true}, "shipment": {"required": ["parcels"], "type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "readOnly": true}, "external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "parcels": {"type": "array", "items": {"required": ["dimension"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}}}}}, "readOnly": true}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "x-nullable": true}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/end-user/third-party/send-otp": {"post": {"operationId": "hub-management_occupancies_end-user_third-party_send-otp_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}}], "responses": {"201": {"description": "", "schema": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/automatic-packing": {"post": {"operationId": "hub-management_occupancies_automatic_packing_reserve", "summary": "Reserves a single occupancy by automatic packing.", "description": "Must be authenticated as a supplier.\nAutomatic packing means needed lockers to accomedate parcels are specified by the server.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["time_scope", "package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "package": {"required": ["parcels", "external_id"], "type": "object", "properties": {"parcels": {"type": "array", "items": {"required": ["external_id", "dimension"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}}}}, "external_id": {"title": "External id", "type": "string", "maxLength": 128, "minLength": 1}, "shop": {"title": "Shop", "type": "string", "maxLength": 128, "minLength": 1}}}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/automatic-packing/flexible-time-scope": {"post": {"operationId": "hub-management_occupancies_automatic_packing_reserve_flexible_time_scope", "summary": "Reserves a single occupancy by automatic packing and flexible time scope.", "description": "Must be authenticated as a supplier.\nAutomatic packing means needed lockers to accomedate parcels are specified by the server.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "package": {"required": ["parcels", "external_id"], "type": "object", "properties": {"parcels": {"type": "array", "items": {"required": ["external_id", "dimension"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}}}}, "external_id": {"title": "External id", "type": "string", "maxLength": 128, "minLength": 1}, "shop": {"title": "Shop", "type": "string", "maxLength": 128, "minLength": 1}}}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/automatic-packing/flexible-time-scope/with-anonymous-picker": {"post": {"operationId": "hub-management_occupancies_automatic_packing_reserve_flexible_time_scope_with_anonymous_picker", "summary": "Reserves a single occupancy by automatic packing and flexible time scope with anonymous picker.", "description": "Must be authenticated as a supplier.\nAutomatic packing means needed lockers to accomedate parcels are specified by the server.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "package": {"required": ["parcels", "external_id"], "type": "object", "properties": {"parcels": {"type": "array", "items": {"required": ["external_id", "dimension"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}}}}, "external_id": {"title": "External id", "type": "string", "maxLength": 128, "minLength": 1}, "shop": {"title": "Shop", "type": "string", "maxLength": 128, "minLength": 1}}}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "type": "string", "readOnly": true}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/manual-packing": {"post": {"operationId": "hub-management_occupancies_manual_packing_reserve", "summary": "Reserves a single occupancy by manual packing.", "description": "Must be authenticated as a supplier.\nManual packing means needed lockers to accomedate parcels are specified by the client.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["time_scope", "package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "package": {"required": ["packs"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "packs": {"type": "array", "items": {"required": ["size", "parcels"], "type": "object", "properties": {"size": {"title": "Size", "type": "string", "enum": ["small", "medium", "large", "long"]}, "parcels": {"type": "array", "items": {"type": "object", "properties": {"external_id": {"title": "External id", "type": "string", "minLength": 1}, "weight": {"title": "Weight", "type": "integer", "x-nullable": true}, "value": {"title": "Value", "type": "number", "x-nullable": true}, "content": {"title": "Content", "type": "string", "minLength": 1, "x-nullable": true}, "extra_information": {"title": "Extra information", "type": "object", "x-nullable": true}}}}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "extra_information": {"title": "Extra Information", "type": "object", "x-nullable": true}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/manual-packing/flexible-time-scope": {"post": {"operationId": "hub-management_occupancies_manual_packing_reserve_flexible_time_scope", "summary": "Reserves a single occupancy by manual packing and flexible time scope.", "description": "Must be authenticated as a supplier.\nManual packing means needed lockers to accomedate parcels are specified by the client.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["packs"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "packs": {"type": "array", "items": {"required": ["size", "parcels"], "type": "object", "properties": {"size": {"title": "Size", "type": "string", "enum": ["small", "medium", "large", "long"]}, "parcels": {"type": "array", "items": {"type": "object", "properties": {"external_id": {"title": "External id", "type": "string", "minLength": 1}, "weight": {"title": "Weight", "type": "integer", "x-nullable": true}, "value": {"title": "Value", "type": "number", "x-nullable": true}, "content": {"title": "Content", "type": "string", "minLength": 1, "x-nullable": true}, "extra_information": {"title": "Extra information", "type": "object", "x-nullable": true}}}}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "extra_information": {"title": "Extra Information", "type": "object", "x-nullable": true}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/manual-packing/flexible-time-scope/with-anonymous-dropper": {"post": {"operationId": "hub-management_occupancies_manual_packing_reserve_flexible_time_scope_with_anonymous_dropper", "summary": "Reserves a single occupancy by manual packing and flexible time scope.", "description": "Must be authenticated as a supplier.\nManual packing means needed lockers to accomedate parcels are specified by the client.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["packs"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "packs": {"type": "array", "items": {"required": ["size", "parcels"], "type": "object", "properties": {"size": {"title": "Size", "type": "string", "enum": ["small", "medium", "large", "long"]}, "parcels": {"type": "array", "items": {"type": "object", "properties": {"external_id": {"title": "External id", "type": "string", "minLength": 1}, "weight": {"title": "Weight", "type": "integer", "x-nullable": true}, "value": {"title": "Value", "type": "number", "x-nullable": true}, "content": {"title": "Content", "type": "string", "minLength": 1, "x-nullable": true}, "extra_information": {"title": "Extra information", "type": "object", "x-nullable": true}}}}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "extra_information": {"title": "Extra Information", "type": "object", "x-nullable": true}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "type": "string", "readOnly": true}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/manual-packing/flexible-time-scope/with-anonymous-picker": {"post": {"operationId": "hub-management_occupancies_manual_packing_reserve_flexible_time_scope_with_anonymous_picker", "summary": "Reserves a single occupancy by manual packing and flexible time scope.", "description": "Must be authenticated as a supplier.\nManual packing means needed lockers to accomedate parcels are specified by the client.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["packs"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "packs": {"type": "array", "items": {"required": ["size", "parcels"], "type": "object", "properties": {"size": {"title": "Size", "type": "string", "enum": ["small", "medium", "large", "long"]}, "parcels": {"type": "array", "items": {"type": "object", "properties": {"external_id": {"title": "External id", "type": "string", "minLength": 1}, "weight": {"title": "Weight", "type": "integer", "x-nullable": true}, "value": {"title": "Value", "type": "number", "x-nullable": true}, "content": {"title": "Content", "type": "string", "minLength": 1, "x-nullable": true}, "extra_information": {"title": "Extra information", "type": "object", "x-nullable": true}}}}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "extra_information": {"title": "Extra Information", "type": "object", "x-nullable": true}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "type": "string", "readOnly": true}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"200": {"description": "successful occupancy reservation", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}, "400": {"description": "unsuccessful occupancy reservation", "examples": {"application/json": {"non_field_error": ["Reservation is not available for the required time scope"]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/no-packing/flexible-time-scope": {"post": {"operationId": "hub-management_occupancies_reserve_no-packing_flexible-time-scope_create", "summary": "Reserves a single occupancy with no packing and flexible time scope.", "description": "Must be authenticated as a supplier.\n\"no-packing\" means the station has no locker limits, so no packing is required.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["parcels"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "parcels": {"type": "array", "items": {"required": ["external_id"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"201": {"description": "", "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["parcels"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "parcels": {"type": "array", "items": {"required": ["external_id"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "description": "Picker Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/reserve/no-packing/flexible-time-scope/with-anonymous-picker": {"post": {"operationId": "hub-management_occupancies_reserve_no-packing_flexible-time-scope_with-anonymous-picker_create", "summary": "Reserves a single occupancy with no packing and flexible time scope with anonymous picker.", "description": "Must be authenticated as a supplier.\n\"no-packing\" means the station has no locker limits, so no packing is required.", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["parcels"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "parcels": {"type": "array", "items": {"required": ["external_id"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "type": "string", "readOnly": true}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}], "responses": {"201": {"description": "", "schema": {"required": ["package", "process"], "type": "object", "properties": {"station": {"title": "Station", "type": "string", "format": "uuid"}, "station_slug": {"title": "Station slug", "type": "string", "format": "slug", "pattern": "^[-a-zA-Z0-9_]+$", "maxLength": 8, "minLength": 1}, "time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "time_scope_date": {"required": ["expected_check_in_date"], "type": "object", "properties": {"expected_check_in_date": {"title": "Expected check in date", "type": "string", "format": "date"}, "expected_check_out_date": {"title": "Expected check out date", "type": "string", "format": "date"}, "expected_duration_days": {"title": "Expected duration days", "type": "integer", "maximum": 14, "minimum": 1}}}, "package": {"required": ["parcels"], "type": "object", "properties": {"external_id": {"title": "ID in supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "parcels": {"type": "array", "items": {"required": ["external_id"], "type": "object", "properties": {"external_id": {"title": "External id", "description": "Parcel ID in Supplier System", "type": "string", "maxLength": 128, "x-nullable": true}, "dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "promised_date": {"title": "Promised date", "type": "string", "format": "date"}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "shop": {"title": "Shop", "type": "string", "maxLength": 100, "x-nullable": true}}}, "supplier": {"title": "Supplier", "type": "string", "format": "uuid"}, "uuid": {"title": "Uuid", "type": "string", "format": "uuid", "readOnly": true}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "process": {"title": "Process", "type": "string", "enum": ["firstmile", "middlemile", "lastmile", "warehouse", "manual_lastmile", "personal_lastmile", "safe_box", "manual_firstmile"]}, "logistic_company": {"title": "Logistic company", "description": "Logistic Company UUID", "type": "string", "format": "uuid"}, "picker": {"title": "Picker", "type": "string", "readOnly": true}, "dropper": {"title": "Dropper", "description": "Dropper Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "verbose_id": {"title": "Verbose id", "description": "Any id to verbally represent occupancy, for example order_id in supplier system.", "type": "string", "maxLength": 50, "minLength": 1}, "password": {"title": "Password", "type": "string", "minLength": 1}, "random": {"title": "Random", "type": "boolean"}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "cancel": {"title": "Cancel", "type": "boolean", "default": false}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/supplier": {"get": {"operationId": "hub-management_occupancies_supplier_list", "summary": "Lists all occupancies of a supplier.", "description": "Must be authenticated as a supplier.", "parameters": [{"name": "page", "in": "query", "description": "A page number within the paginated result set.", "required": false, "type": "integer"}, {"name": "page_size", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}}}}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancies/{uuid}": {"get": {"operationId": "hub-management_occupancies_read", "summary": "Shows an occupancy's detail.", "description": "Must be authenticated as a user related to the occupancy.", "parameters": [], "responses": {"200": {"description": "successful edit or retrieve of occupancy", "schema": {"type": "object", "properties": {"pk": {"title": "ID", "type": "integer", "readOnly": true}, "uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "verbose_id": {"title": "Verbose id", "type": "string", "maxLength": 50, "minLength": 1}, "status": {"title": "Status", "type": "string", "readOnly": true}, "process": {"title": "Process", "type": "string", "readOnly": true}, "station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}, "readOnly": true}, "shipment_external_id": {"title": "Shipment external id", "type": "string", "minLength": 1}, "picker_phone_number": {"title": "Picker phone number", "type": "string", "minLength": 1}, "picker_first_name": {"title": "Picker first name", "type": "string", "minLength": 1}, "picker_last_name": {"title": "Picker last name", "type": "string", "minLength": 1}, "picker_full_name": {"title": "Picker full name", "type": "string", "minLength": 1}, "dropper_phone_number": {"title": "Dropper phone number", "type": "string", "minLength": 1}, "dropper_first_name": {"title": "Dropper first name", "type": "string", "minLength": 1}, "dropper_last_name": {"title": "Dropper last name", "type": "string", "minLength": 1}, "users": {"type": "object", "properties": {"supplier": {"title": "Supplier", "type": "string", "format": "uuid", "readOnly": true}, "picker": {"title": "Picker", "type": "string", "format": "uuid", "readOnly": true}, "dropper": {"title": "Dropper", "type": "string", "format": "uuid", "readOnly": true}}, "readOnly": true}, "dates": {"type": "object", "properties": {"time_scope": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}, "order_date": {"title": "Order date", "type": "string", "format": "date-time", "readOnly": true}, "check_in": {"title": "Check in", "type": "string", "format": "date-time", "readOnly": true}, "check_out": {"title": "Check out", "type": "string", "format": "date-time", "readOnly": true}, "cancel_date": {"title": "Cancel date", "type": "string", "format": "date-time", "readOnly": true}, "extend_date": {"title": "Extend date", "type": "string", "format": "date-time", "readOnly": true}}, "readOnly": true}}}, "examples": {"application/json": {"uuid": "c52e707e-7dd5-4adf-b53a-1216a77019d6", "verbose_id": null, "status": "reserved", "process": "lastmile", "station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "users": {"supplier": "1577b3c3-1bc7-4004-ac0d-5d1d77ee192a", "picker": "82fa5852-b996-4753-8502-87723f6f7f8e", "dropper": "c64c80b3-d8fa-4380-8df2-dbf40432e781"}, "dates": {"time_scope": {"expected_check_in": "2021-10-18 15:08:00", "expected_duration": "1 00:00:00"}, "order_date": "2021-10-20 11:36:24", "check_in": null, "check_out": null, "cancel_date": null, "extend_date": null}}}}}, "tags": ["hub-management"]}, "parameters": [{"name": "uuid", "in": "path", "required": true, "type": "string", "format": "uuid"}]}, "/hub-management/occupancy/alt-picker": {"post": {"operationId": "hub-management_occupancy_alt-picker_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["occupancy", "otp"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}, "otp": {"title": "Otp", "type": "string", "minLength": 1}}}}], "responses": {"201": {"description": "", "schema": {"required": ["occupancy", "otp"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}, "otp": {"title": "Otp", "type": "string", "minLength": 1}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancy/alt-picker/cancel": {"post": {"operationId": "hub-management_occupancy_alt-picker_cancel_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["occupancy"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}}}}], "responses": {"201": {"description": "", "schema": {"required": ["occupancy"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/occupancy/alt-picker/send-otp": {"post": {"operationId": "hub-management_occupancy_alt-picker_send-otp_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["occupancy"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}}}}], "responses": {"201": {"description": "", "schema": {"required": ["occupancy"], "type": "object", "properties": {"occupancy": {"title": "Occupancy", "type": "string", "format": "uuid"}}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/time-scopes": {"get": {"operationId": "hub-management_time-scopes_list", "summary": "Lists time scopes per station.", "description": "Can be filtered by stations uuid.", "parameters": [{"name": "stations", "in": "query", "description": "uuids of stations, separated by commas.", "type": "array", "items": {"type": "string"}}], "responses": {"200": {"description": "next time scopes of stations", "schema": {"required": ["results"], "type": "object", "properties": {"results": {"type": "array", "items": {"required": ["station", "time_scopes"], "type": "object", "properties": {"station": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}}, "time_scopes": {"type": "array", "items": {"required": ["expected_check_in", "expected_duration"], "type": "object", "properties": {"expected_check_in": {"title": "Expected check in", "type": "string", "format": "date-time"}, "expected_duration": {"title": "Expected duration", "description": "Input can be either in seconds or 'D HH:MM:SS' format\nOutput is always in 'D HH:MM:SS' format", "type": "string"}}}}}}}}}, "examples": {"application/json": {"results": [{"station": {"uuid": "a5873fe8-68c7-4e9a-b16e-7b2ed2b27df9", "address": "پاساژ تیراژه", "location": "-0.3717777959152152,-0.08462905883789061", "nickname": "طبقه همکف تیراژه", "slug": "61047320"}, "time_scopes": [{"expected_check_in": "2021-09-23 00:00:00", "expected_duration": "1 00:00:00"}, {"expected_check_in": "2021-09-24 00:00:00", "expected_duration": "1 00:00:00"}, {"expected_check_in": "2021-09-25 00:00:00", "expected_duration": "1 00:00:00"}]}, {"station": {"uuid": "e17a2179-6c90-4eb6-b2db-ae334d19c152", "address": "ساختمان دانش، لابی اوت باند", "location": "-0.10503763503019636,-0.08462905883789061", "nickname": "سوله شرقی دانش", "slug": "25124210"}, "time_scopes": [{"expected_check_in": "2021-09-23 00:00:00", "expected_duration": "1 00:00:00"}, {"expected_check_in": "2021-09-25 00:00:00", "expected_duration": "1 00:00:00"}]}]}}}}, "tags": ["hub-management"]}, "parameters": []}, "/hub-management/time-scopes/capacities/{station_uuid}/{supplier_uuid}": {"get": {"operationId": "hub-management_time-scopes_capacities_read", "description": "", "parameters": [], "responses": {"200": {"description": ""}}, "tags": ["hub-management"]}, "parameters": [{"name": "station_uuid", "in": "path", "required": true, "type": "string"}, {"name": "supplier_uuid", "in": "path", "required": true, "type": "string"}]}, "/infrastructure/station_locations": {"get": {"operationId": "infrastructure_station_locations_list", "summary": "List all stations' locations, weekly schedules and other general information.", "description": "No filter or search is possible on this endpoint. This is an endpoint to quickly retrieve map-related information .", "parameters": [], "responses": {"200": {"description": "", "schema": {"type": "array", "items": {"required": ["is_enable"], "type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "is_enable": {"title": "Is enable", "type": "boolean"}, "processes": {"title": "Processes", "type": "string", "readOnly": true}, "kind": {"title": "Kind", "type": "string", "readOnly": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "temp_city": {"title": "Temp city", "type": "string", "readOnly": true}, "temp_city_info": {"title": "Temp city info", "type": "string", "readOnly": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "weekly_schedule": {"title": "Weekly schedule", "type": "object", "readOnly": true}}}}}}, "tags": ["infrastructure"]}, "parameters": []}, "/infrastructure/stations": {"get": {"operationId": "infrastructure_stations_list", "summary": "Lists all Stations.", "description": "Can be filtered by address.", "parameters": [{"name": "address__icontains", "in": "query", "description": "", "required": false, "type": "string"}, {"name": "page", "in": "query", "description": "A page number within the paginated result set.", "required": false, "type": "integer"}, {"name": "page_size", "in": "query", "description": "Number of results to return per page.", "required": false, "type": "integer"}], "responses": {"200": {"description": "", "schema": {"required": ["count", "results"], "type": "object", "properties": {"count": {"type": "integer"}, "next": {"type": "string", "format": "uri", "x-nullable": true}, "previous": {"type": "string", "format": "uri", "x-nullable": true}, "results": {"type": "array", "items": {"type": "object", "properties": {"uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "x-nullable": true}, "location": {"title": "Location", "type": "string", "readOnly": true}, "nickname": {"title": "Nickname", "description": "A name for users to remeber this station with.", "type": "string", "maxLength": 255, "x-nullable": true}, "postal_code": {"title": "Postal Code", "type": "string", "maxLength": 10, "x-nullable": true}, "images": {"type": "array", "items": {"type": "string"}, "readOnly": true, "uniqueItems": true}, "districts": {"title": "Districts", "type": "object", "x-nullable": true}}}}}}}}, "tags": ["infrastructure"]}, "parameters": []}, "/p2p-delivery/occupancies/reserve": {"post": {"operationId": "p2p-delivery_occupancies_reserve_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["recipient_person", "destination_address", "logistic_company", "parcels"], "type": "object", "properties": {"origin_station": {"title": "Origin station", "type": "string", "format": "uuid"}, "origin_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "sender_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "recipient_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "destination_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "logistic_company": {"title": "Logistic company", "type": "string", "format": "uuid"}, "parcels": {"type": "array", "items": {"required": ["dimension", "weight", "value"], "type": "object", "properties": {"dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "submitter_id": {"title": "Submitter id", "type": "string", "minLength": 1}, "packaging_type": {"title": "Packaging type", "type": "string", "enum": ["box", "packet"], "default": "box"}, "characteristics": {"title": "Characteristics", "type": "string", "enum": ["gold", "normal"], "default": "normal"}}}}, "pod": {"title": "Pod", "type": "string", "maxLength": 5, "minLength": 5}, "ready_time": {"title": "Ready time", "type": "string", "format": "date-time"}}}}], "responses": {"201": {"description": "", "schema": {"required": ["parcels", "logistic_company", "sender", "recipient", "destination_location"], "type": "object", "properties": {"occupancy_uuid": {"title": "Occupancy uuid", "type": "string", "readOnly": true}, "shipment_id": {"title": "Shipment id", "type": "string", "readOnly": true}, "external_id": {"title": "External id", "type": "string", "readOnly": true}, "parcels": {"type": "array", "items": {"required": ["temp_size"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "submitter_id": {"title": "Submitter id", "type": "string", "readOnly": true}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "temp_size": {"type": "object", "properties": {"uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 100, "x-nullable": true}, "length": {"title": "Length", "description": "in meter", "type": "number"}, "width": {"title": "Width", "description": "in meter", "type": "number"}, "height": {"title": "Height", "description": "in meter", "type": "number"}}}}}}, "status": {"title": "Status", "description": "reservable:Reservable - reserved:Reserved - failed_to_reserve:Failed To Reserve - canceled:Canceled", "type": "string", "enum": ["reservable", "reserved", "failed_to_reserve", "canceled"]}, "logistic_company": {"required": ["pk"], "type": "object", "properties": {"pk": {"title": "User", "type": "integer"}, "uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "name": {"title": "Name", "description": "Company human readable name in Farsi", "type": "string", "maxLength": 50}}}, "sender": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "recipient": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "destination_location": {"required": ["city"], "type": "object", "properties": {"city": {"required": ["name", "province"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "province": {"required": ["name"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}}}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "minLength": 1}, "latitude": {"title": "Latitude", "type": "number", "x-nullable": true}, "longitude": {"title": "Longitude", "type": "number", "x-nullable": true}}}}}}}, "tags": ["p2p-delivery"]}, "parameters": []}, "/p2p-delivery/occupancy/candidate-shipping-windows": {"post": {"operationId": "p2p-delivery_occupancy_candidate-shipping-windows_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"required": ["recipient_person", "destination_address", "logistic_company", "parcels"], "type": "object", "properties": {"origin_station": {"title": "Origin station", "type": "string", "format": "uuid"}, "origin_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "sender_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "recipient_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "destination_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "logistic_company": {"title": "Logistic company", "type": "string", "format": "uuid"}, "parcels": {"type": "array", "items": {"required": ["dimension", "weight", "value"], "type": "object", "properties": {"dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "submitter_id": {"title": "Submitter id", "type": "string", "minLength": 1}, "packaging_type": {"title": "Packaging type", "type": "string", "enum": ["box", "packet"], "default": "box"}, "characteristics": {"title": "Characteristics", "type": "string", "enum": ["gold", "normal"], "default": "normal"}}}}, "pod": {"title": "Pod", "type": "string", "maxLength": 5, "minLength": 5}, "ready_time": {"title": "Ready time", "type": "string", "format": "date-time"}, "off_day_dates": {"type": "array", "items": {"type": "string", "format": "date"}}}}}], "responses": {"201": {"description": "", "schema": {"required": ["recipient_person", "destination_address", "logistic_company", "parcels"], "type": "object", "properties": {"origin_station": {"title": "Origin station", "type": "string", "format": "uuid"}, "origin_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "sender_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "recipient_person": {"required": ["firstname", "lastname", "phone_number"], "type": "object", "properties": {"firstname": {"title": "Firstname", "type": "string", "minLength": 1}, "lastname": {"title": "Lastname", "type": "string", "minLength": 1}, "phone_number": {"title": "Phone number", "type": "string", "minLength": 1}}}, "destination_address": {"required": ["city_id", "full_address"], "type": "object", "properties": {"city_id": {"title": "City id", "type": "integer"}, "full_address": {"title": "Full address", "type": "string", "minLength": 1}, "latitude": {"title": "Latitude", "type": "number"}, "longitude": {"title": "Longitude", "type": "number"}}}, "logistic_company": {"title": "Logistic company", "type": "string", "format": "uuid"}, "parcels": {"type": "array", "items": {"required": ["dimension", "weight", "value"], "type": "object", "properties": {"dimension": {"required": ["width", "height", "length"], "type": "object", "properties": {"width": {"title": "Width", "description": "In meter", "type": "number"}, "height": {"title": "Height", "description": "In meter", "type": "number"}, "length": {"title": "Length", "description": "In meter", "type": "number"}}}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "submitter_id": {"title": "Submitter id", "type": "string", "minLength": 1}, "packaging_type": {"title": "Packaging type", "type": "string", "enum": ["box", "packet"], "default": "box"}, "characteristics": {"title": "Characteristics", "type": "string", "enum": ["gold", "normal"], "default": "normal"}}}}, "pod": {"title": "Pod", "type": "string", "maxLength": 5, "minLength": 5}, "ready_time": {"title": "Ready time", "type": "string", "format": "date-time"}, "off_day_dates": {"type": "array", "items": {"type": "string", "format": "date"}}}}}}, "tags": ["p2p-delivery"]}, "parameters": []}, "/p2p-delivery/occupancy/{occupancy_uuid}/cancel": {"post": {"operationId": "p2p-delivery_occupancy_cancel_create", "description": "", "parameters": [], "responses": {"200": {"description": "", "schema": {"required": ["parcels", "logistic_company", "sender", "recipient", "destination_location"], "type": "object", "properties": {"occupancy_uuid": {"title": "Occupancy uuid", "type": "string", "readOnly": true}, "shipment_id": {"title": "Shipment id", "type": "string", "readOnly": true}, "external_id": {"title": "External id", "type": "string", "readOnly": true}, "parcels": {"type": "array", "items": {"required": ["temp_size"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "submitter_id": {"title": "Submitter id", "type": "string", "readOnly": true}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "temp_size": {"type": "object", "properties": {"uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 100, "x-nullable": true}, "length": {"title": "Length", "description": "in meter", "type": "number"}, "width": {"title": "Width", "description": "in meter", "type": "number"}, "height": {"title": "Height", "description": "in meter", "type": "number"}}}}}}, "status": {"title": "Status", "description": "reservable:Reservable - reserved:Reserved - failed_to_reserve:Failed To Reserve - canceled:Canceled", "type": "string", "enum": ["reservable", "reserved", "failed_to_reserve", "canceled"]}, "logistic_company": {"required": ["pk"], "type": "object", "properties": {"pk": {"title": "User", "type": "integer"}, "uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "name": {"title": "Name", "description": "Company human readable name in Farsi", "type": "string", "maxLength": 50}}}, "sender": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "recipient": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "destination_location": {"required": ["city"], "type": "object", "properties": {"city": {"required": ["name", "province"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "province": {"required": ["name"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}}}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "minLength": 1}, "latitude": {"title": "Latitude", "type": "number", "x-nullable": true}, "longitude": {"title": "Longitude", "type": "number", "x-nullable": true}}}}}}, "400": {"description": "Unsuccessful Cancellation", "examples": {"application/json": {"detail": "Occupancy is already canceled", "code": "4041"}}}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "occupancy_uuid", "in": "path", "required": true, "type": "string"}]}, "/p2p-delivery/occupancy/{occupancy_uuid}/revive": {"post": {"operationId": "p2p-delivery_occupancy_revive_create", "description": "", "parameters": [{"name": "data", "in": "body", "required": true, "schema": {"type": "object", "properties": {"parcels": {"description": "List of parcel IDs to revive. If not provided or empty, all parcels will be revived.", "type": "array", "items": {"type": "integer"}, "default": []}}}}], "responses": {"200": {"description": "", "schema": {"required": ["parcels", "logistic_company", "sender", "recipient", "destination_location"], "type": "object", "properties": {"occupancy_uuid": {"title": "Occupancy uuid", "type": "string", "readOnly": true}, "shipment_id": {"title": "Shipment id", "type": "string", "readOnly": true}, "external_id": {"title": "External id", "type": "string", "readOnly": true}, "parcels": {"type": "array", "items": {"required": ["temp_size"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "submitter_id": {"title": "Submitter id", "type": "string", "readOnly": true}, "weight": {"title": "Weight", "description": "Parcel Weight - unit: Gram", "type": "integer", "maximum": 2147483647, "minimum": -2147483648, "x-nullable": true}, "value": {"title": "Value", "description": "Parcel Value for Using in Insurance - unit: Rial", "type": "number", "x-nullable": true}, "temp_size": {"type": "object", "properties": {"uuid": {"title": "UUID", "type": "string", "format": "uuid", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 100, "x-nullable": true}, "length": {"title": "Length", "description": "in meter", "type": "number"}, "width": {"title": "Width", "description": "in meter", "type": "number"}, "height": {"title": "Height", "description": "in meter", "type": "number"}}}}}}, "status": {"title": "Status", "description": "reservable:Reservable - reserved:Reserved - failed_to_reserve:Failed To Reserve - canceled:Canceled", "type": "string", "enum": ["reservable", "reserved", "failed_to_reserve", "canceled"]}, "logistic_company": {"required": ["pk"], "type": "object", "properties": {"pk": {"title": "User", "type": "integer"}, "uuid": {"title": "Uuid", "type": "string", "readOnly": true}, "name": {"title": "Name", "description": "Company human readable name in Farsi", "type": "string", "maxLength": 50}}}, "sender": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "recipient": {"required": ["phone_number"], "type": "object", "properties": {"phone_number": {"title": "Phone number", "description": "Phone Number in +98xxxxxxxxxx format", "type": "string", "minLength": 1}, "first_name": {"title": "First name", "type": "string", "maxLength": 150}, "last_name": {"title": "Last name", "type": "string", "maxLength": 150}, "full_name": {"title": "Full name", "type": "string", "maxLength": 256, "x-nullable": true}}}, "destination_location": {"required": ["city"], "type": "object", "properties": {"city": {"required": ["name", "province"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}, "province": {"required": ["name"], "type": "object", "properties": {"id": {"title": "ID", "type": "integer", "readOnly": true}, "name": {"title": "Name", "type": "string", "maxLength": 255, "minLength": 1}}}}}, "address": {"title": "Address", "description": "Full address", "type": "string", "maxLength": 400, "minLength": 1}, "latitude": {"title": "Latitude", "type": "number", "x-nullable": true}, "longitude": {"title": "Longitude", "type": "number", "x-nullable": true}}}}}}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "occupancy_uuid", "in": "path", "required": true, "type": "string"}]}, "/p2p-delivery/parcel/{parcel_id}": {"get": {"operationId": "p2p-delivery_parcel_read", "description": "", "parameters": [], "responses": {"200": {"description": "", "schema": {"required": ["occupancy_id", "parcel_id", "parcel_shipping_code", "occurred_at", "parcel_status", "shipment_status", "payload"], "type": "object", "properties": {"occupancy_id": {"title": "Occupancy id", "type": "integer"}, "parcel_id": {"title": "Parcel id", "type": "integer"}, "parcel_shipping_code": {"title": "Parcel shipping code", "type": "string", "minLength": 1}, "occurred_at": {"title": "Occurred at", "type": "string", "format": "date-time"}, "parcel_status": {"title": "Parcel status", "type": "string", "minLength": 1}, "shipment_status": {"title": "Shipment status", "type": "string", "minLength": 1}, "payload": {"title": "Payload", "description": "Latest webhook payload", "type": "object"}}}}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "parcel_id", "in": "path", "required": true, "type": "string"}]}, "/p2p-delivery/parcel/{parcel_id}/label": {"get": {"operationId": "p2p-delivery_parcel_label_list", "description": "", "parameters": [{"name": "Accept", "in": "header", "description": "Label format: application/pdf or text/html. Defaults to application/pdf.", "required": false, "type": "string", "enum": ["application/pdf", "text/html"]}], "responses": {"200": {"description": ""}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "parcel_id", "in": "path", "required": true, "type": "string"}]}, "/p2p-delivery/parcel/{parcel_id}/label/content": {"get": {"operationId": "p2p-delivery_parcel_label_content_list", "description": "", "parameters": [{"name": "Accept", "in": "header", "description": "Label format: application/pdf or text/html. Defaults to application/pdf.", "required": false, "type": "string", "enum": ["application/pdf", "text/html"]}], "responses": {"200": {"description": ""}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "parcel_id", "in": "path", "required": true, "type": "string"}]}, "/p2p-delivery/parcel/{parcel_id}/webhook-feed": {"get": {"operationId": "p2p-delivery_parcel_webhook-feed_read", "description": "", "parameters": [], "responses": {"200": {"description": "", "schema": {"required": ["occupancy_id", "parcel_id", "parcel_shipping_code", "payloads"], "type": "object", "properties": {"occupancy_id": {"title": "Occupancy id", "type": "integer"}, "parcel_id": {"title": "Parcel id", "type": "integer"}, "parcel_shipping_code": {"title": "Parcel shipping code", "type": "string", "minLength": 1}, "payloads": {"type": "array", "items": {"description": "webhook payload", "type": "object"}}}}}}, "tags": ["p2p-delivery"]}, "parameters": [{"name": "parcel_id", "in": "path", "required": true, "type": "string"}]}}, "definitions": {}}