- JSON 表示法
- 運送
- VisitRequest
- LatLng
- Waypoint
- Location
- TimeWindow
- 車輛
- TravelMode
- UnloadingPolicy
- LoadLimit
- 間隔
- DurationLimit
- DistanceLimit
- BreakRule
- BreakRequest
- FrequencyConstraint
- DurationDistanceMatrix
- 列
- TransitionAttributes
- ShipmentTypeIncompatibility
- IncompatibilityMode
- ShipmentTypeRequirement
- RequirementMode
- PrecedenceRule
貨運模型包含一組由一組車輛運作的貨物,同時將總成本降到最低,亦即下列項目的總和:
- 車輛路線費用 (所有車輛的每趟航程費用總和、每趟交通時間的費用和固定費用)。
- 未履行的出貨懲處。
- 全球貨運作業持續時間的費用
JSON 表示法 |
---|
{ "shipments": [ { object ( |
欄位 | |
---|---|
shipments[] |
必須在模型中執行的一組貨運組合。 |
vehicles[] |
用於進行巡訪的車組。 |
globalStartTime |
模型的全域開始和結束時間:如果範圍超出這個範圍,就無法視為有效。 模型的時間範圍必須小於一年,也就是 使用 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
globalEndTime |
如未設定,系統會預設使用世界標準時間 1971 年 1 月 1 日 00:00:00 (亦即秒數:31536000,nanos: 0)。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
globalDurationCostPerHour |
整體計畫的「全球持續時間」,是指所有車輛的最早有效開始時間和最新有效結束時間之間的差異。舉例來說,使用者可以為該數量指定每小時費用,嘗試並嘗試盡可能早完成工作。這筆費用必須與 |
durationDistanceMatrices[] |
指定模型中使用的時間長度和距離矩陣。如果這個欄位空白,系統會根據 使用範例:
|
durationDistanceMatrixSrcTags[] |
定義時間長度和距離矩陣來源的代碼; 標記與 |
durationDistanceMatrixDstTags[] |
定義持續時間和距離矩陣目的地的代碼; 標記與 |
transitionAttributes[] |
轉換屬性已新增至模型。 |
shipmentTypeIncompatibilities[] |
不相容的 shipping_types 集合 (請參閱 |
shipmentTypeRequirements[] |
|
precedenceRules[] |
必須在模型中強制執行的一組優先順序規則。 |
maxActiveVehicles |
限制中車數量上限。如果路線至少執行一次運送,則車輛為活躍狀態。這可用於限制路線數量,以防駕駛人少於車輛,且車隊為異質車輛。系統會執行最佳化調整,選出最適合的車輛組合。必須為正數。 |
運送地址
單一商品的運送方式,從某個到貨到其中一個貨品交付。任何不重複的車輛都必須前往其中一個上車地點 (並據此降低剩餘容量),才將運送行為判定為運轉,並於日後造訪其中一個送貨地點 (並據此重新提高剩餘容量)。
JSON 表示法 |
---|
{ "displayName": string, "pickups": [ { object ( |
欄位 | |
---|---|
displayName |
使用者定義的貨件顯示名稱。長度上限為 63 個半形字元,可以使用 UTF-8 字元。 |
pickups[] |
與運送相關的取貨替代品組。如未指定,車輛只需要前往送貨地點即可。 |
deliveries[] |
與出貨相關的一組運送替代品。如未指定,車輛只需要前往上車地點對應的地點。 |
loadDemands |
貨物運送需求 (例如重量、體積、棧板數量等)。地圖上的鍵必須是說明對應負載類型的 ID (最好同時包含單位)。例如:「weight_kg"、"volume_gallons"、"pallet_count」等。如果特定鍵沒有出現在地圖中,則相對應的載入會被視為空值。 這個物件中包含 |
allowedVehicleIndices[] |
可能提供運送作業的一組車輛。如果空白,所有車輛都可以執行這項動作。車輛是按照 |
costsPerVehicle[] |
指定每輛車出貨時產生的費用。如有指定,則必須具備以下條件:
這些費用必須與 |
costsPerVehicleIndices[] |
|
pickupToDeliveryAbsoluteDetourLimit |
指定相較於從上車到到貨的最短路徑,指定絕對差道時間。指定的值必須為正數,且運送資訊必須至少包含自取和外送。 舉例來說,對於從所選取貨替代選項直接前往指定配送替代地址的時間,請耐心等候。然後設定
如果在同一批貨物上同時指定相對和絕對限制,則每組可能的自取/外送組合會使用較多限制。自 2017 年 10 月起,只有在未以車輛屬性為依據的行程期間,系統才會支援改道活動。 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
pickupToDeliveryTimeLimit |
指定從開始取貨到開始出貨的最長時間。指定的值必須為正數,且運送資訊必須至少包含自取和外送。這不受取貨和外送選取的替代品項,或車輛速度而定。這可以同時指定最大轉乘限制條件:解決方案會同時遵循兩個規格。 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
shipmentType |
非空白字串,用於指定本次出貨的「類型」。這項功能可用於定義 從「 |
label |
指定這項貨物的標籤。這個標籤會在相應 |
ignore |
如果為 true,請略過此運送程序,但不要套用 如果模型中沒有任何 系統允許忽略在 |
penaltyCost |
如果商品未能出貨,該罰金會加計路線的整體費用。如果使用者造訪了取貨和外送替代品,系統會將其視為已出貨。費用可用單位表示模型中所有其他費用相關欄位所使用的單位,而且必須為正數。 重要事項:如未指明這項罰金,即視為無限制,也就是必須完成出貨。 |
pickupToDeliveryRelativeDetourLimit |
指定從上車到下車的最短路徑,比較最長的相對往返時間。指定的值必須為正數,且運送資訊必須至少包含自取和外送。 舉例來說,對於從所選取貨替代選項直接前往指定配送替代地址的時間,請耐心等候。然後設定
如果在同一批貨物上同時指定相對和絕對限制,則每組可能的自取/外送組合會使用較多限制。自 2017 年 10 月起,只有在未以車輛屬性為依據的行程期間,系統才會支援改道活動。 |
VisitRequest
可由車輛完成造訪的要求:設有地理位置 (或下方兩個)、開始和打烊時間 (請見下方說明)、開始和打烊時間 (按時間範圍顯示),以及服務時間長度 (車輛抵達上車或下車後所花費的時間)。
JSON 表示法 |
---|
{ "arrivalLocation": { object ( |
欄位 | |
---|---|
arrivalLocation |
執行這個 |
arrivalWaypoint |
執行這個 |
departureLocation |
完成這個 |
departureWaypoint |
完成這個 |
tags[] |
指定造訪要求中附加的代碼。不允許空白或重複的字串。 |
timeWindows[] |
限製造訪時的抵達時間。請注意,車輛可能會在抵達時間外離開,意即抵達時間 + 持續時間不限於特定時間範圍內。如果車輛在 缺少 時間範圍不得相互重疊,也就是說,時間範圍不得與其他時間範圍重疊或彼此相鄰,且必須以遞增順序排列。
|
duration |
造訪時間,例如從抵達到離開之間車輛花費的時間 (會加入可能的等待時間;請參閱 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
cost |
在車輛路線上處理此造訪要求的費用。這可用於針對不同的上車上車或貨物運送支付不同的費用。此費用必須與 |
loadDemands |
這項造訪要求的載入需求。這與 這個物件中包含 |
visitTypes[] |
指定造訪的類型。這項設定可用於分配車輛完成本次造訪所需的額外時間 (請參閱 類型只能出現一次。 |
label |
指定這個 |
LatLng
代表經緯度組合的物件。以一對雙精準數表示經度度數和緯度度數。除非另有指定,否則這個物件必須符合 WGS84 標準。此外,值必須在正規化範圍內。
JSON 表示法 |
---|
{ "latitude": number, "longitude": number } |
欄位 | |
---|---|
latitude |
緯度度數,必須介於 [-90.0, +90.0] 的範圍之間。 |
longitude |
經度度數,必須介於 [-180.0, +180.0] 的範圍之間。 |
途經點
封裝路線點。路線控點會標出 VisitRequests 的抵達和出發地點,以及車輛的起點和終點。
JSON 表示法 |
---|
{ "sideOfRoad": boolean, // Union field |
欄位 | |
---|---|
sideOfRoad |
選用設定。表示這個路線控點的位置為優先於車輛在特定道路上停下。設定這個值後,路線就會通過該位置,這樣一來,車輛就會在該位置偏離道路中心的一側停靠。這個選項不適用於「WALKING」交通模式。 |
聯集欄位 location_type 。代表地點的各種方式。location_type 只能是下列其中一項: |
|
location |
使用地理座標指定的點,包括選用方向。 |
placeId |
與路線控點相關聯的搜尋點地點 ID。 |
位置
封裝位置 (地理位置點和選用標題)。
JSON 表示法 |
---|
{
"latLng": {
object ( |
欄位 | |
---|---|
latLng |
路線控點的地理座標。 |
heading |
與車流方向相關的指南針標題。這個值用於指定要用於上車和下車的道路側邊。方向值可以介於 0 到 360 之間,其中 0 可指定朝北方的方向,90 則指定截止朝向的方向等等。 |
TimeWindow
時段會限制事件的時間,例如造訪時的抵達時間或車輛的開始和結束時間。
硬性時間範圍邊界 (startTime
和 endTime
) 會強制執行事件的最早和最晚時間,例如 startTime <= event_time <=
endTime
。軟性視窗下限 (softStartTime
) 表示在 softStartTime
當天或之後發生事件的偏好,使用與事件發生 softStartTime 前的時間長度成正比。軟性時間範圍上限 (softEndTime
) 代表在 softEndTime
當天或之前發生事件的偏好,產生與事件發生 softEndTime
後所需費用的比例相等。startTime
、endTime
、softStartTime
和 softEndTime
應符合全球時間限制 (請參閱 ShipmentModel.global_start_time
和 ShipmentModel.global_end_time
),且必須遵循以下規定:
0 <= `startTime` <= `softStartTime` <= `endTime` and
0 <= `startTime` <= `softEndTime` <= `endTime`.
JSON 表示法 |
---|
{ "startTime": string, "endTime": string, "softStartTime": string, "softEndTime": string, "costPerHourBeforeSoftStartTime": number, "costPerHourAfterSoftEndTime": number } |
欄位 | |
---|---|
startTime |
硬性時間範圍的開始時間。如未指定,系統會將該值設為 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
endTime |
硬性時間範圍的結束時間。如未指定,系統會將該值設為 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
softStartTime |
時間範圍的軟開始時間。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
softEndTime |
時間範圍的軟結束時間。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
costPerHourBeforeSoftStartTime |
如果在 softStartTime 之前發生事件,計入模型中其他費用的每小時費用,計算方式如下:
此費用必須是正數,且只有在已設定 softStartTime 時才能設定該欄位。 |
costPerHourAfterSoftEndTime |
如果事件發生在
這筆費用必須是正數,且只有在已設定 |
車輛
模擬運送問題的車輛。如要解決運送問題,這會為這輛車建立從 startLocation
開始並在 endLocation
結束的路線。路徑是指一連串的造訪 (請參閱 ShipmentRoute
)。
JSON 表示法 |
---|
{ "displayName": string, "travelMode": enum ( |
欄位 | |
---|---|
displayName |
使用者定義的車輛顯示名稱。長度上限為 63 個半形字元,可以使用 UTF-8 字元。 |
travelMode |
交通模式會影響車輛可使用的道路和速度。另請參閱 |
startLocation |
車輛在收件前開始的地理位置。如未指定,車輛會從車輛第一次上車地點開始。如果運送模型包含時間長度和距離矩陣,就不得指定 |
startWaypoint |
這個路線控點代表車輛出發前的地理位置。如未指定 |
endLocation |
車輛在上次 |
endWaypoint |
代表車輛在上次 |
startTags[] |
指定附加至車輛路線起點的標記。 不允許空白或重複的字串。 |
endTags[] |
指定附加至車輛路線終點的標記。 不允許空白或重複的字串。 |
startTimeWindows[] |
車輛可能離開發車地點的時間範圍。這些限制不得超過全球時間限制 (請參閱 屬於相同重複欄位的時段必須不連續,也就是說,所有時間範圍不得與另一個時間範圍重疊或相鄰,且必須按照時間順序排列。
|
endTimeWindows[] |
車輛可能抵達終點的時段。這些限制不得超過全球時間限制 (請參閱 屬於相同重複欄位的時段必須不連續,也就是說,所有時間範圍不得與另一個時間範圍重疊或相鄰,且必須按照時間順序排列。
|
unloadingPolicy |
正在卸載對車輛強制執行的政策。 |
loadLimits |
車輛容量 (例如重量、體積、棧板數量)。地圖上的鍵是載入類型的 ID,與 這個物件中包含 |
costPerHour |
車輛費用:所有費用加總,且必須與 車輛路線每小時費用。系統會根據路線的總時間計算這筆費用,包括交通時間、等待時間和造訪時間。如果使用 |
costPerTraveledHour |
車輛每經過一小時的費用。這筆費用僅適用於路線行駛時間 (如 |
costPerKilometer |
車輛路線每公里的費用。此費用適用於 |
fixedCost |
此車輛用來處理運送事宜時須支付固定費用。 |
usedIfRouteIsEmpty |
這個欄位僅適用於車輛路線不提供任何貨運的車輛。指出車輛是否應視為二手車。 如果為 true,車輛會從起點到終點,即使沒有供貨,也會將起點途中出發的時間和距離成本納入考量。 否則,車輛無法從起點到終點之間移動,而這輛車沒有排定的 |
routeDurationLimit |
適用於車輛路線總時間長度的限制。在特定 |
travelDurationLimit |
適用於車輛路線的行駛時間限制。在指定的 |
routeDistanceLimit |
適用於車輛路線總距離的限制。在指定的 |
extraVisitDurationForVisitType |
指定從 VisitTypes 字串到時間長度的對應。時間長度除了 如果造訪要求有多個類型,系統會在地圖上為每種類型加入一個時間長度。 這個物件中包含 |
breakRule |
說明這輛車要強制執行的休息時間表。如果留空,這輛車不會安排休息時間。 |
label |
指定這輛車的標籤。這個標籤會在回應中回報為相應 |
ignore |
如果為 true, 如果運送由 如果運送資訊是由 |
travelDurationMultiple |
指定乘法係數,可用於增加或減少這輛車的交通時間。舉例來說,如果設為 2.0,代表這輛車的速度較慢,且交通時間是標準車輛的兩倍。但這不會影響造訪停留時間。如果指定 警告:套用此倍數後,系統會將交通時間四捨五入至最接近的秒數,但在執行數字運算之前,因此如果計算精確度,可能會降低精確度。 另請參閱下方的 |
TravelMode
供車輛使用的交通方式。
這些應是 Google 地圖平台路線優先 API 交通模式的子集,詳情請參閱:https://developers.google.com/maps/documentation/routes_preferred/reference/rest/Shared.Types/RouteTravelMode。
列舉 | |
---|---|
TRAVEL_MODE_UNSPECIFIED |
未指定交通方式,相當於 DRIVING 。 |
DRIVING |
與行車路線 (汽車、...) 對應的交通模式。 |
WALKING |
與步行路線對應的交通模式。 |
UnloadingPolicy
車輛卸載方式的政策。僅適用於有自取和外送服務的運送。
其他運輸公司可在 unloadingPolicy
以外的任何路線上免費運送。
列舉 | |
---|---|
UNLOADING_POLICY_UNSPECIFIED |
未指定且未載入的政策;遞送作業必須在相應的上車地點後不久。 |
LAST_IN_FIRST_OUT |
商品必須以反向取貨順序舉行 |
FIRST_IN_FIRST_OUT |
配送地點必須與取貨順序相同 |
LoadLimit
定義車輛適用的負載限制,例如:「這輛卡車最多只能攜帶 3500 公斤。」查看《loadLimits
》。
JSON 表示法 |
---|
{ "softMaxLoad": string, "costPerUnitAboveSoftMax": number, "startLoadInterval": { object ( |
欄位 | |
---|---|
softMaxLoad |
負載的軟限制。查看《 |
costPerUnitAboveSoftMax |
如果這輛車路線的負載超過 |
startLoadInterval |
車輛在路線起點時可接受的裝載間隔。 |
endLoadInterval |
路線終點的可接受載客間隔。 |
maxLoad |
可接受的負載量上限。 |
時間間隔
可接受的負載量間隔。
JSON 表示法 |
---|
{ "min": string, "max": string } |
欄位 | |
---|---|
min |
|
max |
可接受的最大負載。必須是 0 以上的數字。如未指定,則不受這個訊息限制的負載上限。如果兩者同時指定, |
DurationLimit
用於定義車輛路線最長持續時間的限制。包括硬性或軟性問題。
定義非強制性限制欄位時,必須同時定義「軟上限」門檻及其相關費用。
JSON 表示法 |
---|
{ "maxDuration": string, "softMaxDuration": string, "quadraticSoftMaxDuration": string, "costPerHourAfterSoftMax": number, "costPerSquareHourAfterQuadraticSoftMax": number } |
欄位 | |
---|---|
maxDuration |
硬性限制會限制時間長度不超過 maxDuration。 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
softMaxDuration |
軟性限制不會強制執行持續時間上限,但如果違反,則會導致路線產生費用。這筆費用會併入模型中定義的其他費用,而單位也相同。 如已定義, 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
quadraticSoftMaxDuration |
軟性限制不會強制執行持續時間上限,但如果違反,會導致路徑在期間產生二次級費用。這筆費用會併入模型中定義的其他費用,而單位也相同。 如已定義,
時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
costPerHourAfterSoftMax |
違反
費用不得為負數。 |
costPerSquareHourAfterQuadraticSoftMax |
違反 如果時間長度未達門檻,額外費用則為 0。如果時間長度未達門檻,則費用取決於持續時間:
費用不得為負數。 |
DistanceLimit
用於定義可以行駛的距離上限。包括硬性或軟性問題。
如果定義了軟性限制,則 softMaxMeters
和 costPerKilometerAboveSoftMax
都必須定義,且不得為負數。
JSON 表示法 |
---|
{ "maxMeters": string, "softMaxMeters": string, "costPerKilometerAboveSoftMax": number } |
欄位 | |
---|---|
maxMeters |
嚴格限制會限制距離不超過 maxMeters。限制不得為負數。 |
softMaxMeters |
非強制性的距離上限不會強制執行距離上限,但當用量超出上限時,其費用會加計到模型中定義的其他費用,也就是相同的單位。 如果已定義的 softMaxMeters 必須小於 maxMeters,且不得為負數。 |
costPerKilometerAboveSoftMax |
如果距離超過
費用不得為負數。 |
BreakRule
產生車輛休息時間 (例如午休時間) 的規則。「休息時間」是指車輛在目前位置保持閒置狀態且無法進行任何造訪的連續時間範圍。可能會發生下列狀況:
- 在兩次造訪間來回移動的期間 (包括造訪前後的等待時間,但不在造訪中途),此時,您便可延長訪客兩次造訪之間的相應運送時間。
- 或車輛開始之前 (車輛不得在休息中開始),這樣就不會影響車輛的開始時間。
- 或車輛結束後 (Ditto,車輛結束時間)。
JSON 表示法 |
---|
{ "breakRequests": [ { object ( |
欄位 | |
---|---|
breakRequests[] |
廣告插播的順序。請參閱 |
frequencyConstraints[] |
可能會套用多種 |
BreakRequest
您必須事先得知適用於每輛車的休息時間順序 (例如編號和順序)。重複的 BreakRequest
會按照建立順序定義這個序列。他們的時間範圍 (earliestStartTime
/ latestStartTime
) 可能會重疊,但必須與訂單相容 (已勾選)。
JSON 表示法 |
---|
{ "earliestStartTime": string, "latestStartTime": string, "minDuration": string } |
欄位 | |
---|---|
earliestStartTime |
必要欄位。休息時間的下限 (含)。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
latestStartTime |
必要欄位。廣告插播的開頭上限 (含)。 採用 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度和最多九個小數位數。範例: |
minDuration |
必要欄位。廣告插播的時間長度下限。必須為正數。 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
FrequencyConstraint
您可以強制執行最短廣告插播頻率,藉此進一步限制上述廣告插播的頻率和時間長度,例如「每 12 小時必須休息至少 1 小時」。假設這個結果可以解讀為「在 12 小時的任何滑動時間範圍內,至少要有一個間隔至少一小時」,則範例會轉譯為下列 FrequencyConstraint
:
{
minBreakDuration { seconds: 3600 } # 1 hour.
maxInterBreakDuration { seconds: 39600 } # 11 hours (12 - 1 = 11).
}
除了已在 BreakRequest
中指定的時間範圍和最短持續時間,解決方案中的廣告插播時間點與時間長度會尊重所有這類限制。
FrequencyConstraint
在實務上可能會適用於非連續的廣告插播。例如,下列排程會遵循「每 12 小時 1 小時」的範例:
04:00 vehicle start
.. performing travel and visits ..
09:00 1 hour break
10:00 end of the break
.. performing travel and visits ..
12:00 20-min lunch break
12:20 end of the break
.. performing travel and visits ..
21:00 1 hour break
22:00 end of the break
.. performing travel and visits ..
23:59 vehicle end
JSON 表示法 |
---|
{ "minBreakDuration": string, "maxInterBreakDuration": string } |
欄位 | |
---|---|
minBreakDuration |
必要欄位。這項限制的最短廣告插播時間長度。非負數。請參閱 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
maxInterBreakDuration |
必要欄位。路線中任何時間間隔的最長間隔時間 (不包含至少一部分的 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
DurationDistanceMatrix
指定從造訪地點和車輛起點前往造訪地點的持續時間與距離矩陣。
JSON 表示法 |
---|
{
"rows": [
{
object ( |
欄位 | |
---|---|
rows[] |
指定時間長度與距離矩陣的資料列。元素數量必須和 |
vehicleStartTag |
定義此時間長度和距離矩陣適用的車輛標記。如果空白,這項決定會套用至所有車輛,且只能有一個矩陣。 每個車輛起點都必須與一個矩陣完全相符,也就是與其其中一個 所有矩陣都必須有不同的 |
資料列
指定時間長度與距離矩陣的資料列。
JSON 表示法 |
---|
{ "durations": [ string ], "meters": [ number ] } |
欄位 | |
---|---|
durations[] |
指定資料列的時間長度值。元素數量必須和 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
meters[] |
指定資料列的距離值。如果模型中的距離沒有費用或限制,可以留空;否則,元素數量必須和 |
TransitionAttributes
指定路線上連續兩次造訪間的轉場屬性。同一種轉場效果可能會有多個 TransitionAttributes
:在這種情況下,所有額外費用會增加,並套用最嚴格的限製或限制 (以下自然的「AND」語意)。
JSON 表示法 |
---|
{
"srcTag": string,
"excludedSrcTag": string,
"dstTag": string,
"excludedDstTag": string,
"cost": number,
"costPerKilometer": number,
"distanceLimit": {
object ( |
欄位 | |
---|---|
srcTag |
定義這些屬性組合 (src->dst) 轉換的代碼會套用到這些屬性。 如果 |
excludedSrcTag |
查看《 |
dstTag |
如果目的地造訪或車輛結束的 |
excludedDstTag |
查看《 |
cost |
指定執行這項轉換作業的費用。這與模型內所有其他費用的單位相同,而且不得為負數。此費用會與所有其他現有費用相加。 |
costPerKilometer |
指定執行這個轉換作業時,系統對移動距離所套用的每公里費用。這會增加車輛上指定的任何 |
distanceLimit |
指定執行轉換時移動的距離限制。 自 2021 年 6 月起,僅支援軟性限制。 |
delay |
指定執行這項轉場效果時發生的延遲時間。 這類延遲一律會在來源造訪完成「之後」以及開始目的地造訪「之前」, 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
ShipmentTypeIncompatibility
根據 shippingType 指定貨件之間的不相容問題。根據不相容模式,同一條路線上出現不相容的貨運情況也會受到限制。
JSON 表示法 |
---|
{
"types": [
string
],
"incompatibilityMode": enum ( |
欄位 | |
---|---|
types[] |
不相容類型清單。其中兩件出貨商品的 |
incompatibilityMode |
已套用至不相容的模式。 |
IncompatibilityMode
用於定義同一條路線中不相容貨物外觀受到限制的模式。
列舉 | |
---|---|
INCOMPATIBILITY_MODE_UNSPECIFIED |
未指定不相容的模式。請一律不要使用這個值。 |
NOT_PERFORMED_BY_SAME_VEHICLE |
在這個模式中,不相容類型的兩件運送不可共用同一輛車。 |
NOT_IN_SAME_VEHICLE_SIMULTANEOUSLY |
如果兩種運送方式與
|
ShipmentTypeRequirement
根據出貨類型指定不同貨件的運輸需求。要求細節由需求模式定義。
JSON 表示法 |
---|
{
"requiredShipmentTypeAlternatives": [
string
],
"dependentShipmentTypes": [
string
],
"requirementMode": enum ( |
欄位 | |
---|---|
requiredShipmentTypeAlternatives[] |
「 |
dependentShipmentTypes[] |
凡是在 注意:不允許鏈結規定,以便 |
requirementMode |
已對要求套用模式。 |
RequirementMode
用於定義路線上依附運送情形的模式。
列舉 | |
---|---|
REQUIREMENT_MODE_UNSPECIFIED |
未指定的要求模式。請一律不要使用這個值。 |
PERFORMED_BY_SAME_VEHICLE |
在這個模式下,所有「相依」運送資訊都必須與至少其中一份「必要」運送共乘車輛相同。 |
IN_SAME_VEHICLE_AT_PICKUP_TIME |
使用 因此,「相依」運送的取貨服務必須具有下列其中一項條件:
|
IN_SAME_VEHICLE_AT_DELIVERY_TIME |
和先前相同,不過「相依」出貨時,交付時必須在車上安排「必要」運送事宜。 |
PrecedenceRule
兩個事件之間的優先規則 (每個事件為取貨或運送交付):「第二」事件必須在「第一個」開始後至少 offsetDuration
開始。
有多個優先順序可指相同 (或相關的) 事件,例如:「B 點取餐後發生」和「到 A 點上車後進行 C 取貨」。
此外,優先順序只會在這兩件出貨時套用,否則會遭到忽略。
JSON 表示法 |
---|
{ "firstIsDelivery": boolean, "secondIsDelivery": boolean, "offsetDuration": string, "firstIndex": integer, "secondIndex": integer } |
欄位 | |
---|---|
firstIsDelivery |
指出「第一個」事件是否為提交事件。 |
secondIsDelivery |
表示「second」事件是否為提交。 |
offsetDuration |
「第一個」和「秒」事件之間的偏移值。可以是負數。 時間長度以秒為單位,最多可有 9 個小數位數,並結尾為「 |
firstIndex |
「第一個」事件的運送索引。必須指定這個欄位。 |
secondIndex |
「第二件」事件的出貨索引。必須指定這個欄位。 |