RFQ Models
Request-for-quote models, including QuoteRequestDisplayInfo returned by
api.jobs.rfq.list.
RFQ models for the ACPortal API.
- class ab.api.models.rfq.RfqForJobParams(*, companyId=None)[source]
Bases:
RequestModelQuery parameters for GET /rfq/forjob/{jobId}.
- Parameters:
companyId (str | None)
- model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class ab.api.models.rfq.RfqAcceptWinnerParams(*, finalAmount=None)[source]
Bases:
RequestModelQuery parameters for POST /rfq/{rfqId}/acceptwinner.
- Parameters:
finalAmount (float | None)
- model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class ab.api.models.rfq.QuoteRequestDisplayInfo(*, rfqId=None, requestId=None, jobId=None, companyId=None, providerCompanyId=None, providerCompanyName=None, companyName=None, companyCode=None, contactName=None, contactPhone=None, contactEmail=None, serviceType=None, type=None, status=None, quotedPrice=None, requestedAmount=None, agentAmount=None, finalAmount=None, transitDays=None, isWinner=None, isActive=None, agentResponded=None, dontUse=None, negotiablePrice=None, expedited=None, notifyBidder=None, apiSendStatus=None, commercialCapabilities=None, address=None, miles=None, comments=None, message=None, dueDate=None, sentUtc=None, sentBy=None, jobServiceStart=None, jobServiceEnd=None, agentAmountJobState=None, **extra_data)[source]
Bases:
ResponseModelRFQ listing entry — GET /rfq/{rfqId} and GET /job/{jobDisplayId}/rfq.
- Parameters:
rfqId (str | None)
requestId (int | None)
jobId (str | None)
companyId (str | None)
providerCompanyId (str | None)
providerCompanyName (str | None)
companyName (str | None)
companyCode (str | None)
contactName (str | None)
contactPhone (str | None)
contactEmail (str | None)
serviceType (str | None)
type (int | None)
status (int | None)
quotedPrice (float | None)
requestedAmount (float | None)
agentAmount (float | None)
finalAmount (float | None)
transitDays (int | None)
isWinner (bool | None)
isActive (bool | None)
agentResponded (bool | None)
dontUse (bool | None)
negotiablePrice (bool | None)
expedited (bool | None)
notifyBidder (bool | None)
apiSendStatus (int | None)
commercialCapabilities (int | None)
address (dict | None)
miles (float | None)
message (str | None)
dueDate (str | None)
sentUtc (str | None)
sentBy (str | None)
jobServiceStart (str | None)
jobServiceEnd (str | None)
agentAmountJobState (str | None)
extra_data (Any)
- model_config = {'alias_generator': <function _to_camel>, 'extra': 'allow', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class ab.api.models.rfq.QuoteRequestStatus(*, status=None, rfqId=None, isActive=None, **extra_data)[source]
Bases:
ResponseModelRFQ status for a service/company combo — GET /job/{id}/rfq/statusof/…
- model_config = {'alias_generator': <function _to_camel>, 'extra': 'allow', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class ab.api.models.rfq.AcceptModel(*, notes=None)[source]
Bases:
RequestModelBody for POST /rfq/{rfqId}/accept and POST /rfq/{rfqId}/comment.
- Parameters:
notes (str | None)
- model_config = {'alias_generator': <function _to_camel>, 'extra': 'forbid', 'populate_by_name': True, 'str_strip_whitespace': True, 'use_enum_values': True, 'validate_by_alias': True, 'validate_by_name': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].