Skip to content

Commit 90e8e9a

Browse files
Dmitry KovalDmitry Koval
authored andcommitted
Orders API: History and Archive
1 parent 8e2418f commit 90e8e9a

16 files changed

+1142
-3
lines changed

route4me-csharp-sdk/Route4MeSDKLibrary/Consts.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,14 @@ public static class R4MEInfrastructureSettingsV5
218218

219219
public const string AddressBarcodes = MainHost + "/address-barcodes";
220220

221+
#region Orders
222+
223+
public const string Orders = MainHost + "/orders";
224+
public const string OrdersArchive = Orders + "/archive";
225+
public const string OrdersHistory = Orders + "/history";
226+
227+
#endregion
228+
221229
#endregion
222230
}
223231
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace Route4MeSDK.DataTypes.V5
4+
{
5+
/// <summary>
6+
/// Archive orders response
7+
/// </summary>
8+
[DataContract]
9+
public class ArchiveOrdersResponse
10+
{
11+
/// <summary>
12+
/// Next page cursor
13+
/// </summary>
14+
[DataMember(Name = "next_page_cursor", EmitDefaultValue = false)]
15+
public string NextPageCursor { get; set; }
16+
17+
/// <summary>
18+
/// The list of archived orders
19+
/// </summary>
20+
[DataMember(Name = "items", EmitDefaultValue = false)]
21+
public ArchivedOrder[] Items { get; set; }
22+
}
23+
}
Lines changed: 278 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,278 @@
1+
using System.Collections.Generic;
2+
using System.Runtime.Serialization;
3+
4+
namespace Route4MeSDK.DataTypes.V5
5+
{
6+
/// <summary>
7+
/// The archived order
8+
/// </summary>
9+
[DataContract]
10+
public class ArchivedOrder
11+
{
12+
/// <summary>
13+
/// Timestamp of creation
14+
/// </summary>
15+
[DataMember(Name = "created_timestamp", EmitDefaultValue = false)]
16+
public long CreatedTimestamp { get; set; }
17+
18+
/// <summary>
19+
/// Timestamp of update
20+
/// </summary>
21+
[DataMember(Name = "updated_timestamp", EmitDefaultValue = false)]
22+
public long? UpdatedTimestamp { get; set; }
23+
24+
/// <summary>
25+
/// Order ID
26+
/// </summary>
27+
[DataMember(Name = "order_id", EmitDefaultValue = false)]
28+
public long OrderId { get; set; }
29+
30+
/// <summary>
31+
/// Order status ID
32+
/// </summary>
33+
[DataMember(Name = "order_status_id", EmitDefaultValue = false)]
34+
public int OrderStatusId { get; set; }
35+
36+
/// <summary>
37+
/// Day added YYMMDD
38+
/// </summary>
39+
[DataMember(Name = "day_added_YYMMDD", EmitDefaultValue = false)]
40+
public string DayAdded { get; set; }
41+
42+
/// <summary>
43+
/// Day scheduled for YYMMDD
44+
/// </summary>
45+
[DataMember(Name = "day_scheduled_for_YYMMDD", EmitDefaultValue = false)]
46+
public string DayScheduled { get; set; }
47+
48+
/// <summary>
49+
/// Address alias
50+
/// </summary>
51+
[DataMember(Name = "address_alias", EmitDefaultValue = false)]
52+
public string AddressAlias { get; set; }
53+
54+
/// <summary>
55+
/// Address 1
56+
/// </summary>
57+
[DataMember(Name = "address_1", EmitDefaultValue = false)]
58+
public string Address1 { get; set; }
59+
60+
/// <summary>
61+
/// Address 2
62+
/// </summary>
63+
[DataMember(Name = "address_2", EmitDefaultValue = false)]
64+
public string Address2 { get; set; }
65+
66+
/// <summary>
67+
/// The id of the member inside the route4me system
68+
/// </summary>
69+
[DataMember(Name = "member_id", EmitDefaultValue = false)]
70+
public long? MemberId { get; set; }
71+
72+
/// <summary>
73+
/// First name
74+
/// </summary>
75+
[DataMember(Name = "EXT_FIELD_first_name", EmitDefaultValue = false)]
76+
public string ExtFieldFirstName { get; set; }
77+
78+
/// <summary>
79+
/// Last name
80+
/// </summary>
81+
[DataMember(Name = "EXT_FIELD_last_name", EmitDefaultValue = false)]
82+
public string ExtFieldLastName { get; set; }
83+
84+
/// <summary>
85+
/// E-mail
86+
/// </summary>
87+
[DataMember(Name = "EXT_FIELD_email", EmitDefaultValue = false)]
88+
public string ExtFieldEmail { get; set; }
89+
90+
/// <summary>
91+
/// Phone
92+
/// </summary>
93+
[DataMember(Name = "EXT_FIELD_phone", EmitDefaultValue = false)]
94+
public string ExtFieldPhone { get; set; }
95+
96+
/// <summary>
97+
/// City address
98+
/// </summary>
99+
[DataMember(Name = "address_city", EmitDefaultValue = false)]
100+
public string AddressCity { get; set; }
101+
102+
/// <summary>
103+
/// Address state id
104+
/// </summary>
105+
[DataMember(Name = "address_state_id", EmitDefaultValue = false)]
106+
public string AddressStateId { get; set; }
107+
108+
/// <summary>
109+
/// Address country id
110+
/// </summary>
111+
[DataMember(Name = "address_country_id", EmitDefaultValue = false)]
112+
public string AddressCountryId { get; set; }
113+
114+
/// <summary>
115+
/// Generate optimal routes and driving directions to this curbside latitude
116+
/// </summary>
117+
[DataMember(Name = "curbside_lat", EmitDefaultValue = false)]
118+
public double? CurbsideLat { get; set; }
119+
120+
/// <summary>
121+
/// Generate optimal routes and driving directions to the curbside longitude
122+
/// </summary>
123+
[DataMember(Name = "curbside_lng", EmitDefaultValue = false)]
124+
public double? CurbsideLng { get; set; }
125+
126+
/// <summary>
127+
/// Geo latitude. Required
128+
/// </summary>
129+
[DataMember(Name = "cached_lat")]
130+
public double CachedLat { get; set; }
131+
132+
/// <summary>
133+
/// Geo longitude. Required
134+
/// </summary>
135+
[DataMember(Name = "cached_lng")]
136+
public double CachedLng { get; set; }
137+
138+
/// <summary>
139+
/// Custom data
140+
/// </summary>
141+
[DataMember(Name = "EXT_FIELD_custom_data", EmitDefaultValue = false)]
142+
public Dictionary<string, string> ExtFieldCustomData { get; set; }
143+
144+
/// <summary>
145+
/// How many times the order visited.
146+
/// </summary>
147+
[DataMember(Name = "visited_count", EmitDefaultValue = false)]
148+
public int VisitedCount { get; set; }
149+
150+
/// <summary>
151+
/// Number of the routes containing the order.
152+
/// </summary>
153+
[DataMember(Name = "in_route_count", EmitDefaultValue = false)]
154+
public int? InRouteCount { get; set; }
155+
156+
/// <summary>
157+
/// Last visited timestamp.
158+
/// </summary>
159+
[DataMember(Name = "last_visited_timestamp", EmitDefaultValue = false)]
160+
public long? LastVisitedTimestamp { get; set; }
161+
162+
/// <summary>
163+
/// Last routed timestamp.
164+
/// </summary>
165+
[DataMember(Name = "last_routed_timestamp", EmitDefaultValue = false)]
166+
public long? LastRoutedTimestamp { get; set; }
167+
168+
/// <summary>
169+
/// Timestamp added
170+
/// </summary>
171+
[DataMember(Name = "timestamp_added", EmitDefaultValue = false)]
172+
public string TimestampAdded { get; set; }
173+
174+
/// <summary>
175+
/// Local time window start
176+
/// </summary>
177+
[DataMember(Name = "local_time_window_start", EmitDefaultValue = false)]
178+
public long? LocalTimeWindowStart { get; set; }
179+
180+
/// <summary>
181+
/// Local time window end
182+
/// </summary>
183+
[DataMember(Name = "local_time_window_end", EmitDefaultValue = false)]
184+
public long? LocalTimeWindowEnd { get; set; }
185+
186+
/// <summary>
187+
/// Second Local time window start
188+
/// </summary>
189+
[DataMember(Name = "local_time_window_start_2", EmitDefaultValue = false)]
190+
public long? LocalTimeWindowStart2 { get; set; }
191+
192+
/// <summary>
193+
/// Second local time window end
194+
/// </summary>
195+
[DataMember(Name = "local_time_window_end_2", EmitDefaultValue = false)]
196+
public long? LocalTimeWindowEnd2 { get; set; }
197+
198+
/// <summary>
199+
/// Local timezone string
200+
/// </summary>
201+
[DataMember(Name = "local_timezone_string", EmitDefaultValue = false)]
202+
public string LocalTimezoneString { get; set; }
203+
204+
/// <summary>
205+
/// Service time
206+
/// </summary>
207+
[DataMember(Name = "service_time", EmitDefaultValue = false)]
208+
public long? ServiceTime { get; set; }
209+
210+
/// <summary>
211+
/// Color on the map.
212+
/// </summary>
213+
[DataMember(Name = "color", EmitDefaultValue = false)]
214+
public string Color { get; set; }
215+
216+
/// <summary>
217+
/// Order icon
218+
/// </summary>
219+
[DataMember(Name = "order_icon", EmitDefaultValue = false)]
220+
public string OrderIcon { get; set; }
221+
222+
/// <summary>
223+
/// Is validated
224+
/// </summary>
225+
[DataMember(Name = "is_validated", EmitDefaultValue = false)]
226+
public bool IsValidated { get; set; }
227+
228+
/// <summary>
229+
/// Is pending
230+
/// </summary>
231+
[DataMember(Name = "is_pending", EmitDefaultValue = false)]
232+
public bool IsPending { get; set; }
233+
234+
/// <summary>
235+
/// Is accepted
236+
/// </summary>
237+
[DataMember(Name = "is_accepted", EmitDefaultValue = false)]
238+
public bool IsAccepted { get; set; }
239+
240+
/// <summary>
241+
/// Is started
242+
/// </summary>
243+
[DataMember(Name = "is_started", EmitDefaultValue = false)]
244+
public bool IsStarted { get; set; }
245+
246+
/// <summary>
247+
/// Is completed
248+
/// </summary>
249+
[DataMember(Name = "is_completed", EmitDefaultValue = false)]
250+
public bool IsCompleted { get; set; }
251+
252+
/// <summary>
253+
/// System-wide unique code, which permits end-users (recipients)
254+
/// to track the status of their order.
255+
/// </summary>
256+
[DataMember(Name = "tracking_number", EmitDefaultValue = false)]
257+
[ReadOnly(true)]
258+
public string TrackingNumber { get; set; }
259+
260+
/// <summary>
261+
/// Route address stop type. For available values see Enums.AddressStopType
262+
/// </summary>
263+
[DataMember(Name = "address_stop_type")]
264+
public string AddressStopType { get; set; }
265+
266+
/// <summary>
267+
/// Last status.
268+
/// </summary>
269+
[DataMember(Name = "last_status")]
270+
public string LastStatus { get; set; }
271+
272+
/// <summary>
273+
/// Address ZIP code
274+
/// </summary>
275+
[DataMember(Name = "address_zip", EmitDefaultValue = false)]
276+
public string AddressZip { get; set; }
277+
}
278+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System.Runtime.Serialization;
2+
3+
namespace Route4MeSDKLibrary.DataTypes.V5.Orders
4+
{
5+
/// <summary>
6+
/// The order diff
7+
/// </summary>
8+
[DataContract]
9+
public class OrderDiff
10+
{
11+
/// <summary>
12+
/// Field
13+
/// </summary>
14+
[DataMember(Name = "field", EmitDefaultValue = false)]
15+
public string Field { get; set; }
16+
17+
/// <summary>
18+
/// Old value
19+
/// </summary>
20+
[DataMember(Name = "old_value", EmitDefaultValue = false)]
21+
public string OldValue { get; set; }
22+
23+
/// <summary>
24+
/// New value
25+
/// </summary>
26+
[DataMember(Name = "new_value", EmitDefaultValue = false)]
27+
public string NewValue { get; set; }
28+
}
29+
}

0 commit comments

Comments
 (0)