Bridge

<back to all web services

EnquiriesLive

Enquiries
The following routes are available for this service:
GET/Enquiries/Live
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EnquiriesLive:
    just_my_enquiries: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EntityViewModel:
    id: int = 0
    guid: Optional[str] = None
    type: Optional[str] = None
    name: Optional[str] = None
    super_trader: bool = False
    company_domain: Optional[str] = None
    kyc_started_by: int = 0
    kyc_completed_by: int = 0
    etsmoha_account: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetAllAccessLevelsForEntityContactIdViewModel:
    id: int = 0
    allowed: bool = False
    name: Optional[str] = None
    description: Optional[str] = None
    pretty_text: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class EntityContactViewModel:
    id: int = 0
    guid: Optional[str] = None
    entity_id: int = 0
    first_name: Optional[str] = None
    last_name: Optional[str] = None
    initials: Optional[str] = None
    password: Optional[str] = None
    email_address: Optional[str] = None
    dark_mode: bool = False
    entity: Optional[EntityViewModel] = None
    last_active: Optional[datetime.datetime] = None
    image_guid: Optional[str] = None
    dialing_code_country_id: Optional[int] = None
    telephone_number: Optional[str] = None
    is_bridge_client: bool = False
    access_levels: Optional[List[GetAllAccessLevelsForEntityContactIdViewModel]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLiveEnquiriesForContactAndEntityCompaniesListViewModel:
    company_name: Optional[str] = None
    chat_guid: Optional[str] = None
    entity_contact_guid: Optional[str] = None
    entity_contact_image_guid: Optional[str] = None
    entity_contact_name: Optional[str] = None
    unread_messages_for_entity_contact: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLiveEnquiriesForContactAndEntityBeingWorkedOnByListViewModel:
    handling_enquiry_name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetEnquiryChatListForContactIdViewModel:
    id: int = 0
    guid: Optional[str] = None
    chat_guid: Optional[str] = None
    entity_id: int = 0
    entity_name: Optional[str] = None
    entity_contact_id: int = 0
    entity_contact_first_name: Optional[str] = None
    entity_contact_last_name: Optional[str] = None
    entity_contact_name: Optional[str] = None
    entity_contact_role_in_chat: Optional[str] = None
    chatting_with_entity_id: int = 0
    chatting_with_entity_name: Optional[str] = None
    chatting_with_entity_contact_id: int = 0
    chatting_with_entity_contact_first_name: Optional[str] = None
    chatting_with_entity_contact_last_name: Optional[str] = None
    chatting_with_entity_contact_name: Optional[str] = None
    chatting_with_entity_contact_name_and_entity: Optional[str] = None
    chatting_with_entity_contact_role_in_chat: Optional[str] = None
    unread_messages_for_entity_contact: int = 0
    last_message_date_time: Optional[str] = None
    last_message_text: Optional[str] = None
    chat_id: int = 0
    last_message_was_from_me: bool = False
    last_message_delivered: bool = False
    last_message_read: bool = False
    chatting_with_entity_contact_guid: Optional[str] = None
    deal_recap_code: int = 0
    banner_text: Optional[str] = None
    chatting_with_entity_contact_image_guid: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLiveEnquiriesForContactAndEntityVolumeDescriptionViewModel:
    vol_description: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetLiveEnquiriesForContactAndEntityViewModel:
    id: int = 0
    guid: Optional[str] = None
    flag_round: Optional[bytes] = None
    country_name: Optional[str] = None
    port_name: Optional[str] = None
    latitude: float = 0.0
    longitude: float = 0.0
    vessel_name: Optional[str] = None
    imo_number: int = 0
    delivery_date: Optional[str] = None
    companies: Optional[str] = None
    get_live_enquiries_for_contact_and_entity_companies_list: Optional[List[GetLiveEnquiriesForContactAndEntityCompaniesListViewModel]] = None
    get_live_enquiries_for_contact_and_entity_being_worked_on_by_list: Optional[List[GetLiveEnquiriesForContactAndEntityBeingWorkedOnByListViewModel]] = None
    get_enquiry_chat_list_for_contact_id: Optional[List[GetEnquiryChatListForContactIdViewModel]] = None
    get_live_enquiries_for_contact_and_entity_volume_description: Optional[List[GetLiveEnquiriesForContactAndEntityVolumeDescriptionViewModel]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class LiveEnquiriesForContactAndEntityViewModel:
    just_my_enquiries: bool = False
    can_view_company_enquiries: bool = False
    entity_contact_guid: Optional[str] = None
    show_create_new_enquiry_button: bool = False
    entity_contact: Optional[EntityContactViewModel] = None
    get_live_enquiries_for_contact_and_entity: Optional[List[GetLiveEnquiriesForContactAndEntityViewModel]] = None

Python EnquiriesLive DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /Enquiries/Live HTTP/1.1 
Host: internal.thebunkerbridge.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	JustMyEnquiries: False,
	CanViewCompanyEnquiries: False,
	EntityContactGuid: 00000000000000000000000000000000,
	ShowCreateNewEnquiryButton: False,
	EntityContact: 
	{
		Id: 0,
		Guid: 00000000000000000000000000000000,
		EntityId: 0,
		FirstName: String,
		LastName: String,
		Initials: String,
		Password: String,
		EmailAddress: String,
		DarkMode: False,
		Entity: 
		{
			Id: 0,
			Guid: 00000000000000000000000000000000,
			Type: String,
			Name: String,
			SuperTrader: False,
			CompanyDomain: String,
			KYCStartedBy: 0,
			KYCCompletedBy: 0,
			ETSMOHAAccount: String
		},
		LastActive: 0001-01-01,
		ImageGuid: 00000000000000000000000000000000,
		DialingCodeCountryId: 0,
		TelephoneNumber: String,
		IsBridgeClient: False,
		AccessLevels: 
		[
			{
				Id: 0,
				Allowed: False,
				Name: String,
				Description: String,
				PrettyText: String
			}
		]
	},
	GetLiveEnquiriesForContactAndEntity: 
	[
		{
			Id: 0,
			Guid: 00000000000000000000000000000000,
			FlagRound: AA==,
			CountryName: String,
			PortName: String,
			Latitude: 0,
			Longitude: 0,
			VesselName: String,
			IMONumber: 0,
			DeliveryDate: String,
			Companies: String,
			GetLiveEnquiriesForContactAndEntityCompaniesList: 
			[
				{
					CompanyName: String,
					ChatGuid: 00000000000000000000000000000000,
					EntityContactGuid: 00000000000000000000000000000000,
					EntityContactImageGuid: 00000000000000000000000000000000,
					EntityContactName: String,
					UnreadMessagesForEntityContact: 0
				}
			],
			GetLiveEnquiriesForContactAndEntityBeingWorkedOnByList: 
			[
				{
					HandlingEnquiryName: String
				}
			],
			GetEnquiryChatListForContactId: 
			[
				{
					Id: 0,
					Guid: 00000000000000000000000000000000,
					ChatGuid: 00000000000000000000000000000000,
					EntityId: 0,
					EntityName: String,
					EntityContactId: 0,
					EntityContactFirstName: String,
					EntityContactLastName: String,
					EntityContactName: String,
					EntityContactRoleInChat: String,
					ChattingWithEntityId: 0,
					ChattingWithEntityName: String,
					ChattingWithEntityContactId: 0,
					ChattingWithEntityContactFirstName: String,
					ChattingWithEntityContactLastName: String,
					ChattingWithEntityContactName: String,
					ChattingWithEntityContactNameAndEntity: String,
					ChattingWithEntityContactRoleInChat: String,
					UnreadMessagesForEntityContact: 0,
					LastMessageDateTime: String,
					LastMessageText: String,
					ChatId: 0,
					LastMessageWasFromMe: False,
					LastMessageDelivered: False,
					LastMessageRead: False,
					ChattingWithEntityContactGuid: 00000000000000000000000000000000,
					DealRecapCode: 0,
					BannerText: String,
					ChattingWithEntityContactImageGuid: 00000000000000000000000000000000
				}
			],
			GetLiveEnquiriesForContactAndEntityVolumeDescription: 
			[
				{
					VolDescription: String
				}
			]
		}
	]
}