diff --git a/samples/msgext-northwind-inventory-csharp/.gitignore b/samples/msgext-northwind-inventory-csharp/.gitignore new file mode 100644 index 0000000..06fed15 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/.gitignore @@ -0,0 +1,30 @@ +# TeamsFx files +build +appPackage/build +env/.env.*.user +env/.env.local +appsettings.Development.json +.deployment +appsettings.json +.vs +__azurite* +__blobstorage__ +__queuestorage__ + +# User-specific files +*.user + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Notification local store +.notification.localstore.json diff --git a/samples/msgext-northwind-inventory-csharp/AdapterWithErrorHandler.cs b/samples/msgext-northwind-inventory-csharp/AdapterWithErrorHandler.cs new file mode 100644 index 0000000..bd4bc02 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/AdapterWithErrorHandler.cs @@ -0,0 +1,33 @@ +using Microsoft.Bot.Builder.Integration.AspNet.Core; +using Microsoft.Bot.Builder.TraceExtensions; +using Microsoft.Bot.Connector.Authentication; +using Microsoft.Bot.Schema; + +namespace NorthwindInventory; + +public class AdapterWithErrorHandler : CloudAdapter +{ + public AdapterWithErrorHandler(BotFrameworkAuthentication auth, ILogger logger) + : base(auth, logger) + { + OnTurnError = async (turnContext, exception) => + { + // Log any leaked exception from the application. + // NOTE: In production environment, you should consider logging this to + // Azure Application Insights. Visit https://aka.ms/bottelemetry to see how + // to add telemetry capture to your bot. + logger.LogError(exception, $"[OnTurnError] unhandled error : {exception.Message}"); + + // Only send error message for user messages, not for other message types so the bot doesn't spam a channel or chat. + if (turnContext.Activity.Type == ActivityTypes.Message) + { + // Send a message to the user + await turnContext.SendActivityAsync("The bot encountered an error or bug."); + await turnContext.SendActivityAsync("To continue to run this bot, please fix the bot source code."); + + // Send a trace activity, which will be displayed in the Bot Framework Emulator + await turnContext.TraceActivityAsync("OnTurnError Trace", exception.Message, "https://www.botframework.com/schemas/error", "TurnError"); + } + }; + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/AdaptiveCards/editCard.json b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/editCard.json new file mode 100644 index 0000000..fb8defc --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/editCard.json @@ -0,0 +1,236 @@ +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.5", + "refresh": { + "userIds": [], + "action": { + "type": "Action.Execute", + "verb": "refresh", + "title": "Refresh", + "data": { + "productId": "${productId}" + } + } + }, + "body": [ + { + "type": "Container", + "separator": true, + "items": [ + { + "type": "ColumnSet", + "columns": [ + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "size": "large", + "weight": "bolder", + "text": "📦 ${productName}", + "wrap": true, + "style": "heading" + } + ], + "width": "60" + }, + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "${inventoryStatus}", + "wrap": true, + "horizontalAlignment": "Right", + "isSubtle": true, + "color": "${if(inventoryStatus == 'In stock', 'good', if(inventoryStatus == 'low stock', 'warning', 'attention'))}" + } + ], + "width": "40" + } + ] + } + + ], + "bleed": true + }, + { + "type": "Container", + "style": "emphasis", + "items": [ + { + "type": "TextBlock", + "weight": "Bolder", + "text": "**📍Supplier information**", + "wrap": true, + + "size": "Medium", + "isSubtle": false + }, + { + "type": "ColumnSet", + "separator": true, + "columns": [ + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + { + "title": "Name", + "value": "${supplierName}" + }, + { + "title": "City", + "value": "${supplierCity}" + } + + ], + "separator": true + } + ] + } + + ] + }, + { + "type": "TextBlock", + "weight": "Bolder", + "text": "**🛒 Stock information**", + "wrap": true, + "size": "Medium", + "isSubtle": false + }, + { + "type": "ColumnSet", + "separator": true, + "columns": [ + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + { + "title": "Category", + "value": "${categoryName}" + }, + { + "title": "Unit price", + "value": "${unitPrice} USD" + }, + { + "title": "Avg discount", + "value": "${string(averageDiscount)} %" + }, + { + "title": "Inventory valuation", + "value": "${string(inventoryValue)} USD" + } + ], + "separator": true + } + ] + }, + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + + { + "title": "Units in stock", + "value": "${string(unitsInStock)}" + }, + { + "title": "Units on order", + "value": "${string(unitsOnOrder)}" + }, + { + "title": "Reorder Level", + "value": "${string(reorderLevel)}" + }, + { + "title": "Revenue this period", + "value": "${string(revenue)} USD" + } + ], + "separator": true + } + ] + } + + + ] + }] + }, + { + "type": "Container", + "items": [ + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.ShowCard", + "title": "Take action", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "Input.Text", + "id": "txtStock", + "label": "Quantity", + "min": 0, + "max": 9999, + "errorMessage": "Invalid input, use whole positive number", + "style": "Tel" + } + ], + "actions": [ + { + "type": "Action.Execute", + "title": "Update stock ✅", + "verb": "ok", + "data": { + "productId": "${productId}" + } + }, + { + "type": "Action.Execute", + "title": "Restock 📦", + "verb": "restock", + "data": { + "productId": "${productId}" + } + + }, + { + "type": "Action.Execute", + "title": "Cancel restock ❌", + "verb": "cancel", + "data": { + "productId": "${productId}" + } + } + ] + } + } + ] + } + ] + } + ] +} + diff --git a/samples/msgext-northwind-inventory-csharp/AdaptiveCards/errorCard.json b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/errorCard.json new file mode 100644 index 0000000..8013320 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/errorCard.json @@ -0,0 +1,21 @@ +{ + "type": "AdaptiveCard", + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "version": "1.5", + "body": [ + { + "type": "TextBlock", + "text": "Oops! Something went wrong:", + "wrap": true + }, + { + "type": "Graph", + "someProperty": "foo", + "fallback": { + "type": "TextBlock", + "text": "Could not update stock at this time", + "wrap": true + } + } + ] + } \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/AdaptiveCards/sampleData.json b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/sampleData.json new file mode 100644 index 0000000..1fa60c7 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/sampleData.json @@ -0,0 +1,19 @@ +{ + "productName": "Chai", + "unitsInStock": "130", + "productId": 1, + "categoryId": 1, + "imageUrl": "https://picsum.photos/id/431/200/300", + "supplierName": "Contoso Beverage Company", + "supplierCity": "London", + "categoryName": "Beverages", + "inventoryStatus": "In stock", + "unitPrice": "18", + "quantityPerUnit": "10 boxes x 20 bags", + "unitsOnOrder": "25", + "reorderLevel": "25", + "unitSales": "828", + "inventoryValue": "2,340", + "revenue": "12,788", + "averageDiscount": "8.6%" +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/AdaptiveCards/successCard.json b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/successCard.json new file mode 100644 index 0000000..1f2b698 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/AdaptiveCards/successCard.json @@ -0,0 +1,249 @@ +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.5", + "refresh": { + "userIds": [], + "action": { + "type": "Action.Execute", + "verb": "refresh", + "title": "Refresh", + "data": { + "productId": "${productId}" + } + } + }, + "body": [ + { + "type": "Container", + "style": "good", + "separator": true, + "items": [ + { + "type": "TextBlock", + "text": "${message}", + "weight": "Bolder", + "size": "Medium", + "color": "Good" + }] + }, + { + "type": "Container", + "separator": true, + "items": [ + { + "type": "ColumnSet", + "columns": [ + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "size": "large", + "weight": "bolder", + "text": "📦 ${productName}", + "wrap": true, + "style": "heading" + } + ], + "width": "60" + }, + { + "type": "Column", + "items": [ + { + "type": "TextBlock", + "text": "${inventoryStatus}", + "wrap": true, + "horizontalAlignment": "Right", + "isSubtle": true, + "color": "${if(inventoryStatus == 'In stock', 'good', if(inventoryStatus == 'low stock', 'warning', 'attention'))}" + } + ], + "width": "40" + } + ] + } + + ], + "bleed": true + }, + { + "type": "Container", + "style": "emphasis", + "items": [ + { + "type": "TextBlock", + "weight": "Bolder", + "text": "**📍Supplier information**", + "wrap": true, + + "size": "Medium", + "isSubtle": false + }, + { + "type": "ColumnSet", + "separator": true, + "columns": [ + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + { + "title": "Name", + "value": "${supplierName}" + }, + { + "title": "City", + "value": "${supplierCity}" + } + + ], + "separator": true + } + ] + } + + ] + }, + { + "type": "TextBlock", + "weight": "Bolder", + "text": "**🛒 Stock information**", + "wrap": true, + + "size": "Medium", + "isSubtle": false + }, + { + "type": "ColumnSet", + "separator": true, + "columns": [ + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + { + "title": "Category", + "value": "${categoryName}" + }, + + { + "title": "Unit price", + "value": "${unitPrice} USD" + }, + { + "title": "Avg discount", + "value": "${string(averageDiscount)} %" + }, + { + "title": "Inventory valuation", + "value": "${string(inventoryValue)} USD" + } + ], + "separator": true + } + ] + }, + { + "type": "Column", + "width": "stretch", + + "items": [ + { + "type": "FactSet", + "spacing": "Large", + "facts": [ + + { + "title": "Units in stock", + "value": "${string(unitsInStock)}" + }, + { + "title": "Units on order", + "value": "${string(unitsOnOrder)}" + }, + { + "title": "Reorder Level", + "value": "${string(reorderLevel)}" + }, + { + "title": "Revenue this period", + "value": "${string(revenue)} USD" + } + ], + "separator": true + } + ] + } + + + ] + }] + }, + { + "type": "Container", + "items": [ + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.ShowCard", + "title": "Take action", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "Input.Text", + "id": "txtStock", + "label": "Quantity", + "min": 0, + "max": 9999, + "errorMessage": "Invalid input, use whole positive number", + "style": "Tel" + } + ], + "actions": [ + { + "type": "Action.Execute", + "title": "Update stock ✅", + "verb": "ok", + "data": { + "productId": "${productId}" + } + }, + { + "type": "Action.Execute", + "title": "Restock 📦", + "verb": "restock", + "data": { + "productId": "${productId}" + } + }, + { + "type": "Action.Execute", + "title": "Cancel restock ❌", + "verb": "cancel", + "data": { + "productId": "${productId}" + } + } + ] + } + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/Bot/SearchBot.cs b/samples/msgext-northwind-inventory-csharp/Bot/SearchBot.cs new file mode 100644 index 0000000..0c2ec93 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Bot/SearchBot.cs @@ -0,0 +1,114 @@ +using Microsoft.Bot.Builder; +using Microsoft.Bot.Builder.Teams; +using Microsoft.Bot.Schema.Teams; +using Microsoft.Bot.Schema; +using System.Net; +using NorthwindInventory.MessageExtensions; +using Newtonsoft.Json; +using NorthwindInventory.Handlers; + +namespace NorthwindInventory.Bots +{ + public class SearchBot(ILogger logger, IConfiguration configuration) : TeamsActivityHandler + { + private readonly ILogger _logger = logger; + private readonly IConfiguration _configuration = configuration; + + protected override async Task OnTeamsMessagingExtensionQueryAsync( + ITurnContext turnContext, + MessagingExtensionQuery query, + CancellationToken cancellationToken) + { + if (turnContext.Activity.Value != null) + { + query = JsonConvert.DeserializeObject(turnContext.Activity.Value.ToString()); + } + + if (query == null) + { + throw new InvalidOperationException("Query is null after deserialization"); + } + + return query.CommandId switch + { + ProductSearchCommand.CommandId => await ProductSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken), + DiscountedSearchCommand.CommandId => await DiscountedSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken), + _ => throw new InvalidOperationException("Unsupported command"), + }; + } + + protected override async Task OnAdaptiveCardInvokeAsync( + ITurnContext turnContext, + AdaptiveCardInvokeValue invokeValue, + CancellationToken cancellationToken) + { + try + { + var action = invokeValue.Action as AdaptiveCardInvokeAction; + if (action == null) + { + throw new InvalidOperationException("AdaptiveCardInvokeAction is null"); + } + + var verb = action.Verb?.ToString(); + + return verb switch + { + "ok" => await CardHandler.HandleTeamsCardActionUpdateStockAsync(turnContext, _configuration, cancellationToken), + "restock" => await CardHandler.HandleTeamsCardActionRestockAsync(turnContext, _configuration, cancellationToken), + "cancel" => await CardHandler.HandleTeamsCardActionCancelRestockAsync(turnContext, _configuration, cancellationToken), + _ => Utils.CreateActionErrorResponse((int)HttpStatusCode.OK, 0, $"ActionVerbNotSupported: {verb} is not a supported action verb.") + }; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error handling adaptive card invoke"); + return Utils.CreateActionErrorResponse((int)HttpStatusCode.InternalServerError, 0, ex.Message); + } + } + + protected override async Task OnInvokeActivityAsync( + ITurnContext turnContext, + CancellationToken cancellationToken) + { + try + { + switch (turnContext.Activity.Name) + { + case "adaptiveCard/action": + var adaptiveCardInvokeValue = JsonConvert.DeserializeObject(turnContext.Activity.Value.ToString()); + var adaptiveCardResponse = await OnAdaptiveCardInvokeAsync(turnContext, adaptiveCardInvokeValue, cancellationToken); + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = adaptiveCardResponse + }; + + case "composeExtension/query": + var response = await OnTeamsMessagingExtensionQueryAsync(turnContext, turnContext.Activity.Value as MessagingExtensionQuery, cancellationToken); + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = response + }; + + default: + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = $"Unknown invoke activity handled as default - {turnContext.Activity.Name}" + }; + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Error in OnInvokeActivityAsync"); + return new InvokeResponse + { + Status = (int)HttpStatusCode.InternalServerError, + Body = $"Invoke activity received - {turnContext.Activity.Name}" + }; + } + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/Controllers/BotController.cs b/samples/msgext-northwind-inventory-csharp/Controllers/BotController.cs new file mode 100644 index 0000000..4dff59a --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Controllers/BotController.cs @@ -0,0 +1,24 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.Bot.Builder; +using Microsoft.Bot.Builder.Integration.AspNet.Core; + +namespace NorthwindInventory.Controllers; + +// This ASP Controller is created to handle a request. Dependency Injection will provide the Adapter and IBot +// implementation at runtime. Multiple different IBot implementations running at different endpoints can be +// achieved by specifying a more specific type for the bot constructor argument. +[Route("api/messages")] +[ApiController] +public class BotController(IBotFrameworkHttpAdapter adapter, IBot bot) : ControllerBase +{ + private readonly IBotFrameworkHttpAdapter Adapter = adapter; + private readonly IBot Bot = bot; + + [HttpPost, HttpGet] + public async Task PostAsync() + { + // Delegate the processing of the HTTP POST to the adapter. + // The adapter will invoke the bot. + await Adapter.ProcessAsync(Request, Response, Bot); + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/AzureTableSetup.cs b/samples/msgext-northwind-inventory-csharp/DbSetup/AzureTableSetup.cs new file mode 100644 index 0000000..d085028 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/AzureTableSetup.cs @@ -0,0 +1,252 @@ +using System.Text.Json; +using Azure; +using Azure.Data.Tables; +using NorthwindInventory.Models; + +namespace NorthwindInventory.DbSetup +{ + public class AzureTableSetup(string connectionString) + { + private readonly string _connectionString = connectionString; + + public async Task SetupTablesAndDataAsync(bool reset = true) // Adjust as needed based on your requirements + { + var tableServiceClient = new TableServiceClient(_connectionString); + + if (reset) + { + await DeleteAllTablesAsync(tableServiceClient); + } + + await CreateTablesWithDataAsync(tableServiceClient); + } + + private async Task DeleteAllTablesAsync(TableServiceClient tableServiceClient) + { + var tables = await GetAllTablesAsync(tableServiceClient); + + foreach (var table in tables) + { + try + { + await tableServiceClient.DeleteTableAsync(table); + Console.WriteLine($"Deleted table: {table}"); + } + catch (RequestFailedException ex) when (ex.Status == 404) + { + Console.WriteLine($"Table {table} not found, already deleted."); + } + catch (Exception ex) + { + Console.WriteLine($"Error deleting table {table}: {ex.Message}"); + } + } + + while (true) + { + tables = await GetAllTablesAsync(tableServiceClient); + if (tables.Count == 0) + { + Console.WriteLine("All tables deleted."); + break; + } + Console.WriteLine("Waiting for tables to be deleted..."); + await Task.Delay(1000); + } + } + + private async Task> GetAllTablesAsync(TableServiceClient tableServiceClient) + { + var tables = new List(); + await foreach (var table in tableServiceClient.QueryAsync()) + { + tables.Add(table.Name); + } + return tables; + } + + private async Task CreateTablesWithDataAsync(TableServiceClient tableServiceClient) + { + var tables = new List + { + "Categories", "Customers", "Employees", "Orders", "OrderDetails", "Products", "Suppliers" + }; + + var rowKeyColumnNames = new List + { + "CategoryID", "CustomerID", "EmployeeID", "OrderID", null, "ProductID", "SupplierID" + }; + + var generateImage = new List + { + false, true, false, false, false, true, true + }; + + var generateFlag = new List + { + false, true, false, false, false, false, true + }; + + for (int index = 0; index < tables.Count; index++) + { + var table = tables[index]; + var tableClient = tableServiceClient.GetTableClient(table); + + if (await TableExistsAsync(tableClient)) + { + Console.WriteLine($"Table {table} already exists, skipping creation."); + continue; + } + + try + { + await tableClient.CreateIfNotExistsAsync(); + Console.WriteLine($"Created table: {table}"); + + var jsonString = File.ReadAllText($"DbSetup/db/{table}.json"); + + switch (table) + { + case "Categories": + var categories = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, categories, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "Customers": + var customers = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, customers, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "Employees": + var employees = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, employees, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "Orders": + var orders = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, orders, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "OrderDetails": + var orderDetails = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, orderDetails, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "Products": + var products = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, products, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + case "Suppliers": + var suppliers = JsonSerializer.Deserialize>(jsonString); + await AddEntitiesAsync(tableClient, suppliers, table, rowKeyColumnNames[index], generateImage[index], generateFlag[index]); + break; + default: + throw new InvalidOperationException($"Unknown table name: {table}"); + } + } + catch (RequestFailedException ex) + { + Console.WriteLine($"Failed to create table {table}: {ex.Message}"); + } + catch (IOException ex) + { + Console.WriteLine($"Error reading JSON file for {table}: {ex.Message}"); + } + catch (Exception ex) + { + Console.WriteLine($"Error creating table {table}: {ex.Message}"); + } + } + } + + private async Task AddEntitiesAsync(TableClient tableClient, List entities, string tableName, string rowKeyColumnName, bool generateImage, bool generateFlag) where T : class, IRow + { + foreach (var entity in entities) + { + entity.PartitionKey = tableName; + entity.RowKey = rowKeyColumnName != null ? GetRowKey(entity, rowKeyColumnName) : Guid.NewGuid().ToString(); + + var imageUrlProperty = typeof(T).GetProperty("ImageUrl"); + if (generateImage && (imageUrlProperty == null || string.IsNullOrEmpty(imageUrlProperty.GetValue(entity, null)?.ToString()))) + { + imageUrlProperty?.SetValue(entity, $"https://picsum.photos/seed/{entity.RowKey}/200/300"); + } + + var countryProperty = typeof(T).GetProperty("Country"); + var flagUrlProperty = typeof(T).GetProperty("FlagUrl"); + if (generateFlag && countryProperty != null) + { + var country = countryProperty.GetValue(entity, null)?.ToString(); + if (flagUrlProperty != null && !string.IsNullOrEmpty(country)) + { + flagUrlProperty.SetValue(entity, GetFlagUrl(country)); + } + } + + var tableEntity = new TableEntity(entity.PartitionKey, entity.RowKey); + + foreach (var property in typeof(T).GetProperties()) + { + var value = property.GetValue(entity); + if (value != null) + { + tableEntity[property.Name] = value; + } + } + + await tableClient.AddEntityAsync(tableEntity); + Console.WriteLine($"Added entity to {tableName} with key {entity.RowKey}"); + } + } + + private string GetRowKey(T entity, string rowKeyColumnName) where T : class + { + var property = typeof(T).GetProperty(rowKeyColumnName); + if (property == null) + { + throw new InvalidOperationException($"Row key property {rowKeyColumnName} not found on type {typeof(T).Name}"); + } + + var value = property.GetValue(entity); + if (value == null) + { + throw new InvalidOperationException($"Row key value for property {rowKeyColumnName} is null on type {typeof(T).Name}"); + } + + return value.ToString(); + } + + private string GetFlagUrl(string country) + { + var countryCodes = new Dictionary + { + { "australia", "au" }, + { "brazil", "br" }, + { "canada", "ca" }, + { "denmark", "dk" }, + { "france", "fr" }, + { "germany", "de" }, + { "finland", "fi" }, + { "italy", "it" }, + { "japan", "jp" }, + { "netherlands", "nl" }, + { "norway", "no" }, + { "singapore", "sg" }, + { "spain", "es" }, + { "sweden", "se" }, + { "uk", "gb" }, + { "usa", "us" } + }; + + return countryCodes.TryGetValue(country.ToLower(), out var code) ? $"https://flagcdn.com/32x24/{code}.png" : null; + } + + private async Task TableExistsAsync(TableClient tableClient) + { + try + { + await tableClient.GetEntityAsync("dummyPartitionKey", "dummyRowKey"); + return true; + } + catch (RequestFailedException ex) when (ex.Status == 404) + { + return false; + } + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Categories.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Categories.json new file mode 100644 index 0000000..20210cf --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Categories.json @@ -0,0 +1,50 @@ + [ + { + "CategoryID": 1, + "CategoryName": "Beverages", + "Description": "Soft drinks, coffees, teas, beers, and ales", + "Picture": "https://picsum.photos/id/63/300/200" + }, + { + "CategoryID": 2, + "CategoryName": "Condiments", + "Description": "Sweet and savory sauces, relishes, spreads, and seasonings", + "Picture": "https://picsum.photos/id/292/300/200" + }, + { + "CategoryID": 3, + "CategoryName": "Confections", + "Description": "Desserts, candies, and sweet breads", + "Picture": "https://picsum.photos/id/889/300/200" + }, + { + "CategoryID": 4, + "CategoryName": "Dairy Products", + "Description": "Cheeses", + "Picture": "https://picsum.photos/id/200/300/200" + }, + { + "CategoryID": 5, + "CategoryName": "Grains/Cereals", + "Description": "Breads, crackers, pasta, and cereal", + "Picture": "https://picsum.photos/id/165/300/200" + }, + { + "CategoryID": 6, + "CategoryName": "Meat/Poultry", + "Description": "Prepared meats", + "Picture": "https://picsum.photos/id/686/300/200" + }, + { + "CategoryID": 7, + "CategoryName": "Produce", + "Description": "Dried fruit and bean curd", + "Picture": "https://picsum.photos/id/75/300/200" + }, + { + "CategoryID": 8, + "CategoryName": "Seafood", + "Description": "Seaweed and fish", + "Picture": "https://picsum.photos/id/211/300/200" + } +] diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Customers.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Customers.json new file mode 100644 index 0000000..1c983fb --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Customers.json @@ -0,0 +1,1185 @@ + [ + { + "CustomerID": "ALFKI", + "CompanyName": "Alfreds Futterkiste", + "ContactName": "Maria Anders", + "ContactTitle": "Sales Representative", + "Address": "Obere Str. 57", + "City": "Berlin", + "Region": null, + "PostalCode": "12209", + "Country": "Germany", + "Phone": "030-0074321", + "Fax": "030-0076545" + }, + { + "CustomerID": "ANATR", + "CompanyName": "Ana Trujillo Emparedados y helados", + "ContactName": "Ana Trujillo", + "ContactTitle": "Owner", + "Address": "Avda. de la Constitución 2222", + "City": "México D.F.", + "Region": null, + "PostalCode": "05021", + "Country": "Mexico", + "Phone": "(5) 555-4729", + "Fax": "(5) 555-3745" + }, + { + "CustomerID": "ANTON", + "CompanyName": "Antonio Moreno Taquería", + "ContactName": "Antonio Moreno", + "ContactTitle": "Owner", + "Address": "Mataderos 2312", + "City": "México D.F.", + "Region": null, + "PostalCode": "05023", + "Country": "Mexico", + "Phone": "(5) 555-3932", + "Fax": null + }, + { + "CustomerID": "AROUT", + "CompanyName": "Around the Horn", + "ContactName": "Thomas Hardy", + "ContactTitle": "Sales Representative", + "Address": "120 Hanover Sq.", + "City": "London", + "Region": null, + "PostalCode": "WA1 1DP", + "Country": "UK", + "Phone": "(171) 555-7788", + "Fax": "(171) 555-6750" + }, + { + "CustomerID": "BERGS", + "CompanyName": "Berglunds snabbköp", + "ContactName": "Christina Berglund", + "ContactTitle": "Order Administrator", + "Address": "Berguvsvägen 8", + "City": "Luleå", + "Region": null, + "PostalCode": "S-958 22", + "Country": "Sweden", + "Phone": "0921-12 34 65", + "Fax": "0921-12 34 67" + }, + { + "CustomerID": "BLAUS", + "CompanyName": "Blauer See Delikatessen", + "ContactName": "Hanna Moos", + "ContactTitle": "Sales Representative", + "Address": "Forsterstr. 57", + "City": "Mannheim", + "Region": null, + "PostalCode": "68306", + "Country": "Germany", + "Phone": "0621-08460", + "Fax": "0621-08924" + }, + { + "CustomerID": "BLONP", + "CompanyName": "Blondesddsl père et fils", + "ContactName": "Frédérique Citeaux", + "ContactTitle": "Marketing Manager", + "Address": "24, place Kléber", + "City": "Strasbourg", + "Region": null, + "PostalCode": "67000", + "Country": "France", + "Phone": "88.60.15.31", + "Fax": "88.60.15.32" + }, + { + "CustomerID": "BOLID", + "CompanyName": "Bólido Comidas preparadas", + "ContactName": "Martín Sommer", + "ContactTitle": "Owner", + "Address": "C/ Araquil, 67", + "City": "Madrid", + "Region": null, + "PostalCode": "28023", + "Country": "Spain", + "Phone": "(91) 555 22 82", + "Fax": "(91) 555 91 99" + }, + { + "CustomerID": "BONAP", + "CompanyName": "Bon app'", + "ContactName": "Laurence Lebihan", + "ContactTitle": "Owner", + "Address": "12, rue des Bouchers", + "City": "Marseille", + "Region": null, + "PostalCode": "13008", + "Country": "France", + "Phone": "91.24.45.40", + "Fax": "91.24.45.41" + }, + { + "CustomerID": "BOTTM", + "CompanyName": "Bottom-Dollar Markets", + "ContactName": "Elizabeth Lincoln", + "ContactTitle": "Accounting Manager", + "Address": "23 Tsawassen Blvd.", + "City": "Tsawassen", + "Region": "BC", + "PostalCode": "T2F 8M4", + "Country": "Canada", + "Phone": "(604) 555-4729", + "Fax": "(604) 555-3745" + }, + { + "CustomerID": "BSBEV", + "CompanyName": "B's Beverages", + "ContactName": "Victoria Ashworth", + "ContactTitle": "Sales Representative", + "Address": "Fauntleroy Circus", + "City": "London", + "Region": null, + "PostalCode": "EC2 5NT", + "Country": "UK", + "Phone": "(171) 555-1212", + "Fax": null + }, + { + "CustomerID": "CACTU", + "CompanyName": "Cactus Comidas para llevar", + "ContactName": "Patricio Simpson", + "ContactTitle": "Sales Agent", + "Address": "Cerrito 333", + "City": "Buenos Aires", + "Region": null, + "PostalCode": "1010", + "Country": "Argentina", + "Phone": "(1) 135-5555", + "Fax": "(1) 135-4892" + }, + { + "CustomerID": "CENTC", + "CompanyName": "Centro comercial Moctezuma", + "ContactName": "Francisco Chang", + "ContactTitle": "Marketing Manager", + "Address": "Sierras de Granada 9993", + "City": "México D.F.", + "Region": null, + "PostalCode": "05022", + "Country": "Mexico", + "Phone": "(5) 555-3392", + "Fax": "(5) 555-7293" + }, + { + "CustomerID": "CHOPS", + "CompanyName": "Chop-suey Chinese", + "ContactName": "Yang Wang", + "ContactTitle": "Owner", + "Address": "Hauptstr. 29", + "City": "Bern", + "Region": null, + "PostalCode": "3012", + "Country": "Switzerland", + "Phone": "0452-076545", + "Fax": null + }, + { + "CustomerID": "COMMI", + "CompanyName": "Comércio Mineiro", + "ContactName": "Pedro Afonso", + "ContactTitle": "Sales Associate", + "Address": "Av. dos Lusíadas, 23", + "City": "Sao Paulo", + "Region": "SP", + "PostalCode": "05432-043", + "Country": "Brazil", + "Phone": "(11) 555-7647", + "Fax": null + }, + { + "CustomerID": "CONSH", + "CompanyName": "Consolidated Holdings", + "ContactName": "Elizabeth Brown", + "ContactTitle": "Sales Representative", + "Address": "Berkeley Gardens 12 Brewery", + "City": "London", + "Region": null, + "PostalCode": "WX1 6LT", + "Country": "UK", + "Phone": "(171) 555-2282", + "Fax": "(171) 555-9199" + }, + { + "CustomerID": "DRACD", + "CompanyName": "Drachenblut Delikatessen", + "ContactName": "Sven Ottlieb", + "ContactTitle": "Order Administrator", + "Address": "Walserweg 21", + "City": "Aachen", + "Region": null, + "PostalCode": "52066", + "Country": "Germany", + "Phone": "0241-039123", + "Fax": "0241-059428" + }, + { + "CustomerID": "DUMON", + "CompanyName": "Du monde entier", + "ContactName": "Janine Labrune", + "ContactTitle": "Owner", + "Address": "67, rue des Cinquante Otages", + "City": "Nantes", + "Region": null, + "PostalCode": "44000", + "Country": "France", + "Phone": "40.67.88.88", + "Fax": "40.67.89.89" + }, + { + "CustomerID": "EASTC", + "CompanyName": "Eastern Connection", + "ContactName": "Ann Devon", + "ContactTitle": "Sales Agent", + "Address": "35 King George", + "City": "London", + "Region": null, + "PostalCode": "WX3 6FW", + "Country": "UK", + "Phone": "(171) 555-0297", + "Fax": "(171) 555-3373" + }, + { + "CustomerID": "ERNSH", + "CompanyName": "Ernst Handel", + "ContactName": "Roland Mendel", + "ContactTitle": "Sales Manager", + "Address": "Kirchgasse 6", + "City": "Graz", + "Region": null, + "PostalCode": "8010", + "Country": "Austria", + "Phone": "7675-3425", + "Fax": "7675-3426" + }, + { + "CustomerID": "FAMIA", + "CompanyName": "Familia Arquibaldo", + "ContactName": "Aria Cruz", + "ContactTitle": "Marketing Assistant", + "Address": "Rua Orós, 92", + "City": "Sao Paulo", + "Region": "SP", + "PostalCode": "05442-030", + "Country": "Brazil", + "Phone": "(11) 555-9857", + "Fax": null + }, + { + "CustomerID": "FISSA", + "CompanyName": "FISSA Fabrica Inter. Salchichas S.A.", + "ContactName": "Diego Roel", + "ContactTitle": "Accounting Manager", + "Address": "C/ Moralzarzal, 86", + "City": "Madrid", + "Region": null, + "PostalCode": "28034", + "Country": "Spain", + "Phone": "(91) 555 94 44", + "Fax": "(91) 555 55 93" + }, + { + "CustomerID": "FOLIG", + "CompanyName": "Folies gourmandes", + "ContactName": "Martine Rancé", + "ContactTitle": "Assistant Sales Agent", + "Address": "184, chaussée de Tournai", + "City": "Lille", + "Region": null, + "PostalCode": "59000", + "Country": "France", + "Phone": "20.16.10.16", + "Fax": "20.16.10.17" + }, + { + "CustomerID": "FOLKO", + "CompanyName": "Folk och fä HB", + "ContactName": "Maria Larsson", + "ContactTitle": "Owner", + "Address": "Åkergatan 24", + "City": "Bräcke", + "Region": null, + "PostalCode": "S-844 67", + "Country": "Sweden", + "Phone": "0695-34 67 21", + "Fax": null + }, + { + "CustomerID": "FRANK", + "CompanyName": "Frankenversand", + "ContactName": "Peter Franken", + "ContactTitle": "Marketing Manager", + "Address": "Berliner Platz 43", + "City": "München", + "Region": null, + "PostalCode": "80805", + "Country": "Germany", + "Phone": "089-0877310", + "Fax": "089-0877451" + }, + { + "CustomerID": "FRANR", + "CompanyName": "France restauration", + "ContactName": "Carine Schmitt", + "ContactTitle": "Marketing Manager", + "Address": "54, rue Royale", + "City": "Nantes", + "Region": null, + "PostalCode": "44000", + "Country": "France", + "Phone": "40.32.21.21", + "Fax": "40.32.21.20" + }, + { + "CustomerID": "FRANS", + "CompanyName": "Franchi S.p.A.", + "ContactName": "Paolo Accorti", + "ContactTitle": "Sales Representative", + "Address": "Via Monte Bianco 34", + "City": "Torino", + "Region": null, + "PostalCode": "10100", + "Country": "Italy", + "Phone": "011-4988260", + "Fax": "011-4988261" + }, + { + "CustomerID": "FURIB", + "CompanyName": "Furia Bacalhau e Frutos do Mar", + "ContactName": "Lino Rodriguez", + "ContactTitle": "Sales Manager", + "Address": "Jardim das rosas n. 32", + "City": "Lisboa", + "Region": null, + "PostalCode": "1675", + "Country": "Portugal", + "Phone": "(1) 354-2534", + "Fax": "(1) 354-2535" + }, + { + "CustomerID": "GALED", + "CompanyName": "Galería del gastrónomo", + "ContactName": "Eduardo Saavedra", + "ContactTitle": "Marketing Manager", + "Address": "Rambla de Cataluña, 23", + "City": "Barcelona", + "Region": null, + "PostalCode": "08022", + "Country": "Spain", + "Phone": "(93) 203 4560", + "Fax": "(93) 203 4561" + }, + { + "CustomerID": "GODOS", + "CompanyName": "Godos Cocina Típica", + "ContactName": "José Pedro Freyre", + "ContactTitle": "Sales Manager", + "Address": "C/ Romero, 33", + "City": "Sevilla", + "Region": null, + "PostalCode": "41101", + "Country": "Spain", + "Phone": "(95) 555 82 82", + "Fax": null + }, + { + "CustomerID": "GOURL", + "CompanyName": "Gourmet Lanchonetes", + "ContactName": "André Fonseca", + "ContactTitle": "Sales Associate", + "Address": "Av. Brasil, 442", + "City": "Campinas", + "Region": "SP", + "PostalCode": "04876-786", + "Country": "Brazil", + "Phone": "(11) 555-9482", + "Fax": null + }, + { + "CustomerID": "GREAL", + "CompanyName": "Great Lakes Food Market", + "ContactName": "Howard Snyder", + "ContactTitle": "Marketing Manager", + "Address": "2732 Baker Blvd.", + "City": "Eugene", + "Region": "OR", + "PostalCode": "97403", + "Country": "USA", + "Phone": "(503) 555-7555", + "Fax": null + }, + { + "CustomerID": "GROSR", + "CompanyName": "GROSELLA-Restaurante", + "ContactName": "Manuel Pereira", + "ContactTitle": "Owner", + "Address": "5ª Ave. Los Palos Grandes", + "City": "Caracas", + "Region": "DF", + "PostalCode": "1081", + "Country": "Venezuela", + "Phone": "(2) 283-2951", + "Fax": "(2) 283-3397" + }, + { + "CustomerID": "HANAR", + "CompanyName": "Hanari Carnes", + "ContactName": "Mario Pontes", + "ContactTitle": "Accounting Manager", + "Address": "Rua do Paço, 67", + "City": "Rio de Janeiro", + "Region": "RJ", + "PostalCode": "05454-876", + "Country": "Brazil", + "Phone": "(21) 555-0091", + "Fax": "(21) 555-8765" + }, + { + "CustomerID": "HILAA", + "CompanyName": "HILARION-Abastos", + "ContactName": "Carlos Hernández", + "ContactTitle": "Sales Representative", + "Address": "Carrera 22 con Ave. Carlos Soublette #8-35", + "City": "San Cristóbal", + "Region": "Táchira", + "PostalCode": "5022", + "Country": "Venezuela", + "Phone": "(5) 555-1340", + "Fax": "(5) 555-1948" + }, + { + "CustomerID": "HUNGC", + "CompanyName": "Hungry Coyote Import Store", + "ContactName": "Yoshi Latimer", + "ContactTitle": "Sales Representative", + "Address": "City Center Plaza 516 Main St.", + "City": "Elgin", + "Region": "OR", + "PostalCode": "97827", + "Country": "USA", + "Phone": "(503) 555-6874", + "Fax": "(503) 555-2376" + }, + { + "CustomerID": "HUNGO", + "CompanyName": "Hungry Owl All-Night Grocers", + "ContactName": "Patricia McKenna", + "ContactTitle": "Sales Associate", + "Address": "8 Johnstown Road", + "City": "Cork", + "Region": "Co. Cork", + "PostalCode": null, + "Country": "Ireland", + "Phone": "2967 542", + "Fax": "2967 3333" + }, + { + "CustomerID": "ISLAT", + "CompanyName": "Island Trading", + "ContactName": "Helen Bennett", + "ContactTitle": "Marketing Manager", + "Address": "Garden House Crowther Way", + "City": "Cowes", + "Region": "Isle of Wight", + "PostalCode": "PO31 7PJ", + "Country": "UK", + "Phone": "(198) 555-8888", + "Fax": null + }, + { + "CustomerID": "KOENE", + "CompanyName": "Königlich Essen", + "ContactName": "Philip Cramer", + "ContactTitle": "Sales Associate", + "Address": "Maubelstr. 90", + "City": "Brandenburg", + "Region": null, + "PostalCode": "14776", + "Country": "Germany", + "Phone": "0555-09876", + "Fax": null + }, + { + "CustomerID": "LACOR", + "CompanyName": "La corne d'abondance", + "ContactName": "Daniel Tonini", + "ContactTitle": "Sales Representative", + "Address": "67, avenue de l'Europe", + "City": "Versailles", + "Region": null, + "PostalCode": "78000", + "Country": "France", + "Phone": "30.59.84.10", + "Fax": "30.59.85.11" + }, + { + "CustomerID": "LAMAI", + "CompanyName": "La maison d'Asie", + "ContactName": "Annette Roulet", + "ContactTitle": "Sales Manager", + "Address": "1 rue Alsace-Lorraine", + "City": "Toulouse", + "Region": null, + "PostalCode": "31000", + "Country": "France", + "Phone": "61.77.61.10", + "Fax": "61.77.61.11" + }, + { + "CustomerID": "LAUGB", + "CompanyName": "Laughing Bacchus Wine Cellars", + "ContactName": "Yoshi Tannamuri", + "ContactTitle": "Marketing Assistant", + "Address": "1900 Oak St.", + "City": "Vancouver", + "Region": "BC", + "PostalCode": "V3F 2K1", + "Country": "Canada", + "Phone": "(604) 555-3392", + "Fax": "(604) 555-7293" + }, + { + "CustomerID": "LAZYK", + "CompanyName": "Lazy K Kountry Store", + "ContactName": "John Steel", + "ContactTitle": "Marketing Manager", + "Address": "12 Orchestra Terrace", + "City": "Walla Walla", + "Region": "WA", + "PostalCode": "99362", + "Country": "USA", + "Phone": "(509) 555-7969", + "Fax": "(509) 555-6221" + }, + { + "CustomerID": "LEHMS", + "CompanyName": "Lehmanns Marktstand", + "ContactName": "Renate Messner", + "ContactTitle": "Sales Representative", + "Address": "Magazinweg 7", + "City": "Frankfurt a.M.", + "Region": null, + "PostalCode": "60528", + "Country": "Germany", + "Phone": "069-0245984", + "Fax": "069-0245874" + }, + { + "CustomerID": "LETSS", + "CompanyName": "Let's Stop N Shop", + "ContactName": "Jaime Yorres", + "ContactTitle": "Owner", + "Address": "87 Polk St. Suite 5", + "City": "San Francisco", + "Region": "CA", + "PostalCode": "94117", + "Country": "USA", + "Phone": "(415) 555-5938", + "Fax": null + }, + { + "CustomerID": "LILAS", + "CompanyName": "LILA-Supermercado", + "ContactName": "Carlos González", + "ContactTitle": "Accounting Manager", + "Address": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "City": "Barquisimeto", + "Region": "Lara", + "PostalCode": "3508", + "Country": "Venezuela", + "Phone": "(9) 331-6954", + "Fax": "(9) 331-7256" + }, + { + "CustomerID": "LINOD", + "CompanyName": "LINO-Delicateses", + "ContactName": "Felipe Izquierdo", + "ContactTitle": "Owner", + "Address": "Ave. 5 de Mayo Porlamar", + "City": "I. de Margarita", + "Region": "Nueva Esparta", + "PostalCode": "4980", + "Country": "Venezuela", + "Phone": "(8) 34-56-12", + "Fax": "(8) 34-93-93" + }, + { + "CustomerID": "LONEP", + "CompanyName": "Lonesome Pine Restaurant", + "ContactName": "Fran Wilson", + "ContactTitle": "Sales Manager", + "Address": "89 Chiaroscuro Rd.", + "City": "Portland", + "Region": "OR", + "PostalCode": "97219", + "Country": "USA", + "Phone": "(503) 555-9573", + "Fax": "(503) 555-9646" + }, + { + "CustomerID": "MAGAA", + "CompanyName": "Magazzini Alimentari Riuniti", + "ContactName": "Giovanni Rovelli", + "ContactTitle": "Marketing Manager", + "Address": "Via Ludovico il Moro 22", + "City": "Bergamo", + "Region": null, + "PostalCode": "24100", + "Country": "Italy", + "Phone": "035-640230", + "Fax": "035-640231" + }, + { + "CustomerID": "MAISD", + "CompanyName": "Maison Dewey", + "ContactName": "Catherine Dewey", + "ContactTitle": "Sales Agent", + "Address": "Rue Joseph-Bens 532", + "City": "Bruxelles", + "Region": null, + "PostalCode": "B-1180", + "Country": "Belgium", + "Phone": "(02) 201 24 67", + "Fax": "(02) 201 24 68" + }, + { + "CustomerID": "MEREP", + "CompanyName": "Mère Paillarde", + "ContactName": "Jean Fresnière", + "ContactTitle": "Marketing Assistant", + "Address": "43 rue St. Laurent", + "City": "Montréal", + "Region": "Québec", + "PostalCode": "H1J 1C3", + "Country": "Canada", + "Phone": "(514) 555-8054", + "Fax": "(514) 555-8055" + }, + { + "CustomerID": "MORGK", + "CompanyName": "Morgenstern Gesundkost", + "ContactName": "Alexander Feuer", + "ContactTitle": "Marketing Assistant", + "Address": "Heerstr. 22", + "City": "Leipzig", + "Region": null, + "PostalCode": "04179", + "Country": "Germany", + "Phone": "0342-023176", + "Fax": null + }, + { + "CustomerID": "NORTS", + "CompanyName": "North/South", + "ContactName": "Simon Crowther", + "ContactTitle": "Sales Associate", + "Address": "South House 300 Queensbridge", + "City": "London", + "Region": null, + "PostalCode": "SW7 1RZ", + "Country": "UK", + "Phone": "(171) 555-7733", + "Fax": "(171) 555-2530" + }, + { + "CustomerID": "OCEAN", + "CompanyName": "Océano Atlántico Ltda.", + "ContactName": "Yvonne Moncada", + "ContactTitle": "Sales Agent", + "Address": "Ing. Gustavo Moncada 8585 Piso 20-A", + "City": "Buenos Aires", + "Region": null, + "PostalCode": "1010", + "Country": "Argentina", + "Phone": "(1) 135-5333", + "Fax": "(1) 135-5535" + }, + { + "CustomerID": "OLDWO", + "CompanyName": "Old World Delicatessen", + "ContactName": "Rene Phillips", + "ContactTitle": "Sales Representative", + "Address": "2743 Bering St.", + "City": "Anchorage", + "Region": "AK", + "PostalCode": "99508", + "Country": "USA", + "Phone": "(907) 555-7584", + "Fax": "(907) 555-2880" + }, + { + "CustomerID": "OTTIK", + "CompanyName": "Ottilies Käseladen", + "ContactName": "Henriette Pfalzheim", + "ContactTitle": "Owner", + "Address": "Mehrheimerstr. 369", + "City": "Köln", + "Region": null, + "PostalCode": "50739", + "Country": "Germany", + "Phone": "0221-0644327", + "Fax": "0221-0765721" + }, + { + "CustomerID": "PARIS", + "CompanyName": "Paris spécialités", + "ContactName": "Marie Bertrand", + "ContactTitle": "Owner", + "Address": "265, boulevard Charonne", + "City": "Paris", + "Region": null, + "PostalCode": "75012", + "Country": "France", + "Phone": "(1) 42.34.22.66", + "Fax": "(1) 42.34.22.77" + }, + { + "CustomerID": "PERIC", + "CompanyName": "Pericles Comidas clásicas", + "ContactName": "Guillermo Fernández", + "ContactTitle": "Sales Representative", + "Address": "Calle Dr. Jorge Cash 321", + "City": "México D.F.", + "Region": null, + "PostalCode": "05033", + "Country": "Mexico", + "Phone": "(5) 552-3745", + "Fax": "(5) 545-3745" + }, + { + "CustomerID": "PICCO", + "CompanyName": "Piccolo und mehr", + "ContactName": "Georg Pipps", + "ContactTitle": "Sales Manager", + "Address": "Geislweg 14", + "City": "Salzburg", + "Region": null, + "PostalCode": "5020", + "Country": "Austria", + "Phone": "6562-9722", + "Fax": "6562-9723" + }, + { + "CustomerID": "PRINI", + "CompanyName": "Princesa Isabel Vinhos", + "ContactName": "Isabel de Castro", + "ContactTitle": "Sales Representative", + "Address": "Estrada da saúde n. 58", + "City": "Lisboa", + "Region": null, + "PostalCode": "1756", + "Country": "Portugal", + "Phone": "(1) 356-5634", + "Fax": null + }, + { + "CustomerID": "QUEDE", + "CompanyName": "Que Delícia", + "ContactName": "Bernardo Batista", + "ContactTitle": "Accounting Manager", + "Address": "Rua da Panificadora, 12", + "City": "Rio de Janeiro", + "Region": "RJ", + "PostalCode": "02389-673", + "Country": "Brazil", + "Phone": "(21) 555-4252", + "Fax": "(21) 555-4545" + }, + { + "CustomerID": "QUEEN", + "CompanyName": "Queen Cozinha", + "ContactName": "Lúcia Carvalho", + "ContactTitle": "Marketing Assistant", + "Address": "Alameda dos Canàrios, 891", + "City": "Sao Paulo", + "Region": "SP", + "PostalCode": "05487-020", + "Country": "Brazil", + "Phone": "(11) 555-1189", + "Fax": null + }, + { + "CustomerID": "QUICK", + "CompanyName": "QUICK-Stop", + "ContactName": "Horst Kloss", + "ContactTitle": "Accounting Manager", + "Address": "Taucherstraße 10", + "City": "Cunewalde", + "Region": null, + "PostalCode": "01307", + "Country": "Germany", + "Phone": "0372-035188", + "Fax": null + }, + { + "CustomerID": "RANCH", + "CompanyName": "Rancho grande", + "ContactName": "Sergio Gutiérrez", + "ContactTitle": "Sales Representative", + "Address": "Av. del Libertador 900", + "City": "Buenos Aires", + "Region": null, + "PostalCode": "1010", + "Country": "Argentina", + "Phone": "(1) 123-5555", + "Fax": "(1) 123-5556" + }, + { + "CustomerID": "RATTC", + "CompanyName": "Rattlesnake Canyon Grocery", + "ContactName": "Paula Wilson", + "ContactTitle": "Assistant Sales Representative", + "Address": "2817 Milton Dr.", + "City": "Albuquerque", + "Region": "NM", + "PostalCode": "87110", + "Country": "USA", + "Phone": "(505) 555-5939", + "Fax": "(505) 555-3620" + }, + { + "CustomerID": "REGGC", + "CompanyName": "Reggiani Caseifici", + "ContactName": "Maurizio Moroni", + "ContactTitle": "Sales Associate", + "Address": "Strada Provinciale 124", + "City": "Reggio Emilia", + "Region": null, + "PostalCode": "42100", + "Country": "Italy", + "Phone": "0522-556721", + "Fax": "0522-556722" + }, + { + "CustomerID": "RICAR", + "CompanyName": "Ricardo Adocicados", + "ContactName": "Janete Limeira", + "ContactTitle": "Assistant Sales Agent", + "Address": "Av. Copacabana, 267", + "City": "Rio de Janeiro", + "Region": "RJ", + "PostalCode": "02389-890", + "Country": "Brazil", + "Phone": "(21) 555-3412", + "Fax": null + }, + { + "CustomerID": "RICSU", + "CompanyName": "Richter Supermarkt", + "ContactName": "Michael Holz", + "ContactTitle": "Sales Manager", + "Address": "Grenzacherweg 237", + "City": "Genève", + "Region": null, + "PostalCode": "1203", + "Country": "Switzerland", + "Phone": "0897-034214", + "Fax": null + }, + { + "CustomerID": "ROMEY", + "CompanyName": "Romero y tomillo", + "ContactName": "Alejandra Camino", + "ContactTitle": "Accounting Manager", + "Address": "Gran Vía, 1", + "City": "Madrid", + "Region": null, + "PostalCode": "28001", + "Country": "Spain", + "Phone": "(91) 745 6200", + "Fax": "(91) 745 6210" + }, + { + "CustomerID": "SANTG", + "CompanyName": "Santé Gourmet", + "ContactName": "Jonas Bergulfsen", + "ContactTitle": "Owner", + "Address": "Erling Skakkes gate 78", + "City": "Stavern", + "Region": null, + "PostalCode": "4110", + "Country": "Norway", + "Phone": "07-98 92 35", + "Fax": "07-98 92 47" + }, + { + "CustomerID": "SAVEA", + "CompanyName": "Save-a-lot Markets", + "ContactName": "Jose Pavarotti", + "ContactTitle": "Sales Representative", + "Address": "187 Suffolk Ln.", + "City": "Boise", + "Region": "ID", + "PostalCode": "83720", + "Country": "USA", + "Phone": "(208) 555-8097", + "Fax": null + }, + { + "CustomerID": "SEVES", + "CompanyName": "Seven Seas Imports", + "ContactName": "Hari Kumar", + "ContactTitle": "Sales Manager", + "Address": "90 Wadhurst Rd.", + "City": "London", + "Region": null, + "PostalCode": "OX15 4NB", + "Country": "UK", + "Phone": "(171) 555-1717", + "Fax": "(171) 555-5646" + }, + { + "CustomerID": "SIMOB", + "CompanyName": "Simons bistro", + "ContactName": "Jytte Petersen", + "ContactTitle": "Owner", + "Address": "Vinbæltet 34", + "City": "Kobenhavn", + "Region": null, + "PostalCode": "1734", + "Country": "Denmark", + "Phone": "31 12 34 56", + "Fax": "31 13 35 57" + }, + { + "CustomerID": "SPECD", + "CompanyName": "Spécialités du monde", + "ContactName": "Dominique Perrier", + "ContactTitle": "Marketing Manager", + "Address": "25, rue Lauriston", + "City": "Paris", + "Region": null, + "PostalCode": "75016", + "Country": "France", + "Phone": "(1) 47.55.60.10", + "Fax": "(1) 47.55.60.20" + }, + { + "CustomerID": "SPLIR", + "CompanyName": "Split Rail Beer & Ale", + "ContactName": "Art Braunschweiger", + "ContactTitle": "Sales Manager", + "Address": "P.O. Box 555", + "City": "Lander", + "Region": "WY", + "PostalCode": "82520", + "Country": "USA", + "Phone": "(307) 555-4680", + "Fax": "(307) 555-6525" + }, + { + "CustomerID": "SUPRD", + "CompanyName": "Suprêmes délices", + "ContactName": "Pascale Cartrain", + "ContactTitle": "Accounting Manager", + "Address": "Boulevard Tirou, 255", + "City": "Charleroi", + "Region": null, + "PostalCode": "B-6000", + "Country": "Belgium", + "Phone": "(071) 23 67 22 20", + "Fax": "(071) 23 67 22 21" + }, + { + "CustomerID": "THEBI", + "CompanyName": "The Big Cheese", + "ContactName": "Liz Nixon", + "ContactTitle": "Marketing Manager", + "Address": "89 Jefferson Way Suite 2", + "City": "Portland", + "Region": "OR", + "PostalCode": "97201", + "Country": "USA", + "Phone": "(503) 555-3612", + "Fax": null + }, + { + "CustomerID": "THECR", + "CompanyName": "The Cracker Box", + "ContactName": "Liu Wong", + "ContactTitle": "Marketing Assistant", + "Address": "55 Grizzly Peak Rd.", + "City": "Butte", + "Region": "MT", + "PostalCode": "59801", + "Country": "USA", + "Phone": "(406) 555-5834", + "Fax": "(406) 555-8083" + }, + { + "CustomerID": "TOMSP", + "CompanyName": "Toms Spezialitäten", + "ContactName": "Karin Josephs", + "ContactTitle": "Marketing Manager", + "Address": "Luisenstr. 48", + "City": "Münster", + "Region": null, + "PostalCode": "44087", + "Country": "Germany", + "Phone": "0251-031259", + "Fax": "0251-035695" + }, + { + "CustomerID": "TORTU", + "CompanyName": "Tortuga Restaurante", + "ContactName": "Miguel Angel Paolino", + "ContactTitle": "Owner", + "Address": "Avda. Azteca 123", + "City": "México D.F.", + "Region": null, + "PostalCode": "05033", + "Country": "Mexico", + "Phone": "(5) 555-2933", + "Fax": null + }, + { + "CustomerID": "TRADH", + "CompanyName": "Tradição Hipermercados", + "ContactName": "Anabela Domingues", + "ContactTitle": "Sales Representative", + "Address": "Av. Inês de Castro, 414", + "City": "Sao Paulo", + "Region": "SP", + "PostalCode": "05634-030", + "Country": "Brazil", + "Phone": "(11) 555-2167", + "Fax": "(11) 555-2168" + }, + { + "CustomerID": "TRAIH", + "CompanyName": "Trail's Head Gourmet Provisioners", + "ContactName": "Helvetius Nagy", + "ContactTitle": "Sales Associate", + "Address": "722 DaVinci Blvd.", + "City": "Kirkland", + "Region": "WA", + "PostalCode": "98034", + "Country": "USA", + "Phone": "(206) 555-8257", + "Fax": "(206) 555-2174" + }, + { + "CustomerID": "VAFFE", + "CompanyName": "Vaffeljernet", + "ContactName": "Palle Ibsen", + "ContactTitle": "Sales Manager", + "Address": "Smagsloget 45", + "City": "Århus", + "Region": null, + "PostalCode": "8200", + "Country": "Denmark", + "Phone": "86 21 32 43", + "Fax": "86 22 33 44" + }, + { + "CustomerID": "VICTE", + "CompanyName": "Victuailles en stock", + "ContactName": "Mary Saveley", + "ContactTitle": "Sales Agent", + "Address": "2, rue du Commerce", + "City": "Lyon", + "Region": null, + "PostalCode": "69004", + "Country": "France", + "Phone": "78.32.54.86", + "Fax": "78.32.54.87" + }, + { + "CustomerID": "VINET", + "CompanyName": "Vins et alcools Chevalier", + "ContactName": "Paul Henriot", + "ContactTitle": "Accounting Manager", + "Address": "59 rue de l'Abbaye", + "City": "Reims", + "Region": null, + "PostalCode": "51100", + "Country": "France", + "Phone": "26.47.15.10", + "Fax": "26.47.15.11" + }, + { + "CustomerID": "WANDK", + "CompanyName": "Die Wandernde Kuh", + "ContactName": "Rita Müller", + "ContactTitle": "Sales Representative", + "Address": "Adenauerallee 900", + "City": "Stuttgart", + "Region": null, + "PostalCode": "70563", + "Country": "Germany", + "Phone": "0711-020361", + "Fax": "0711-035428" + }, + { + "CustomerID": "WARTH", + "CompanyName": "Wartian Herkku", + "ContactName": "Pirkko Koskitalo", + "ContactTitle": "Accounting Manager", + "Address": "Torikatu 38", + "City": "Oulu", + "Region": null, + "PostalCode": "90110", + "Country": "Finland", + "Phone": "981-443655", + "Fax": "981-443655" + }, + { + "CustomerID": "WELLI", + "CompanyName": "Wellington Importadora", + "ContactName": "Paula Parente", + "ContactTitle": "Sales Manager", + "Address": "Rua do Mercado, 12", + "City": "Resende", + "Region": "SP", + "PostalCode": "08737-363", + "Country": "Brazil", + "Phone": "(14) 555-8122", + "Fax": null + }, + { + "CustomerID": "WHITC", + "CompanyName": "White Clover Markets", + "ContactName": "Karl Jablonski", + "ContactTitle": "Owner", + "Address": "305 - 14th Ave. S. Suite 3B", + "City": "Seattle", + "Region": "WA", + "PostalCode": "98128", + "Country": "USA", + "Phone": "(206) 555-4112", + "Fax": "(206) 555-4115" + }, + { + "CustomerID": "WILMK", + "CompanyName": "Wilman Kala", + "ContactName": "Matti Karttunen", + "ContactTitle": "Owner/Marketing Assistant", + "Address": "Keskuskatu 45", + "City": "Helsinki", + "Region": null, + "PostalCode": "21240", + "Country": "Finland", + "Phone": "90-224 8858", + "Fax": "90-224 8858" + }, + { + "CustomerID": "WOLZA", + "CompanyName": "Wolski Zajazd", + "ContactName": "Zbyszek Piestrzeniewicz", + "ContactTitle": "Owner", + "Address": "ul. Filtrowa 68", + "City": "Warszawa", + "Region": null, + "PostalCode": "01-012", + "Country": "Poland", + "Phone": "(26) 642-7012", + "Fax": "(26) 642-7012" + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Employees.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Employees.json new file mode 100644 index 0000000..584a776 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Employees.json @@ -0,0 +1,164 @@ +[ + { + "EmployeeID": 1, + "LastName": "Davolio", + "FirstName": "Nancy", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1958-12-08T00:00:00Z", + "HireDate": "2002-05-01T00:00:00Z", + "Address": "507 - 20th Ave. E.\r\nApt. 2A", + "City": "Seattle", + "Region": "WA", + "PostalCode": "98122", + "Country": "USA", + "HomePhone": "(206) 555-9857", + "Extension": "5467", + "Notes": "Education includes a BA in psychology from Colorado State University in 1970. She also completed \"The Art of the Cold Call.\" Nancy is a member of Toastmasters International.", + "ReportsTo": 2 + }, + { + "EmployeeID": 2, + "LastName": "Fuller", + "FirstName": "Andrew", + "Title": "Vice President, Sales", + "TitleOfCourtesy": "Dr.", + "BirthDate": "1962-02-19T00:00:00Z", + "HireDate": "2002-08-14T00:00:00Z", + "Address": "908 W. Capital Way", + "City": "Tacoma", + "Region": "WA", + "PostalCode": "98401", + "Country": "USA", + "HomePhone": "(206) 555-9482", + "Extension": "3457", + "Notes": "Andrew received his BTS commercial in 1974 and a Ph.D. in international marketing from the University of Dallas in 1981. He is fluent in French and Italian and reads German. He joined the company as a sales representative, was promoted to sales manager in January 1992 and to vice president of sales in March 1993. Andrew is a member of the Sales Management Roundtable, the Seattle Chamber of Commerce, and the Pacific Rim Importers Association.", + "ReportsTo": null + }, + { + "EmployeeID": 3, + "LastName": "Leverling", + "FirstName": "Janet", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1973-08-30T00:00:00Z", + "HireDate": "2012-04-01T00:00:00Z", + "Address": "722 Moss Bay Blvd.", + "City": "Kirkland", + "Region": "WA", + "PostalCode": "98033", + "Country": "USA", + "HomePhone": "(206) 555-3412", + "Extension": "3355", + "Notes": "Janet has a BS degree in chemistry from Boston College (1984). She has also completed a certificate program in food retailing management. Janet was hired as a sales associate in 1991 and promoted to sales representative in February 1992.", + "ReportsTo": 2 + }, + { + "EmployeeID": 4, + "LastName": "Peacock", + "FirstName": "Margaret", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mrs.", + "BirthDate": "1957-09-19T00:00:00Z", + "HireDate": "2013-05-03T00:00:00Z", + "Address": "4110 Old Redmond Rd.", + "City": "Redmond", + "Region": "WA", + "PostalCode": "98052", + "Country": "USA", + "HomePhone": "(206) 555-8122", + "Extension": "5176", + "Notes": "Margaret holds a BA in English literature from Concordia College (1958) and an MA from the American Institute of Culinary Arts (1966). She was assigned to the London office temporarily from July through November 1992.", + "ReportsTo": 2 + }, + { + "EmployeeID": 5, + "LastName": "Buchanan", + "FirstName": "Steven", + "Title": "Sales Manager", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1985-03-04T00:00:00Z", + "HireDate": "1993-10-17T00:00:00Z", + "Address": "14 Garrett Hill", + "City": "London", + "Region": null, + "PostalCode": "SW1 8JR", + "Country": "UK", + "HomePhone": "(71) 555-4848", + "Extension": "3453", + "Notes": "Steven Buchanan graduated from St. Andrews University, Scotland, with a BSC degree in 1976. Upon joining the company as a sales representative in 1992, he spent 6 months in an orientation program at the Seattle office and then returned to his permanent post in London. He was promoted to sales manager in March 1993. Mr. Buchanan has completed the courses \"Successful Telemarketing\" and \"International Sales Management.\" He is fluent in French.", + "ReportsTo": 2 + }, + { + "EmployeeID": 6, + "LastName": "Suyama", + "FirstName": "Michael", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1973-07-02T00:00:00Z", + "HireDate": "2008-10-17T00:00:00Z", + "Address": "Coventry House\r\nMiner Rd.", + "City": "London", + "Region": null, + "PostalCode": "EC2 7JR", + "Country": "UK", + "HomePhone": "(71) 555-7773", + "Extension": "428", + "Notes": "Michael is a graduate of Sussex University (MA, economics, 1983) and the University of California at Los Angeles (MBA, marketing, 1986). He has also taken the courses \"Multi-Cultural Selling\" and \"Time Management for the Sales Professional.\" He is fluent in Japanese and can read and write French, Portuguese, and Spanish.", + "ReportsTo": 5 + }, + { + "EmployeeID": 7, + "LastName": "King", + "FirstName": "Robert", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1960-05-29T00:00:00Z", + "HireDate": "1994-01-02T00:00:00Z", + "Address": "Edgeham Hollow\r\nWinchester Way", + "City": "London", + "Region": null, + "PostalCode": "RG1 9SP", + "Country": "UK", + "HomePhone": "(71) 555-5598", + "Extension": "465", + "Notes": "Robert King served in the Peace Corps and traveled extensively before completing his degree in English at the University of Michigan in 1992, the year he joined the company. After completing a course entitled \"Selling in Europe,\" he was transferred to the London office in March 1993.", + "ReportsTo": 5 + }, + { + "EmployeeID": 8, + "LastName": "Callahan", + "FirstName": "Laura", + "Title": "Inside Sales Coordinator", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1988-01-09T00:00:00Z", + "HireDate": "1999-03-05T00:00:00Z", + "Address": "4726 - 11th Ave. N.E.", + "City": "Seattle", + "Region": "WA", + "PostalCode": "98105", + "Country": "USA", + "HomePhone": "(206) 555-1189", + "Extension": "2344", + "Notes": "Laura received a BA in psychology from the University of Washington. She has also completed a course in business French. She reads and writes French.", + "ReportsTo": 2 + }, + { + "EmployeeID": 9, + "LastName": "Dodsworth", + "FirstName": "Anne", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1976-01-27T00:00:00Z", + "HireDate": "2019-11-15T00:00:00Z", + "Address": "7 Houndstooth Rd.", + "City": "London", + "Region": null, + "PostalCode": "WG2 7LT", + "Country": "UK", + "HomePhone": "(71) 555-4444", + "Extension": "452", + "Notes": "Anne has a BA degree in English from St. Lawrence College. She is fluent in French and German.", + "ReportsTo": 5 + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/OrderDetails.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/OrderDetails.json new file mode 100644 index 0000000..a13a11f --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/OrderDetails.json @@ -0,0 +1,15087 @@ +[ + { + "OrderID": 10248, + "ProductID": 11, + "UnitPrice": 14, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10248, + "ProductID": 42, + "UnitPrice": 9.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10248, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10249, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10249, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10250, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10250, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10250, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10251, + "ProductID": 22, + "UnitPrice": 16.8, + "Quantity": 6, + "Discount": 0.05 + }, + { + "OrderID": 10251, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10251, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10252, + "ProductID": 20, + "UnitPrice": 64.8, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10252, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10252, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10253, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10253, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10253, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10254, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10254, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 21, + "Discount": 0.15 + }, + { + "OrderID": 10254, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10255, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10255, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10255, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10255, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10256, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10256, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10257, + "ProductID": 27, + "UnitPrice": 35.1, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10257, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10257, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10258, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10258, + "ProductID": 5, + "UnitPrice": 17, + "Quantity": 65, + "Discount": 0.2 + }, + { + "OrderID": 10258, + "ProductID": 32, + "UnitPrice": 25.6, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10259, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10259, + "ProductID": 37, + "UnitPrice": 20.8, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10260, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 16, + "Discount": 0.25 + }, + { + "OrderID": 10260, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10260, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10260, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10261, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10261, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10262, + "ProductID": 5, + "UnitPrice": 17, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10262, + "ProductID": 7, + "UnitPrice": 24, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10262, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10263, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10263, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10263, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10263, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 36, + "Discount": 0.25 + }, + { + "OrderID": 10264, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10264, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10265, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10265, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10266, + "ProductID": 12, + "UnitPrice": 30.4, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10267, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10267, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 70, + "Discount": 0.15 + }, + { + "OrderID": 10267, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10268, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10268, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10269, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10269, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10270, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10270, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10271, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10272, + "ProductID": 20, + "UnitPrice": 64.8, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10272, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10272, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10273, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 24, + "Discount": 0.05 + }, + { + "OrderID": 10273, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10273, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10273, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10273, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 33, + "Discount": 0.05 + }, + { + "OrderID": 10274, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10274, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10275, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10275, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 6, + "Discount": 0.05 + }, + { + "OrderID": 10276, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10276, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10277, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10277, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10278, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10278, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10278, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10278, + "ProductID": 73, + "UnitPrice": 12, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10279, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10280, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10280, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10280, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10281, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10281, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10281, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10282, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10282, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10283, + "ProductID": 15, + "UnitPrice": 12.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10283, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10283, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10283, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10284, + "ProductID": 27, + "UnitPrice": 35.1, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10284, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10284, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10284, + "ProductID": 67, + "UnitPrice": 11.2, + "Quantity": 5, + "Discount": 0.25 + }, + { + "OrderID": 10285, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 45, + "Discount": 0.2 + }, + { + "OrderID": 10285, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10285, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 36, + "Discount": 0.2 + }, + { + "OrderID": 10286, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 100, + "Discount": 0 + }, + { + "OrderID": 10286, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10287, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10287, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10287, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10288, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10288, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 3, + "Discount": 0.1 + }, + { + "OrderID": 10289, + "ProductID": 3, + "UnitPrice": 8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10289, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10290, + "ProductID": 5, + "UnitPrice": 17, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10290, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10290, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10290, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10291, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10291, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 24, + "Discount": 0.1 + }, + { + "OrderID": 10291, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 2, + "Discount": 0.1 + }, + { + "OrderID": 10292, + "ProductID": 20, + "UnitPrice": 64.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10293, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10293, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10293, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10293, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10294, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10294, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10294, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10294, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10294, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10295, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10296, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10296, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10296, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10297, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10297, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10298, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10298, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10298, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10298, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10299, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10299, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10300, + "ProductID": 66, + "UnitPrice": 13.6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10300, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10301, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10301, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10302, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10302, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10302, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10303, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10303, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10303, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10304, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10304, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10304, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10305, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10305, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10305, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10306, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10306, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10306, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10307, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10307, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10308, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10308, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10309, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10309, + "ProductID": 6, + "UnitPrice": 20, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10309, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10309, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10309, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10310, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10310, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10311, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10311, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10312, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10312, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10312, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10312, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10313, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10314, + "ProductID": 32, + "UnitPrice": 25.6, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10314, + "ProductID": 58, + "UnitPrice": 10.6, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10314, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10315, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10315, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10316, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10316, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10317, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10318, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10318, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10319, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10319, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10319, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10320, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10321, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10322, + "ProductID": 52, + "UnitPrice": 5.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10323, + "ProductID": 15, + "UnitPrice": 12.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10323, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10323, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10324, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 21, + "Discount": 0.15 + }, + { + "OrderID": 10324, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 70, + "Discount": 0.15 + }, + { + "OrderID": 10324, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10324, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10324, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 80, + "Discount": 0.15 + }, + { + "OrderID": 10325, + "ProductID": 6, + "UnitPrice": 20, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10325, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10325, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10325, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10325, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10326, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10326, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10326, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10327, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 10327, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10327, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10327, + "ProductID": 58, + "UnitPrice": 10.6, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10328, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10328, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10328, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10329, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10329, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 8, + "Discount": 0.05 + }, + { + "OrderID": 10329, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10329, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10330, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 50, + "Discount": 0.15 + }, + { + "OrderID": 10330, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10331, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10332, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10332, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10332, + "ProductID": 47, + "UnitPrice": 7.6, + "Quantity": 16, + "Discount": 0.2 + }, + { + "OrderID": 10333, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10333, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10333, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10334, + "ProductID": 52, + "UnitPrice": 5.6, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10334, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10335, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 7, + "Discount": 0.2 + }, + { + "OrderID": 10335, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 10335, + "ProductID": 32, + "UnitPrice": 25.6, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10335, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 48, + "Discount": 0.2 + }, + { + "OrderID": 10336, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10337, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10337, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10337, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10337, + "ProductID": 37, + "UnitPrice": 20.8, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10337, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10338, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10338, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10339, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10339, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 10339, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10340, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10340, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10340, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10341, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10341, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 9, + "Discount": 0.15 + }, + { + "OrderID": 10342, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 24, + "Discount": 0.2 + }, + { + "OrderID": 10342, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 56, + "Discount": 0.2 + }, + { + "OrderID": 10342, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10342, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10343, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10343, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 4, + "Discount": 0.05 + }, + { + "OrderID": 10343, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10344, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10344, + "ProductID": 8, + "UnitPrice": 32, + "Quantity": 70, + "Discount": 0.25 + }, + { + "OrderID": 10345, + "ProductID": 8, + "UnitPrice": 32, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10345, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 10345, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10346, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 36, + "Discount": 0.1 + }, + { + "OrderID": 10346, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10347, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10347, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 50, + "Discount": 0.15 + }, + { + "OrderID": 10347, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10347, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 6, + "Discount": 0.15 + }, + { + "OrderID": 10348, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10348, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10349, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10350, + "ProductID": 50, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10350, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10351, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10351, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 13, + "Discount": 0 + }, + { + "OrderID": 10351, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 77, + "Discount": 0.05 + }, + { + "OrderID": 10351, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10352, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10352, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10353, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10353, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10354, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10354, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10355, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10355, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10356, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10356, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10356, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10357, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10357, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10357, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 8, + "Discount": 0.2 + }, + { + "OrderID": 10358, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10358, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10358, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10359, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 56, + "Discount": 0.05 + }, + { + "OrderID": 10359, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 10359, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 80, + "Discount": 0.05 + }, + { + "OrderID": 10360, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10360, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10360, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10360, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10360, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10361, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 54, + "Discount": 0.1 + }, + { + "OrderID": 10361, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 55, + "Discount": 0.1 + }, + { + "OrderID": 10362, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10362, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10362, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10363, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10363, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10363, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10364, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10364, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10365, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10366, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10366, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10367, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10367, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10367, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10367, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10368, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 5, + "Discount": 0.1 + }, + { + "OrderID": 10368, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 13, + "Discount": 0.1 + }, + { + "OrderID": 10368, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10368, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 35, + "Discount": 0.1 + }, + { + "OrderID": 10369, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10369, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 18, + "Discount": 0.25 + }, + { + "OrderID": 10370, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10370, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10370, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10371, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10372, + "ProductID": 20, + "UnitPrice": 64.8, + "Quantity": 12, + "Discount": 0.25 + }, + { + "OrderID": 10372, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10372, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 70, + "Discount": 0.25 + }, + { + "OrderID": 10372, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 42, + "Discount": 0.25 + }, + { + "OrderID": 10373, + "ProductID": 58, + "UnitPrice": 10.6, + "Quantity": 80, + "Discount": 0.2 + }, + { + "OrderID": 10373, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10374, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10374, + "ProductID": 58, + "UnitPrice": 10.6, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10375, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10375, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10376, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 42, + "Discount": 0.05 + }, + { + "OrderID": 10377, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10377, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10378, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10379, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10379, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 16, + "Discount": 0.1 + }, + { + "OrderID": 10379, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10380, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10380, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10380, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10380, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10381, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10382, + "ProductID": 5, + "UnitPrice": 17, + "Quantity": 32, + "Discount": 0 + }, + { + "OrderID": 10382, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10382, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10382, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10382, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10383, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10383, + "ProductID": 50, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10383, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10384, + "ProductID": 20, + "UnitPrice": 64.8, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10384, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10385, + "ProductID": 7, + "UnitPrice": 24, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10385, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10385, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 8, + "Discount": 0.2 + }, + { + "OrderID": 10386, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10386, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10387, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10387, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10387, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10387, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10388, + "ProductID": 45, + "UnitPrice": 7.6, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10388, + "ProductID": 52, + "UnitPrice": 5.6, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10388, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10389, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10389, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10389, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10389, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10390, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 60, + "Discount": 0.1 + }, + { + "OrderID": 10390, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10390, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10390, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 24, + "Discount": 0.1 + }, + { + "OrderID": 10391, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10392, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10393, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 10393, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 42, + "Discount": 0.25 + }, + { + "OrderID": 10393, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 7, + "Discount": 0.25 + }, + { + "OrderID": 10393, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 70, + "Discount": 0.25 + }, + { + "OrderID": 10393, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 32, + "Discount": 0 + }, + { + "OrderID": 10394, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10394, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10395, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 28, + "Discount": 0.1 + }, + { + "OrderID": 10395, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 70, + "Discount": 0.1 + }, + { + "OrderID": 10395, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10396, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10396, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10396, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10397, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10397, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 18, + "Discount": 0.15 + }, + { + "OrderID": 10398, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10398, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 120, + "Discount": 0.1 + }, + { + "OrderID": 10399, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10399, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10399, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10399, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10400, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10400, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10400, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10401, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10401, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10401, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10401, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10402, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10402, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 65, + "Discount": 0 + }, + { + "OrderID": 10403, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 21, + "Discount": 0.15 + }, + { + "OrderID": 10403, + "ProductID": 48, + "UnitPrice": 10.2, + "Quantity": 70, + "Discount": 0.15 + }, + { + "OrderID": 10404, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10404, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10404, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10405, + "ProductID": 3, + "UnitPrice": 8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10406, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10406, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10406, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 42, + "Discount": 0.1 + }, + { + "OrderID": 10406, + "ProductID": 36, + "UnitPrice": 15.2, + "Quantity": 5, + "Discount": 0.1 + }, + { + "OrderID": 10406, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 2, + "Discount": 0.1 + }, + { + "OrderID": 10407, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10407, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10407, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10408, + "ProductID": 37, + "UnitPrice": 20.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10408, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10408, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10409, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10409, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10410, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 49, + "Discount": 0 + }, + { + "OrderID": 10410, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10411, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 10411, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10411, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 9, + "Discount": 0.2 + }, + { + "OrderID": 10412, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10413, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10413, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10413, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10414, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 18, + "Discount": 0.05 + }, + { + "OrderID": 10414, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10415, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10415, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10416, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10416, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10416, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10417, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10417, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 2, + "Discount": 0.25 + }, + { + "OrderID": 10417, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 36, + "Discount": 0.25 + }, + { + "OrderID": 10417, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10418, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10418, + "ProductID": 47, + "UnitPrice": 7.6, + "Quantity": 55, + "Discount": 0 + }, + { + "OrderID": 10418, + "ProductID": 61, + "UnitPrice": 22.8, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10418, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10419, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10419, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10420, + "ProductID": 9, + "UnitPrice": 77.6, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10420, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 2, + "Discount": 0.1 + }, + { + "OrderID": 10420, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10420, + "ProductID": 73, + "UnitPrice": 12, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10421, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 4, + "Discount": 0.15 + }, + { + "OrderID": 10421, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10421, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10421, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10422, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10423, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10423, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10424, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 60, + "Discount": 0.2 + }, + { + "OrderID": 10424, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 49, + "Discount": 0.2 + }, + { + "OrderID": 10424, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10425, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 10, + "Discount": 0.25 + }, + { + "OrderID": 10425, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10426, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10426, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10427, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10428, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10429, + "ProductID": 50, + "UnitPrice": 13, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10429, + "ProductID": 63, + "UnitPrice": 35.1, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10430, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 45, + "Discount": 0.2 + }, + { + "OrderID": 10430, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10430, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10430, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 70, + "Discount": 0.2 + }, + { + "OrderID": 10431, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10431, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10431, + "ProductID": 47, + "UnitPrice": 7.6, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10432, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10432, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10433, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10434, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10434, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 18, + "Discount": 0.15 + }, + { + "OrderID": 10435, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10435, + "ProductID": 22, + "UnitPrice": 16.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10435, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10436, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10436, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10436, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10436, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 24, + "Discount": 0.1 + }, + { + "OrderID": 10437, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10438, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10438, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10438, + "ProductID": 57, + "UnitPrice": 15.6, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10439, + "ProductID": 12, + "UnitPrice": 30.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10439, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10439, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10439, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10440, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 45, + "Discount": 0.15 + }, + { + "OrderID": 10440, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 49, + "Discount": 0.15 + }, + { + "OrderID": 10440, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 10440, + "ProductID": 61, + "UnitPrice": 22.8, + "Quantity": 90, + "Discount": 0.15 + }, + { + "OrderID": 10441, + "ProductID": 27, + "UnitPrice": 35.1, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10442, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10442, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 10442, + "ProductID": 66, + "UnitPrice": 13.6, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10443, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10443, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10444, + "ProductID": 17, + "UnitPrice": 31.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10444, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10444, + "ProductID": 35, + "UnitPrice": 14.4, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10444, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10445, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10445, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10446, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 12, + "Discount": 0.1 + }, + { + "OrderID": 10446, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10446, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 3, + "Discount": 0.1 + }, + { + "OrderID": 10446, + "ProductID": 52, + "UnitPrice": 5.6, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10447, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10447, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10447, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10448, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10448, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10449, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10449, + "ProductID": 52, + "UnitPrice": 5.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10449, + "ProductID": 62, + "UnitPrice": 39.4, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10450, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10450, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10451, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 120, + "Discount": 0.1 + }, + { + "OrderID": 10451, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 35, + "Discount": 0.1 + }, + { + "OrderID": 10451, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 28, + "Discount": 0.1 + }, + { + "OrderID": 10451, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 55, + "Discount": 0.1 + }, + { + "OrderID": 10452, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10452, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 100, + "Discount": 0.05 + }, + { + "OrderID": 10453, + "ProductID": 48, + "UnitPrice": 10.2, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10453, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10454, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10454, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10454, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10455, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10455, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10455, + "ProductID": 61, + "UnitPrice": 22.8, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10455, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10456, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10456, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 21, + "Discount": 0.15 + }, + { + "OrderID": 10457, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10458, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10458, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10458, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10458, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10458, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10459, + "ProductID": 7, + "UnitPrice": 24, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10459, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10459, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10460, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10460, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 4, + "Discount": 0.25 + }, + { + "OrderID": 10461, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10461, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 28, + "Discount": 0.25 + }, + { + "OrderID": 10461, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10462, + "ProductID": 13, + "UnitPrice": 4.8, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10462, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10463, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10463, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10464, + "ProductID": 4, + "UnitPrice": 17.6, + "Quantity": 16, + "Discount": 0.2 + }, + { + "OrderID": 10464, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10464, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10464, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10465, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10465, + "ProductID": 29, + "UnitPrice": 99, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10465, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10465, + "ProductID": 45, + "UnitPrice": 7.6, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10465, + "ProductID": 50, + "UnitPrice": 13, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10466, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10466, + "ProductID": 46, + "UnitPrice": 9.6, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10467, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10467, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10468, + "ProductID": 30, + "UnitPrice": 20.7, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10468, + "ProductID": 43, + "UnitPrice": 36.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10469, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10469, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10469, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 2, + "Discount": 0.15 + }, + { + "OrderID": 10470, + "ProductID": 18, + "UnitPrice": 50, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10470, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10470, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10471, + "ProductID": 7, + "UnitPrice": 24, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10471, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10472, + "ProductID": 24, + "UnitPrice": 3.6, + "Quantity": 80, + "Discount": 0.05 + }, + { + "OrderID": 10472, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10473, + "ProductID": 33, + "UnitPrice": 2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10473, + "ProductID": 71, + "UnitPrice": 17.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10474, + "ProductID": 14, + "UnitPrice": 18.6, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10474, + "ProductID": 28, + "UnitPrice": 36.4, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10474, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10474, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10475, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10475, + "ProductID": 66, + "UnitPrice": 13.6, + "Quantity": 60, + "Discount": 0.15 + }, + { + "OrderID": 10475, + "ProductID": 76, + "UnitPrice": 14.4, + "Quantity": 42, + "Discount": 0.15 + }, + { + "OrderID": 10476, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 2, + "Discount": 0.05 + }, + { + "OrderID": 10476, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10477, + "ProductID": 1, + "UnitPrice": 14.4, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10477, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10477, + "ProductID": 39, + "UnitPrice": 14.4, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10478, + "ProductID": 10, + "UnitPrice": 24.8, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10479, + "ProductID": 38, + "UnitPrice": 210.8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10479, + "ProductID": 53, + "UnitPrice": 26.2, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10479, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10479, + "ProductID": 64, + "UnitPrice": 26.6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10480, + "ProductID": 47, + "UnitPrice": 7.6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10480, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10481, + "ProductID": 49, + "UnitPrice": 16, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10481, + "ProductID": 60, + "UnitPrice": 27.2, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10482, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10483, + "ProductID": 34, + "UnitPrice": 11.2, + "Quantity": 35, + "Discount": 0.05 + }, + { + "OrderID": 10483, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10484, + "ProductID": 21, + "UnitPrice": 8, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10484, + "ProductID": 40, + "UnitPrice": 14.7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10484, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10485, + "ProductID": 2, + "UnitPrice": 15.2, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10485, + "ProductID": 3, + "UnitPrice": 8, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10485, + "ProductID": 55, + "UnitPrice": 19.2, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10485, + "ProductID": 70, + "UnitPrice": 12, + "Quantity": 60, + "Discount": 0.1 + }, + { + "OrderID": 10486, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10486, + "ProductID": 51, + "UnitPrice": 42.4, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10486, + "ProductID": 74, + "UnitPrice": 8, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10487, + "ProductID": 19, + "UnitPrice": 7.3, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10487, + "ProductID": 26, + "UnitPrice": 24.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10487, + "ProductID": 54, + "UnitPrice": 5.9, + "Quantity": 24, + "Discount": 0.25 + }, + { + "OrderID": 10488, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10488, + "ProductID": 73, + "UnitPrice": 12, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10489, + "ProductID": 11, + "UnitPrice": 16.8, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10489, + "ProductID": 16, + "UnitPrice": 13.9, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10490, + "ProductID": 59, + "UnitPrice": 44, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10490, + "ProductID": 68, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10490, + "ProductID": 75, + "UnitPrice": 6.2, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10491, + "ProductID": 44, + "UnitPrice": 15.5, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10491, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 7, + "Discount": 0.15 + }, + { + "OrderID": 10492, + "ProductID": 25, + "UnitPrice": 11.2, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10492, + "ProductID": 42, + "UnitPrice": 11.2, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10493, + "ProductID": 65, + "UnitPrice": 16.8, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10493, + "ProductID": 66, + "UnitPrice": 13.6, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10493, + "ProductID": 69, + "UnitPrice": 28.8, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10494, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10495, + "ProductID": 23, + "UnitPrice": 7.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10495, + "ProductID": 41, + "UnitPrice": 7.7, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10495, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10496, + "ProductID": 31, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10497, + "ProductID": 56, + "UnitPrice": 30.4, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10497, + "ProductID": 72, + "UnitPrice": 27.8, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10497, + "ProductID": 77, + "UnitPrice": 10.4, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10498, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10498, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10498, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10499, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10499, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10500, + "ProductID": 15, + "UnitPrice": 15.5, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10500, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 8, + "Discount": 0.05 + }, + { + "OrderID": 10501, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10502, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10502, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10502, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10503, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10503, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10504, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10504, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10504, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10504, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10505, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10506, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10506, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 14, + "Discount": 0.1 + }, + { + "OrderID": 10507, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10507, + "ProductID": 48, + "UnitPrice": 12.75, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10508, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10508, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10509, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10510, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10510, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 36, + "Discount": 0.1 + }, + { + "OrderID": 10511, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 50, + "Discount": 0.15 + }, + { + "OrderID": 10511, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 50, + "Discount": 0.15 + }, + { + "OrderID": 10511, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10512, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10512, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 9, + "Discount": 0.15 + }, + { + "OrderID": 10512, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 6, + "Discount": 0.15 + }, + { + "OrderID": 10512, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10513, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10513, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10513, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10514, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 39, + "Discount": 0 + }, + { + "OrderID": 10514, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10514, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10514, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 39, + "Discount": 0 + }, + { + "OrderID": 10514, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10515, + "ProductID": 9, + "UnitPrice": 97, + "Quantity": 16, + "Discount": 0.15 + }, + { + "OrderID": 10515, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10515, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 120, + "Discount": 0 + }, + { + "OrderID": 10515, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 16, + "Discount": 0.15 + }, + { + "OrderID": 10515, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 84, + "Discount": 0.15 + }, + { + "OrderID": 10516, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10516, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 80, + "Discount": 0.1 + }, + { + "OrderID": 10516, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10517, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10517, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10517, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10518, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10518, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10518, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10519, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10519, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10519, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10520, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10520, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10521, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10521, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10521, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10522, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10522, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10522, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10522, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 10523, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10523, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10523, + "ProductID": 37, + "UnitPrice": 26, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10523, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10524, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10524, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10524, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10524, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10525, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10525, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10526, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 8, + "Discount": 0.15 + }, + { + "OrderID": 10526, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10526, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10527, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 50, + "Discount": 0.1 + }, + { + "OrderID": 10527, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10528, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10528, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 8, + "Discount": 0.2 + }, + { + "OrderID": 10528, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10529, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10529, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10529, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10530, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10530, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10530, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10530, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10531, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10532, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10532, + "ProductID": 66, + "UnitPrice": 17, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10533, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10533, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10533, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 24, + "Discount": 0.05 + }, + { + "OrderID": 10534, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10534, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10534, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10535, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 50, + "Discount": 0.1 + }, + { + "OrderID": 10535, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10535, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 5, + "Discount": 0.1 + }, + { + "OrderID": 10535, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10536, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10536, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10536, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10536, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10537, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10537, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10537, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10537, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10537, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10538, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10538, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10539, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10539, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10539, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10539, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10540, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10540, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10540, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10540, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10541, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 35, + "Discount": 0.1 + }, + { + "OrderID": 10541, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 4, + "Discount": 0.1 + }, + { + "OrderID": 10541, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 36, + "Discount": 0.1 + }, + { + "OrderID": 10541, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 9, + "Discount": 0.1 + }, + { + "OrderID": 10542, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10542, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 24, + "Discount": 0.05 + }, + { + "OrderID": 10543, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10543, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 70, + "Discount": 0.15 + }, + { + "OrderID": 10544, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10544, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10545, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10546, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10546, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10546, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10547, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 10547, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10548, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0.25 + }, + { + "OrderID": 10548, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10549, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 55, + "Discount": 0.15 + }, + { + "OrderID": 10549, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 100, + "Discount": 0.15 + }, + { + "OrderID": 10549, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 48, + "Discount": 0.15 + }, + { + "OrderID": 10550, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10550, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10550, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10550, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10551, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10551, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10551, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10552, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10552, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10553, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10553, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10553, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10553, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10553, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10554, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10554, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10554, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10554, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10555, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10555, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10555, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 18, + "Discount": 0.2 + }, + { + "OrderID": 10555, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10555, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10556, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10557, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10557, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10558, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10558, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10558, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10558, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10558, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10559, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10559, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 18, + "Discount": 0.05 + }, + { + "OrderID": 10560, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10560, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10561, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10561, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10562, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10562, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10563, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10563, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10564, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10564, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 6, + "Discount": 0.05 + }, + { + "OrderID": 10564, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10565, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10565, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10566, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10566, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 18, + "Discount": 0.15 + }, + { + "OrderID": 10566, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10567, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 60, + "Discount": 0.2 + }, + { + "OrderID": 10567, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10567, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10568, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10569, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10569, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10570, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10570, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10571, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 11, + "Discount": 0.15 + }, + { + "OrderID": 10571, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 28, + "Discount": 0.15 + }, + { + "OrderID": 10572, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 12, + "Discount": 0.1 + }, + { + "OrderID": 10572, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10572, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10572, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10573, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10573, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10573, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10574, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10574, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10574, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10574, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10575, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10575, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10575, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10575, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10576, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10576, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10576, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10577, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10577, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10577, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10578, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10578, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10579, + "ProductID": 15, + "UnitPrice": 15.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10579, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10580, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10580, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 9, + "Discount": 0.05 + }, + { + "OrderID": 10580, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10581, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10582, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10582, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10583, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10583, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 10583, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10584, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10585, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10586, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 4, + "Discount": 0.15 + }, + { + "OrderID": 10587, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10587, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10587, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10588, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10588, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 100, + "Discount": 0.2 + }, + { + "OrderID": 10589, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10590, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10590, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10591, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10591, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10591, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10592, + "ProductID": 15, + "UnitPrice": 15.5, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10592, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 5, + "Discount": 0.05 + }, + { + "OrderID": 10593, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 21, + "Discount": 0.2 + }, + { + "OrderID": 10593, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10593, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 4, + "Discount": 0.2 + }, + { + "OrderID": 10594, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10594, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10595, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10595, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 120, + "Discount": 0.25 + }, + { + "OrderID": 10595, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 65, + "Discount": 0.25 + }, + { + "OrderID": 10596, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 5, + "Discount": 0.2 + }, + { + "OrderID": 10596, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 24, + "Discount": 0.2 + }, + { + "OrderID": 10596, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10597, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10597, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10597, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10598, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10598, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10599, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10600, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10600, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10601, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10601, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10602, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 5, + "Discount": 0.25 + }, + { + "OrderID": 10603, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 48, + "Discount": 0 + }, + { + "OrderID": 10603, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10604, + "ProductID": 48, + "UnitPrice": 12.75, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10604, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10605, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10605, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10605, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 10605, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10606, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10606, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10606, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10607, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10607, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 100, + "Discount": 0 + }, + { + "OrderID": 10607, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10607, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10607, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10608, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10609, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10609, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10609, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10610, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10611, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10611, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10611, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10612, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10612, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 55, + "Discount": 0 + }, + { + "OrderID": 10612, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10612, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10612, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 10613, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10613, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10614, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10614, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10614, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10615, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10616, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10616, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10616, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10616, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10617, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10618, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10618, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10618, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10619, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10619, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10620, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10620, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10621, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10621, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10621, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10621, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10622, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10622, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 18, + "Discount": 0.2 + }, + { + "OrderID": 10623, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10623, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10623, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10623, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10623, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10624, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10624, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10624, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10625, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10625, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10625, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10626, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10626, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10626, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10627, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10627, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10628, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10629, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10629, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10630, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10630, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10631, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10632, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10632, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10633, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 36, + "Discount": 0.15 + }, + { + "OrderID": 10633, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 13, + "Discount": 0.15 + }, + { + "OrderID": 10633, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10633, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 80, + "Discount": 0.15 + }, + { + "OrderID": 10634, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10634, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10634, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10634, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10635, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10635, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10635, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10636, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10636, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10637, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10637, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10637, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10638, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10638, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10638, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10639, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10640, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10640, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10641, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10641, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10642, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10642, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10643, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10643, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10643, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 2, + "Discount": 0.25 + }, + { + "OrderID": 10644, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 4, + "Discount": 0.1 + }, + { + "OrderID": 10644, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10644, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 21, + "Discount": 0.1 + }, + { + "OrderID": 10645, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10645, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10646, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10646, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 18, + "Discount": 0.25 + }, + { + "OrderID": 10646, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10646, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10647, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10647, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10648, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10648, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10649, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10649, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10650, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10650, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10650, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10651, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 12, + "Discount": 0.25 + }, + { + "OrderID": 10651, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10652, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 2, + "Discount": 0.25 + }, + { + "OrderID": 10652, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10653, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10653, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10654, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 12, + "Discount": 0.1 + }, + { + "OrderID": 10654, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10654, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10655, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10656, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 3, + "Discount": 0.1 + }, + { + "OrderID": 10656, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 28, + "Discount": 0.1 + }, + { + "OrderID": 10656, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 6, + "Discount": 0.1 + }, + { + "OrderID": 10657, + "ProductID": 15, + "UnitPrice": 15.5, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10657, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10657, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10657, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10657, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10657, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10658, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10658, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 10658, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 55, + "Discount": 0.05 + }, + { + "OrderID": 10658, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 10659, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10659, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 24, + "Discount": 0.05 + }, + { + "OrderID": 10659, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10660, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10661, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 3, + "Discount": 0.2 + }, + { + "OrderID": 10661, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 49, + "Discount": 0.2 + }, + { + "OrderID": 10662, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10663, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10663, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10663, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10664, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 10664, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10664, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10665, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10665, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10665, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10666, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10666, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10667, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 45, + "Discount": 0.2 + }, + { + "OrderID": 10667, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 14, + "Discount": 0.2 + }, + { + "OrderID": 10668, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10668, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 4, + "Discount": 0.1 + }, + { + "OrderID": 10668, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10669, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10670, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 32, + "Discount": 0 + }, + { + "OrderID": 10670, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10670, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10670, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10670, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10671, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10671, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10671, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10672, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10672, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10673, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10673, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10673, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10674, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10675, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10675, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10675, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10676, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10676, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10676, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10677, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10677, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 8, + "Discount": 0.15 + }, + { + "OrderID": 10678, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 100, + "Discount": 0 + }, + { + "OrderID": 10678, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10678, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 120, + "Discount": 0 + }, + { + "OrderID": 10678, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10679, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10680, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10680, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10680, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10681, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10681, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 12, + "Discount": 0.1 + }, + { + "OrderID": 10681, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10682, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10682, + "ProductID": 66, + "UnitPrice": 17, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10682, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10683, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10684, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10684, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10684, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10685, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10685, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10685, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10686, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10686, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10687, + "ProductID": 9, + "UnitPrice": 97, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10687, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10687, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 6, + "Discount": 0.25 + }, + { + "OrderID": 10688, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 18, + "Discount": 0.1 + }, + { + "OrderID": 10688, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 60, + "Discount": 0.1 + }, + { + "OrderID": 10688, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10689, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10690, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10690, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10691, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10691, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10691, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10691, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10691, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 48, + "Discount": 0 + }, + { + "OrderID": 10692, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10693, + "ProductID": 9, + "UnitPrice": 97, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10693, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 60, + "Discount": 0.15 + }, + { + "OrderID": 10693, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10693, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10694, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 90, + "Discount": 0 + }, + { + "OrderID": 10694, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10694, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10695, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10695, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10695, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10696, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10696, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10697, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 7, + "Discount": 0.25 + }, + { + "OrderID": 10697, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 9, + "Discount": 0.25 + }, + { + "OrderID": 10697, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10697, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10698, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10698, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 8, + "Discount": 0.05 + }, + { + "OrderID": 10698, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10698, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 65, + "Discount": 0.05 + }, + { + "OrderID": 10698, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 8, + "Discount": 0.05 + }, + { + "OrderID": 10699, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10700, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 5, + "Discount": 0.2 + }, + { + "OrderID": 10700, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10700, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10700, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 60, + "Discount": 0.2 + }, + { + "OrderID": 10701, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 42, + "Discount": 0.15 + }, + { + "OrderID": 10701, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10701, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 35, + "Discount": 0.15 + }, + { + "OrderID": 10702, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10702, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10703, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10703, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10703, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10704, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10704, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10704, + "ProductID": 48, + "UnitPrice": 12.75, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10705, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10705, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10706, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10706, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10706, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10707, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10707, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10707, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 28, + "Discount": 0.15 + }, + { + "OrderID": 10708, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10708, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10709, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10709, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10709, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10710, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10710, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10711, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10711, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10711, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 120, + "Discount": 0 + }, + { + "OrderID": 10712, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 3, + "Discount": 0.05 + }, + { + "OrderID": 10712, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10713, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10713, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10713, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 110, + "Discount": 0 + }, + { + "OrderID": 10713, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10714, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10714, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 27, + "Discount": 0.25 + }, + { + "OrderID": 10714, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10714, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 18, + "Discount": 0.25 + }, + { + "OrderID": 10714, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 12, + "Discount": 0.25 + }, + { + "OrderID": 10715, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10715, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10716, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10716, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10716, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10717, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 32, + "Discount": 0.05 + }, + { + "OrderID": 10717, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10717, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 25, + "Discount": 0.05 + }, + { + "OrderID": 10718, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10718, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10718, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10718, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10719, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 12, + "Discount": 0.25 + }, + { + "OrderID": 10719, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 3, + "Discount": 0.25 + }, + { + "OrderID": 10719, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10720, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10720, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10721, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10722, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10722, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10722, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10722, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10723, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10724, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10724, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10725, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10725, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10725, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10726, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10726, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10727, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10727, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10727, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10728, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10728, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10728, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10728, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10729, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10729, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10729, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10730, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10730, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 3, + "Discount": 0.05 + }, + { + "OrderID": 10730, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10731, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10731, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10732, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10733, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10733, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10733, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10734, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10734, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10734, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10735, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10735, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 2, + "Discount": 0.1 + }, + { + "OrderID": 10736, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10736, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10737, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10737, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10738, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10739, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10739, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10740, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 5, + "Discount": 0.2 + }, + { + "OrderID": 10740, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10740, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10740, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 14, + "Discount": 0.2 + }, + { + "OrderID": 10741, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10742, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10742, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10742, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10743, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 28, + "Discount": 0.05 + }, + { + "OrderID": 10744, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10745, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10745, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10745, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10745, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10746, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10746, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10746, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10746, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10747, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10747, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10747, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10747, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10748, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 44, + "Discount": 0 + }, + { + "OrderID": 10748, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10748, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10749, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10749, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10749, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10750, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 5, + "Discount": 0.15 + }, + { + "OrderID": 10750, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10750, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10751, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 12, + "Discount": 0.1 + }, + { + "OrderID": 10751, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10751, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10751, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10752, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10752, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10753, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10753, + "ProductID": 74, + "UnitPrice": 10, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10754, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10755, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10755, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10755, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 14, + "Discount": 0.25 + }, + { + "OrderID": 10755, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 10756, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 21, + "Discount": 0.2 + }, + { + "OrderID": 10756, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10756, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10756, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10757, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10757, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10757, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10757, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10758, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10758, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10758, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10759, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10760, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 12, + "Discount": 0.25 + }, + { + "OrderID": 10760, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10760, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10761, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10761, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10762, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10762, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10762, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10762, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10763, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10763, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10763, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10764, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10764, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 130, + "Discount": 0.1 + }, + { + "OrderID": 10765, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 80, + "Discount": 0.1 + }, + { + "OrderID": 10766, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10766, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10766, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10767, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10768, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10768, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10768, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10768, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10769, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10769, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10769, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10769, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10770, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10771, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10772, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10772, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10773, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 33, + "Discount": 0 + }, + { + "OrderID": 10773, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 70, + "Discount": 0.2 + }, + { + "OrderID": 10773, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 7, + "Discount": 0.2 + }, + { + "OrderID": 10774, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 2, + "Discount": 0.25 + }, + { + "OrderID": 10774, + "ProductID": 66, + "UnitPrice": 17, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10775, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10775, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10776, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10776, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10776, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 27, + "Discount": 0.05 + }, + { + "OrderID": 10776, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 120, + "Discount": 0.05 + }, + { + "OrderID": 10777, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10778, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10779, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10779, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10780, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10780, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10781, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 3, + "Discount": 0.2 + }, + { + "OrderID": 10781, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10781, + "ProductID": 74, + "UnitPrice": 10, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10782, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10783, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10783, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10784, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10784, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 2, + "Discount": 0.15 + }, + { + "OrderID": 10784, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10785, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10785, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10786, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10786, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10786, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 42, + "Discount": 0.2 + }, + { + "OrderID": 10787, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10787, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10788, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10788, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10789, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10789, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10789, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10789, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10790, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 3, + "Discount": 0.15 + }, + { + "OrderID": 10790, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10791, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 14, + "Discount": 0.05 + }, + { + "OrderID": 10791, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10792, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10792, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10792, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10793, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10793, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10794, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 15, + "Discount": 0.2 + }, + { + "OrderID": 10794, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10795, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 65, + "Discount": 0 + }, + { + "OrderID": 10795, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10796, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 21, + "Discount": 0.2 + }, + { + "OrderID": 10796, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10796, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 10796, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 24, + "Discount": 0.2 + }, + { + "OrderID": 10797, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10798, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10798, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10799, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10799, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10799, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10800, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 50, + "Discount": 0.1 + }, + { + "OrderID": 10800, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 10800, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 7, + "Discount": 0.1 + }, + { + "OrderID": 10801, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10801, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10802, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 10802, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10802, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10802, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 5, + "Discount": 0.25 + }, + { + "OrderID": 10803, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 24, + "Discount": 0.05 + }, + { + "OrderID": 10803, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10803, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10804, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10804, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10804, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 4, + "Discount": 0.15 + }, + { + "OrderID": 10805, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10805, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10806, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10806, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10806, + "ProductID": 74, + "UnitPrice": 10, + "Quantity": 15, + "Discount": 0.25 + }, + { + "OrderID": 10807, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10808, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10808, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 50, + "Discount": 0.15 + }, + { + "OrderID": 10809, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10810, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10810, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10810, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10811, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10811, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10811, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10812, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 16, + "Discount": 0.1 + }, + { + "OrderID": 10812, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10812, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10813, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10813, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10814, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10814, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10814, + "ProductID": 48, + "UnitPrice": 12.75, + "Quantity": 8, + "Discount": 0.15 + }, + { + "OrderID": 10814, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10815, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10816, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 30, + "Discount": 0.05 + }, + { + "OrderID": 10816, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10817, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10817, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10817, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 60, + "Discount": 0.15 + }, + { + "OrderID": 10817, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10818, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10818, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10819, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10819, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10820, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10821, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10821, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10822, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10822, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10823, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10823, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10823, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10823, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10824, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10824, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10825, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10825, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10826, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10826, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10827, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10827, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10828, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10828, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10829, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10829, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10829, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10829, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10830, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10830, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10830, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10830, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10831, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10831, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10831, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10831, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10832, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 3, + "Discount": 0.2 + }, + { + "OrderID": 10832, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10832, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 16, + "Discount": 0.2 + }, + { + "OrderID": 10832, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10833, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10833, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 9, + "Discount": 0.1 + }, + { + "OrderID": 10833, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 9, + "Discount": 0.1 + }, + { + "OrderID": 10834, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 8, + "Discount": 0.05 + }, + { + "OrderID": 10834, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10835, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10835, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 2, + "Discount": 0.2 + }, + { + "OrderID": 10836, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 52, + "Discount": 0 + }, + { + "OrderID": 10836, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10836, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10836, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10836, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10837, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10837, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10837, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10837, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10838, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 4, + "Discount": 0.25 + }, + { + "OrderID": 10838, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 10838, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10839, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10839, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 10840, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 6, + "Discount": 0.2 + }, + { + "OrderID": 10840, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10841, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10841, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10841, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10841, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10842, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10842, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10842, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10842, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10843, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 4, + "Discount": 0.25 + }, + { + "OrderID": 10844, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10845, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 70, + "Discount": 0.1 + }, + { + "OrderID": 10845, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 10845, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 42, + "Discount": 0.1 + }, + { + "OrderID": 10845, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 60, + "Discount": 0.1 + }, + { + "OrderID": 10845, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 48, + "Discount": 0 + }, + { + "OrderID": 10846, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10846, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10846, + "ProductID": 74, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10847, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 80, + "Discount": 0.2 + }, + { + "OrderID": 10847, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10847, + "ProductID": 37, + "UnitPrice": 26, + "Quantity": 60, + "Discount": 0.2 + }, + { + "OrderID": 10847, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 36, + "Discount": 0.2 + }, + { + "OrderID": 10847, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 45, + "Discount": 0.2 + }, + { + "OrderID": 10847, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 55, + "Discount": 0.2 + }, + { + "OrderID": 10848, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10848, + "ProductID": 9, + "UnitPrice": 97, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10849, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 49, + "Discount": 0 + }, + { + "OrderID": 10849, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 18, + "Discount": 0.15 + }, + { + "OrderID": 10850, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10850, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 4, + "Discount": 0.15 + }, + { + "OrderID": 10850, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10851, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 5, + "Discount": 0.05 + }, + { + "OrderID": 10851, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10851, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10851, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 42, + "Discount": 0.05 + }, + { + "OrderID": 10852, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10852, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10852, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10853, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10854, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 100, + "Discount": 0.15 + }, + { + "OrderID": 10854, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 65, + "Discount": 0.15 + }, + { + "OrderID": 10855, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10855, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10855, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10855, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 10856, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10856, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10857, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10857, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10857, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 10, + "Discount": 0.25 + }, + { + "OrderID": 10858, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10858, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10858, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10859, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10859, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10859, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10860, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10860, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10861, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 10861, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10861, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10861, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10861, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10862, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10862, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10863, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10863, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10864, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10864, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10865, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 10865, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 80, + "Discount": 0.05 + }, + { + "OrderID": 10866, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 10866, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 6, + "Discount": 0.25 + }, + { + "OrderID": 10866, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10867, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10868, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10868, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10868, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 42, + "Discount": 0.1 + }, + { + "OrderID": 10869, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10869, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10869, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10869, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10870, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10870, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10871, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10871, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10871, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10872, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 10872, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10872, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10872, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 21, + "Discount": 0.05 + }, + { + "OrderID": 10873, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10873, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 10874, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10875, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10875, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 21, + "Discount": 0.1 + }, + { + "OrderID": 10875, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10876, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10876, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10877, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10877, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10878, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10879, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10879, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10879, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10880, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10880, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10880, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10881, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10882, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10882, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10882, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 32, + "Discount": 0.15 + }, + { + "OrderID": 10883, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10884, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10884, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 21, + "Discount": 0.05 + }, + { + "OrderID": 10884, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 12, + "Discount": 0.05 + }, + { + "OrderID": 10885, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10885, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10885, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10885, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10886, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 10886, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10886, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10887, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10888, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10888, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10889, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10889, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10890, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10890, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10890, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10891, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10892, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 10893, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10893, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10893, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10893, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10893, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10894, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 28, + "Discount": 0.05 + }, + { + "OrderID": 10894, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10894, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 120, + "Discount": 0.05 + }, + { + "OrderID": 10895, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 110, + "Discount": 0 + }, + { + "OrderID": 10895, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10895, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 91, + "Discount": 0 + }, + { + "OrderID": 10895, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 100, + "Discount": 0 + }, + { + "OrderID": 10896, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10896, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10897, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 10897, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10898, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10899, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 8, + "Discount": 0.15 + }, + { + "OrderID": 10900, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 3, + "Discount": 0.25 + }, + { + "OrderID": 10901, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10901, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10902, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 10902, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 6, + "Discount": 0.15 + }, + { + "OrderID": 10903, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10903, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10903, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10904, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10904, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10905, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10906, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10907, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10908, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10908, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 14, + "Discount": 0.05 + }, + { + "OrderID": 10909, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10909, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10909, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10910, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10910, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10910, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10911, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10911, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10911, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10912, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10912, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10913, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10913, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 40, + "Discount": 0.25 + }, + { + "OrderID": 10913, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10914, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10915, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10915, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10915, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10916, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10916, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10916, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10917, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 10917, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10918, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 10918, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 10919, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10919, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10919, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10920, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10921, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10921, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10922, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10922, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10923, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10923, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 10923, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 24, + "Discount": 0.2 + }, + { + "OrderID": 10924, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10924, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10924, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10925, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10925, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10926, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10926, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10926, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10926, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10927, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10927, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10927, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10928, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10928, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10929, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10929, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 49, + "Discount": 0 + }, + { + "OrderID": 10929, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10930, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 36, + "Discount": 0 + }, + { + "OrderID": 10930, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10930, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 10930, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10931, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 42, + "Discount": 0.15 + }, + { + "OrderID": 10931, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10932, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 10932, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 14, + "Discount": 0.1 + }, + { + "OrderID": 10932, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10932, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 10933, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10933, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10934, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10935, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10935, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 4, + "Discount": 0.25 + }, + { + "OrderID": 10935, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 8, + "Discount": 0.25 + }, + { + "OrderID": 10936, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 10937, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10937, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10938, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10938, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 24, + "Discount": 0.25 + }, + { + "OrderID": 10938, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 49, + "Discount": 0.25 + }, + { + "OrderID": 10938, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10939, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 10939, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10940, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10940, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10941, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 44, + "Discount": 0.25 + }, + { + "OrderID": 10941, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 10941, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 80, + "Discount": 0.25 + }, + { + "OrderID": 10941, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10942, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 10943, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10943, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 10943, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10944, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 5, + "Discount": 0.25 + }, + { + "OrderID": 10944, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 18, + "Discount": 0.25 + }, + { + "OrderID": 10944, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10945, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10945, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10946, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10946, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 10946, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10947, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10948, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10948, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10948, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10949, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10949, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10949, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10949, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10950, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10951, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10951, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 6, + "Discount": 0.05 + }, + { + "OrderID": 10951, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10952, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 16, + "Discount": 0.05 + }, + { + "OrderID": 10952, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10953, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10953, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 10954, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 28, + "Discount": 0.15 + }, + { + "OrderID": 10954, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 25, + "Discount": 0.15 + }, + { + "OrderID": 10954, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10954, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 10955, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 10956, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10956, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10956, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10957, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10957, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10957, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10958, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10958, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10958, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10959, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10960, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 10, + "Discount": 0.25 + }, + { + "OrderID": 10960, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10961, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 6, + "Discount": 0.05 + }, + { + "OrderID": 10961, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10962, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 10962, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 77, + "Discount": 0 + }, + { + "OrderID": 10962, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10962, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10962, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 44, + "Discount": 0 + }, + { + "OrderID": 10963, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 2, + "Discount": 0.15 + }, + { + "OrderID": 10964, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10964, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10964, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10965, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10966, + "ProductID": 37, + "UnitPrice": 26, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 10966, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10966, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 12, + "Discount": 0.15 + }, + { + "OrderID": 10967, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10967, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10968, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10968, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10968, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10969, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10970, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10971, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 10972, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10972, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10973, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 10973, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10973, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10974, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10975, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 10975, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10976, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10977, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10977, + "ProductID": 47, + "UnitPrice": 9.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10977, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10977, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10978, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 10978, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 10978, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10978, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 6, + "Discount": 0.15 + }, + { + "OrderID": 10979, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 10979, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10979, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 10979, + "ProductID": 27, + "UnitPrice": 43.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10979, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 10979, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 10980, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 40, + "Discount": 0.2 + }, + { + "OrderID": 10981, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10982, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10982, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 10983, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 84, + "Discount": 0.15 + }, + { + "OrderID": 10983, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10984, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 55, + "Discount": 0 + }, + { + "OrderID": 10984, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10984, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10985, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 36, + "Discount": 0.1 + }, + { + "OrderID": 10985, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 8, + "Discount": 0.1 + }, + { + "OrderID": 10985, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 35, + "Discount": 0.1 + }, + { + "OrderID": 10986, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10986, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10986, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 10986, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10987, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10987, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 10987, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10988, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 10988, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 10989, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10989, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 10989, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10990, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 65, + "Discount": 0 + }, + { + "OrderID": 10990, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 60, + "Discount": 0.15 + }, + { + "OrderID": 10990, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 65, + "Discount": 0.15 + }, + { + "OrderID": 10990, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 66, + "Discount": 0.15 + }, + { + "OrderID": 10991, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 50, + "Discount": 0.2 + }, + { + "OrderID": 10991, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 20, + "Discount": 0.2 + }, + { + "OrderID": 10991, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 90, + "Discount": 0.2 + }, + { + "OrderID": 10992, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 10993, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 50, + "Discount": 0.25 + }, + { + "OrderID": 10993, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 35, + "Discount": 0.25 + }, + { + "OrderID": 10994, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 18, + "Discount": 0.05 + }, + { + "OrderID": 10995, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10995, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 10996, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 10997, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 10997, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10997, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 10998, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 10998, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 10998, + "ProductID": 74, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 10998, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 10999, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 10999, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 10999, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 21, + "Discount": 0.05 + }, + { + "OrderID": 11000, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 11000, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 11000, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11001, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 11001, + "ProductID": 22, + "UnitPrice": 21, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 11001, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 11001, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 11002, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 56, + "Discount": 0 + }, + { + "OrderID": 11002, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 15, + "Discount": 0.15 + }, + { + "OrderID": 11002, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 11002, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 11003, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11003, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11003, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11004, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 11004, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 11005, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11005, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11006, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 11006, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 2, + "Discount": 0.25 + }, + { + "OrderID": 11007, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11007, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11007, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 14, + "Discount": 0 + }, + { + "OrderID": 11008, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 70, + "Discount": 0.05 + }, + { + "OrderID": 11008, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 90, + "Discount": 0.05 + }, + { + "OrderID": 11008, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 11009, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11009, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 18, + "Discount": 0.25 + }, + { + "OrderID": 11009, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 11010, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11010, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11011, + "ProductID": 58, + "UnitPrice": 13.25, + "Quantity": 40, + "Discount": 0.05 + }, + { + "OrderID": 11011, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11012, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 50, + "Discount": 0.05 + }, + { + "OrderID": 11012, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 36, + "Discount": 0.05 + }, + { + "OrderID": 11012, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 60, + "Discount": 0.05 + }, + { + "OrderID": 11013, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11013, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11013, + "ProductID": 45, + "UnitPrice": 9.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11013, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11014, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 28, + "Discount": 0.1 + }, + { + "OrderID": 11015, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11015, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 18, + "Discount": 0 + }, + { + "OrderID": 11016, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11016, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 11017, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 11017, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 110, + "Discount": 0 + }, + { + "OrderID": 11017, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11018, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11018, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11018, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 5, + "Discount": 0 + }, + { + "OrderID": 11019, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 11019, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11020, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 24, + "Discount": 0.15 + }, + { + "OrderID": 11021, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 11, + "Discount": 0.25 + }, + { + "OrderID": 11021, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11021, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 63, + "Discount": 0 + }, + { + "OrderID": 11021, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 44, + "Discount": 0.25 + }, + { + "OrderID": 11021, + "ProductID": 72, + "UnitPrice": 34.8, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11022, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11022, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11023, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11023, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11024, + "ProductID": 26, + "UnitPrice": 31.23, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11024, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11024, + "ProductID": 65, + "UnitPrice": 21.05, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 11024, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 11025, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0.1 + }, + { + "OrderID": 11025, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 20, + "Discount": 0.1 + }, + { + "OrderID": 11026, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 11026, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11027, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 11027, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 21, + "Discount": 0.25 + }, + { + "OrderID": 11028, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11028, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 11029, + "ProductID": 56, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11029, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11030, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 100, + "Discount": 0.25 + }, + { + "OrderID": 11030, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 70, + "Discount": 0 + }, + { + "OrderID": 11030, + "ProductID": 29, + "UnitPrice": 123.79, + "Quantity": 60, + "Discount": 0.25 + }, + { + "OrderID": 11030, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 100, + "Discount": 0.25 + }, + { + "OrderID": 11031, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 45, + "Discount": 0 + }, + { + "OrderID": 11031, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 80, + "Discount": 0 + }, + { + "OrderID": 11031, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 11031, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11031, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 16, + "Discount": 0 + }, + { + "OrderID": 11032, + "ProductID": 36, + "UnitPrice": 19, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11032, + "ProductID": 38, + "UnitPrice": 263.5, + "Quantity": 25, + "Discount": 0 + }, + { + "OrderID": 11032, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11033, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 70, + "Discount": 0.1 + }, + { + "OrderID": 11033, + "ProductID": 69, + "UnitPrice": 36, + "Quantity": 36, + "Discount": 0.1 + }, + { + "OrderID": 11034, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 15, + "Discount": 0.1 + }, + { + "OrderID": 11034, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11034, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 6, + "Discount": 0 + }, + { + "OrderID": 11035, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11035, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 11035, + "ProductID": 42, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11035, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11036, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 7, + "Discount": 0 + }, + { + "OrderID": 11036, + "ProductID": 59, + "UnitPrice": 55, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11037, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11038, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 5, + "Discount": 0.2 + }, + { + "OrderID": 11038, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11038, + "ProductID": 71, + "UnitPrice": 21.5, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11039, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11039, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 11039, + "ProductID": 49, + "UnitPrice": 20, + "Quantity": 60, + "Discount": 0 + }, + { + "OrderID": 11039, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 28, + "Discount": 0 + }, + { + "OrderID": 11040, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11041, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 11041, + "ProductID": 63, + "UnitPrice": 43.9, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11042, + "ProductID": 44, + "UnitPrice": 19.45, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11042, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11043, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11044, + "ProductID": 62, + "UnitPrice": 49.3, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11045, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11045, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 24, + "Discount": 0 + }, + { + "OrderID": 11046, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 20, + "Discount": 0.05 + }, + { + "OrderID": 11046, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 11046, + "ProductID": 35, + "UnitPrice": 18, + "Quantity": 18, + "Discount": 0.05 + }, + { + "OrderID": 11047, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 25, + "Discount": 0.25 + }, + { + "OrderID": 11047, + "ProductID": 5, + "UnitPrice": 21.35, + "Quantity": 30, + "Discount": 0.25 + }, + { + "OrderID": 11048, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 11049, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 11049, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 4, + "Discount": 0.2 + }, + { + "OrderID": 11050, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 50, + "Discount": 0.1 + }, + { + "OrderID": 11051, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 11052, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 30, + "Discount": 0.2 + }, + { + "OrderID": 11052, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 11053, + "ProductID": 18, + "UnitPrice": 62.5, + "Quantity": 35, + "Discount": 0.2 + }, + { + "OrderID": 11053, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11053, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 25, + "Discount": 0.2 + }, + { + "OrderID": 11054, + "ProductID": 33, + "UnitPrice": 2.5, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11054, + "ProductID": 67, + "UnitPrice": 14, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11055, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11055, + "ProductID": 25, + "UnitPrice": 14, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11055, + "ProductID": 51, + "UnitPrice": 53, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11055, + "ProductID": 57, + "UnitPrice": 19.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11056, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 11056, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11056, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 50, + "Discount": 0 + }, + { + "OrderID": 11057, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 11058, + "ProductID": 21, + "UnitPrice": 10, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 11058, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 21, + "Discount": 0 + }, + { + "OrderID": 11058, + "ProductID": 61, + "UnitPrice": 28.5, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11059, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11059, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11059, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11060, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11060, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11061, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 15, + "Discount": 0 + }, + { + "OrderID": 11062, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 10, + "Discount": 0.2 + }, + { + "OrderID": 11062, + "ProductID": 70, + "UnitPrice": 15, + "Quantity": 12, + "Discount": 0.2 + }, + { + "OrderID": 11063, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 30, + "Discount": 0 + }, + { + "OrderID": 11063, + "ProductID": 40, + "UnitPrice": 18.4, + "Quantity": 40, + "Discount": 0.1 + }, + { + "OrderID": 11063, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 30, + "Discount": 0.1 + }, + { + "OrderID": 11064, + "ProductID": 17, + "UnitPrice": 39, + "Quantity": 77, + "Discount": 0.1 + }, + { + "OrderID": 11064, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 12, + "Discount": 0 + }, + { + "OrderID": 11064, + "ProductID": 53, + "UnitPrice": 32.8, + "Quantity": 25, + "Discount": 0.1 + }, + { + "OrderID": 11064, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 4, + "Discount": 0.1 + }, + { + "OrderID": 11064, + "ProductID": 68, + "UnitPrice": 12.5, + "Quantity": 55, + "Discount": 0 + }, + { + "OrderID": 11065, + "ProductID": 30, + "UnitPrice": 25.89, + "Quantity": 4, + "Discount": 0.25 + }, + { + "OrderID": 11065, + "ProductID": 54, + "UnitPrice": 7.45, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 11066, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 11066, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 42, + "Discount": 0 + }, + { + "OrderID": 11066, + "ProductID": 34, + "UnitPrice": 14, + "Quantity": 35, + "Discount": 0 + }, + { + "OrderID": 11067, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 9, + "Discount": 0 + }, + { + "OrderID": 11068, + "ProductID": 28, + "UnitPrice": 45.6, + "Quantity": 8, + "Discount": 0.15 + }, + { + "OrderID": 11068, + "ProductID": 43, + "UnitPrice": 46, + "Quantity": 36, + "Discount": 0.15 + }, + { + "OrderID": 11068, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 28, + "Discount": 0.15 + }, + { + "OrderID": 11069, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11070, + "ProductID": 1, + "UnitPrice": 18, + "Quantity": 40, + "Discount": 0.15 + }, + { + "OrderID": 11070, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 20, + "Discount": 0.15 + }, + { + "OrderID": 11070, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 11070, + "ProductID": 31, + "UnitPrice": 12.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11071, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 15, + "Discount": 0.05 + }, + { + "OrderID": 11071, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 10, + "Discount": 0.05 + }, + { + "OrderID": 11072, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 8, + "Discount": 0 + }, + { + "OrderID": 11072, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 40, + "Discount": 0 + }, + { + "OrderID": 11072, + "ProductID": 50, + "UnitPrice": 16.25, + "Quantity": 22, + "Discount": 0 + }, + { + "OrderID": 11072, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 130, + "Discount": 0 + }, + { + "OrderID": 11073, + "ProductID": 11, + "UnitPrice": 21, + "Quantity": 10, + "Discount": 0 + }, + { + "OrderID": 11073, + "ProductID": 24, + "UnitPrice": 4.5, + "Quantity": 20, + "Discount": 0 + }, + { + "OrderID": 11074, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 14, + "Discount": 0.05 + }, + { + "OrderID": 11075, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 10, + "Discount": 0.15 + }, + { + "OrderID": 11075, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 30, + "Discount": 0.15 + }, + { + "OrderID": 11075, + "ProductID": 76, + "UnitPrice": 18, + "Quantity": 2, + "Discount": 0.15 + }, + { + "OrderID": 11076, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 11076, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 20, + "Discount": 0.25 + }, + { + "OrderID": 11076, + "ProductID": 19, + "UnitPrice": 9.2, + "Quantity": 10, + "Discount": 0.25 + }, + { + "OrderID": 11077, + "ProductID": 2, + "UnitPrice": 19, + "Quantity": 24, + "Discount": 0.2 + }, + { + "OrderID": 11077, + "ProductID": 3, + "UnitPrice": 10, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 4, + "UnitPrice": 22, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 6, + "UnitPrice": 25, + "Quantity": 1, + "Discount": 0.02 + }, + { + "OrderID": 11077, + "ProductID": 7, + "UnitPrice": 30, + "Quantity": 1, + "Discount": 0.05 + }, + { + "OrderID": 11077, + "ProductID": 8, + "UnitPrice": 40, + "Quantity": 2, + "Discount": 0.1 + }, + { + "OrderID": 11077, + "ProductID": 10, + "UnitPrice": 31, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 12, + "UnitPrice": 38, + "Quantity": 2, + "Discount": 0.05 + }, + { + "OrderID": 11077, + "ProductID": 13, + "UnitPrice": 6, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 14, + "UnitPrice": 23.25, + "Quantity": 1, + "Discount": 0.03 + }, + { + "OrderID": 11077, + "ProductID": 16, + "UnitPrice": 17.45, + "Quantity": 2, + "Discount": 0.03 + }, + { + "OrderID": 11077, + "ProductID": 20, + "UnitPrice": 81, + "Quantity": 1, + "Discount": 0.04 + }, + { + "OrderID": 11077, + "ProductID": 23, + "UnitPrice": 9, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 32, + "UnitPrice": 32, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 39, + "UnitPrice": 18, + "Quantity": 2, + "Discount": 0.05 + }, + { + "OrderID": 11077, + "ProductID": 41, + "UnitPrice": 9.65, + "Quantity": 3, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 46, + "UnitPrice": 12, + "Quantity": 3, + "Discount": 0.02 + }, + { + "OrderID": 11077, + "ProductID": 52, + "UnitPrice": 7, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 55, + "UnitPrice": 24, + "Quantity": 2, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 60, + "UnitPrice": 34, + "Quantity": 2, + "Discount": 0.06 + }, + { + "OrderID": 11077, + "ProductID": 64, + "UnitPrice": 33.25, + "Quantity": 2, + "Discount": 0.03 + }, + { + "OrderID": 11077, + "ProductID": 66, + "UnitPrice": 17, + "Quantity": 1, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 73, + "UnitPrice": 15, + "Quantity": 2, + "Discount": 0.01 + }, + { + "OrderID": 11077, + "ProductID": 75, + "UnitPrice": 7.75, + "Quantity": 4, + "Discount": 0 + }, + { + "OrderID": 11077, + "ProductID": 77, + "UnitPrice": 13, + "Quantity": 2, + "Discount": 0 + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Orders.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Orders.json new file mode 100644 index 0000000..db8804b --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Orders.json @@ -0,0 +1,14112 @@ +[ + { + "OrderID": 10248, + "CustomerID": "VINET", + "EmployeeID": 5, + "OrderDate": "2022-07-04T00:00:00Z", + "RequiredDate": "2022-08-01T00:00:00Z", + "ShippedDate": "2022-07-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 32.38, + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, + { + "OrderID": 10249, + "CustomerID": "TOMSP", + "EmployeeID": 6, + "OrderDate": "2022-07-05T00:00:00Z", + "RequiredDate": "2022-08-16T00:00:00Z", + "ShippedDate": "2022-07-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 11.61, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10250, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "2022-07-08T00:00:00Z", + "RequiredDate": "2022-08-05T00:00:00Z", + "ShippedDate": "2022-07-12T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 65.83, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10251, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "2022-07-08T00:00:00Z", + "RequiredDate": "2022-08-05T00:00:00Z", + "ShippedDate": "2022-07-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 41.34, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10252, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "2022-07-09T00:00:00Z", + "RequiredDate": "2022-08-06T00:00:00Z", + "ShippedDate": "2022-07-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 51.3, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10253, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "2022-07-10T00:00:00Z", + "RequiredDate": "2022-07-24T00:00:00Z", + "ShippedDate": "2022-07-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.17, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10254, + "CustomerID": "CHOPS", + "EmployeeID": 5, + "OrderDate": "2022-07-11T00:00:00Z", + "RequiredDate": "2022-08-08T00:00:00Z", + "ShippedDate": "2022-07-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 22.98, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10255, + "CustomerID": "RICSU", + "EmployeeID": 9, + "OrderDate": "2022-07-12T00:00:00Z", + "RequiredDate": "2022-08-09T00:00:00Z", + "ShippedDate": "2022-07-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 148.33, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10256, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "2022-07-15T00:00:00Z", + "RequiredDate": "2022-08-12T00:00:00Z", + "ShippedDate": "2022-07-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.97, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10257, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "2022-07-16T00:00:00Z", + "RequiredDate": "2022-08-13T00:00:00Z", + "ShippedDate": "2022-07-22T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 81.91, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10258, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "2022-07-17T00:00:00Z", + "RequiredDate": "2022-08-14T00:00:00Z", + "ShippedDate": "2022-07-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 140.51, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10259, + "CustomerID": "CENTC", + "EmployeeID": 4, + "OrderDate": "2022-07-18T00:00:00Z", + "RequiredDate": "2022-08-15T00:00:00Z", + "ShippedDate": "2022-07-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.25, + "ShipName": "Centro comercial Moctezuma", + "ShipAddress": "Sierras de Granada 9993", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05022", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10260, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "2022-07-19T00:00:00Z", + "RequiredDate": "2022-08-16T00:00:00Z", + "ShippedDate": "2022-07-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 55.09, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10261, + "CustomerID": "QUEDE", + "EmployeeID": 4, + "OrderDate": "2022-07-19T00:00:00Z", + "RequiredDate": "2022-08-16T00:00:00Z", + "ShippedDate": "2022-07-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.05, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10262, + "CustomerID": "RATTC", + "EmployeeID": 8, + "OrderDate": "2022-07-22T00:00:00Z", + "RequiredDate": "2022-08-19T00:00:00Z", + "ShippedDate": "2022-07-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 48.29, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10263, + "CustomerID": "ERNSH", + "EmployeeID": 9, + "OrderDate": "2022-07-23T00:00:00Z", + "RequiredDate": "2022-08-20T00:00:00Z", + "ShippedDate": "2022-07-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 146.06, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10264, + "CustomerID": "FOLKO", + "EmployeeID": 6, + "OrderDate": "2022-07-24T00:00:00Z", + "RequiredDate": "2022-08-21T00:00:00Z", + "ShippedDate": "2022-08-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.67, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10265, + "CustomerID": "BLONP", + "EmployeeID": 2, + "OrderDate": "2022-07-25T00:00:00Z", + "RequiredDate": "2022-08-22T00:00:00Z", + "ShippedDate": "2022-08-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 55.28, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10266, + "CustomerID": "WARTH", + "EmployeeID": 3, + "OrderDate": "2022-07-26T00:00:00Z", + "RequiredDate": "2022-09-06T00:00:00Z", + "ShippedDate": "2022-07-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 25.73, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10267, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "2022-07-29T00:00:00Z", + "RequiredDate": "2022-08-26T00:00:00Z", + "ShippedDate": "2022-08-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 208.58, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10268, + "CustomerID": "GROSR", + "EmployeeID": 8, + "OrderDate": "2022-07-30T00:00:00Z", + "RequiredDate": "2022-08-27T00:00:00Z", + "ShippedDate": "2022-08-02T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 66.29, + "ShipName": "GROSELLA-Restaurante", + "ShipAddress": "5ª Ave. Los Palos Grandes", + "ShipCity": "Caracas", + "ShipRegion": "DF", + "ShipPostalCode": "1081", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10269, + "CustomerID": "WHITC", + "EmployeeID": 5, + "OrderDate": "2022-07-31T00:00:00Z", + "RequiredDate": "2022-08-14T00:00:00Z", + "ShippedDate": "2022-08-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.56, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10270, + "CustomerID": "WARTH", + "EmployeeID": 1, + "OrderDate": "2022-08-01T00:00:00Z", + "RequiredDate": "2022-08-29T00:00:00Z", + "ShippedDate": "2022-08-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 136.54, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10271, + "CustomerID": "SPLIR", + "EmployeeID": 6, + "OrderDate": "2022-08-01T00:00:00Z", + "RequiredDate": "2022-08-29T00:00:00Z", + "ShippedDate": "2022-08-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.54, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10272, + "CustomerID": "RATTC", + "EmployeeID": 6, + "OrderDate": "2022-08-02T00:00:00Z", + "RequiredDate": "2022-08-30T00:00:00Z", + "ShippedDate": "2022-08-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 98.03, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10273, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "2022-08-05T00:00:00Z", + "RequiredDate": "2022-09-02T00:00:00Z", + "ShippedDate": "2022-08-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 76.07, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10274, + "CustomerID": "VINET", + "EmployeeID": 6, + "OrderDate": "2022-08-06T00:00:00Z", + "RequiredDate": "2022-09-03T00:00:00Z", + "ShippedDate": "2022-08-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 6.01, + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, + { + "OrderID": 10275, + "CustomerID": "MAGAA", + "EmployeeID": 1, + "OrderDate": "2022-08-07T00:00:00Z", + "RequiredDate": "2022-09-04T00:00:00Z", + "ShippedDate": "2022-08-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 26.93, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10276, + "CustomerID": "TORTU", + "EmployeeID": 8, + "OrderDate": "2022-08-08T00:00:00Z", + "RequiredDate": "2022-08-22T00:00:00Z", + "ShippedDate": "2022-08-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 13.84, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10277, + "CustomerID": "MORGK", + "EmployeeID": 2, + "OrderDate": "2022-08-09T00:00:00Z", + "RequiredDate": "2022-09-06T00:00:00Z", + "ShippedDate": "2022-08-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 125.77, + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, + { + "OrderID": 10278, + "CustomerID": "BERGS", + "EmployeeID": 8, + "OrderDate": "2022-08-12T00:00:00Z", + "RequiredDate": "2022-09-09T00:00:00Z", + "ShippedDate": "2022-08-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 92.69, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10279, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "2022-08-13T00:00:00Z", + "RequiredDate": "2022-09-10T00:00:00Z", + "ShippedDate": "2022-08-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.83, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10280, + "CustomerID": "BERGS", + "EmployeeID": 2, + "OrderDate": "2022-08-14T00:00:00Z", + "RequiredDate": "2022-09-11T00:00:00Z", + "ShippedDate": "2022-09-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.98, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10281, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "2022-08-14T00:00:00Z", + "RequiredDate": "2022-08-28T00:00:00Z", + "ShippedDate": "2022-08-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.94, + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran Vía, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, + { + "OrderID": 10282, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "2022-08-15T00:00:00Z", + "RequiredDate": "2022-09-12T00:00:00Z", + "ShippedDate": "2022-08-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.69, + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran Vía, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, + { + "OrderID": 10283, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "2022-08-16T00:00:00Z", + "RequiredDate": "2022-09-13T00:00:00Z", + "ShippedDate": "2022-08-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 84.81, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10284, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "2022-08-19T00:00:00Z", + "RequiredDate": "2022-09-16T00:00:00Z", + "ShippedDate": "2022-08-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 76.56, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10285, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "2022-08-20T00:00:00Z", + "RequiredDate": "2022-09-17T00:00:00Z", + "ShippedDate": "2022-08-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 76.83, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10286, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "2022-08-21T00:00:00Z", + "RequiredDate": "2022-09-18T00:00:00Z", + "ShippedDate": "2022-08-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 229.24, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10287, + "CustomerID": "RICAR", + "EmployeeID": 8, + "OrderDate": "2022-08-22T00:00:00Z", + "RequiredDate": "2022-09-19T00:00:00Z", + "ShippedDate": "2022-08-28T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 12.76, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10288, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "2022-08-23T00:00:00Z", + "RequiredDate": "2022-09-20T00:00:00Z", + "ShippedDate": "2022-09-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 7.45, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10289, + "CustomerID": "BSBEV", + "EmployeeID": 7, + "OrderDate": "2022-08-26T00:00:00Z", + "RequiredDate": "2022-09-23T00:00:00Z", + "ShippedDate": "2022-08-28T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 22.77, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10290, + "CustomerID": "COMMI", + "EmployeeID": 8, + "OrderDate": "2022-08-27T00:00:00Z", + "RequiredDate": "2022-09-24T00:00:00Z", + "ShippedDate": "2022-09-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 79.7, + "ShipName": "Comércio Mineiro", + "ShipAddress": "Av. dos Lusíadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10291, + "CustomerID": "QUEDE", + "EmployeeID": 6, + "OrderDate": "2022-08-27T00:00:00Z", + "RequiredDate": "2022-09-24T00:00:00Z", + "ShippedDate": "2022-09-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 6.4, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10292, + "CustomerID": "TRADH", + "EmployeeID": 1, + "OrderDate": "2022-08-28T00:00:00Z", + "RequiredDate": "2022-09-25T00:00:00Z", + "ShippedDate": "2022-09-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.35, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10293, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "2022-08-29T00:00:00Z", + "RequiredDate": "2022-09-26T00:00:00Z", + "ShippedDate": "2022-09-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 21.18, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10294, + "CustomerID": "RATTC", + "EmployeeID": 4, + "OrderDate": "2022-08-30T00:00:00Z", + "RequiredDate": "2022-09-27T00:00:00Z", + "ShippedDate": "2022-09-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 147.26, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10295, + "CustomerID": "VINET", + "EmployeeID": 2, + "OrderDate": "2022-09-02T00:00:00Z", + "RequiredDate": "2022-09-30T00:00:00Z", + "ShippedDate": "2022-09-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.15, + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, + { + "OrderID": 10296, + "CustomerID": "LILAS", + "EmployeeID": 6, + "OrderDate": "2022-09-03T00:00:00Z", + "RequiredDate": "2022-10-01T00:00:00Z", + "ShippedDate": "2022-09-11T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.12, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10297, + "CustomerID": "BLONP", + "EmployeeID": 5, + "OrderDate": "2022-09-04T00:00:00Z", + "RequiredDate": "2022-10-16T00:00:00Z", + "ShippedDate": "2022-09-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 5.74, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10298, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "2022-09-05T00:00:00Z", + "RequiredDate": "2022-10-03T00:00:00Z", + "ShippedDate": "2022-09-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 168.22, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10299, + "CustomerID": "RICAR", + "EmployeeID": 4, + "OrderDate": "2022-09-06T00:00:00Z", + "RequiredDate": "2022-10-04T00:00:00Z", + "ShippedDate": "2022-09-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 29.76, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10300, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "2022-09-09T00:00:00Z", + "RequiredDate": "2022-10-07T00:00:00Z", + "ShippedDate": "2022-09-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 17.68, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10301, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "2022-09-09T00:00:00Z", + "RequiredDate": "2022-10-07T00:00:00Z", + "ShippedDate": "2022-09-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 45.08, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10302, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "2022-09-10T00:00:00Z", + "RequiredDate": "2022-10-08T00:00:00Z", + "ShippedDate": "2022-10-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 6.27, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10303, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "2022-09-11T00:00:00Z", + "RequiredDate": "2022-10-09T00:00:00Z", + "ShippedDate": "2022-09-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 107.83, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10304, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "2022-09-12T00:00:00Z", + "RequiredDate": "2022-10-10T00:00:00Z", + "ShippedDate": "2022-09-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 63.79, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10305, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "2022-09-13T00:00:00Z", + "RequiredDate": "2022-10-11T00:00:00Z", + "ShippedDate": "2022-10-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 257.62, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10306, + "CustomerID": "ROMEY", + "EmployeeID": 1, + "OrderDate": "2022-09-16T00:00:00Z", + "RequiredDate": "2022-10-14T00:00:00Z", + "ShippedDate": "2022-09-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 7.56, + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran Vía, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, + { + "OrderID": 10307, + "CustomerID": "LONEP", + "EmployeeID": 2, + "OrderDate": "2022-09-17T00:00:00Z", + "RequiredDate": "2022-10-15T00:00:00Z", + "ShippedDate": "2022-09-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.56, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10308, + "CustomerID": "ANATR", + "EmployeeID": 7, + "OrderDate": "2022-09-18T00:00:00Z", + "RequiredDate": "2022-10-16T00:00:00Z", + "ShippedDate": "2022-09-24T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.61, + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constitución 2222", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10309, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "2022-09-19T00:00:00Z", + "RequiredDate": "2022-10-17T00:00:00Z", + "ShippedDate": "2022-10-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 47.3, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10310, + "CustomerID": "THEBI", + "EmployeeID": 8, + "OrderDate": "2022-09-20T00:00:00Z", + "RequiredDate": "2022-10-18T00:00:00Z", + "ShippedDate": "2022-09-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 17.52, + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, + { + "OrderID": 10311, + "CustomerID": "DUMON", + "EmployeeID": 1, + "OrderDate": "2022-09-20T00:00:00Z", + "RequiredDate": "2022-10-04T00:00:00Z", + "ShippedDate": "2022-09-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 24.69, + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10312, + "CustomerID": "WANDK", + "EmployeeID": 2, + "OrderDate": "2022-09-23T00:00:00Z", + "RequiredDate": "2022-10-21T00:00:00Z", + "ShippedDate": "2022-10-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 40.26, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10313, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2022-09-24T00:00:00Z", + "RequiredDate": "2022-10-22T00:00:00Z", + "ShippedDate": "2022-10-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.96, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10314, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "2022-09-25T00:00:00Z", + "RequiredDate": "2022-10-23T00:00:00Z", + "ShippedDate": "2022-10-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 74.16, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10315, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "2022-09-26T00:00:00Z", + "RequiredDate": "2022-10-24T00:00:00Z", + "ShippedDate": "2022-10-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 41.76, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10316, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "2022-09-27T00:00:00Z", + "RequiredDate": "2022-10-25T00:00:00Z", + "ShippedDate": "2022-10-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 150.15, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10317, + "CustomerID": "LONEP", + "EmployeeID": 6, + "OrderDate": "2022-09-30T00:00:00Z", + "RequiredDate": "2022-10-28T00:00:00Z", + "ShippedDate": "2022-10-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.69, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10318, + "CustomerID": "ISLAT", + "EmployeeID": 8, + "OrderDate": "2022-10-01T00:00:00Z", + "RequiredDate": "2022-10-29T00:00:00Z", + "ShippedDate": "2022-10-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.73, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10319, + "CustomerID": "TORTU", + "EmployeeID": 7, + "OrderDate": "2022-10-02T00:00:00Z", + "RequiredDate": "2022-10-30T00:00:00Z", + "ShippedDate": "2022-10-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 64.5, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10320, + "CustomerID": "WARTH", + "EmployeeID": 5, + "OrderDate": "2022-10-03T00:00:00Z", + "RequiredDate": "2022-10-17T00:00:00Z", + "ShippedDate": "2022-10-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 34.57, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10321, + "CustomerID": "ISLAT", + "EmployeeID": 3, + "OrderDate": "2022-10-03T00:00:00Z", + "RequiredDate": "2022-10-31T00:00:00Z", + "ShippedDate": "2022-10-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.43, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10322, + "CustomerID": "PERIC", + "EmployeeID": 7, + "OrderDate": "2022-10-04T00:00:00Z", + "RequiredDate": "2022-11-01T00:00:00Z", + "ShippedDate": "2022-10-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.4, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10323, + "CustomerID": "KOENE", + "EmployeeID": 4, + "OrderDate": "2022-10-07T00:00:00Z", + "RequiredDate": "2022-11-04T00:00:00Z", + "ShippedDate": "2022-10-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.88, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10324, + "CustomerID": "SAVEA", + "EmployeeID": 9, + "OrderDate": "2022-10-08T00:00:00Z", + "RequiredDate": "2022-11-05T00:00:00Z", + "ShippedDate": "2022-10-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 214.27, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10325, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "2022-10-09T00:00:00Z", + "RequiredDate": "2022-10-23T00:00:00Z", + "ShippedDate": "2022-10-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 64.86, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10326, + "CustomerID": "BOLID", + "EmployeeID": 4, + "OrderDate": "2022-10-10T00:00:00Z", + "RequiredDate": "2022-11-07T00:00:00Z", + "ShippedDate": "2022-10-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 77.92, + "ShipName": "Bólido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, + { + "OrderID": 10327, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "2022-10-11T00:00:00Z", + "RequiredDate": "2022-11-08T00:00:00Z", + "ShippedDate": "2022-10-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 63.36, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10328, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "2022-10-14T00:00:00Z", + "RequiredDate": "2022-11-11T00:00:00Z", + "ShippedDate": "2022-10-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 87.03, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10329, + "CustomerID": "SPLIR", + "EmployeeID": 4, + "OrderDate": "2022-10-15T00:00:00Z", + "RequiredDate": "2022-11-26T00:00:00Z", + "ShippedDate": "2022-10-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 191.67, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10330, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "2022-10-16T00:00:00Z", + "RequiredDate": "2022-11-13T00:00:00Z", + "ShippedDate": "2022-10-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.75, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10331, + "CustomerID": "BONAP", + "EmployeeID": 9, + "OrderDate": "2022-10-16T00:00:00Z", + "RequiredDate": "2022-11-27T00:00:00Z", + "ShippedDate": "2022-10-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 10.19, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10332, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "2022-10-17T00:00:00Z", + "RequiredDate": "2022-11-28T00:00:00Z", + "ShippedDate": "2022-10-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 52.84, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10333, + "CustomerID": "WARTH", + "EmployeeID": 5, + "OrderDate": "2022-10-18T00:00:00Z", + "RequiredDate": "2022-11-15T00:00:00Z", + "ShippedDate": "2022-10-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.59, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10334, + "CustomerID": "VICTE", + "EmployeeID": 8, + "OrderDate": "2022-10-21T00:00:00Z", + "RequiredDate": "2022-11-18T00:00:00Z", + "ShippedDate": "2022-10-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.56, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10335, + "CustomerID": "HUNGO", + "EmployeeID": 7, + "OrderDate": "2022-10-22T00:00:00Z", + "RequiredDate": "2022-11-19T00:00:00Z", + "ShippedDate": "2022-10-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 42.11, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10336, + "CustomerID": "PRINI", + "EmployeeID": 7, + "OrderDate": "2022-10-23T00:00:00Z", + "RequiredDate": "2022-11-20T00:00:00Z", + "ShippedDate": "2022-10-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 15.51, + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da saúde n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10337, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "2022-10-24T00:00:00Z", + "RequiredDate": "2022-11-21T00:00:00Z", + "ShippedDate": "2022-10-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 108.26, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10338, + "CustomerID": "OLDWO", + "EmployeeID": 4, + "OrderDate": "2022-10-25T00:00:00Z", + "RequiredDate": "2022-11-22T00:00:00Z", + "ShippedDate": "2022-10-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 84.21, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10339, + "CustomerID": "MEREP", + "EmployeeID": 2, + "OrderDate": "2022-10-28T00:00:00Z", + "RequiredDate": "2022-11-25T00:00:00Z", + "ShippedDate": "2022-11-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 15.66, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10340, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "2022-10-29T00:00:00Z", + "RequiredDate": "2022-11-26T00:00:00Z", + "ShippedDate": "2022-11-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 166.31, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10341, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "2022-10-29T00:00:00Z", + "RequiredDate": "2022-11-26T00:00:00Z", + "ShippedDate": "2022-11-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 26.78, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10342, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "2022-10-30T00:00:00Z", + "RequiredDate": "2022-11-13T00:00:00Z", + "ShippedDate": "2022-11-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 54.83, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10343, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "2022-10-31T00:00:00Z", + "RequiredDate": "2022-11-28T00:00:00Z", + "ShippedDate": "2022-11-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 110.37, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10344, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "2022-11-01T00:00:00Z", + "RequiredDate": "2022-11-29T00:00:00Z", + "ShippedDate": "2022-11-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 23.29, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10345, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2022-11-04T00:00:00Z", + "RequiredDate": "2022-12-02T00:00:00Z", + "ShippedDate": "2022-11-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 249.06, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10346, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "2022-11-05T00:00:00Z", + "RequiredDate": "2022-12-17T00:00:00Z", + "ShippedDate": "2022-11-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 142.08, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10347, + "CustomerID": "FAMIA", + "EmployeeID": 4, + "OrderDate": "2022-11-06T00:00:00Z", + "RequiredDate": "2022-12-04T00:00:00Z", + "ShippedDate": "2022-11-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.1, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10348, + "CustomerID": "WANDK", + "EmployeeID": 4, + "OrderDate": "2022-11-07T00:00:00Z", + "RequiredDate": "2022-12-05T00:00:00Z", + "ShippedDate": "2022-11-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.78, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10349, + "CustomerID": "SPLIR", + "EmployeeID": 7, + "OrderDate": "2022-11-08T00:00:00Z", + "RequiredDate": "2022-12-06T00:00:00Z", + "ShippedDate": "2022-11-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.63, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10350, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "2022-11-11T00:00:00Z", + "RequiredDate": "2022-12-09T00:00:00Z", + "ShippedDate": "2022-12-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 64.19, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10351, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "2022-11-11T00:00:00Z", + "RequiredDate": "2022-12-09T00:00:00Z", + "ShippedDate": "2022-11-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 162.33, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10352, + "CustomerID": "FURIB", + "EmployeeID": 3, + "OrderDate": "2022-11-12T00:00:00Z", + "RequiredDate": "2022-11-26T00:00:00Z", + "ShippedDate": "2022-11-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.3, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10353, + "CustomerID": "PICCO", + "EmployeeID": 7, + "OrderDate": "2022-11-13T00:00:00Z", + "RequiredDate": "2022-12-11T00:00:00Z", + "ShippedDate": "2022-11-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 360.63, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10354, + "CustomerID": "PERIC", + "EmployeeID": 8, + "OrderDate": "2022-11-14T00:00:00Z", + "RequiredDate": "2022-12-12T00:00:00Z", + "ShippedDate": "2022-11-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 53.8, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10355, + "CustomerID": "AROUT", + "EmployeeID": 6, + "OrderDate": "2022-11-15T00:00:00Z", + "RequiredDate": "2022-12-13T00:00:00Z", + "ShippedDate": "2022-11-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 41.95, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10356, + "CustomerID": "WANDK", + "EmployeeID": 6, + "OrderDate": "2022-11-18T00:00:00Z", + "RequiredDate": "2022-12-16T00:00:00Z", + "ShippedDate": "2022-11-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 36.71, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10357, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "2022-11-19T00:00:00Z", + "RequiredDate": "2022-12-17T00:00:00Z", + "ShippedDate": "2022-12-02T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 34.88, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10358, + "CustomerID": "LAMAI", + "EmployeeID": 5, + "OrderDate": "2022-11-20T00:00:00Z", + "RequiredDate": "2022-12-18T00:00:00Z", + "ShippedDate": "2022-11-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 19.64, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10359, + "CustomerID": "SEVES", + "EmployeeID": 5, + "OrderDate": "2022-11-21T00:00:00Z", + "RequiredDate": "2022-12-19T00:00:00Z", + "ShippedDate": "2022-11-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 288.43, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10360, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "2022-11-22T00:00:00Z", + "RequiredDate": "2022-12-20T00:00:00Z", + "ShippedDate": "2022-12-02T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 131.7, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10361, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "2022-11-22T00:00:00Z", + "RequiredDate": "2022-12-20T00:00:00Z", + "ShippedDate": "2022-12-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 183.17, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10362, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "2022-11-25T00:00:00Z", + "RequiredDate": "2022-12-23T00:00:00Z", + "ShippedDate": "2022-11-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 96.04, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10363, + "CustomerID": "DRACD", + "EmployeeID": 4, + "OrderDate": "2022-11-26T00:00:00Z", + "RequiredDate": "2022-12-24T00:00:00Z", + "ShippedDate": "2022-12-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 30.54, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 10364, + "CustomerID": "EASTC", + "EmployeeID": 1, + "OrderDate": "2022-11-26T00:00:00Z", + "RequiredDate": "2023-01-07T00:00:00Z", + "ShippedDate": "2022-12-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 71.97, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 10365, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "2022-11-27T00:00:00Z", + "RequiredDate": "2022-12-25T00:00:00Z", + "ShippedDate": "2022-12-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 22, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10366, + "CustomerID": "GALED", + "EmployeeID": 8, + "OrderDate": "2022-11-28T00:00:00Z", + "RequiredDate": "2023-01-09T00:00:00Z", + "ShippedDate": "2022-12-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 10.14, + "ShipName": "Galería del gastronómo", + "ShipAddress": "Rambla de Cataluña, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, + { + "OrderID": 10367, + "CustomerID": "VAFFE", + "EmployeeID": 7, + "OrderDate": "2022-11-28T00:00:00Z", + "RequiredDate": "2022-12-26T00:00:00Z", + "ShippedDate": "2022-12-02T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 13.55, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10368, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "2022-11-29T00:00:00Z", + "RequiredDate": "2022-12-27T00:00:00Z", + "ShippedDate": "2022-12-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 101.95, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10369, + "CustomerID": "SPLIR", + "EmployeeID": 8, + "OrderDate": "2022-12-02T00:00:00Z", + "RequiredDate": "2022-12-30T00:00:00Z", + "ShippedDate": "2022-12-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 195.68, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10370, + "CustomerID": "CHOPS", + "EmployeeID": 6, + "OrderDate": "2022-12-03T00:00:00Z", + "RequiredDate": "2022-12-31T00:00:00Z", + "ShippedDate": "2022-12-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.17, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10371, + "CustomerID": "LAMAI", + "EmployeeID": 1, + "OrderDate": "2022-12-03T00:00:00Z", + "RequiredDate": "2022-12-31T00:00:00Z", + "ShippedDate": "2022-12-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.45, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10372, + "CustomerID": "QUEEN", + "EmployeeID": 5, + "OrderDate": "2022-12-04T00:00:00Z", + "RequiredDate": "2023-01-01T00:00:00Z", + "ShippedDate": "2022-12-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 890.78, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10373, + "CustomerID": "HUNGO", + "EmployeeID": 4, + "OrderDate": "2022-12-05T00:00:00Z", + "RequiredDate": "2023-01-02T00:00:00Z", + "ShippedDate": "2022-12-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 124.12, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10374, + "CustomerID": "WOLZA", + "EmployeeID": 1, + "OrderDate": "2022-12-05T00:00:00Z", + "RequiredDate": "2023-01-02T00:00:00Z", + "ShippedDate": "2022-12-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.94, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10375, + "CustomerID": "HUNGC", + "EmployeeID": 3, + "OrderDate": "2022-12-06T00:00:00Z", + "RequiredDate": "2023-01-03T00:00:00Z", + "ShippedDate": "2022-12-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 20.12, + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, + { + "OrderID": 10376, + "CustomerID": "MEREP", + "EmployeeID": 1, + "OrderDate": "2022-12-09T00:00:00Z", + "RequiredDate": "2023-01-06T00:00:00Z", + "ShippedDate": "2022-12-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 20.39, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10377, + "CustomerID": "SEVES", + "EmployeeID": 1, + "OrderDate": "2022-12-09T00:00:00Z", + "RequiredDate": "2023-01-06T00:00:00Z", + "ShippedDate": "2022-12-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 22.21, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10378, + "CustomerID": "FOLKO", + "EmployeeID": 5, + "OrderDate": "2022-12-10T00:00:00Z", + "RequiredDate": "2023-01-07T00:00:00Z", + "ShippedDate": "2022-12-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 5.44, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10379, + "CustomerID": "QUEDE", + "EmployeeID": 2, + "OrderDate": "2022-12-11T00:00:00Z", + "RequiredDate": "2023-01-08T00:00:00Z", + "ShippedDate": "2022-12-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 45.03, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10380, + "CustomerID": "HUNGO", + "EmployeeID": 8, + "OrderDate": "2022-12-12T00:00:00Z", + "RequiredDate": "2023-01-09T00:00:00Z", + "ShippedDate": "2023-01-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 35.03, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10381, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "2022-12-12T00:00:00Z", + "RequiredDate": "2023-01-09T00:00:00Z", + "ShippedDate": "2022-12-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 7.99, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10382, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "2022-12-13T00:00:00Z", + "RequiredDate": "2023-01-10T00:00:00Z", + "ShippedDate": "2022-12-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 94.77, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10383, + "CustomerID": "AROUT", + "EmployeeID": 8, + "OrderDate": "2022-12-16T00:00:00Z", + "RequiredDate": "2023-01-13T00:00:00Z", + "ShippedDate": "2022-12-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 34.24, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10384, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2022-12-16T00:00:00Z", + "RequiredDate": "2023-01-13T00:00:00Z", + "ShippedDate": "2022-12-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 168.64, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10385, + "CustomerID": "SPLIR", + "EmployeeID": 1, + "OrderDate": "2022-12-17T00:00:00Z", + "RequiredDate": "2023-01-14T00:00:00Z", + "ShippedDate": "2022-12-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 30.96, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10386, + "CustomerID": "FAMIA", + "EmployeeID": 9, + "OrderDate": "2022-12-18T00:00:00Z", + "RequiredDate": "2023-01-01T00:00:00Z", + "ShippedDate": "2022-12-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 13.99, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10387, + "CustomerID": "SANTG", + "EmployeeID": 1, + "OrderDate": "2022-12-18T00:00:00Z", + "RequiredDate": "2023-01-15T00:00:00Z", + "ShippedDate": "2022-12-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 93.63, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 10388, + "CustomerID": "SEVES", + "EmployeeID": 2, + "OrderDate": "2022-12-19T00:00:00Z", + "RequiredDate": "2023-01-16T00:00:00Z", + "ShippedDate": "2022-12-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 34.86, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10389, + "CustomerID": "BOTTM", + "EmployeeID": 4, + "OrderDate": "2022-12-20T00:00:00Z", + "RequiredDate": "2023-01-17T00:00:00Z", + "ShippedDate": "2022-12-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 47.42, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10390, + "CustomerID": "ERNSH", + "EmployeeID": 6, + "OrderDate": "2022-12-23T00:00:00Z", + "RequiredDate": "2023-01-20T00:00:00Z", + "ShippedDate": "2022-12-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 126.38, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10391, + "CustomerID": "DRACD", + "EmployeeID": 3, + "OrderDate": "2022-12-23T00:00:00Z", + "RequiredDate": "2023-01-20T00:00:00Z", + "ShippedDate": "2022-12-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 5.45, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 10392, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "2022-12-24T00:00:00Z", + "RequiredDate": "2023-01-21T00:00:00Z", + "ShippedDate": "2023-01-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 122.46, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10393, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2022-12-25T00:00:00Z", + "RequiredDate": "2023-01-22T00:00:00Z", + "ShippedDate": "2023-01-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 126.56, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10394, + "CustomerID": "HUNGC", + "EmployeeID": 1, + "OrderDate": "2022-12-25T00:00:00Z", + "RequiredDate": "2023-01-22T00:00:00Z", + "ShippedDate": "2023-01-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 30.34, + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, + { + "OrderID": 10395, + "CustomerID": "HILAA", + "EmployeeID": 6, + "OrderDate": "2022-12-26T00:00:00Z", + "RequiredDate": "2023-01-23T00:00:00Z", + "ShippedDate": "2023-01-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 184.41, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10396, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "2022-12-27T00:00:00Z", + "RequiredDate": "2023-01-10T00:00:00Z", + "ShippedDate": "2023-01-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 135.35, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10397, + "CustomerID": "PRINI", + "EmployeeID": 5, + "OrderDate": "2022-12-27T00:00:00Z", + "RequiredDate": "2023-01-24T00:00:00Z", + "ShippedDate": "2023-01-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 60.26, + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da saúde n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10398, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "2022-12-30T00:00:00Z", + "RequiredDate": "2023-01-27T00:00:00Z", + "ShippedDate": "2023-01-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 89.16, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10399, + "CustomerID": "VAFFE", + "EmployeeID": 8, + "OrderDate": "2022-12-31T00:00:00Z", + "RequiredDate": "2023-01-14T00:00:00Z", + "ShippedDate": "2023-01-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 27.36, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10400, + "CustomerID": "EASTC", + "EmployeeID": 1, + "OrderDate": "2023-01-01T00:00:00Z", + "RequiredDate": "2023-01-29T00:00:00Z", + "ShippedDate": "2023-01-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 83.93, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 10401, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "2023-01-01T00:00:00Z", + "RequiredDate": "2023-01-29T00:00:00Z", + "ShippedDate": "2023-01-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.51, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10402, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "2023-01-02T00:00:00Z", + "RequiredDate": "2023-02-13T00:00:00Z", + "ShippedDate": "2023-01-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 67.88, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10403, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "2023-01-03T00:00:00Z", + "RequiredDate": "2023-01-31T00:00:00Z", + "ShippedDate": "2023-01-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 73.79, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10404, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "2023-01-03T00:00:00Z", + "RequiredDate": "2023-01-31T00:00:00Z", + "ShippedDate": "2023-01-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 155.97, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10405, + "CustomerID": "LINOD", + "EmployeeID": 1, + "OrderDate": "2023-01-06T00:00:00Z", + "RequiredDate": "2023-02-03T00:00:00Z", + "ShippedDate": "2023-01-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 34.82, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10406, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "2023-01-07T00:00:00Z", + "RequiredDate": "2023-02-18T00:00:00Z", + "ShippedDate": "2023-01-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 108.04, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10407, + "CustomerID": "OTTIK", + "EmployeeID": 2, + "OrderDate": "2023-01-07T00:00:00Z", + "RequiredDate": "2023-02-04T00:00:00Z", + "ShippedDate": "2023-01-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 91.48, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10408, + "CustomerID": "FOLIG", + "EmployeeID": 8, + "OrderDate": "2023-01-08T00:00:00Z", + "RequiredDate": "2023-02-05T00:00:00Z", + "ShippedDate": "2023-01-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 11.26, + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chaussée de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, + { + "OrderID": 10409, + "CustomerID": "OCEAN", + "EmployeeID": 3, + "OrderDate": "2023-01-09T00:00:00Z", + "RequiredDate": "2023-02-06T00:00:00Z", + "ShippedDate": "2023-01-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 29.83, + "ShipName": "Océano Atlántico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10410, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "2023-01-10T00:00:00Z", + "RequiredDate": "2023-02-07T00:00:00Z", + "ShippedDate": "2023-01-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 2.4, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10411, + "CustomerID": "BOTTM", + "EmployeeID": 9, + "OrderDate": "2023-01-10T00:00:00Z", + "RequiredDate": "2023-02-07T00:00:00Z", + "ShippedDate": "2023-01-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 23.65, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10412, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "2023-01-13T00:00:00Z", + "RequiredDate": "2023-02-10T00:00:00Z", + "ShippedDate": "2023-01-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.77, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10413, + "CustomerID": "LAMAI", + "EmployeeID": 3, + "OrderDate": "2023-01-14T00:00:00Z", + "RequiredDate": "2023-02-11T00:00:00Z", + "ShippedDate": "2023-01-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 95.66, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10414, + "CustomerID": "FAMIA", + "EmployeeID": 2, + "OrderDate": "2023-01-14T00:00:00Z", + "RequiredDate": "2023-02-11T00:00:00Z", + "ShippedDate": "2023-01-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 21.48, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10415, + "CustomerID": "HUNGC", + "EmployeeID": 3, + "OrderDate": "2023-01-15T00:00:00Z", + "RequiredDate": "2023-02-12T00:00:00Z", + "ShippedDate": "2023-01-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.2, + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, + { + "OrderID": 10416, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "2023-01-16T00:00:00Z", + "RequiredDate": "2023-02-13T00:00:00Z", + "ShippedDate": "2023-01-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 22.72, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10417, + "CustomerID": "SIMOB", + "EmployeeID": 4, + "OrderDate": "2023-01-16T00:00:00Z", + "RequiredDate": "2023-02-13T00:00:00Z", + "ShippedDate": "2023-01-28T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 70.29, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10418, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "2023-01-17T00:00:00Z", + "RequiredDate": "2023-02-14T00:00:00Z", + "ShippedDate": "2023-01-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 17.55, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10419, + "CustomerID": "RICSU", + "EmployeeID": 4, + "OrderDate": "2023-01-20T00:00:00Z", + "RequiredDate": "2023-02-17T00:00:00Z", + "ShippedDate": "2023-01-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 137.35, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10420, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "2023-01-21T00:00:00Z", + "RequiredDate": "2023-02-18T00:00:00Z", + "ShippedDate": "2023-01-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 44.12, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10421, + "CustomerID": "QUEDE", + "EmployeeID": 8, + "OrderDate": "2023-01-21T00:00:00Z", + "RequiredDate": "2023-03-04T00:00:00Z", + "ShippedDate": "2023-01-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 99.23, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10422, + "CustomerID": "FRANS", + "EmployeeID": 2, + "OrderDate": "2023-01-22T00:00:00Z", + "RequiredDate": "2023-02-19T00:00:00Z", + "ShippedDate": "2023-01-31T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 3.02, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10423, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "2023-01-23T00:00:00Z", + "RequiredDate": "2023-02-06T00:00:00Z", + "ShippedDate": "2023-02-24T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 24.5, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10424, + "CustomerID": "MEREP", + "EmployeeID": 7, + "OrderDate": "2023-01-23T00:00:00Z", + "RequiredDate": "2023-02-20T00:00:00Z", + "ShippedDate": "2023-01-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 370.61, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10425, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "2023-01-24T00:00:00Z", + "RequiredDate": "2023-02-21T00:00:00Z", + "ShippedDate": "2023-02-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.93, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10426, + "CustomerID": "GALED", + "EmployeeID": 4, + "OrderDate": "2023-01-27T00:00:00Z", + "RequiredDate": "2023-02-24T00:00:00Z", + "ShippedDate": "2023-02-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 18.69, + "ShipName": "Galería del gastronómo", + "ShipAddress": "Rambla de Cataluña, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, + { + "OrderID": 10427, + "CustomerID": "PICCO", + "EmployeeID": 4, + "OrderDate": "2023-01-27T00:00:00Z", + "RequiredDate": "2023-02-24T00:00:00Z", + "ShippedDate": "2023-03-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 31.29, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10428, + "CustomerID": "REGGC", + "EmployeeID": 7, + "OrderDate": "2023-01-28T00:00:00Z", + "RequiredDate": "2023-02-25T00:00:00Z", + "ShippedDate": "2023-02-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 11.09, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10429, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "2023-01-29T00:00:00Z", + "RequiredDate": "2023-03-12T00:00:00Z", + "ShippedDate": "2023-02-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 56.63, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10430, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "2023-01-30T00:00:00Z", + "RequiredDate": "2023-02-13T00:00:00Z", + "ShippedDate": "2023-02-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 458.78, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10431, + "CustomerID": "BOTTM", + "EmployeeID": 4, + "OrderDate": "2023-01-30T00:00:00Z", + "RequiredDate": "2023-02-13T00:00:00Z", + "ShippedDate": "2023-02-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 44.17, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10432, + "CustomerID": "SPLIR", + "EmployeeID": 3, + "OrderDate": "2023-01-31T00:00:00Z", + "RequiredDate": "2023-02-14T00:00:00Z", + "ShippedDate": "2023-02-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.34, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10433, + "CustomerID": "PRINI", + "EmployeeID": 3, + "OrderDate": "2023-02-03T00:00:00Z", + "RequiredDate": "2023-03-03T00:00:00Z", + "ShippedDate": "2023-03-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 73.83, + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da saúde n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10434, + "CustomerID": "FOLKO", + "EmployeeID": 3, + "OrderDate": "2023-02-03T00:00:00Z", + "RequiredDate": "2023-03-03T00:00:00Z", + "ShippedDate": "2023-02-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 17.92, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10435, + "CustomerID": "CONSH", + "EmployeeID": 8, + "OrderDate": "2023-02-04T00:00:00Z", + "RequiredDate": "2023-03-18T00:00:00Z", + "ShippedDate": "2023-02-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 9.21, + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, + { + "OrderID": 10436, + "CustomerID": "BLONP", + "EmployeeID": 3, + "OrderDate": "2023-02-05T00:00:00Z", + "RequiredDate": "2023-03-05T00:00:00Z", + "ShippedDate": "2023-02-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 156.66, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10437, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "2023-02-05T00:00:00Z", + "RequiredDate": "2023-03-05T00:00:00Z", + "ShippedDate": "2023-02-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 19.97, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10438, + "CustomerID": "TOMSP", + "EmployeeID": 3, + "OrderDate": "2023-02-06T00:00:00Z", + "RequiredDate": "2023-03-06T00:00:00Z", + "ShippedDate": "2023-02-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.24, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10439, + "CustomerID": "MEREP", + "EmployeeID": 6, + "OrderDate": "2023-02-07T00:00:00Z", + "RequiredDate": "2023-03-07T00:00:00Z", + "ShippedDate": "2023-02-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.07, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10440, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "2023-02-10T00:00:00Z", + "RequiredDate": "2023-03-10T00:00:00Z", + "ShippedDate": "2023-02-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 86.53, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10441, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "2023-02-10T00:00:00Z", + "RequiredDate": "2023-03-24T00:00:00Z", + "ShippedDate": "2023-03-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 73.02, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10442, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "2023-02-11T00:00:00Z", + "RequiredDate": "2023-03-11T00:00:00Z", + "ShippedDate": "2023-02-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 47.94, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10443, + "CustomerID": "REGGC", + "EmployeeID": 8, + "OrderDate": "2023-02-12T00:00:00Z", + "RequiredDate": "2023-03-12T00:00:00Z", + "ShippedDate": "2023-02-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 13.95, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10444, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2023-02-12T00:00:00Z", + "RequiredDate": "2023-03-12T00:00:00Z", + "ShippedDate": "2023-02-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.5, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10445, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2023-02-13T00:00:00Z", + "RequiredDate": "2023-03-13T00:00:00Z", + "ShippedDate": "2023-02-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 9.3, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10446, + "CustomerID": "TOMSP", + "EmployeeID": 6, + "OrderDate": "2023-02-14T00:00:00Z", + "RequiredDate": "2023-03-14T00:00:00Z", + "ShippedDate": "2023-02-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 14.68, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10447, + "CustomerID": "RICAR", + "EmployeeID": 4, + "OrderDate": "2023-02-14T00:00:00Z", + "RequiredDate": "2023-03-14T00:00:00Z", + "ShippedDate": "2023-03-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 68.66, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10448, + "CustomerID": "RANCH", + "EmployeeID": 4, + "OrderDate": "2023-02-17T00:00:00Z", + "RequiredDate": "2023-03-17T00:00:00Z", + "ShippedDate": "2023-02-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 38.82, + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10449, + "CustomerID": "BLONP", + "EmployeeID": 3, + "OrderDate": "2023-02-18T00:00:00Z", + "RequiredDate": "2023-03-18T00:00:00Z", + "ShippedDate": "2023-02-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 53.3, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10450, + "CustomerID": "VICTE", + "EmployeeID": 8, + "OrderDate": "2023-02-19T00:00:00Z", + "RequiredDate": "2023-03-19T00:00:00Z", + "ShippedDate": "2023-03-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.23, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10451, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "2023-02-19T00:00:00Z", + "RequiredDate": "2023-03-05T00:00:00Z", + "ShippedDate": "2023-03-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 189.09, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10452, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "2023-02-20T00:00:00Z", + "RequiredDate": "2023-03-20T00:00:00Z", + "ShippedDate": "2023-02-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 140.26, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10453, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "2023-02-21T00:00:00Z", + "RequiredDate": "2023-03-21T00:00:00Z", + "ShippedDate": "2023-02-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.36, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10454, + "CustomerID": "LAMAI", + "EmployeeID": 4, + "OrderDate": "2023-02-21T00:00:00Z", + "RequiredDate": "2023-03-21T00:00:00Z", + "ShippedDate": "2023-02-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 2.74, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10455, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "2023-02-24T00:00:00Z", + "RequiredDate": "2023-04-07T00:00:00Z", + "ShippedDate": "2023-03-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 180.45, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10456, + "CustomerID": "KOENE", + "EmployeeID": 8, + "OrderDate": "2023-02-25T00:00:00Z", + "RequiredDate": "2023-04-08T00:00:00Z", + "ShippedDate": "2023-02-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.12, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10457, + "CustomerID": "KOENE", + "EmployeeID": 2, + "OrderDate": "2023-02-25T00:00:00Z", + "RequiredDate": "2023-03-25T00:00:00Z", + "ShippedDate": "2023-03-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 11.57, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10458, + "CustomerID": "SUPRD", + "EmployeeID": 7, + "OrderDate": "2023-02-26T00:00:00Z", + "RequiredDate": "2023-03-26T00:00:00Z", + "ShippedDate": "2023-03-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 147.06, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10459, + "CustomerID": "VICTE", + "EmployeeID": 4, + "OrderDate": "2023-02-27T00:00:00Z", + "RequiredDate": "2023-03-27T00:00:00Z", + "ShippedDate": "2023-02-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.09, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10460, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2023-02-28T00:00:00Z", + "RequiredDate": "2023-03-28T00:00:00Z", + "ShippedDate": "2023-03-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.27, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10461, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "2023-02-28T00:00:00Z", + "RequiredDate": "2023-03-28T00:00:00Z", + "ShippedDate": "2023-03-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 148.61, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10462, + "CustomerID": "CONSH", + "EmployeeID": 2, + "OrderDate": "2023-03-03T00:00:00Z", + "RequiredDate": "2023-03-31T00:00:00Z", + "ShippedDate": "2023-03-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 6.17, + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, + { + "OrderID": 10463, + "CustomerID": "SUPRD", + "EmployeeID": 5, + "OrderDate": "2023-03-04T00:00:00Z", + "RequiredDate": "2023-04-01T00:00:00Z", + "ShippedDate": "2023-03-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 14.78, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10464, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "2023-03-04T00:00:00Z", + "RequiredDate": "2023-04-01T00:00:00Z", + "ShippedDate": "2023-03-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 89, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10465, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "2023-03-05T00:00:00Z", + "RequiredDate": "2023-04-02T00:00:00Z", + "ShippedDate": "2023-03-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 145.04, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10466, + "CustomerID": "COMMI", + "EmployeeID": 4, + "OrderDate": "2023-03-06T00:00:00Z", + "RequiredDate": "2023-04-03T00:00:00Z", + "ShippedDate": "2023-03-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 11.93, + "ShipName": "Comércio Mineiro", + "ShipAddress": "Av. dos Lusíadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10467, + "CustomerID": "MAGAA", + "EmployeeID": 8, + "OrderDate": "2023-03-06T00:00:00Z", + "RequiredDate": "2023-04-03T00:00:00Z", + "ShippedDate": "2023-03-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.93, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10468, + "CustomerID": "KOENE", + "EmployeeID": 3, + "OrderDate": "2023-03-07T00:00:00Z", + "RequiredDate": "2023-04-04T00:00:00Z", + "ShippedDate": "2023-03-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 44.12, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10469, + "CustomerID": "WHITC", + "EmployeeID": 1, + "OrderDate": "2023-03-10T00:00:00Z", + "RequiredDate": "2023-04-07T00:00:00Z", + "ShippedDate": "2023-03-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 60.18, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10470, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "2023-03-11T00:00:00Z", + "RequiredDate": "2023-04-08T00:00:00Z", + "ShippedDate": "2023-03-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 64.56, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10471, + "CustomerID": "BSBEV", + "EmployeeID": 2, + "OrderDate": "2023-03-11T00:00:00Z", + "RequiredDate": "2023-04-08T00:00:00Z", + "ShippedDate": "2023-03-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 45.59, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10472, + "CustomerID": "SEVES", + "EmployeeID": 8, + "OrderDate": "2023-03-12T00:00:00Z", + "RequiredDate": "2023-04-09T00:00:00Z", + "ShippedDate": "2023-03-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.2, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10473, + "CustomerID": "ISLAT", + "EmployeeID": 1, + "OrderDate": "2023-03-13T00:00:00Z", + "RequiredDate": "2023-03-27T00:00:00Z", + "ShippedDate": "2023-03-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 16.37, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10474, + "CustomerID": "PERIC", + "EmployeeID": 5, + "OrderDate": "2023-03-13T00:00:00Z", + "RequiredDate": "2023-04-10T00:00:00Z", + "ShippedDate": "2023-03-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 83.49, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10475, + "CustomerID": "SUPRD", + "EmployeeID": 9, + "OrderDate": "2023-03-14T00:00:00Z", + "RequiredDate": "2023-04-11T00:00:00Z", + "ShippedDate": "2023-04-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 68.52, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10476, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "2023-03-17T00:00:00Z", + "RequiredDate": "2023-04-14T00:00:00Z", + "ShippedDate": "2023-03-24T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.41, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10477, + "CustomerID": "PRINI", + "EmployeeID": 5, + "OrderDate": "2023-03-17T00:00:00Z", + "RequiredDate": "2023-04-14T00:00:00Z", + "ShippedDate": "2023-03-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.02, + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da saúde n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10478, + "CustomerID": "VICTE", + "EmployeeID": 2, + "OrderDate": "2023-03-18T00:00:00Z", + "RequiredDate": "2023-04-01T00:00:00Z", + "ShippedDate": "2023-03-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.81, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10479, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "2023-03-19T00:00:00Z", + "RequiredDate": "2023-04-16T00:00:00Z", + "ShippedDate": "2023-03-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 708.95, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10480, + "CustomerID": "FOLIG", + "EmployeeID": 6, + "OrderDate": "2023-03-20T00:00:00Z", + "RequiredDate": "2023-04-17T00:00:00Z", + "ShippedDate": "2023-03-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.35, + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chaussée de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, + { + "OrderID": 10481, + "CustomerID": "RICAR", + "EmployeeID": 8, + "OrderDate": "2023-03-20T00:00:00Z", + "RequiredDate": "2023-04-17T00:00:00Z", + "ShippedDate": "2023-03-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 64.33, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10482, + "CustomerID": "LAZYK", + "EmployeeID": 1, + "OrderDate": "2023-03-21T00:00:00Z", + "RequiredDate": "2023-04-18T00:00:00Z", + "ShippedDate": "2023-04-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 7.48, + "ShipName": "Lazy K Kountry Store", + "ShipAddress": "12 Orchestra Terrace", + "ShipCity": "Walla Walla", + "ShipRegion": "WA", + "ShipPostalCode": "99362", + "ShipCountry": "USA" + }, + { + "OrderID": 10483, + "CustomerID": "WHITC", + "EmployeeID": 7, + "OrderDate": "2023-03-24T00:00:00Z", + "RequiredDate": "2023-04-21T00:00:00Z", + "ShippedDate": "2023-04-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 15.28, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10484, + "CustomerID": "BSBEV", + "EmployeeID": 3, + "OrderDate": "2023-03-24T00:00:00Z", + "RequiredDate": "2023-04-21T00:00:00Z", + "ShippedDate": "2023-04-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 6.88, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10485, + "CustomerID": "LINOD", + "EmployeeID": 4, + "OrderDate": "2023-03-25T00:00:00Z", + "RequiredDate": "2023-04-08T00:00:00Z", + "ShippedDate": "2023-03-31T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 64.45, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10486, + "CustomerID": "HILAA", + "EmployeeID": 1, + "OrderDate": "2023-03-26T00:00:00Z", + "RequiredDate": "2023-04-23T00:00:00Z", + "ShippedDate": "2023-04-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 30.53, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10487, + "CustomerID": "QUEEN", + "EmployeeID": 2, + "OrderDate": "2023-03-26T00:00:00Z", + "RequiredDate": "2023-04-23T00:00:00Z", + "ShippedDate": "2023-03-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 71.07, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10488, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "2023-03-27T00:00:00Z", + "RequiredDate": "2023-04-24T00:00:00Z", + "ShippedDate": "2023-04-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.93, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10489, + "CustomerID": "PICCO", + "EmployeeID": 6, + "OrderDate": "2023-03-28T00:00:00Z", + "RequiredDate": "2023-04-25T00:00:00Z", + "ShippedDate": "2023-04-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 5.29, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10490, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "2023-03-31T00:00:00Z", + "RequiredDate": "2023-04-28T00:00:00Z", + "ShippedDate": "2023-04-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 210.19, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10491, + "CustomerID": "FURIB", + "EmployeeID": 8, + "OrderDate": "2023-03-31T00:00:00Z", + "RequiredDate": "2023-04-28T00:00:00Z", + "ShippedDate": "2023-04-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 16.96, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10492, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "2023-04-01T00:00:00Z", + "RequiredDate": "2023-04-29T00:00:00Z", + "ShippedDate": "2023-04-11T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 62.89, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10493, + "CustomerID": "LAMAI", + "EmployeeID": 4, + "OrderDate": "2023-04-02T00:00:00Z", + "RequiredDate": "2023-04-30T00:00:00Z", + "ShippedDate": "2023-04-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 10.64, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10494, + "CustomerID": "COMMI", + "EmployeeID": 4, + "OrderDate": "2023-04-02T00:00:00Z", + "RequiredDate": "2023-04-30T00:00:00Z", + "ShippedDate": "2023-04-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 65.99, + "ShipName": "Comércio Mineiro", + "ShipAddress": "Av. dos Lusíadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10495, + "CustomerID": "LAUGB", + "EmployeeID": 3, + "OrderDate": "2023-04-03T00:00:00Z", + "RequiredDate": "2023-05-01T00:00:00Z", + "ShippedDate": "2023-04-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.65, + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, + { + "OrderID": 10496, + "CustomerID": "TRADH", + "EmployeeID": 7, + "OrderDate": "2023-04-04T00:00:00Z", + "RequiredDate": "2023-05-02T00:00:00Z", + "ShippedDate": "2023-04-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 46.77, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10497, + "CustomerID": "LEHMS", + "EmployeeID": 7, + "OrderDate": "2023-04-04T00:00:00Z", + "RequiredDate": "2023-05-02T00:00:00Z", + "ShippedDate": "2023-04-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 36.21, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10498, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "2023-04-07T00:00:00Z", + "RequiredDate": "2023-05-05T00:00:00Z", + "ShippedDate": "2023-04-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 29.75, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10499, + "CustomerID": "LILAS", + "EmployeeID": 4, + "OrderDate": "2023-04-08T00:00:00Z", + "RequiredDate": "2023-05-06T00:00:00Z", + "ShippedDate": "2023-04-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 102.02, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10500, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "2023-04-09T00:00:00Z", + "RequiredDate": "2023-05-07T00:00:00Z", + "ShippedDate": "2023-04-17T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 42.68, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10501, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "2023-04-09T00:00:00Z", + "RequiredDate": "2023-05-07T00:00:00Z", + "ShippedDate": "2023-04-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 8.85, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10502, + "CustomerID": "PERIC", + "EmployeeID": 2, + "OrderDate": "2023-04-10T00:00:00Z", + "RequiredDate": "2023-05-08T00:00:00Z", + "ShippedDate": "2023-04-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 69.32, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10503, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "2023-04-11T00:00:00Z", + "RequiredDate": "2023-05-09T00:00:00Z", + "ShippedDate": "2023-04-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 16.74, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10504, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "2023-04-11T00:00:00Z", + "RequiredDate": "2023-05-09T00:00:00Z", + "ShippedDate": "2023-04-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 59.13, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10505, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "2023-04-14T00:00:00Z", + "RequiredDate": "2023-05-12T00:00:00Z", + "ShippedDate": "2023-04-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 7.13, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10506, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "2023-04-15T00:00:00Z", + "RequiredDate": "2023-05-13T00:00:00Z", + "ShippedDate": "2023-05-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 21.19, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10507, + "CustomerID": "ANTON", + "EmployeeID": 7, + "OrderDate": "2023-04-15T00:00:00Z", + "RequiredDate": "2023-05-13T00:00:00Z", + "ShippedDate": "2023-04-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 47.45, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10508, + "CustomerID": "OTTIK", + "EmployeeID": 1, + "OrderDate": "2023-04-16T00:00:00Z", + "RequiredDate": "2023-05-14T00:00:00Z", + "ShippedDate": "2023-05-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.99, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10509, + "CustomerID": "BLAUS", + "EmployeeID": 4, + "OrderDate": "2023-04-17T00:00:00Z", + "RequiredDate": "2023-05-15T00:00:00Z", + "ShippedDate": "2023-04-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.15, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10510, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "2023-04-18T00:00:00Z", + "RequiredDate": "2023-05-16T00:00:00Z", + "ShippedDate": "2023-04-28T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 367.63, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10511, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "2023-04-18T00:00:00Z", + "RequiredDate": "2023-05-16T00:00:00Z", + "ShippedDate": "2023-04-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 350.64, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10512, + "CustomerID": "FAMIA", + "EmployeeID": 7, + "OrderDate": "2023-04-21T00:00:00Z", + "RequiredDate": "2023-05-19T00:00:00Z", + "ShippedDate": "2023-04-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.53, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10513, + "CustomerID": "WANDK", + "EmployeeID": 7, + "OrderDate": "2023-04-22T00:00:00Z", + "RequiredDate": "2023-06-03T00:00:00Z", + "ShippedDate": "2023-04-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 105.65, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10514, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "2023-04-22T00:00:00Z", + "RequiredDate": "2023-05-20T00:00:00Z", + "ShippedDate": "2023-05-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 789.95, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10515, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2023-04-23T00:00:00Z", + "RequiredDate": "2023-05-07T00:00:00Z", + "ShippedDate": "2023-05-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 204.47, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10516, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "2023-04-24T00:00:00Z", + "RequiredDate": "2023-05-22T00:00:00Z", + "ShippedDate": "2023-05-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 62.78, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10517, + "CustomerID": "NORTS", + "EmployeeID": 3, + "OrderDate": "2023-04-24T00:00:00Z", + "RequiredDate": "2023-05-22T00:00:00Z", + "ShippedDate": "2023-04-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 32.07, + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, + { + "OrderID": 10518, + "CustomerID": "TORTU", + "EmployeeID": 4, + "OrderDate": "2023-04-25T00:00:00Z", + "RequiredDate": "2023-05-09T00:00:00Z", + "ShippedDate": "2023-05-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 218.15, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10519, + "CustomerID": "CHOPS", + "EmployeeID": 6, + "OrderDate": "2023-04-28T00:00:00Z", + "RequiredDate": "2023-05-26T00:00:00Z", + "ShippedDate": "2023-05-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 91.76, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10520, + "CustomerID": "SANTG", + "EmployeeID": 7, + "OrderDate": "2023-04-29T00:00:00Z", + "RequiredDate": "2023-05-27T00:00:00Z", + "ShippedDate": "2023-05-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 13.37, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 10521, + "CustomerID": "CACTU", + "EmployeeID": 8, + "OrderDate": "2023-04-29T00:00:00Z", + "RequiredDate": "2023-05-27T00:00:00Z", + "ShippedDate": "2023-05-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 17.22, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10522, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "2023-04-30T00:00:00Z", + "RequiredDate": "2023-05-28T00:00:00Z", + "ShippedDate": "2023-05-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 45.33, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10523, + "CustomerID": "SEVES", + "EmployeeID": 7, + "OrderDate": "2023-05-01T00:00:00Z", + "RequiredDate": "2023-05-29T00:00:00Z", + "ShippedDate": "2023-05-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 77.63, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10524, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "2023-05-01T00:00:00Z", + "RequiredDate": "2023-05-29T00:00:00Z", + "ShippedDate": "2023-05-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 244.79, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10525, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "2023-05-02T00:00:00Z", + "RequiredDate": "2023-05-30T00:00:00Z", + "ShippedDate": "2023-05-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 11.06, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10526, + "CustomerID": "WARTH", + "EmployeeID": 4, + "OrderDate": "2023-05-05T00:00:00Z", + "RequiredDate": "2023-06-02T00:00:00Z", + "ShippedDate": "2023-05-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.59, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10527, + "CustomerID": "QUICK", + "EmployeeID": 7, + "OrderDate": "2023-05-05T00:00:00Z", + "RequiredDate": "2023-06-02T00:00:00Z", + "ShippedDate": "2023-05-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 41.9, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10528, + "CustomerID": "GREAL", + "EmployeeID": 6, + "OrderDate": "2023-05-06T00:00:00Z", + "RequiredDate": "2023-05-20T00:00:00Z", + "ShippedDate": "2023-05-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.35, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10529, + "CustomerID": "MAISD", + "EmployeeID": 5, + "OrderDate": "2023-05-07T00:00:00Z", + "RequiredDate": "2023-06-04T00:00:00Z", + "ShippedDate": "2023-05-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 66.69, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10530, + "CustomerID": "PICCO", + "EmployeeID": 3, + "OrderDate": "2023-05-08T00:00:00Z", + "RequiredDate": "2023-06-05T00:00:00Z", + "ShippedDate": "2023-05-12T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 339.22, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10531, + "CustomerID": "OCEAN", + "EmployeeID": 7, + "OrderDate": "2023-05-08T00:00:00Z", + "RequiredDate": "2023-06-05T00:00:00Z", + "ShippedDate": "2023-05-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.12, + "ShipName": "Océano Atlántico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10532, + "CustomerID": "EASTC", + "EmployeeID": 7, + "OrderDate": "2023-05-09T00:00:00Z", + "RequiredDate": "2023-06-06T00:00:00Z", + "ShippedDate": "2023-05-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 74.46, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 10533, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2023-05-12T00:00:00Z", + "RequiredDate": "2023-06-09T00:00:00Z", + "ShippedDate": "2023-05-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 188.04, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10534, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "2023-05-12T00:00:00Z", + "RequiredDate": "2023-06-09T00:00:00Z", + "ShippedDate": "2023-05-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 27.94, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10535, + "CustomerID": "ANTON", + "EmployeeID": 4, + "OrderDate": "2023-05-13T00:00:00Z", + "RequiredDate": "2023-06-10T00:00:00Z", + "ShippedDate": "2023-05-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 15.64, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10536, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "2023-05-14T00:00:00Z", + "RequiredDate": "2023-06-11T00:00:00Z", + "ShippedDate": "2023-06-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.88, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10537, + "CustomerID": "RICSU", + "EmployeeID": 1, + "OrderDate": "2023-05-14T00:00:00Z", + "RequiredDate": "2023-05-28T00:00:00Z", + "ShippedDate": "2023-05-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 78.85, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10538, + "CustomerID": "BSBEV", + "EmployeeID": 9, + "OrderDate": "2023-05-15T00:00:00Z", + "RequiredDate": "2023-06-12T00:00:00Z", + "ShippedDate": "2023-05-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.87, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10539, + "CustomerID": "BSBEV", + "EmployeeID": 6, + "OrderDate": "2023-05-16T00:00:00Z", + "RequiredDate": "2023-06-13T00:00:00Z", + "ShippedDate": "2023-05-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 12.36, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10540, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "2023-05-19T00:00:00Z", + "RequiredDate": "2023-06-16T00:00:00Z", + "ShippedDate": "2023-06-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1007.64, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10541, + "CustomerID": "HANAR", + "EmployeeID": 2, + "OrderDate": "2023-05-19T00:00:00Z", + "RequiredDate": "2023-06-16T00:00:00Z", + "ShippedDate": "2023-05-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 68.65, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10542, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "2023-05-20T00:00:00Z", + "RequiredDate": "2023-06-17T00:00:00Z", + "ShippedDate": "2023-05-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 10.95, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10543, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "2023-05-21T00:00:00Z", + "RequiredDate": "2023-06-18T00:00:00Z", + "ShippedDate": "2023-05-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 48.17, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10544, + "CustomerID": "LONEP", + "EmployeeID": 4, + "OrderDate": "2023-05-21T00:00:00Z", + "RequiredDate": "2023-06-18T00:00:00Z", + "ShippedDate": "2023-05-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 24.91, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10545, + "CustomerID": "LAZYK", + "EmployeeID": 8, + "OrderDate": "2023-05-22T00:00:00Z", + "RequiredDate": "2023-06-19T00:00:00Z", + "ShippedDate": "2023-06-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 11.92, + "ShipName": "Lazy K Kountry Store", + "ShipAddress": "12 Orchestra Terrace", + "ShipCity": "Walla Walla", + "ShipRegion": "WA", + "ShipPostalCode": "99362", + "ShipCountry": "USA" + }, + { + "OrderID": 10546, + "CustomerID": "VICTE", + "EmployeeID": 1, + "OrderDate": "2023-05-23T00:00:00Z", + "RequiredDate": "2023-06-20T00:00:00Z", + "ShippedDate": "2023-05-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 194.72, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10547, + "CustomerID": "SEVES", + "EmployeeID": 3, + "OrderDate": "2023-05-23T00:00:00Z", + "RequiredDate": "2023-06-20T00:00:00Z", + "ShippedDate": "2023-06-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 178.43, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10548, + "CustomerID": "TOMSP", + "EmployeeID": 3, + "OrderDate": "2023-05-26T00:00:00Z", + "RequiredDate": "2023-06-23T00:00:00Z", + "ShippedDate": "2023-06-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.43, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10549, + "CustomerID": "QUICK", + "EmployeeID": 5, + "OrderDate": "2023-05-27T00:00:00Z", + "RequiredDate": "2023-06-10T00:00:00Z", + "ShippedDate": "2023-05-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 171.24, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10550, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "2023-05-28T00:00:00Z", + "RequiredDate": "2023-06-25T00:00:00Z", + "ShippedDate": "2023-06-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.32, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10551, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "2023-05-28T00:00:00Z", + "RequiredDate": "2023-07-09T00:00:00Z", + "ShippedDate": "2023-06-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 72.95, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10552, + "CustomerID": "HILAA", + "EmployeeID": 2, + "OrderDate": "2023-05-29T00:00:00Z", + "RequiredDate": "2023-06-26T00:00:00Z", + "ShippedDate": "2023-06-05T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 83.22, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10553, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "2023-05-30T00:00:00Z", + "RequiredDate": "2023-06-27T00:00:00Z", + "ShippedDate": "2023-06-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 149.49, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10554, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "2023-05-30T00:00:00Z", + "RequiredDate": "2023-06-27T00:00:00Z", + "ShippedDate": "2023-06-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 120.97, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10555, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "2023-06-02T00:00:00Z", + "RequiredDate": "2023-06-30T00:00:00Z", + "ShippedDate": "2023-06-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 252.49, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10556, + "CustomerID": "SIMOB", + "EmployeeID": 2, + "OrderDate": "2023-06-03T00:00:00Z", + "RequiredDate": "2023-07-15T00:00:00Z", + "ShippedDate": "2023-06-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 9.8, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10557, + "CustomerID": "LEHMS", + "EmployeeID": 9, + "OrderDate": "2023-06-03T00:00:00Z", + "RequiredDate": "2023-06-17T00:00:00Z", + "ShippedDate": "2023-06-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 96.72, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10558, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "2023-06-04T00:00:00Z", + "RequiredDate": "2023-07-02T00:00:00Z", + "ShippedDate": "2023-06-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 72.97, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10559, + "CustomerID": "BLONP", + "EmployeeID": 6, + "OrderDate": "2023-06-05T00:00:00Z", + "RequiredDate": "2023-07-03T00:00:00Z", + "ShippedDate": "2023-06-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.05, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10560, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "2023-06-06T00:00:00Z", + "RequiredDate": "2023-07-04T00:00:00Z", + "ShippedDate": "2023-06-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 36.65, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10561, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "2023-06-06T00:00:00Z", + "RequiredDate": "2023-07-04T00:00:00Z", + "ShippedDate": "2023-06-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 242.21, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10562, + "CustomerID": "REGGC", + "EmployeeID": 1, + "OrderDate": "2023-06-09T00:00:00Z", + "RequiredDate": "2023-07-07T00:00:00Z", + "ShippedDate": "2023-06-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 22.95, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10563, + "CustomerID": "RICAR", + "EmployeeID": 2, + "OrderDate": "2023-06-10T00:00:00Z", + "RequiredDate": "2023-07-22T00:00:00Z", + "ShippedDate": "2023-06-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 60.43, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10564, + "CustomerID": "RATTC", + "EmployeeID": 4, + "OrderDate": "2023-06-10T00:00:00Z", + "RequiredDate": "2023-07-08T00:00:00Z", + "ShippedDate": "2023-06-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 13.75, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10565, + "CustomerID": "MEREP", + "EmployeeID": 8, + "OrderDate": "2023-06-11T00:00:00Z", + "RequiredDate": "2023-07-09T00:00:00Z", + "ShippedDate": "2023-06-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.15, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10566, + "CustomerID": "BLONP", + "EmployeeID": 9, + "OrderDate": "2023-06-12T00:00:00Z", + "RequiredDate": "2023-07-10T00:00:00Z", + "ShippedDate": "2023-06-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 88.4, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10567, + "CustomerID": "HUNGO", + "EmployeeID": 1, + "OrderDate": "2023-06-12T00:00:00Z", + "RequiredDate": "2023-07-10T00:00:00Z", + "ShippedDate": "2023-06-17T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 33.97, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10568, + "CustomerID": "GALED", + "EmployeeID": 3, + "OrderDate": "2023-06-13T00:00:00Z", + "RequiredDate": "2023-07-11T00:00:00Z", + "ShippedDate": "2023-07-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 6.54, + "ShipName": "Galería del gastronómo", + "ShipAddress": "Rambla de Cataluña, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, + { + "OrderID": 10569, + "CustomerID": "RATTC", + "EmployeeID": 5, + "OrderDate": "2023-06-16T00:00:00Z", + "RequiredDate": "2023-07-14T00:00:00Z", + "ShippedDate": "2023-07-11T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 58.98, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10570, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "2023-06-17T00:00:00Z", + "RequiredDate": "2023-07-15T00:00:00Z", + "ShippedDate": "2023-06-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 188.99, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10571, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "2023-06-17T00:00:00Z", + "RequiredDate": "2023-07-29T00:00:00Z", + "ShippedDate": "2023-07-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 26.06, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10572, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2023-06-18T00:00:00Z", + "RequiredDate": "2023-07-16T00:00:00Z", + "ShippedDate": "2023-06-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 116.43, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10573, + "CustomerID": "ANTON", + "EmployeeID": 7, + "OrderDate": "2023-06-19T00:00:00Z", + "RequiredDate": "2023-07-17T00:00:00Z", + "ShippedDate": "2023-06-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 84.84, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10574, + "CustomerID": "TRAIH", + "EmployeeID": 4, + "OrderDate": "2023-06-19T00:00:00Z", + "RequiredDate": "2023-07-17T00:00:00Z", + "ShippedDate": "2023-06-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 37.6, + "ShipName": "Trail's Head Gourmet Provisioners", + "ShipAddress": "722 DaVinci Blvd.", + "ShipCity": "Kirkland", + "ShipRegion": "WA", + "ShipPostalCode": "98034", + "ShipCountry": "USA" + }, + { + "OrderID": 10575, + "CustomerID": "MORGK", + "EmployeeID": 5, + "OrderDate": "2023-06-20T00:00:00Z", + "RequiredDate": "2023-07-04T00:00:00Z", + "ShippedDate": "2023-06-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 127.34, + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, + { + "OrderID": 10576, + "CustomerID": "TORTU", + "EmployeeID": 3, + "OrderDate": "2023-06-23T00:00:00Z", + "RequiredDate": "2023-07-07T00:00:00Z", + "ShippedDate": "2023-06-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 18.56, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10577, + "CustomerID": "TRAIH", + "EmployeeID": 9, + "OrderDate": "2023-06-23T00:00:00Z", + "RequiredDate": "2023-08-04T00:00:00Z", + "ShippedDate": "2023-06-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.41, + "ShipName": "Trail's Head Gourmet Provisioners", + "ShipAddress": "722 DaVinci Blvd.", + "ShipCity": "Kirkland", + "ShipRegion": "WA", + "ShipPostalCode": "98034", + "ShipCountry": "USA" + }, + { + "OrderID": 10578, + "CustomerID": "BSBEV", + "EmployeeID": 4, + "OrderDate": "2023-06-24T00:00:00Z", + "RequiredDate": "2023-07-22T00:00:00Z", + "ShippedDate": "2023-07-25T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 29.6, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10579, + "CustomerID": "LETSS", + "EmployeeID": 1, + "OrderDate": "2023-06-25T00:00:00Z", + "RequiredDate": "2023-07-23T00:00:00Z", + "ShippedDate": "2023-07-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.73, + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, + { + "OrderID": 10580, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "2023-06-26T00:00:00Z", + "RequiredDate": "2023-07-24T00:00:00Z", + "ShippedDate": "2023-07-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 75.89, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10581, + "CustomerID": "FAMIA", + "EmployeeID": 3, + "OrderDate": "2023-06-26T00:00:00Z", + "RequiredDate": "2023-07-24T00:00:00Z", + "ShippedDate": "2023-07-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 3.01, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10582, + "CustomerID": "BLAUS", + "EmployeeID": 3, + "OrderDate": "2023-06-27T00:00:00Z", + "RequiredDate": "2023-07-25T00:00:00Z", + "ShippedDate": "2023-07-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 27.71, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10583, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "2023-06-30T00:00:00Z", + "RequiredDate": "2023-07-28T00:00:00Z", + "ShippedDate": "2023-07-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.28, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10584, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "2023-06-30T00:00:00Z", + "RequiredDate": "2023-07-28T00:00:00Z", + "ShippedDate": "2023-07-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 59.14, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10585, + "CustomerID": "WELLI", + "EmployeeID": 7, + "OrderDate": "2023-07-01T00:00:00Z", + "RequiredDate": "2023-07-29T00:00:00Z", + "ShippedDate": "2023-07-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 13.41, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10586, + "CustomerID": "REGGC", + "EmployeeID": 9, + "OrderDate": "2023-07-02T00:00:00Z", + "RequiredDate": "2023-07-30T00:00:00Z", + "ShippedDate": "2023-07-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.48, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10587, + "CustomerID": "QUEDE", + "EmployeeID": 1, + "OrderDate": "2023-07-02T00:00:00Z", + "RequiredDate": "2023-07-30T00:00:00Z", + "ShippedDate": "2023-07-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 62.52, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10588, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2023-07-03T00:00:00Z", + "RequiredDate": "2023-07-31T00:00:00Z", + "ShippedDate": "2023-07-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 194.67, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10589, + "CustomerID": "GREAL", + "EmployeeID": 8, + "OrderDate": "2023-07-04T00:00:00Z", + "RequiredDate": "2023-08-01T00:00:00Z", + "ShippedDate": "2023-07-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.42, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10590, + "CustomerID": "MEREP", + "EmployeeID": 4, + "OrderDate": "2023-07-07T00:00:00Z", + "RequiredDate": "2023-08-04T00:00:00Z", + "ShippedDate": "2023-07-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 44.77, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10591, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "2023-07-07T00:00:00Z", + "RequiredDate": "2023-07-21T00:00:00Z", + "ShippedDate": "2023-07-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 55.92, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10592, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "2023-07-08T00:00:00Z", + "RequiredDate": "2023-08-05T00:00:00Z", + "ShippedDate": "2023-07-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 32.1, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10593, + "CustomerID": "LEHMS", + "EmployeeID": 7, + "OrderDate": "2023-07-09T00:00:00Z", + "RequiredDate": "2023-08-06T00:00:00Z", + "ShippedDate": "2023-08-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 174.2, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10594, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "2023-07-09T00:00:00Z", + "RequiredDate": "2023-08-06T00:00:00Z", + "ShippedDate": "2023-07-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 5.24, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10595, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "2023-07-10T00:00:00Z", + "RequiredDate": "2023-08-07T00:00:00Z", + "ShippedDate": "2023-07-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 96.78, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10596, + "CustomerID": "WHITC", + "EmployeeID": 8, + "OrderDate": "2023-07-11T00:00:00Z", + "RequiredDate": "2023-08-08T00:00:00Z", + "ShippedDate": "2023-08-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.34, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10597, + "CustomerID": "PICCO", + "EmployeeID": 7, + "OrderDate": "2023-07-11T00:00:00Z", + "RequiredDate": "2023-08-08T00:00:00Z", + "ShippedDate": "2023-07-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 35.12, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10598, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "2023-07-14T00:00:00Z", + "RequiredDate": "2023-08-11T00:00:00Z", + "ShippedDate": "2023-07-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 44.42, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10599, + "CustomerID": "BSBEV", + "EmployeeID": 6, + "OrderDate": "2023-07-15T00:00:00Z", + "RequiredDate": "2023-08-26T00:00:00Z", + "ShippedDate": "2023-07-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 29.98, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10600, + "CustomerID": "HUNGC", + "EmployeeID": 4, + "OrderDate": "2023-07-16T00:00:00Z", + "RequiredDate": "2023-08-13T00:00:00Z", + "ShippedDate": "2023-07-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 45.13, + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, + { + "OrderID": 10601, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "2023-07-16T00:00:00Z", + "RequiredDate": "2023-08-27T00:00:00Z", + "ShippedDate": "2023-07-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 58.3, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10602, + "CustomerID": "VAFFE", + "EmployeeID": 8, + "OrderDate": "2023-07-17T00:00:00Z", + "RequiredDate": "2023-08-14T00:00:00Z", + "ShippedDate": "2023-07-22T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.92, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10603, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "2023-07-18T00:00:00Z", + "RequiredDate": "2023-08-15T00:00:00Z", + "ShippedDate": "2023-08-08T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 48.77, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10604, + "CustomerID": "FURIB", + "EmployeeID": 1, + "OrderDate": "2023-07-18T00:00:00Z", + "RequiredDate": "2023-08-15T00:00:00Z", + "ShippedDate": "2023-07-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 7.46, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10605, + "CustomerID": "MEREP", + "EmployeeID": 1, + "OrderDate": "2023-07-21T00:00:00Z", + "RequiredDate": "2023-08-18T00:00:00Z", + "ShippedDate": "2023-07-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 379.13, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10606, + "CustomerID": "TRADH", + "EmployeeID": 4, + "OrderDate": "2023-07-22T00:00:00Z", + "RequiredDate": "2023-08-19T00:00:00Z", + "ShippedDate": "2023-07-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 79.4, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10607, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "2023-07-22T00:00:00Z", + "RequiredDate": "2023-08-19T00:00:00Z", + "ShippedDate": "2023-07-25T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 200.24, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10608, + "CustomerID": "TOMSP", + "EmployeeID": 4, + "OrderDate": "2023-07-23T00:00:00Z", + "RequiredDate": "2023-08-20T00:00:00Z", + "ShippedDate": "2023-08-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 27.79, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10609, + "CustomerID": "DUMON", + "EmployeeID": 7, + "OrderDate": "2023-07-24T00:00:00Z", + "RequiredDate": "2023-08-21T00:00:00Z", + "ShippedDate": "2023-07-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.85, + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10610, + "CustomerID": "LAMAI", + "EmployeeID": 8, + "OrderDate": "2023-07-25T00:00:00Z", + "RequiredDate": "2023-08-22T00:00:00Z", + "ShippedDate": "2023-08-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 26.78, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10611, + "CustomerID": "WOLZA", + "EmployeeID": 6, + "OrderDate": "2023-07-25T00:00:00Z", + "RequiredDate": "2023-08-22T00:00:00Z", + "ShippedDate": "2023-08-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 80.65, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10612, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2023-07-28T00:00:00Z", + "RequiredDate": "2023-08-25T00:00:00Z", + "ShippedDate": "2023-08-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 544.08, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10613, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "2023-07-29T00:00:00Z", + "RequiredDate": "2023-08-26T00:00:00Z", + "ShippedDate": "2023-08-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.11, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10614, + "CustomerID": "BLAUS", + "EmployeeID": 8, + "OrderDate": "2023-07-29T00:00:00Z", + "RequiredDate": "2023-08-26T00:00:00Z", + "ShippedDate": "2023-08-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.93, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10615, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "2023-07-30T00:00:00Z", + "RequiredDate": "2023-08-27T00:00:00Z", + "ShippedDate": "2023-08-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.75, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10616, + "CustomerID": "GREAL", + "EmployeeID": 1, + "OrderDate": "2023-07-31T00:00:00Z", + "RequiredDate": "2023-08-28T00:00:00Z", + "ShippedDate": "2023-08-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 116.53, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10617, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "2023-07-31T00:00:00Z", + "RequiredDate": "2023-08-28T00:00:00Z", + "ShippedDate": "2023-08-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 18.53, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10618, + "CustomerID": "MEREP", + "EmployeeID": 1, + "OrderDate": "2023-08-01T00:00:00Z", + "RequiredDate": "2023-09-12T00:00:00Z", + "ShippedDate": "2023-08-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 154.68, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10619, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "2023-08-04T00:00:00Z", + "RequiredDate": "2023-09-01T00:00:00Z", + "ShippedDate": "2023-08-07T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 91.05, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10620, + "CustomerID": "LAUGB", + "EmployeeID": 2, + "OrderDate": "2023-08-05T00:00:00Z", + "RequiredDate": "2023-09-02T00:00:00Z", + "ShippedDate": "2023-08-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.94, + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, + { + "OrderID": 10621, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "2023-08-05T00:00:00Z", + "RequiredDate": "2023-09-02T00:00:00Z", + "ShippedDate": "2023-08-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 23.73, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10622, + "CustomerID": "RICAR", + "EmployeeID": 4, + "OrderDate": "2023-08-06T00:00:00Z", + "RequiredDate": "2023-09-03T00:00:00Z", + "ShippedDate": "2023-08-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 50.97, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10623, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "2023-08-07T00:00:00Z", + "RequiredDate": "2023-09-04T00:00:00Z", + "ShippedDate": "2023-08-12T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 97.18, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10624, + "CustomerID": "THECR", + "EmployeeID": 4, + "OrderDate": "2023-08-07T00:00:00Z", + "RequiredDate": "2023-09-04T00:00:00Z", + "ShippedDate": "2023-08-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 94.8, + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, + { + "OrderID": 10625, + "CustomerID": "ANATR", + "EmployeeID": 3, + "OrderDate": "2023-08-08T00:00:00Z", + "RequiredDate": "2023-09-05T00:00:00Z", + "ShippedDate": "2023-08-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 43.9, + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constitución 2222", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10626, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "2023-08-11T00:00:00Z", + "RequiredDate": "2023-09-08T00:00:00Z", + "ShippedDate": "2023-08-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 138.69, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10627, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "2023-08-11T00:00:00Z", + "RequiredDate": "2023-09-22T00:00:00Z", + "ShippedDate": "2023-08-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 107.46, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10628, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "2023-08-12T00:00:00Z", + "RequiredDate": "2023-09-09T00:00:00Z", + "ShippedDate": "2023-08-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 30.36, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10629, + "CustomerID": "GODOS", + "EmployeeID": 4, + "OrderDate": "2023-08-12T00:00:00Z", + "RequiredDate": "2023-09-09T00:00:00Z", + "ShippedDate": "2023-08-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 85.46, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10630, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "2023-08-13T00:00:00Z", + "RequiredDate": "2023-09-10T00:00:00Z", + "ShippedDate": "2023-08-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 32.35, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10631, + "CustomerID": "LAMAI", + "EmployeeID": 8, + "OrderDate": "2023-08-14T00:00:00Z", + "RequiredDate": "2023-09-11T00:00:00Z", + "ShippedDate": "2023-08-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.87, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10632, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "2023-08-14T00:00:00Z", + "RequiredDate": "2023-09-11T00:00:00Z", + "ShippedDate": "2023-08-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 41.38, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10633, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "2023-08-15T00:00:00Z", + "RequiredDate": "2023-09-12T00:00:00Z", + "ShippedDate": "2023-08-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 477.9, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10634, + "CustomerID": "FOLIG", + "EmployeeID": 4, + "OrderDate": "2023-08-15T00:00:00Z", + "RequiredDate": "2023-09-12T00:00:00Z", + "ShippedDate": "2023-08-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 487.38, + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chaussée de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, + { + "OrderID": 10635, + "CustomerID": "MAGAA", + "EmployeeID": 8, + "OrderDate": "2023-08-18T00:00:00Z", + "RequiredDate": "2023-09-15T00:00:00Z", + "ShippedDate": "2023-08-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 47.46, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10636, + "CustomerID": "WARTH", + "EmployeeID": 4, + "OrderDate": "2023-08-19T00:00:00Z", + "RequiredDate": "2023-09-16T00:00:00Z", + "ShippedDate": "2023-08-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.15, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10637, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "2023-08-19T00:00:00Z", + "RequiredDate": "2023-09-16T00:00:00Z", + "ShippedDate": "2023-08-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 201.29, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10638, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "2023-08-20T00:00:00Z", + "RequiredDate": "2023-09-17T00:00:00Z", + "ShippedDate": "2023-09-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 158.44, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10639, + "CustomerID": "SANTG", + "EmployeeID": 7, + "OrderDate": "2023-08-20T00:00:00Z", + "RequiredDate": "2023-09-17T00:00:00Z", + "ShippedDate": "2023-08-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 38.64, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 10640, + "CustomerID": "WANDK", + "EmployeeID": 4, + "OrderDate": "2023-08-21T00:00:00Z", + "RequiredDate": "2023-09-18T00:00:00Z", + "ShippedDate": "2023-08-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 23.55, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10641, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "2023-08-22T00:00:00Z", + "RequiredDate": "2023-09-19T00:00:00Z", + "ShippedDate": "2023-08-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 179.61, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10642, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "2023-08-22T00:00:00Z", + "RequiredDate": "2023-09-19T00:00:00Z", + "ShippedDate": "2023-09-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 41.89, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10643, + "CustomerID": "ALFKI", + "EmployeeID": 6, + "OrderDate": "2023-08-25T00:00:00Z", + "RequiredDate": "2023-09-22T00:00:00Z", + "ShippedDate": "2023-09-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 29.46, + "ShipName": "Alfreds Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 10644, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "2023-08-25T00:00:00Z", + "RequiredDate": "2023-09-22T00:00:00Z", + "ShippedDate": "2023-09-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.14, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10645, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "2023-08-26T00:00:00Z", + "RequiredDate": "2023-09-23T00:00:00Z", + "ShippedDate": "2023-09-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.41, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10646, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "2023-08-27T00:00:00Z", + "RequiredDate": "2023-10-08T00:00:00Z", + "ShippedDate": "2023-09-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 142.33, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10647, + "CustomerID": "QUEDE", + "EmployeeID": 4, + "OrderDate": "2023-08-27T00:00:00Z", + "RequiredDate": "2023-09-10T00:00:00Z", + "ShippedDate": "2023-09-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 45.54, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10648, + "CustomerID": "RICAR", + "EmployeeID": 5, + "OrderDate": "2023-08-28T00:00:00Z", + "RequiredDate": "2023-10-09T00:00:00Z", + "ShippedDate": "2023-09-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 14.25, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10649, + "CustomerID": "MAISD", + "EmployeeID": 5, + "OrderDate": "2023-08-28T00:00:00Z", + "RequiredDate": "2023-09-25T00:00:00Z", + "ShippedDate": "2023-08-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 6.2, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10650, + "CustomerID": "FAMIA", + "EmployeeID": 5, + "OrderDate": "2023-08-29T00:00:00Z", + "RequiredDate": "2023-09-26T00:00:00Z", + "ShippedDate": "2023-09-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 176.81, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10651, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "2023-09-01T00:00:00Z", + "RequiredDate": "2023-09-29T00:00:00Z", + "ShippedDate": "2023-09-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 20.6, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10652, + "CustomerID": "GOURL", + "EmployeeID": 4, + "OrderDate": "2023-09-01T00:00:00Z", + "RequiredDate": "2023-09-29T00:00:00Z", + "ShippedDate": "2023-09-08T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.14, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10653, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "2023-09-02T00:00:00Z", + "RequiredDate": "2023-09-30T00:00:00Z", + "ShippedDate": "2023-09-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 93.25, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10654, + "CustomerID": "BERGS", + "EmployeeID": 5, + "OrderDate": "2023-09-02T00:00:00Z", + "RequiredDate": "2023-09-30T00:00:00Z", + "ShippedDate": "2023-09-11T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 55.26, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10655, + "CustomerID": "REGGC", + "EmployeeID": 1, + "OrderDate": "2023-09-03T00:00:00Z", + "RequiredDate": "2023-10-01T00:00:00Z", + "ShippedDate": "2023-09-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.41, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10656, + "CustomerID": "GREAL", + "EmployeeID": 6, + "OrderDate": "2023-09-04T00:00:00Z", + "RequiredDate": "2023-10-02T00:00:00Z", + "ShippedDate": "2023-09-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 57.15, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10657, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "2023-09-04T00:00:00Z", + "RequiredDate": "2023-10-02T00:00:00Z", + "ShippedDate": "2023-09-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 352.69, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10658, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "2023-09-05T00:00:00Z", + "RequiredDate": "2023-10-03T00:00:00Z", + "ShippedDate": "2023-09-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 364.15, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10659, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "2023-09-05T00:00:00Z", + "RequiredDate": "2023-10-03T00:00:00Z", + "ShippedDate": "2023-09-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 105.81, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10660, + "CustomerID": "HUNGC", + "EmployeeID": 8, + "OrderDate": "2023-09-08T00:00:00Z", + "RequiredDate": "2023-10-06T00:00:00Z", + "ShippedDate": "2023-10-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 111.29, + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, + { + "OrderID": 10661, + "CustomerID": "HUNGO", + "EmployeeID": 7, + "OrderDate": "2023-09-09T00:00:00Z", + "RequiredDate": "2023-10-07T00:00:00Z", + "ShippedDate": "2023-09-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 17.55, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10662, + "CustomerID": "LONEP", + "EmployeeID": 3, + "OrderDate": "2023-09-09T00:00:00Z", + "RequiredDate": "2023-10-07T00:00:00Z", + "ShippedDate": "2023-09-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.28, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10663, + "CustomerID": "BONAP", + "EmployeeID": 2, + "OrderDate": "2023-09-10T00:00:00Z", + "RequiredDate": "2023-09-24T00:00:00Z", + "ShippedDate": "2023-10-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 113.15, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10664, + "CustomerID": "FURIB", + "EmployeeID": 1, + "OrderDate": "2023-09-10T00:00:00Z", + "RequiredDate": "2023-10-08T00:00:00Z", + "ShippedDate": "2023-09-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.27, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10665, + "CustomerID": "LONEP", + "EmployeeID": 1, + "OrderDate": "2023-09-11T00:00:00Z", + "RequiredDate": "2023-10-09T00:00:00Z", + "ShippedDate": "2023-09-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 26.31, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10666, + "CustomerID": "RICSU", + "EmployeeID": 7, + "OrderDate": "2023-09-12T00:00:00Z", + "RequiredDate": "2023-10-10T00:00:00Z", + "ShippedDate": "2023-09-22T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 232.42, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10667, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "2023-09-12T00:00:00Z", + "RequiredDate": "2023-10-10T00:00:00Z", + "ShippedDate": "2023-09-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 78.09, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10668, + "CustomerID": "WANDK", + "EmployeeID": 1, + "OrderDate": "2023-09-15T00:00:00Z", + "RequiredDate": "2023-10-13T00:00:00Z", + "ShippedDate": "2023-09-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 47.22, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 10669, + "CustomerID": "SIMOB", + "EmployeeID": 2, + "OrderDate": "2023-09-15T00:00:00Z", + "RequiredDate": "2023-10-13T00:00:00Z", + "ShippedDate": "2023-09-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 24.39, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10670, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "2023-09-16T00:00:00Z", + "RequiredDate": "2023-10-14T00:00:00Z", + "ShippedDate": "2023-09-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 203.48, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10671, + "CustomerID": "FRANR", + "EmployeeID": 1, + "OrderDate": "2023-09-17T00:00:00Z", + "RequiredDate": "2023-10-15T00:00:00Z", + "ShippedDate": "2023-09-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 30.34, + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10672, + "CustomerID": "BERGS", + "EmployeeID": 9, + "OrderDate": "2023-09-17T00:00:00Z", + "RequiredDate": "2023-10-01T00:00:00Z", + "ShippedDate": "2023-09-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 95.75, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10673, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "2023-09-18T00:00:00Z", + "RequiredDate": "2023-10-16T00:00:00Z", + "ShippedDate": "2023-09-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 22.76, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10674, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "2023-09-18T00:00:00Z", + "RequiredDate": "2023-10-16T00:00:00Z", + "ShippedDate": "2023-09-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.9, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10675, + "CustomerID": "FRANK", + "EmployeeID": 5, + "OrderDate": "2023-09-19T00:00:00Z", + "RequiredDate": "2023-10-17T00:00:00Z", + "ShippedDate": "2023-09-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 31.85, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10676, + "CustomerID": "TORTU", + "EmployeeID": 2, + "OrderDate": "2023-09-22T00:00:00Z", + "RequiredDate": "2023-10-20T00:00:00Z", + "ShippedDate": "2023-09-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.01, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10677, + "CustomerID": "ANTON", + "EmployeeID": 1, + "OrderDate": "2023-09-22T00:00:00Z", + "RequiredDate": "2023-10-20T00:00:00Z", + "ShippedDate": "2023-09-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.03, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10678, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "2023-09-23T00:00:00Z", + "RequiredDate": "2023-10-21T00:00:00Z", + "ShippedDate": "2023-10-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 388.98, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10679, + "CustomerID": "BLONP", + "EmployeeID": 8, + "OrderDate": "2023-09-23T00:00:00Z", + "RequiredDate": "2023-10-21T00:00:00Z", + "ShippedDate": "2023-09-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 27.94, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10680, + "CustomerID": "OLDWO", + "EmployeeID": 1, + "OrderDate": "2023-09-24T00:00:00Z", + "RequiredDate": "2023-10-22T00:00:00Z", + "ShippedDate": "2023-09-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 26.61, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10681, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "2023-09-25T00:00:00Z", + "RequiredDate": "2023-10-23T00:00:00Z", + "ShippedDate": "2023-09-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 76.13, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10682, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "2023-09-25T00:00:00Z", + "RequiredDate": "2023-10-23T00:00:00Z", + "ShippedDate": "2023-10-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 36.13, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10683, + "CustomerID": "DUMON", + "EmployeeID": 2, + "OrderDate": "2023-09-26T00:00:00Z", + "RequiredDate": "2023-10-24T00:00:00Z", + "ShippedDate": "2023-10-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.4, + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10684, + "CustomerID": "OTTIK", + "EmployeeID": 3, + "OrderDate": "2023-09-26T00:00:00Z", + "RequiredDate": "2023-10-24T00:00:00Z", + "ShippedDate": "2023-09-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 145.63, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10685, + "CustomerID": "GOURL", + "EmployeeID": 4, + "OrderDate": "2023-09-29T00:00:00Z", + "RequiredDate": "2023-10-13T00:00:00Z", + "ShippedDate": "2023-10-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 33.75, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10686, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "2023-09-30T00:00:00Z", + "RequiredDate": "2023-10-28T00:00:00Z", + "ShippedDate": "2023-10-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 96.5, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10687, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "2023-09-30T00:00:00Z", + "RequiredDate": "2023-10-28T00:00:00Z", + "ShippedDate": "2023-10-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 296.43, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10688, + "CustomerID": "VAFFE", + "EmployeeID": 4, + "OrderDate": "2023-10-01T00:00:00Z", + "RequiredDate": "2023-10-15T00:00:00Z", + "ShippedDate": "2023-10-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 299.09, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10689, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "2023-10-01T00:00:00Z", + "RequiredDate": "2023-10-29T00:00:00Z", + "ShippedDate": "2023-10-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.42, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10690, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "2023-10-02T00:00:00Z", + "RequiredDate": "2023-10-30T00:00:00Z", + "ShippedDate": "2023-10-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 15.8, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10691, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2023-10-03T00:00:00Z", + "RequiredDate": "2023-11-14T00:00:00Z", + "ShippedDate": "2023-10-22T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 810.05, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10692, + "CustomerID": "ALFKI", + "EmployeeID": 4, + "OrderDate": "2023-10-03T00:00:00Z", + "RequiredDate": "2023-10-31T00:00:00Z", + "ShippedDate": "2023-10-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 61.02, + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 10693, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "2023-10-06T00:00:00Z", + "RequiredDate": "2023-10-20T00:00:00Z", + "ShippedDate": "2023-10-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 139.34, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10694, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "2023-10-06T00:00:00Z", + "RequiredDate": "2023-11-03T00:00:00Z", + "ShippedDate": "2023-10-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 398.36, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10695, + "CustomerID": "WILMK", + "EmployeeID": 7, + "OrderDate": "2023-10-07T00:00:00Z", + "RequiredDate": "2023-11-18T00:00:00Z", + "ShippedDate": "2023-10-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.72, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10696, + "CustomerID": "WHITC", + "EmployeeID": 8, + "OrderDate": "2023-10-08T00:00:00Z", + "RequiredDate": "2023-11-19T00:00:00Z", + "ShippedDate": "2023-10-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 102.55, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10697, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "2023-10-08T00:00:00Z", + "RequiredDate": "2023-11-05T00:00:00Z", + "ShippedDate": "2023-10-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 45.52, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10698, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "2023-10-09T00:00:00Z", + "RequiredDate": "2023-11-06T00:00:00Z", + "ShippedDate": "2023-10-17T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 272.47, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10699, + "CustomerID": "MORGK", + "EmployeeID": 3, + "OrderDate": "2023-10-09T00:00:00Z", + "RequiredDate": "2023-11-06T00:00:00Z", + "ShippedDate": "2023-10-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.58, + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, + { + "OrderID": 10700, + "CustomerID": "SAVEA", + "EmployeeID": 3, + "OrderDate": "2023-10-10T00:00:00Z", + "RequiredDate": "2023-11-07T00:00:00Z", + "ShippedDate": "2023-10-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 65.1, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10701, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "2023-10-13T00:00:00Z", + "RequiredDate": "2023-10-27T00:00:00Z", + "ShippedDate": "2023-10-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 220.31, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10702, + "CustomerID": "ALFKI", + "EmployeeID": 4, + "OrderDate": "2023-10-13T00:00:00Z", + "RequiredDate": "2023-11-24T00:00:00Z", + "ShippedDate": "2023-10-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 23.94, + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 10703, + "CustomerID": "FOLKO", + "EmployeeID": 6, + "OrderDate": "2023-10-14T00:00:00Z", + "RequiredDate": "2023-11-11T00:00:00Z", + "ShippedDate": "2023-10-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 152.3, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10704, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "2023-10-14T00:00:00Z", + "RequiredDate": "2023-11-11T00:00:00Z", + "ShippedDate": "2023-11-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.78, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10705, + "CustomerID": "HILAA", + "EmployeeID": 9, + "OrderDate": "2023-10-15T00:00:00Z", + "RequiredDate": "2023-11-12T00:00:00Z", + "ShippedDate": "2023-11-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.52, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10706, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "2023-10-16T00:00:00Z", + "RequiredDate": "2023-11-13T00:00:00Z", + "ShippedDate": "2023-10-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 135.63, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10707, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "2023-10-16T00:00:00Z", + "RequiredDate": "2023-10-30T00:00:00Z", + "ShippedDate": "2023-10-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 21.74, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10708, + "CustomerID": "THEBI", + "EmployeeID": 6, + "OrderDate": "2023-10-17T00:00:00Z", + "RequiredDate": "2023-11-28T00:00:00Z", + "ShippedDate": "2023-11-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.96, + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, + { + "OrderID": 10709, + "CustomerID": "GOURL", + "EmployeeID": 1, + "OrderDate": "2023-10-17T00:00:00Z", + "RequiredDate": "2023-11-14T00:00:00Z", + "ShippedDate": "2023-11-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 210.8, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10710, + "CustomerID": "FRANS", + "EmployeeID": 1, + "OrderDate": "2023-10-20T00:00:00Z", + "RequiredDate": "2023-11-17T00:00:00Z", + "ShippedDate": "2023-10-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.98, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10711, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "2023-10-21T00:00:00Z", + "RequiredDate": "2023-12-02T00:00:00Z", + "ShippedDate": "2023-10-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 52.41, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10712, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "2023-10-21T00:00:00Z", + "RequiredDate": "2023-11-18T00:00:00Z", + "ShippedDate": "2023-10-31T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 89.93, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10713, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2023-10-22T00:00:00Z", + "RequiredDate": "2023-11-19T00:00:00Z", + "ShippedDate": "2023-10-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 167.05, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10714, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "2023-10-22T00:00:00Z", + "RequiredDate": "2023-11-19T00:00:00Z", + "ShippedDate": "2023-10-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 24.49, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10715, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "2023-10-23T00:00:00Z", + "RequiredDate": "2023-11-06T00:00:00Z", + "ShippedDate": "2023-10-29T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 63.2, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10716, + "CustomerID": "RANCH", + "EmployeeID": 4, + "OrderDate": "2023-10-24T00:00:00Z", + "RequiredDate": "2023-11-21T00:00:00Z", + "ShippedDate": "2023-10-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 22.57, + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10717, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "2023-10-24T00:00:00Z", + "RequiredDate": "2023-11-21T00:00:00Z", + "ShippedDate": "2023-10-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 59.25, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10718, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "2023-10-27T00:00:00Z", + "RequiredDate": "2023-11-24T00:00:00Z", + "ShippedDate": "2023-10-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 170.88, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10719, + "CustomerID": "LETSS", + "EmployeeID": 8, + "OrderDate": "2023-10-27T00:00:00Z", + "RequiredDate": "2023-11-24T00:00:00Z", + "ShippedDate": "2023-11-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 51.44, + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, + { + "OrderID": 10720, + "CustomerID": "QUEDE", + "EmployeeID": 8, + "OrderDate": "2023-10-28T00:00:00Z", + "RequiredDate": "2023-11-11T00:00:00Z", + "ShippedDate": "2023-11-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 9.53, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10721, + "CustomerID": "QUICK", + "EmployeeID": 5, + "OrderDate": "2023-10-29T00:00:00Z", + "RequiredDate": "2023-11-26T00:00:00Z", + "ShippedDate": "2023-10-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 48.92, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10722, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "2023-10-29T00:00:00Z", + "RequiredDate": "2023-12-10T00:00:00Z", + "ShippedDate": "2023-11-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 74.58, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10723, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "2023-10-30T00:00:00Z", + "RequiredDate": "2023-11-27T00:00:00Z", + "ShippedDate": "2023-11-25T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 21.72, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10724, + "CustomerID": "MEREP", + "EmployeeID": 8, + "OrderDate": "2023-10-30T00:00:00Z", + "RequiredDate": "2023-12-11T00:00:00Z", + "ShippedDate": "2023-11-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 57.75, + "ShipName": "Mère Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montréal", + "ShipRegion": "Québec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, + { + "OrderID": 10725, + "CustomerID": "FAMIA", + "EmployeeID": 4, + "OrderDate": "2023-10-31T00:00:00Z", + "RequiredDate": "2023-11-28T00:00:00Z", + "ShippedDate": "2023-11-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 10.83, + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Orós, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10726, + "CustomerID": "EASTC", + "EmployeeID": 4, + "OrderDate": "2023-11-03T00:00:00Z", + "RequiredDate": "2023-11-17T00:00:00Z", + "ShippedDate": "2023-12-05T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.56, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 10727, + "CustomerID": "REGGC", + "EmployeeID": 2, + "OrderDate": "2023-11-03T00:00:00Z", + "RequiredDate": "2023-12-01T00:00:00Z", + "ShippedDate": "2023-12-05T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 89.9, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10728, + "CustomerID": "QUEEN", + "EmployeeID": 4, + "OrderDate": "2023-11-04T00:00:00Z", + "RequiredDate": "2023-12-02T00:00:00Z", + "ShippedDate": "2023-11-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.33, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10729, + "CustomerID": "LINOD", + "EmployeeID": 8, + "OrderDate": "2023-11-04T00:00:00Z", + "RequiredDate": "2023-12-16T00:00:00Z", + "ShippedDate": "2023-11-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 141.06, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10730, + "CustomerID": "BONAP", + "EmployeeID": 5, + "OrderDate": "2023-11-05T00:00:00Z", + "RequiredDate": "2023-12-03T00:00:00Z", + "ShippedDate": "2023-11-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 20.12, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10731, + "CustomerID": "CHOPS", + "EmployeeID": 7, + "OrderDate": "2023-11-06T00:00:00Z", + "RequiredDate": "2023-12-04T00:00:00Z", + "ShippedDate": "2023-11-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 96.65, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10732, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "2023-11-06T00:00:00Z", + "RequiredDate": "2023-12-04T00:00:00Z", + "ShippedDate": "2023-11-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.97, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10733, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "2023-11-07T00:00:00Z", + "RequiredDate": "2023-12-05T00:00:00Z", + "ShippedDate": "2023-11-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 110.11, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10734, + "CustomerID": "GOURL", + "EmployeeID": 2, + "OrderDate": "2023-11-07T00:00:00Z", + "RequiredDate": "2023-12-05T00:00:00Z", + "ShippedDate": "2023-11-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.63, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10735, + "CustomerID": "LETSS", + "EmployeeID": 6, + "OrderDate": "2023-11-10T00:00:00Z", + "RequiredDate": "2023-12-08T00:00:00Z", + "ShippedDate": "2023-11-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 45.97, + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, + { + "OrderID": 10736, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "2023-11-11T00:00:00Z", + "RequiredDate": "2023-12-09T00:00:00Z", + "ShippedDate": "2023-11-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 44.1, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10737, + "CustomerID": "VINET", + "EmployeeID": 2, + "OrderDate": "2023-11-11T00:00:00Z", + "RequiredDate": "2023-12-09T00:00:00Z", + "ShippedDate": "2023-11-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.79, + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, + { + "OrderID": 10738, + "CustomerID": "SPECD", + "EmployeeID": 2, + "OrderDate": "2023-11-12T00:00:00Z", + "RequiredDate": "2023-12-10T00:00:00Z", + "ShippedDate": "2023-11-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.91, + "ShipName": "Spécialités du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, + { + "OrderID": 10739, + "CustomerID": "VINET", + "EmployeeID": 3, + "OrderDate": "2023-11-12T00:00:00Z", + "RequiredDate": "2023-12-10T00:00:00Z", + "ShippedDate": "2023-11-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 11.08, + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, + { + "OrderID": 10740, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "2023-11-13T00:00:00Z", + "RequiredDate": "2023-12-11T00:00:00Z", + "ShippedDate": "2023-11-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 81.88, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10741, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "2023-11-14T00:00:00Z", + "RequiredDate": "2023-11-28T00:00:00Z", + "ShippedDate": "2023-11-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 10.96, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10742, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "2023-11-14T00:00:00Z", + "RequiredDate": "2023-12-12T00:00:00Z", + "ShippedDate": "2023-11-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 243.73, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10743, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "2023-11-17T00:00:00Z", + "RequiredDate": "2023-12-15T00:00:00Z", + "ShippedDate": "2023-11-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 23.72, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10744, + "CustomerID": "VAFFE", + "EmployeeID": 6, + "OrderDate": "2023-11-17T00:00:00Z", + "RequiredDate": "2023-12-15T00:00:00Z", + "ShippedDate": "2023-11-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 69.19, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10745, + "CustomerID": "QUICK", + "EmployeeID": 9, + "OrderDate": "2023-11-18T00:00:00Z", + "RequiredDate": "2023-12-16T00:00:00Z", + "ShippedDate": "2023-11-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 3.52, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10746, + "CustomerID": "CHOPS", + "EmployeeID": 1, + "OrderDate": "2023-11-19T00:00:00Z", + "RequiredDate": "2023-12-17T00:00:00Z", + "ShippedDate": "2023-11-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 31.43, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10747, + "CustomerID": "PICCO", + "EmployeeID": 6, + "OrderDate": "2023-11-19T00:00:00Z", + "RequiredDate": "2023-12-17T00:00:00Z", + "ShippedDate": "2023-11-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 117.33, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10748, + "CustomerID": "SAVEA", + "EmployeeID": 3, + "OrderDate": "2023-11-20T00:00:00Z", + "RequiredDate": "2023-12-18T00:00:00Z", + "ShippedDate": "2023-11-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 232.55, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10749, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "2023-11-20T00:00:00Z", + "RequiredDate": "2023-12-18T00:00:00Z", + "ShippedDate": "2023-12-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 61.53, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10750, + "CustomerID": "WARTH", + "EmployeeID": 9, + "OrderDate": "2023-11-21T00:00:00Z", + "RequiredDate": "2023-12-19T00:00:00Z", + "ShippedDate": "2023-11-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 79.3, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10751, + "CustomerID": "RICSU", + "EmployeeID": 3, + "OrderDate": "2023-11-24T00:00:00Z", + "RequiredDate": "2023-12-22T00:00:00Z", + "ShippedDate": "2023-12-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 130.79, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10752, + "CustomerID": "NORTS", + "EmployeeID": 2, + "OrderDate": "2023-11-24T00:00:00Z", + "RequiredDate": "2023-12-22T00:00:00Z", + "ShippedDate": "2023-11-28T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.39, + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, + { + "OrderID": 10753, + "CustomerID": "FRANS", + "EmployeeID": 3, + "OrderDate": "2023-11-25T00:00:00Z", + "RequiredDate": "2023-12-23T00:00:00Z", + "ShippedDate": "2023-11-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 7.7, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10754, + "CustomerID": "MAGAA", + "EmployeeID": 6, + "OrderDate": "2023-11-25T00:00:00Z", + "RequiredDate": "2023-12-23T00:00:00Z", + "ShippedDate": "2023-11-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 2.38, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10755, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "2023-11-26T00:00:00Z", + "RequiredDate": "2023-12-24T00:00:00Z", + "ShippedDate": "2023-11-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 16.71, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10756, + "CustomerID": "SPLIR", + "EmployeeID": 8, + "OrderDate": "2023-11-27T00:00:00Z", + "RequiredDate": "2023-12-25T00:00:00Z", + "ShippedDate": "2023-12-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 73.21, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10757, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "2023-11-27T00:00:00Z", + "RequiredDate": "2023-12-25T00:00:00Z", + "ShippedDate": "2023-12-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.19, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10758, + "CustomerID": "RICSU", + "EmployeeID": 3, + "OrderDate": "2023-11-28T00:00:00Z", + "RequiredDate": "2023-12-26T00:00:00Z", + "ShippedDate": "2023-12-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 138.17, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10759, + "CustomerID": "ANATR", + "EmployeeID": 3, + "OrderDate": "2023-11-28T00:00:00Z", + "RequiredDate": "2023-12-26T00:00:00Z", + "ShippedDate": "2023-12-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 11.99, + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constitución 2222", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10760, + "CustomerID": "MAISD", + "EmployeeID": 4, + "OrderDate": "2023-12-01T00:00:00Z", + "RequiredDate": "2023-12-29T00:00:00Z", + "ShippedDate": "2023-12-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 155.64, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10761, + "CustomerID": "RATTC", + "EmployeeID": 5, + "OrderDate": "2023-12-02T00:00:00Z", + "RequiredDate": "2023-12-30T00:00:00Z", + "ShippedDate": "2023-12-08T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 18.66, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10762, + "CustomerID": "FOLKO", + "EmployeeID": 3, + "OrderDate": "2023-12-02T00:00:00Z", + "RequiredDate": "2023-12-30T00:00:00Z", + "ShippedDate": "2023-12-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 328.74, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10763, + "CustomerID": "FOLIG", + "EmployeeID": 3, + "OrderDate": "2023-12-03T00:00:00Z", + "RequiredDate": "2023-12-31T00:00:00Z", + "ShippedDate": "2023-12-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 37.35, + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chaussée de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, + { + "OrderID": 10764, + "CustomerID": "ERNSH", + "EmployeeID": 6, + "OrderDate": "2023-12-03T00:00:00Z", + "RequiredDate": "2023-12-31T00:00:00Z", + "ShippedDate": "2023-12-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 145.45, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10765, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "2023-12-04T00:00:00Z", + "RequiredDate": "2024-01-01T00:00:00Z", + "ShippedDate": "2023-12-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 42.74, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10766, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "2023-12-05T00:00:00Z", + "RequiredDate": "2024-01-02T00:00:00Z", + "ShippedDate": "2023-12-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 157.55, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10767, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "2023-12-05T00:00:00Z", + "RequiredDate": "2024-01-02T00:00:00Z", + "ShippedDate": "2023-12-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.59, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10768, + "CustomerID": "AROUT", + "EmployeeID": 3, + "OrderDate": "2023-12-08T00:00:00Z", + "RequiredDate": "2024-01-05T00:00:00Z", + "ShippedDate": "2023-12-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 146.32, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10769, + "CustomerID": "VAFFE", + "EmployeeID": 3, + "OrderDate": "2023-12-08T00:00:00Z", + "RequiredDate": "2024-01-05T00:00:00Z", + "ShippedDate": "2023-12-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 65.06, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10770, + "CustomerID": "HANAR", + "EmployeeID": 8, + "OrderDate": "2023-12-09T00:00:00Z", + "RequiredDate": "2024-01-06T00:00:00Z", + "ShippedDate": "2023-12-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 5.32, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10771, + "CustomerID": "ERNSH", + "EmployeeID": 9, + "OrderDate": "2023-12-10T00:00:00Z", + "RequiredDate": "2024-01-07T00:00:00Z", + "ShippedDate": "2024-01-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 11.19, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10772, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "2023-12-10T00:00:00Z", + "RequiredDate": "2024-01-07T00:00:00Z", + "ShippedDate": "2023-12-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 91.28, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10773, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "2023-12-11T00:00:00Z", + "RequiredDate": "2024-01-08T00:00:00Z", + "ShippedDate": "2023-12-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 96.43, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10774, + "CustomerID": "FOLKO", + "EmployeeID": 4, + "OrderDate": "2023-12-11T00:00:00Z", + "RequiredDate": "2023-12-25T00:00:00Z", + "ShippedDate": "2023-12-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 48.2, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10775, + "CustomerID": "THECR", + "EmployeeID": 7, + "OrderDate": "2023-12-12T00:00:00Z", + "RequiredDate": "2024-01-09T00:00:00Z", + "ShippedDate": "2023-12-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 20.25, + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, + { + "OrderID": 10776, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "2023-12-15T00:00:00Z", + "RequiredDate": "2024-01-12T00:00:00Z", + "ShippedDate": "2023-12-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 351.53, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10777, + "CustomerID": "GOURL", + "EmployeeID": 7, + "OrderDate": "2023-12-15T00:00:00Z", + "RequiredDate": "2023-12-29T00:00:00Z", + "ShippedDate": "2024-01-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.01, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10778, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2023-12-16T00:00:00Z", + "RequiredDate": "2024-01-13T00:00:00Z", + "ShippedDate": "2023-12-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 6.79, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10779, + "CustomerID": "MORGK", + "EmployeeID": 3, + "OrderDate": "2023-12-16T00:00:00Z", + "RequiredDate": "2024-01-13T00:00:00Z", + "ShippedDate": "2024-01-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.13, + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, + { + "OrderID": 10780, + "CustomerID": "LILAS", + "EmployeeID": 2, + "OrderDate": "2023-12-16T00:00:00Z", + "RequiredDate": "2023-12-30T00:00:00Z", + "ShippedDate": "2023-12-25T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 42.13, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10781, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "2023-12-17T00:00:00Z", + "RequiredDate": "2024-01-14T00:00:00Z", + "ShippedDate": "2023-12-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 73.16, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 10782, + "CustomerID": "CACTU", + "EmployeeID": 9, + "OrderDate": "2023-12-17T00:00:00Z", + "RequiredDate": "2024-01-14T00:00:00Z", + "ShippedDate": "2023-12-22T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.1, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10783, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "2023-12-18T00:00:00Z", + "RequiredDate": "2024-01-15T00:00:00Z", + "ShippedDate": "2023-12-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 124.98, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10784, + "CustomerID": "MAGAA", + "EmployeeID": 4, + "OrderDate": "2023-12-18T00:00:00Z", + "RequiredDate": "2024-01-15T00:00:00Z", + "ShippedDate": "2023-12-22T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 70.09, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10785, + "CustomerID": "GROSR", + "EmployeeID": 1, + "OrderDate": "2023-12-18T00:00:00Z", + "RequiredDate": "2024-01-15T00:00:00Z", + "ShippedDate": "2023-12-24T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.51, + "ShipName": "GROSELLA-Restaurante", + "ShipAddress": "5ª Ave. Los Palos Grandes", + "ShipCity": "Caracas", + "ShipRegion": "DF", + "ShipPostalCode": "1081", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10786, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "2023-12-19T00:00:00Z", + "RequiredDate": "2024-01-16T00:00:00Z", + "ShippedDate": "2023-12-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 110.87, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10787, + "CustomerID": "LAMAI", + "EmployeeID": 2, + "OrderDate": "2023-12-19T00:00:00Z", + "RequiredDate": "2024-01-02T00:00:00Z", + "ShippedDate": "2023-12-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 249.93, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10788, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "2023-12-22T00:00:00Z", + "RequiredDate": "2024-01-19T00:00:00Z", + "ShippedDate": "2024-01-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 42.7, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10789, + "CustomerID": "FOLIG", + "EmployeeID": 1, + "OrderDate": "2023-12-22T00:00:00Z", + "RequiredDate": "2024-01-19T00:00:00Z", + "ShippedDate": "2023-12-31T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 100.6, + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chaussée de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, + { + "OrderID": 10790, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "2023-12-22T00:00:00Z", + "RequiredDate": "2024-01-19T00:00:00Z", + "ShippedDate": "2023-12-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 28.23, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10791, + "CustomerID": "FRANK", + "EmployeeID": 6, + "OrderDate": "2023-12-23T00:00:00Z", + "RequiredDate": "2024-01-20T00:00:00Z", + "ShippedDate": "2024-01-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 16.85, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10792, + "CustomerID": "WOLZA", + "EmployeeID": 1, + "OrderDate": "2023-12-23T00:00:00Z", + "RequiredDate": "2024-01-20T00:00:00Z", + "ShippedDate": "2023-12-31T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 23.79, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10793, + "CustomerID": "AROUT", + "EmployeeID": 3, + "OrderDate": "2023-12-24T00:00:00Z", + "RequiredDate": "2024-01-21T00:00:00Z", + "ShippedDate": "2024-01-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.52, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10794, + "CustomerID": "QUEDE", + "EmployeeID": 6, + "OrderDate": "2023-12-24T00:00:00Z", + "RequiredDate": "2024-01-21T00:00:00Z", + "ShippedDate": "2024-01-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 21.49, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10795, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "2023-12-24T00:00:00Z", + "RequiredDate": "2024-01-21T00:00:00Z", + "ShippedDate": "2024-01-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 126.66, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10796, + "CustomerID": "HILAA", + "EmployeeID": 3, + "OrderDate": "2023-12-25T00:00:00Z", + "RequiredDate": "2024-01-22T00:00:00Z", + "ShippedDate": "2024-01-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 26.52, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10797, + "CustomerID": "DRACD", + "EmployeeID": 7, + "OrderDate": "2023-12-25T00:00:00Z", + "RequiredDate": "2024-01-22T00:00:00Z", + "ShippedDate": "2024-01-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 33.35, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 10798, + "CustomerID": "ISLAT", + "EmployeeID": 2, + "OrderDate": "2023-12-26T00:00:00Z", + "RequiredDate": "2024-01-23T00:00:00Z", + "ShippedDate": "2024-01-05T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.33, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10799, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "2023-12-26T00:00:00Z", + "RequiredDate": "2024-02-06T00:00:00Z", + "ShippedDate": "2024-01-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 30.76, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10800, + "CustomerID": "SEVES", + "EmployeeID": 1, + "OrderDate": "2023-12-26T00:00:00Z", + "RequiredDate": "2024-01-23T00:00:00Z", + "ShippedDate": "2024-01-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 137.44, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10801, + "CustomerID": "BOLID", + "EmployeeID": 4, + "OrderDate": "2023-12-29T00:00:00Z", + "RequiredDate": "2024-01-26T00:00:00Z", + "ShippedDate": "2023-12-31T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 97.09, + "ShipName": "Bólido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, + { + "OrderID": 10802, + "CustomerID": "SIMOB", + "EmployeeID": 4, + "OrderDate": "2023-12-29T00:00:00Z", + "RequiredDate": "2024-01-26T00:00:00Z", + "ShippedDate": "2024-01-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 257.26, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10803, + "CustomerID": "WELLI", + "EmployeeID": 4, + "OrderDate": "2023-12-30T00:00:00Z", + "RequiredDate": "2024-01-27T00:00:00Z", + "ShippedDate": "2024-01-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 55.23, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10804, + "CustomerID": "SEVES", + "EmployeeID": 6, + "OrderDate": "2023-12-30T00:00:00Z", + "RequiredDate": "2024-01-27T00:00:00Z", + "ShippedDate": "2024-01-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 27.33, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10805, + "CustomerID": "THEBI", + "EmployeeID": 2, + "OrderDate": "2023-12-30T00:00:00Z", + "RequiredDate": "2024-01-27T00:00:00Z", + "ShippedDate": "2024-01-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 237.34, + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, + { + "OrderID": 10806, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "2023-12-31T00:00:00Z", + "RequiredDate": "2024-01-28T00:00:00Z", + "ShippedDate": "2024-01-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 22.11, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10807, + "CustomerID": "FRANS", + "EmployeeID": 4, + "OrderDate": "2023-12-31T00:00:00Z", + "RequiredDate": "2024-01-28T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.36, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10808, + "CustomerID": "OLDWO", + "EmployeeID": 2, + "OrderDate": "2024-01-01T00:00:00Z", + "RequiredDate": "2024-01-29T00:00:00Z", + "ShippedDate": "2024-01-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 45.53, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10809, + "CustomerID": "WELLI", + "EmployeeID": 7, + "OrderDate": "2024-01-01T00:00:00Z", + "RequiredDate": "2024-01-29T00:00:00Z", + "ShippedDate": "2024-01-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.87, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10810, + "CustomerID": "LAUGB", + "EmployeeID": 2, + "OrderDate": "2024-01-01T00:00:00Z", + "RequiredDate": "2024-01-29T00:00:00Z", + "ShippedDate": "2024-01-07T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.33, + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, + { + "OrderID": 10811, + "CustomerID": "LINOD", + "EmployeeID": 8, + "OrderDate": "2024-01-02T00:00:00Z", + "RequiredDate": "2024-01-30T00:00:00Z", + "ShippedDate": "2024-01-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 31.22, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10812, + "CustomerID": "REGGC", + "EmployeeID": 5, + "OrderDate": "2024-01-02T00:00:00Z", + "RequiredDate": "2024-01-30T00:00:00Z", + "ShippedDate": "2024-01-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 59.78, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10813, + "CustomerID": "RICAR", + "EmployeeID": 1, + "OrderDate": "2024-01-05T00:00:00Z", + "RequiredDate": "2024-02-02T00:00:00Z", + "ShippedDate": "2024-01-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 47.38, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10814, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "2024-01-05T00:00:00Z", + "RequiredDate": "2024-02-02T00:00:00Z", + "ShippedDate": "2024-01-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 130.94, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10815, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "2024-01-05T00:00:00Z", + "RequiredDate": "2024-02-02T00:00:00Z", + "ShippedDate": "2024-01-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 14.62, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10816, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "2024-01-06T00:00:00Z", + "RequiredDate": "2024-02-03T00:00:00Z", + "ShippedDate": "2024-02-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 719.78, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10817, + "CustomerID": "KOENE", + "EmployeeID": 3, + "OrderDate": "2024-01-06T00:00:00Z", + "RequiredDate": "2024-01-20T00:00:00Z", + "ShippedDate": "2024-01-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 306.07, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10818, + "CustomerID": "MAGAA", + "EmployeeID": 7, + "OrderDate": "2024-01-07T00:00:00Z", + "RequiredDate": "2024-02-04T00:00:00Z", + "ShippedDate": "2024-01-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 65.48, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10819, + "CustomerID": "CACTU", + "EmployeeID": 2, + "OrderDate": "2024-01-07T00:00:00Z", + "RequiredDate": "2024-02-04T00:00:00Z", + "ShippedDate": "2024-01-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 19.76, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10820, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "2024-01-07T00:00:00Z", + "RequiredDate": "2024-02-04T00:00:00Z", + "ShippedDate": "2024-01-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 37.52, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10821, + "CustomerID": "SPLIR", + "EmployeeID": 1, + "OrderDate": "2024-01-08T00:00:00Z", + "RequiredDate": "2024-02-05T00:00:00Z", + "ShippedDate": "2024-01-15T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 36.68, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10822, + "CustomerID": "TRAIH", + "EmployeeID": 6, + "OrderDate": "2024-01-08T00:00:00Z", + "RequiredDate": "2024-02-05T00:00:00Z", + "ShippedDate": "2024-01-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 7, + "ShipName": "Trail's Head Gourmet Provisioners", + "ShipAddress": "722 DaVinci Blvd.", + "ShipCity": "Kirkland", + "ShipRegion": "WA", + "ShipPostalCode": "98034", + "ShipCountry": "USA" + }, + { + "OrderID": 10823, + "CustomerID": "LILAS", + "EmployeeID": 5, + "OrderDate": "2024-01-09T00:00:00Z", + "RequiredDate": "2024-02-06T00:00:00Z", + "ShippedDate": "2024-01-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 163.97, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10824, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2024-01-09T00:00:00Z", + "RequiredDate": "2024-02-06T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.23, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10825, + "CustomerID": "DRACD", + "EmployeeID": 1, + "OrderDate": "2024-01-09T00:00:00Z", + "RequiredDate": "2024-02-06T00:00:00Z", + "ShippedDate": "2024-01-14T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 79.25, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 10826, + "CustomerID": "BLONP", + "EmployeeID": 6, + "OrderDate": "2024-01-12T00:00:00Z", + "RequiredDate": "2024-02-09T00:00:00Z", + "ShippedDate": "2024-02-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 7.09, + "ShipName": "Blondel père et fils", + "ShipAddress": "24, place Kléber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, + { + "OrderID": 10827, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "2024-01-12T00:00:00Z", + "RequiredDate": "2024-01-26T00:00:00Z", + "ShippedDate": "2024-02-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 63.54, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10828, + "CustomerID": "RANCH", + "EmployeeID": 9, + "OrderDate": "2024-01-13T00:00:00Z", + "RequiredDate": "2024-01-27T00:00:00Z", + "ShippedDate": "2024-02-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 90.85, + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10829, + "CustomerID": "ISLAT", + "EmployeeID": 9, + "OrderDate": "2024-01-13T00:00:00Z", + "RequiredDate": "2024-02-10T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 154.72, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10830, + "CustomerID": "TRADH", + "EmployeeID": 4, + "OrderDate": "2024-01-13T00:00:00Z", + "RequiredDate": "2024-02-24T00:00:00Z", + "ShippedDate": "2024-01-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 81.83, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10831, + "CustomerID": "SANTG", + "EmployeeID": 3, + "OrderDate": "2024-01-14T00:00:00Z", + "RequiredDate": "2024-02-11T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 72.19, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 10832, + "CustomerID": "LAMAI", + "EmployeeID": 2, + "OrderDate": "2024-01-14T00:00:00Z", + "RequiredDate": "2024-02-11T00:00:00Z", + "ShippedDate": "2024-01-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 43.26, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10833, + "CustomerID": "OTTIK", + "EmployeeID": 6, + "OrderDate": "2024-01-15T00:00:00Z", + "RequiredDate": "2024-02-12T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 71.49, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 10834, + "CustomerID": "TRADH", + "EmployeeID": 1, + "OrderDate": "2024-01-15T00:00:00Z", + "RequiredDate": "2024-02-12T00:00:00Z", + "ShippedDate": "2024-01-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 29.78, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10835, + "CustomerID": "ALFKI", + "EmployeeID": 1, + "OrderDate": "2024-01-15T00:00:00Z", + "RequiredDate": "2024-02-12T00:00:00Z", + "ShippedDate": "2024-01-21T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 69.53, + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 10836, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "2024-01-16T00:00:00Z", + "RequiredDate": "2024-02-13T00:00:00Z", + "ShippedDate": "2024-01-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 411.88, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10837, + "CustomerID": "BERGS", + "EmployeeID": 9, + "OrderDate": "2024-01-16T00:00:00Z", + "RequiredDate": "2024-02-13T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 13.32, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10838, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "2024-01-19T00:00:00Z", + "RequiredDate": "2024-02-16T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 59.28, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10839, + "CustomerID": "TRADH", + "EmployeeID": 3, + "OrderDate": "2024-01-19T00:00:00Z", + "RequiredDate": "2024-02-16T00:00:00Z", + "ShippedDate": "2024-01-22T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 35.43, + "ShipName": "Tradiçao Hipermercados", + "ShipAddress": "Av. Inês de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10840, + "CustomerID": "LINOD", + "EmployeeID": 4, + "OrderDate": "2024-01-19T00:00:00Z", + "RequiredDate": "2024-03-02T00:00:00Z", + "ShippedDate": "2024-02-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.71, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10841, + "CustomerID": "SUPRD", + "EmployeeID": 5, + "OrderDate": "2024-01-20T00:00:00Z", + "RequiredDate": "2024-02-17T00:00:00Z", + "ShippedDate": "2024-01-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 424.3, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10842, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "2024-01-20T00:00:00Z", + "RequiredDate": "2024-02-17T00:00:00Z", + "ShippedDate": "2024-01-29T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 54.42, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10843, + "CustomerID": "VICTE", + "EmployeeID": 4, + "OrderDate": "2024-01-21T00:00:00Z", + "RequiredDate": "2024-02-18T00:00:00Z", + "ShippedDate": "2024-01-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 9.26, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10844, + "CustomerID": "PICCO", + "EmployeeID": 8, + "OrderDate": "2024-01-21T00:00:00Z", + "RequiredDate": "2024-02-18T00:00:00Z", + "ShippedDate": "2024-01-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.22, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 10845, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "2024-01-21T00:00:00Z", + "RequiredDate": "2024-02-04T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 212.98, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10846, + "CustomerID": "SUPRD", + "EmployeeID": 2, + "OrderDate": "2024-01-22T00:00:00Z", + "RequiredDate": "2024-03-05T00:00:00Z", + "ShippedDate": "2024-01-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 56.46, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10847, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "2024-01-22T00:00:00Z", + "RequiredDate": "2024-02-05T00:00:00Z", + "ShippedDate": "2024-02-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 487.57, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10848, + "CustomerID": "CONSH", + "EmployeeID": 7, + "OrderDate": "2024-01-23T00:00:00Z", + "RequiredDate": "2024-02-20T00:00:00Z", + "ShippedDate": "2024-01-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 38.24, + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, + { + "OrderID": 10849, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "2024-01-23T00:00:00Z", + "RequiredDate": "2024-02-20T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.56, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10850, + "CustomerID": "VICTE", + "EmployeeID": 1, + "OrderDate": "2024-01-23T00:00:00Z", + "RequiredDate": "2024-03-06T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 49.19, + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, + { + "OrderID": 10851, + "CustomerID": "RICAR", + "EmployeeID": 5, + "OrderDate": "2024-01-26T00:00:00Z", + "RequiredDate": "2024-02-23T00:00:00Z", + "ShippedDate": "2024-02-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 160.55, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10852, + "CustomerID": "RATTC", + "EmployeeID": 8, + "OrderDate": "2024-01-26T00:00:00Z", + "RequiredDate": "2024-02-09T00:00:00Z", + "ShippedDate": "2024-01-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 174.05, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10853, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "2024-01-27T00:00:00Z", + "RequiredDate": "2024-02-24T00:00:00Z", + "ShippedDate": "2024-02-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 53.83, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10854, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "2024-01-27T00:00:00Z", + "RequiredDate": "2024-02-24T00:00:00Z", + "ShippedDate": "2024-02-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 100.22, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10855, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "2024-01-27T00:00:00Z", + "RequiredDate": "2024-02-24T00:00:00Z", + "ShippedDate": "2024-02-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 170.97, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10856, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "2024-01-28T00:00:00Z", + "RequiredDate": "2024-02-25T00:00:00Z", + "ShippedDate": "2024-02-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 58.43, + "ShipName": "Antonio Moreno Taquería", + "ShipAddress": "Mataderos 2312", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10857, + "CustomerID": "BERGS", + "EmployeeID": 8, + "OrderDate": "2024-01-28T00:00:00Z", + "RequiredDate": "2024-02-25T00:00:00Z", + "ShippedDate": "2024-02-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 188.85, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10858, + "CustomerID": "LACOR", + "EmployeeID": 2, + "OrderDate": "2024-01-29T00:00:00Z", + "RequiredDate": "2024-02-26T00:00:00Z", + "ShippedDate": "2024-02-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 52.51, + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, + { + "OrderID": 10859, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "2024-01-29T00:00:00Z", + "RequiredDate": "2024-02-26T00:00:00Z", + "ShippedDate": "2024-02-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 76.1, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10860, + "CustomerID": "FRANR", + "EmployeeID": 3, + "OrderDate": "2024-01-29T00:00:00Z", + "RequiredDate": "2024-02-26T00:00:00Z", + "ShippedDate": "2024-02-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 19.26, + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10861, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "2024-01-30T00:00:00Z", + "RequiredDate": "2024-02-27T00:00:00Z", + "ShippedDate": "2024-02-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 14.93, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10862, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "2024-01-30T00:00:00Z", + "RequiredDate": "2024-03-13T00:00:00Z", + "ShippedDate": "2024-02-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 53.23, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10863, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "2024-02-02T00:00:00Z", + "RequiredDate": "2024-03-02T00:00:00Z", + "ShippedDate": "2024-02-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 30.26, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10864, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "2024-02-02T00:00:00Z", + "RequiredDate": "2024-03-02T00:00:00Z", + "ShippedDate": "2024-02-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.04, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10865, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "2024-02-02T00:00:00Z", + "RequiredDate": "2024-02-16T00:00:00Z", + "ShippedDate": "2024-02-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 348.14, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10866, + "CustomerID": "BERGS", + "EmployeeID": 5, + "OrderDate": "2024-02-03T00:00:00Z", + "RequiredDate": "2024-03-03T00:00:00Z", + "ShippedDate": "2024-02-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 109.11, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10867, + "CustomerID": "LONEP", + "EmployeeID": 6, + "OrderDate": "2024-02-03T00:00:00Z", + "RequiredDate": "2024-03-17T00:00:00Z", + "ShippedDate": "2024-02-11T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.93, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10868, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "2024-02-04T00:00:00Z", + "RequiredDate": "2024-03-04T00:00:00Z", + "ShippedDate": "2024-02-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 191.27, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10869, + "CustomerID": "SEVES", + "EmployeeID": 5, + "OrderDate": "2024-02-04T00:00:00Z", + "RequiredDate": "2024-03-04T00:00:00Z", + "ShippedDate": "2024-02-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 143.28, + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, + { + "OrderID": 10870, + "CustomerID": "WOLZA", + "EmployeeID": 5, + "OrderDate": "2024-02-04T00:00:00Z", + "RequiredDate": "2024-03-04T00:00:00Z", + "ShippedDate": "2024-02-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 12.04, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10871, + "CustomerID": "BONAP", + "EmployeeID": 9, + "OrderDate": "2024-02-05T00:00:00Z", + "RequiredDate": "2024-03-05T00:00:00Z", + "ShippedDate": "2024-02-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 112.27, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10872, + "CustomerID": "GODOS", + "EmployeeID": 5, + "OrderDate": "2024-02-05T00:00:00Z", + "RequiredDate": "2024-03-05T00:00:00Z", + "ShippedDate": "2024-02-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 175.32, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10873, + "CustomerID": "WILMK", + "EmployeeID": 4, + "OrderDate": "2024-02-06T00:00:00Z", + "RequiredDate": "2024-03-06T00:00:00Z", + "ShippedDate": "2024-02-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.82, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10874, + "CustomerID": "GODOS", + "EmployeeID": 5, + "OrderDate": "2024-02-06T00:00:00Z", + "RequiredDate": "2024-03-06T00:00:00Z", + "ShippedDate": "2024-02-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 19.58, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10875, + "CustomerID": "BERGS", + "EmployeeID": 4, + "OrderDate": "2024-02-06T00:00:00Z", + "RequiredDate": "2024-03-06T00:00:00Z", + "ShippedDate": "2024-03-03T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 32.37, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10876, + "CustomerID": "BONAP", + "EmployeeID": 7, + "OrderDate": "2024-02-09T00:00:00Z", + "RequiredDate": "2024-03-09T00:00:00Z", + "ShippedDate": "2024-02-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 60.42, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10877, + "CustomerID": "RICAR", + "EmployeeID": 1, + "OrderDate": "2024-02-09T00:00:00Z", + "RequiredDate": "2024-03-09T00:00:00Z", + "ShippedDate": "2024-02-19T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 38.06, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10878, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "2024-02-10T00:00:00Z", + "RequiredDate": "2024-03-10T00:00:00Z", + "ShippedDate": "2024-02-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 46.69, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10879, + "CustomerID": "WILMK", + "EmployeeID": 3, + "OrderDate": "2024-02-10T00:00:00Z", + "RequiredDate": "2024-03-10T00:00:00Z", + "ShippedDate": "2024-02-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 8.5, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10880, + "CustomerID": "FOLKO", + "EmployeeID": 7, + "OrderDate": "2024-02-10T00:00:00Z", + "RequiredDate": "2024-03-24T00:00:00Z", + "ShippedDate": "2024-02-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 88.01, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10881, + "CustomerID": "CACTU", + "EmployeeID": 4, + "OrderDate": "2024-02-11T00:00:00Z", + "RequiredDate": "2024-03-11T00:00:00Z", + "ShippedDate": "2024-02-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.84, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10882, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "2024-02-11T00:00:00Z", + "RequiredDate": "2024-03-11T00:00:00Z", + "ShippedDate": "2024-02-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 23.1, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10883, + "CustomerID": "LONEP", + "EmployeeID": 8, + "OrderDate": "2024-02-12T00:00:00Z", + "RequiredDate": "2024-03-12T00:00:00Z", + "ShippedDate": "2024-02-20T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 0.53, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 10884, + "CustomerID": "LETSS", + "EmployeeID": 4, + "OrderDate": "2024-02-12T00:00:00Z", + "RequiredDate": "2024-03-12T00:00:00Z", + "ShippedDate": "2024-02-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 90.97, + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, + { + "OrderID": 10885, + "CustomerID": "SUPRD", + "EmployeeID": 6, + "OrderDate": "2024-02-12T00:00:00Z", + "RequiredDate": "2024-03-12T00:00:00Z", + "ShippedDate": "2024-02-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 5.64, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10886, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "2024-02-13T00:00:00Z", + "RequiredDate": "2024-03-13T00:00:00Z", + "ShippedDate": "2024-03-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 4.99, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10887, + "CustomerID": "GALED", + "EmployeeID": 8, + "OrderDate": "2024-02-13T00:00:00Z", + "RequiredDate": "2024-03-13T00:00:00Z", + "ShippedDate": "2024-02-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.25, + "ShipName": "Galería del gastronómo", + "ShipAddress": "Rambla de Cataluña, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, + { + "OrderID": 10888, + "CustomerID": "GODOS", + "EmployeeID": 1, + "OrderDate": "2024-02-16T00:00:00Z", + "RequiredDate": "2024-03-16T00:00:00Z", + "ShippedDate": "2024-02-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 51.87, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10889, + "CustomerID": "RATTC", + "EmployeeID": 9, + "OrderDate": "2024-02-16T00:00:00Z", + "RequiredDate": "2024-03-16T00:00:00Z", + "ShippedDate": "2024-02-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 280.61, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10890, + "CustomerID": "DUMON", + "EmployeeID": 7, + "OrderDate": "2024-02-16T00:00:00Z", + "RequiredDate": "2024-03-16T00:00:00Z", + "ShippedDate": "2024-02-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 32.76, + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10891, + "CustomerID": "LEHMS", + "EmployeeID": 7, + "OrderDate": "2024-02-17T00:00:00Z", + "RequiredDate": "2024-03-17T00:00:00Z", + "ShippedDate": "2024-02-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 20.37, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10892, + "CustomerID": "MAISD", + "EmployeeID": 4, + "OrderDate": "2024-02-17T00:00:00Z", + "RequiredDate": "2024-03-17T00:00:00Z", + "ShippedDate": "2024-02-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 120.27, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10893, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "2024-02-18T00:00:00Z", + "RequiredDate": "2024-03-18T00:00:00Z", + "ShippedDate": "2024-02-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 77.78, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 10894, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2024-02-18T00:00:00Z", + "RequiredDate": "2024-03-18T00:00:00Z", + "ShippedDate": "2024-02-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 116.13, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10895, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "2024-02-18T00:00:00Z", + "RequiredDate": "2024-03-18T00:00:00Z", + "ShippedDate": "2024-02-23T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 162.75, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10896, + "CustomerID": "MAISD", + "EmployeeID": 7, + "OrderDate": "2024-02-19T00:00:00Z", + "RequiredDate": "2024-03-19T00:00:00Z", + "ShippedDate": "2024-02-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 32.45, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10897, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "2024-02-19T00:00:00Z", + "RequiredDate": "2024-03-19T00:00:00Z", + "ShippedDate": "2024-02-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 603.54, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10898, + "CustomerID": "OCEAN", + "EmployeeID": 4, + "OrderDate": "2024-02-20T00:00:00Z", + "RequiredDate": "2024-03-20T00:00:00Z", + "ShippedDate": "2024-03-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.27, + "ShipName": "Océano Atlántico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10899, + "CustomerID": "LILAS", + "EmployeeID": 5, + "OrderDate": "2024-02-20T00:00:00Z", + "RequiredDate": "2024-03-20T00:00:00Z", + "ShippedDate": "2024-02-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 1.21, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10900, + "CustomerID": "WELLI", + "EmployeeID": 1, + "OrderDate": "2024-02-20T00:00:00Z", + "RequiredDate": "2024-03-20T00:00:00Z", + "ShippedDate": "2024-03-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.66, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10901, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "2024-02-23T00:00:00Z", + "RequiredDate": "2024-03-23T00:00:00Z", + "ShippedDate": "2024-02-26T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 62.09, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10902, + "CustomerID": "FOLKO", + "EmployeeID": 1, + "OrderDate": "2024-02-23T00:00:00Z", + "RequiredDate": "2024-03-23T00:00:00Z", + "ShippedDate": "2024-03-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 44.15, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10903, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "2024-02-24T00:00:00Z", + "RequiredDate": "2024-03-24T00:00:00Z", + "ShippedDate": "2024-03-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 36.71, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10904, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "2024-02-24T00:00:00Z", + "RequiredDate": "2024-03-24T00:00:00Z", + "ShippedDate": "2024-02-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 162.95, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 10905, + "CustomerID": "WELLI", + "EmployeeID": 9, + "OrderDate": "2024-02-24T00:00:00Z", + "RequiredDate": "2024-03-24T00:00:00Z", + "ShippedDate": "2024-03-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.72, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10906, + "CustomerID": "WOLZA", + "EmployeeID": 4, + "OrderDate": "2024-02-25T00:00:00Z", + "RequiredDate": "2024-03-11T00:00:00Z", + "ShippedDate": "2024-03-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 26.29, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10907, + "CustomerID": "SPECD", + "EmployeeID": 6, + "OrderDate": "2024-02-25T00:00:00Z", + "RequiredDate": "2024-03-25T00:00:00Z", + "ShippedDate": "2024-02-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 9.19, + "ShipName": "Spécialités du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, + { + "OrderID": 10908, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 32.96, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10909, + "CustomerID": "SANTG", + "EmployeeID": 1, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 53.05, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 10910, + "CustomerID": "WILMK", + "EmployeeID": 1, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-04T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 38.11, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 10911, + "CustomerID": "GODOS", + "EmployeeID": 3, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-05T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 38.19, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10912, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 580.91, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10913, + "CustomerID": "QUEEN", + "EmployeeID": 4, + "OrderDate": "2024-02-26T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 33.05, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10914, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "2024-02-27T00:00:00Z", + "RequiredDate": "2024-03-27T00:00:00Z", + "ShippedDate": "2024-03-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 21.19, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10915, + "CustomerID": "TORTU", + "EmployeeID": 2, + "OrderDate": "2024-02-27T00:00:00Z", + "RequiredDate": "2024-03-27T00:00:00Z", + "ShippedDate": "2024-03-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.51, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10916, + "CustomerID": "RANCH", + "EmployeeID": 1, + "OrderDate": "2024-02-27T00:00:00Z", + "RequiredDate": "2024-03-27T00:00:00Z", + "ShippedDate": "2024-03-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 63.77, + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10917, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "2024-03-02T00:00:00Z", + "RequiredDate": "2024-03-30T00:00:00Z", + "ShippedDate": "2024-03-11T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.29, + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran Vía, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, + { + "OrderID": 10918, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "2024-03-02T00:00:00Z", + "RequiredDate": "2024-03-30T00:00:00Z", + "ShippedDate": "2024-03-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 48.83, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10919, + "CustomerID": "LINOD", + "EmployeeID": 2, + "OrderDate": "2024-03-02T00:00:00Z", + "RequiredDate": "2024-03-30T00:00:00Z", + "ShippedDate": "2024-03-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 19.8, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10920, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "2024-03-03T00:00:00Z", + "RequiredDate": "2024-03-31T00:00:00Z", + "ShippedDate": "2024-03-09T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 29.61, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10921, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "2024-03-03T00:00:00Z", + "RequiredDate": "2024-04-14T00:00:00Z", + "ShippedDate": "2024-03-09T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 176.48, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10922, + "CustomerID": "HANAR", + "EmployeeID": 5, + "OrderDate": "2024-03-03T00:00:00Z", + "RequiredDate": "2024-03-31T00:00:00Z", + "ShippedDate": "2024-03-05T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 62.74, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10923, + "CustomerID": "LAMAI", + "EmployeeID": 7, + "OrderDate": "2024-03-03T00:00:00Z", + "RequiredDate": "2024-04-14T00:00:00Z", + "ShippedDate": "2024-03-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 68.26, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 10924, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "2024-03-04T00:00:00Z", + "RequiredDate": "2024-04-01T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 151.52, + "ShipName": "Berglunds snabbköp", + "ShipAddress": "Berguvsvägen 8", + "ShipCity": "Luleå", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10925, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "2024-03-04T00:00:00Z", + "RequiredDate": "2024-04-01T00:00:00Z", + "ShippedDate": "2024-03-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.27, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10926, + "CustomerID": "ANATR", + "EmployeeID": 4, + "OrderDate": "2024-03-04T00:00:00Z", + "RequiredDate": "2024-04-01T00:00:00Z", + "ShippedDate": "2024-03-11T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 39.92, + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constitución 2222", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10927, + "CustomerID": "LACOR", + "EmployeeID": 4, + "OrderDate": "2024-03-05T00:00:00Z", + "RequiredDate": "2024-04-02T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 19.79, + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, + { + "OrderID": 10928, + "CustomerID": "GALED", + "EmployeeID": 1, + "OrderDate": "2024-03-05T00:00:00Z", + "RequiredDate": "2024-04-02T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.36, + "ShipName": "Galería del gastronómo", + "ShipAddress": "Rambla de Cataluña, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, + { + "OrderID": 10929, + "CustomerID": "FRANK", + "EmployeeID": 6, + "OrderDate": "2024-03-05T00:00:00Z", + "RequiredDate": "2024-04-02T00:00:00Z", + "ShippedDate": "2024-03-12T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 33.93, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 10930, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "2024-03-06T00:00:00Z", + "RequiredDate": "2024-04-17T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 15.55, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10931, + "CustomerID": "RICSU", + "EmployeeID": 4, + "OrderDate": "2024-03-06T00:00:00Z", + "RequiredDate": "2024-03-20T00:00:00Z", + "ShippedDate": "2024-03-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 13.6, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10932, + "CustomerID": "BONAP", + "EmployeeID": 8, + "OrderDate": "2024-03-06T00:00:00Z", + "RequiredDate": "2024-04-03T00:00:00Z", + "ShippedDate": "2024-03-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 134.64, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10933, + "CustomerID": "ISLAT", + "EmployeeID": 6, + "OrderDate": "2024-03-06T00:00:00Z", + "RequiredDate": "2024-04-03T00:00:00Z", + "ShippedDate": "2024-03-16T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 54.15, + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, + { + "OrderID": 10934, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "2024-03-09T00:00:00Z", + "RequiredDate": "2024-04-06T00:00:00Z", + "ShippedDate": "2024-03-12T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 32.01, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 10935, + "CustomerID": "WELLI", + "EmployeeID": 4, + "OrderDate": "2024-03-09T00:00:00Z", + "RequiredDate": "2024-04-06T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 47.59, + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10936, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "2024-03-09T00:00:00Z", + "RequiredDate": "2024-04-06T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 33.68, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 10937, + "CustomerID": "CACTU", + "EmployeeID": 7, + "OrderDate": "2024-03-10T00:00:00Z", + "RequiredDate": "2024-03-24T00:00:00Z", + "ShippedDate": "2024-03-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 31.51, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10938, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "2024-03-10T00:00:00Z", + "RequiredDate": "2024-04-07T00:00:00Z", + "ShippedDate": "2024-03-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 31.89, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10939, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "2024-03-10T00:00:00Z", + "RequiredDate": "2024-04-07T00:00:00Z", + "ShippedDate": "2024-03-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 76.33, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10940, + "CustomerID": "BONAP", + "EmployeeID": 8, + "OrderDate": "2024-03-11T00:00:00Z", + "RequiredDate": "2024-04-08T00:00:00Z", + "ShippedDate": "2024-03-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 19.77, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 10941, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "2024-03-11T00:00:00Z", + "RequiredDate": "2024-04-08T00:00:00Z", + "ShippedDate": "2024-03-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 400.81, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10942, + "CustomerID": "REGGC", + "EmployeeID": 9, + "OrderDate": "2024-03-11T00:00:00Z", + "RequiredDate": "2024-04-08T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 17.95, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10943, + "CustomerID": "BSBEV", + "EmployeeID": 4, + "OrderDate": "2024-03-11T00:00:00Z", + "RequiredDate": "2024-04-08T00:00:00Z", + "ShippedDate": "2024-03-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.17, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10944, + "CustomerID": "BOTTM", + "EmployeeID": 6, + "OrderDate": "2024-03-12T00:00:00Z", + "RequiredDate": "2024-03-26T00:00:00Z", + "ShippedDate": "2024-03-13T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 52.92, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10945, + "CustomerID": "MORGK", + "EmployeeID": 4, + "OrderDate": "2024-03-12T00:00:00Z", + "RequiredDate": "2024-04-09T00:00:00Z", + "ShippedDate": "2024-03-18T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 10.22, + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, + { + "OrderID": 10946, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "2024-03-12T00:00:00Z", + "RequiredDate": "2024-04-09T00:00:00Z", + "ShippedDate": "2024-03-19T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 27.2, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10947, + "CustomerID": "BSBEV", + "EmployeeID": 3, + "OrderDate": "2024-03-13T00:00:00Z", + "RequiredDate": "2024-04-10T00:00:00Z", + "ShippedDate": "2024-03-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.26, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 10948, + "CustomerID": "GODOS", + "EmployeeID": 3, + "OrderDate": "2024-03-13T00:00:00Z", + "RequiredDate": "2024-04-10T00:00:00Z", + "ShippedDate": "2024-03-19T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 23.39, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 10949, + "CustomerID": "BOTTM", + "EmployeeID": 2, + "OrderDate": "2024-03-13T00:00:00Z", + "RequiredDate": "2024-04-10T00:00:00Z", + "ShippedDate": "2024-03-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 74.44, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10950, + "CustomerID": "MAGAA", + "EmployeeID": 1, + "OrderDate": "2024-03-16T00:00:00Z", + "RequiredDate": "2024-04-13T00:00:00Z", + "ShippedDate": "2024-03-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 2.5, + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, + { + "OrderID": 10951, + "CustomerID": "RICSU", + "EmployeeID": 9, + "OrderDate": "2024-03-16T00:00:00Z", + "RequiredDate": "2024-04-27T00:00:00Z", + "ShippedDate": "2024-04-07T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 30.85, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10952, + "CustomerID": "ALFKI", + "EmployeeID": 1, + "OrderDate": "2024-03-16T00:00:00Z", + "RequiredDate": "2024-04-27T00:00:00Z", + "ShippedDate": "2024-03-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 40.42, + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 10953, + "CustomerID": "AROUT", + "EmployeeID": 9, + "OrderDate": "2024-03-16T00:00:00Z", + "RequiredDate": "2024-03-30T00:00:00Z", + "ShippedDate": "2024-03-25T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 23.72, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 10954, + "CustomerID": "LINOD", + "EmployeeID": 5, + "OrderDate": "2024-03-17T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-03-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 27.91, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10955, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2024-03-17T00:00:00Z", + "RequiredDate": "2024-04-14T00:00:00Z", + "ShippedDate": "2024-03-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 3.26, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10956, + "CustomerID": "BLAUS", + "EmployeeID": 6, + "OrderDate": "2024-03-17T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-03-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 44.65, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 10957, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "2024-03-18T00:00:00Z", + "RequiredDate": "2024-04-15T00:00:00Z", + "ShippedDate": "2024-03-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 105.36, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10958, + "CustomerID": "OCEAN", + "EmployeeID": 7, + "OrderDate": "2024-03-18T00:00:00Z", + "RequiredDate": "2024-04-15T00:00:00Z", + "ShippedDate": "2024-03-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 49.56, + "ShipName": "Océano Atlántico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10959, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "2024-03-18T00:00:00Z", + "RequiredDate": "2024-04-29T00:00:00Z", + "ShippedDate": "2024-03-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.98, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10960, + "CustomerID": "HILAA", + "EmployeeID": 3, + "OrderDate": "2024-03-19T00:00:00Z", + "RequiredDate": "2024-04-02T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 2.08, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10961, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "2024-03-19T00:00:00Z", + "RequiredDate": "2024-04-16T00:00:00Z", + "ShippedDate": "2024-03-30T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 104.47, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10962, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "2024-03-19T00:00:00Z", + "RequiredDate": "2024-04-16T00:00:00Z", + "ShippedDate": "2024-03-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 275.79, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10963, + "CustomerID": "FURIB", + "EmployeeID": 9, + "OrderDate": "2024-03-19T00:00:00Z", + "RequiredDate": "2024-04-16T00:00:00Z", + "ShippedDate": "2024-03-26T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 2.7, + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, + { + "OrderID": 10964, + "CustomerID": "SPECD", + "EmployeeID": 3, + "OrderDate": "2024-03-20T00:00:00Z", + "RequiredDate": "2024-04-17T00:00:00Z", + "ShippedDate": "2024-03-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 87.38, + "ShipName": "Spécialités du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, + { + "OrderID": 10965, + "CustomerID": "OLDWO", + "EmployeeID": 6, + "OrderDate": "2024-03-20T00:00:00Z", + "RequiredDate": "2024-04-17T00:00:00Z", + "ShippedDate": "2024-03-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 144.38, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 10966, + "CustomerID": "CHOPS", + "EmployeeID": 4, + "OrderDate": "2024-03-20T00:00:00Z", + "RequiredDate": "2024-04-17T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 27.19, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 10967, + "CustomerID": "TOMSP", + "EmployeeID": 2, + "OrderDate": "2024-03-23T00:00:00Z", + "RequiredDate": "2024-04-20T00:00:00Z", + "ShippedDate": "2024-04-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 62.22, + "ShipName": "Toms Spezialitäten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "Münster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, + { + "OrderID": 10968, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "2024-03-23T00:00:00Z", + "RequiredDate": "2024-04-20T00:00:00Z", + "ShippedDate": "2024-04-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 74.6, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10969, + "CustomerID": "COMMI", + "EmployeeID": 1, + "OrderDate": "2024-03-23T00:00:00Z", + "RequiredDate": "2024-04-20T00:00:00Z", + "ShippedDate": "2024-03-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.21, + "ShipName": "Comércio Mineiro", + "ShipAddress": "Av. dos Lusíadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10970, + "CustomerID": "BOLID", + "EmployeeID": 9, + "OrderDate": "2024-03-24T00:00:00Z", + "RequiredDate": "2024-04-07T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 16.16, + "ShipName": "Bólido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, + { + "OrderID": 10971, + "CustomerID": "FRANR", + "EmployeeID": 2, + "OrderDate": "2024-03-24T00:00:00Z", + "RequiredDate": "2024-04-21T00:00:00Z", + "ShippedDate": "2024-04-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 121.82, + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, + { + "OrderID": 10972, + "CustomerID": "LACOR", + "EmployeeID": 4, + "OrderDate": "2024-03-24T00:00:00Z", + "RequiredDate": "2024-04-21T00:00:00Z", + "ShippedDate": "2024-03-26T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.02, + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, + { + "OrderID": 10973, + "CustomerID": "LACOR", + "EmployeeID": 6, + "OrderDate": "2024-03-24T00:00:00Z", + "RequiredDate": "2024-04-21T00:00:00Z", + "ShippedDate": "2024-03-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 15.17, + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, + { + "OrderID": 10974, + "CustomerID": "SPLIR", + "EmployeeID": 3, + "OrderDate": "2024-03-25T00:00:00Z", + "RequiredDate": "2024-04-08T00:00:00Z", + "ShippedDate": "2024-04-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 12.96, + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, + { + "OrderID": 10975, + "CustomerID": "BOTTM", + "EmployeeID": 1, + "OrderDate": "2024-03-25T00:00:00Z", + "RequiredDate": "2024-04-22T00:00:00Z", + "ShippedDate": "2024-03-27T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 32.27, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10976, + "CustomerID": "HILAA", + "EmployeeID": 1, + "OrderDate": "2024-03-25T00:00:00Z", + "RequiredDate": "2024-05-06T00:00:00Z", + "ShippedDate": "2024-04-03T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 37.97, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10977, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2024-03-26T00:00:00Z", + "RequiredDate": "2024-04-23T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 208.5, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10978, + "CustomerID": "MAISD", + "EmployeeID": 9, + "OrderDate": "2024-03-26T00:00:00Z", + "RequiredDate": "2024-04-23T00:00:00Z", + "ShippedDate": "2024-04-23T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 32.82, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 10979, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "2024-03-26T00:00:00Z", + "RequiredDate": "2024-04-23T00:00:00Z", + "ShippedDate": "2024-03-31T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 353.07, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10980, + "CustomerID": "FOLKO", + "EmployeeID": 4, + "OrderDate": "2024-03-27T00:00:00Z", + "RequiredDate": "2024-05-08T00:00:00Z", + "ShippedDate": "2024-04-17T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.26, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10981, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "2024-03-27T00:00:00Z", + "RequiredDate": "2024-04-24T00:00:00Z", + "ShippedDate": "2024-04-02T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 193.37, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10982, + "CustomerID": "BOTTM", + "EmployeeID": 2, + "OrderDate": "2024-03-27T00:00:00Z", + "RequiredDate": "2024-04-24T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 14.01, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 10983, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "2024-03-27T00:00:00Z", + "RequiredDate": "2024-04-24T00:00:00Z", + "ShippedDate": "2024-04-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 657.54, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10984, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2024-03-30T00:00:00Z", + "RequiredDate": "2024-04-27T00:00:00Z", + "ShippedDate": "2024-04-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 211.22, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 10985, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "2024-03-30T00:00:00Z", + "RequiredDate": "2024-04-27T00:00:00Z", + "ShippedDate": "2024-04-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 91.51, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 10986, + "CustomerID": "OCEAN", + "EmployeeID": 8, + "OrderDate": "2024-03-30T00:00:00Z", + "RequiredDate": "2024-04-27T00:00:00Z", + "ShippedDate": "2024-04-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 217.86, + "ShipName": "Océano Atlántico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 10987, + "CustomerID": "EASTC", + "EmployeeID": 8, + "OrderDate": "2024-03-31T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-04-06T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 185.48, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 10988, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "2024-03-31T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 61.14, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 10989, + "CustomerID": "QUEDE", + "EmployeeID": 2, + "OrderDate": "2024-03-31T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-04-02T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 34.76, + "ShipName": "Que Delícia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, + { + "OrderID": 10990, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "2024-04-01T00:00:00Z", + "RequiredDate": "2024-05-13T00:00:00Z", + "ShippedDate": "2024-04-07T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 117.61, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 10991, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "2024-04-01T00:00:00Z", + "RequiredDate": "2024-04-29T00:00:00Z", + "ShippedDate": "2024-04-07T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 38.51, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10992, + "CustomerID": "THEBI", + "EmployeeID": 1, + "OrderDate": "2024-04-01T00:00:00Z", + "RequiredDate": "2024-04-29T00:00:00Z", + "ShippedDate": "2024-04-03T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.27, + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, + { + "OrderID": 10993, + "CustomerID": "FOLKO", + "EmployeeID": 7, + "OrderDate": "2024-04-01T00:00:00Z", + "RequiredDate": "2024-04-29T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 8.81, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 10994, + "CustomerID": "VAFFE", + "EmployeeID": 2, + "OrderDate": "2024-04-02T00:00:00Z", + "RequiredDate": "2024-04-16T00:00:00Z", + "ShippedDate": "2024-04-09T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 65.53, + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "Århus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, + { + "OrderID": 10995, + "CustomerID": "PERIC", + "EmployeeID": 1, + "OrderDate": "2024-04-02T00:00:00Z", + "RequiredDate": "2024-04-30T00:00:00Z", + "ShippedDate": "2024-04-06T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 46, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 10996, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "2024-04-02T00:00:00Z", + "RequiredDate": "2024-04-30T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 1.12, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 10997, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "2024-04-03T00:00:00Z", + "RequiredDate": "2024-05-15T00:00:00Z", + "ShippedDate": "2024-04-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 73.91, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 10998, + "CustomerID": "WOLZA", + "EmployeeID": 8, + "OrderDate": "2024-04-03T00:00:00Z", + "RequiredDate": "2024-04-17T00:00:00Z", + "ShippedDate": "2024-04-17T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 20.31, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 10999, + "CustomerID": "OTTIK", + "EmployeeID": 6, + "OrderDate": "2024-04-03T00:00:00Z", + "RequiredDate": "2024-05-01T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 96.35, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 11000, + "CustomerID": "RATTC", + "EmployeeID": 2, + "OrderDate": "2024-04-06T00:00:00Z", + "RequiredDate": "2024-05-04T00:00:00Z", + "ShippedDate": "2024-04-14T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 55.12, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, + { + "OrderID": 11001, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "2024-04-06T00:00:00Z", + "RequiredDate": "2024-05-04T00:00:00Z", + "ShippedDate": "2024-04-14T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 197.3, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 11002, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "2024-04-06T00:00:00Z", + "RequiredDate": "2024-05-04T00:00:00Z", + "ShippedDate": "2024-04-16T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 141.16, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 11003, + "CustomerID": "THECR", + "EmployeeID": 3, + "OrderDate": "2024-04-06T00:00:00Z", + "RequiredDate": "2024-05-04T00:00:00Z", + "ShippedDate": "2024-04-08T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 14.91, + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, + { + "OrderID": 11004, + "CustomerID": "MAISD", + "EmployeeID": 3, + "OrderDate": "2024-04-07T00:00:00Z", + "RequiredDate": "2024-05-05T00:00:00Z", + "ShippedDate": "2024-04-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 44.84, + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, + { + "OrderID": 11005, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "2024-04-07T00:00:00Z", + "RequiredDate": "2024-05-05T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.75, + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, + { + "OrderID": 11006, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "2024-04-07T00:00:00Z", + "RequiredDate": "2024-05-05T00:00:00Z", + "ShippedDate": "2024-04-15T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 25.19, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 11007, + "CustomerID": "PRINI", + "EmployeeID": 8, + "OrderDate": "2024-04-08T00:00:00Z", + "RequiredDate": "2024-05-06T00:00:00Z", + "ShippedDate": "2024-04-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 202.24, + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da saúde n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, + { + "OrderID": 11008, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "2024-04-08T00:00:00Z", + "RequiredDate": "2024-05-06T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 79.46, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 11009, + "CustomerID": "GODOS", + "EmployeeID": 2, + "OrderDate": "2024-04-08T00:00:00Z", + "RequiredDate": "2024-05-06T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 59.11, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 11010, + "CustomerID": "REGGC", + "EmployeeID": 2, + "OrderDate": "2024-04-09T00:00:00Z", + "RequiredDate": "2024-05-07T00:00:00Z", + "ShippedDate": "2024-04-21T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 28.71, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 11011, + "CustomerID": "ALFKI", + "EmployeeID": 3, + "OrderDate": "2024-04-09T00:00:00Z", + "RequiredDate": "2024-05-07T00:00:00Z", + "ShippedDate": "2024-04-13T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 1.21, + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, + { + "OrderID": 11012, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "2024-04-09T00:00:00Z", + "RequiredDate": "2024-04-23T00:00:00Z", + "ShippedDate": "2024-04-17T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 242.95, + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "München", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, + { + "OrderID": 11013, + "CustomerID": "ROMEY", + "EmployeeID": 2, + "OrderDate": "2024-04-09T00:00:00Z", + "RequiredDate": "2024-05-07T00:00:00Z", + "ShippedDate": "2024-04-10T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 32.99, + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran Vía, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, + { + "OrderID": 11014, + "CustomerID": "LINOD", + "EmployeeID": 2, + "OrderDate": "2024-04-10T00:00:00Z", + "RequiredDate": "2024-05-08T00:00:00Z", + "ShippedDate": "2024-04-15T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 23.6, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 11015, + "CustomerID": "SANTG", + "EmployeeID": 2, + "OrderDate": "2024-04-10T00:00:00Z", + "RequiredDate": "2024-04-24T00:00:00Z", + "ShippedDate": "2024-04-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 4.62, + "ShipName": "Santé Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, + { + "OrderID": 11016, + "CustomerID": "AROUT", + "EmployeeID": 9, + "OrderDate": "2024-04-10T00:00:00Z", + "RequiredDate": "2024-05-08T00:00:00Z", + "ShippedDate": "2024-04-13T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 33.8, + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, + { + "OrderID": 11017, + "CustomerID": "ERNSH", + "EmployeeID": 9, + "OrderDate": "2024-04-13T00:00:00Z", + "RequiredDate": "2024-05-11T00:00:00Z", + "ShippedDate": "2024-04-20T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 754.26, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 11018, + "CustomerID": "LONEP", + "EmployeeID": 4, + "OrderDate": "2024-04-13T00:00:00Z", + "RequiredDate": "2024-05-11T00:00:00Z", + "ShippedDate": "2024-04-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 11.65, + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, + { + "OrderID": 11019, + "CustomerID": "RANCH", + "EmployeeID": 6, + "OrderDate": "2024-04-13T00:00:00Z", + "RequiredDate": "2024-05-11T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 3.17, + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 11020, + "CustomerID": "OTTIK", + "EmployeeID": 2, + "OrderDate": "2024-04-14T00:00:00Z", + "RequiredDate": "2024-05-12T00:00:00Z", + "ShippedDate": "2024-04-16T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 43.3, + "ShipName": "Ottilies Käseladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "Köln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, + { + "OrderID": 11021, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "2024-04-14T00:00:00Z", + "RequiredDate": "2024-05-12T00:00:00Z", + "ShippedDate": "2024-04-21T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 297.18, + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstraße 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, + { + "OrderID": 11022, + "CustomerID": "HANAR", + "EmployeeID": 9, + "OrderDate": "2024-04-14T00:00:00Z", + "RequiredDate": "2024-05-12T00:00:00Z", + "ShippedDate": "2024-05-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 6.27, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11023, + "CustomerID": "BSBEV", + "EmployeeID": 1, + "OrderDate": "2024-04-14T00:00:00Z", + "RequiredDate": "2024-04-28T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 123.83, + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, + { + "OrderID": 11024, + "CustomerID": "EASTC", + "EmployeeID": 4, + "OrderDate": "2024-04-15T00:00:00Z", + "RequiredDate": "2024-05-13T00:00:00Z", + "ShippedDate": "2024-04-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 74.36, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 11025, + "CustomerID": "WARTH", + "EmployeeID": 6, + "OrderDate": "2024-04-15T00:00:00Z", + "RequiredDate": "2024-05-13T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 29.17, + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, + { + "OrderID": 11026, + "CustomerID": "FRANS", + "EmployeeID": 4, + "OrderDate": "2024-04-15T00:00:00Z", + "RequiredDate": "2024-05-13T00:00:00Z", + "ShippedDate": "2024-04-28T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 47.09, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 11027, + "CustomerID": "BOTTM", + "EmployeeID": 1, + "OrderDate": "2024-04-16T00:00:00Z", + "RequiredDate": "2024-05-14T00:00:00Z", + "ShippedDate": "2024-04-20T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 52.52, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 11028, + "CustomerID": "KOENE", + "EmployeeID": 2, + "OrderDate": "2024-04-16T00:00:00Z", + "RequiredDate": "2024-05-14T00:00:00Z", + "ShippedDate": "2024-04-22T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 29.59, + "ShipName": "Königlich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, + { + "OrderID": 11029, + "CustomerID": "CHOPS", + "EmployeeID": 4, + "OrderDate": "2024-04-16T00:00:00Z", + "RequiredDate": "2024-05-14T00:00:00Z", + "ShippedDate": "2024-04-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 47.84, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 11030, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "2024-04-17T00:00:00Z", + "RequiredDate": "2024-05-15T00:00:00Z", + "ShippedDate": "2024-04-27T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 830.75, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 11031, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "2024-04-17T00:00:00Z", + "RequiredDate": "2024-05-15T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 227.22, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 11032, + "CustomerID": "WHITC", + "EmployeeID": 2, + "OrderDate": "2024-04-17T00:00:00Z", + "RequiredDate": "2024-05-15T00:00:00Z", + "ShippedDate": "2024-04-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 606.19, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 11033, + "CustomerID": "RICSU", + "EmployeeID": 7, + "OrderDate": "2024-04-17T00:00:00Z", + "RequiredDate": "2024-05-15T00:00:00Z", + "ShippedDate": "2024-04-23T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 84.74, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 11034, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "2024-04-20T00:00:00Z", + "RequiredDate": "2024-06-01T00:00:00Z", + "ShippedDate": "2024-04-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 40.32, + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, + { + "OrderID": 11035, + "CustomerID": "SUPRD", + "EmployeeID": 2, + "OrderDate": "2024-04-20T00:00:00Z", + "RequiredDate": "2024-05-18T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 0.17, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 11036, + "CustomerID": "DRACD", + "EmployeeID": 8, + "OrderDate": "2024-04-20T00:00:00Z", + "RequiredDate": "2024-05-18T00:00:00Z", + "ShippedDate": "2024-04-22T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 149.47, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 11037, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "2024-04-21T00:00:00Z", + "RequiredDate": "2024-05-19T00:00:00Z", + "ShippedDate": "2024-04-27T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 3.2, + "ShipName": "Godos Cocina Típica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, + { + "OrderID": 11038, + "CustomerID": "SUPRD", + "EmployeeID": 1, + "OrderDate": "2024-04-21T00:00:00Z", + "RequiredDate": "2024-05-19T00:00:00Z", + "ShippedDate": "2024-04-30T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 29.59, + "ShipName": "Suprêmes délices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, + { + "OrderID": 11039, + "CustomerID": "LINOD", + "EmployeeID": 1, + "OrderDate": "2024-04-21T00:00:00Z", + "RequiredDate": "2024-05-19T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 65, + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 11040, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "2024-04-22T00:00:00Z", + "RequiredDate": "2024-05-20T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 18.84, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 11041, + "CustomerID": "CHOPS", + "EmployeeID": 3, + "OrderDate": "2024-04-22T00:00:00Z", + "RequiredDate": "2024-05-20T00:00:00Z", + "ShippedDate": "2024-04-28T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 48.22, + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 11042, + "CustomerID": "COMMI", + "EmployeeID": 2, + "OrderDate": "2024-04-22T00:00:00Z", + "RequiredDate": "2024-05-06T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 29.99, + "ShipName": "Comércio Mineiro", + "ShipAddress": "Av. dos Lusíadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11043, + "CustomerID": "SPECD", + "EmployeeID": 5, + "OrderDate": "2024-04-22T00:00:00Z", + "RequiredDate": "2024-05-20T00:00:00Z", + "ShippedDate": "2024-04-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.8, + "ShipName": "Spécialités du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, + { + "OrderID": 11044, + "CustomerID": "WOLZA", + "EmployeeID": 4, + "OrderDate": "2024-04-23T00:00:00Z", + "RequiredDate": "2024-05-21T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.72, + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, + { + "OrderID": 11045, + "CustomerID": "BOTTM", + "EmployeeID": 6, + "OrderDate": "2024-04-23T00:00:00Z", + "RequiredDate": "2024-05-21T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 70.58, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 11046, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "2024-04-23T00:00:00Z", + "RequiredDate": "2024-05-21T00:00:00Z", + "ShippedDate": "2024-04-24T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 71.64, + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, + { + "OrderID": 11047, + "CustomerID": "EASTC", + "EmployeeID": 7, + "OrderDate": "2024-04-24T00:00:00Z", + "RequiredDate": "2024-05-22T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 46.62, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 11048, + "CustomerID": "BOTTM", + "EmployeeID": 7, + "OrderDate": "2024-04-24T00:00:00Z", + "RequiredDate": "2024-05-22T00:00:00Z", + "ShippedDate": "2024-04-30T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 24.12, + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, + { + "OrderID": 11049, + "CustomerID": "GOURL", + "EmployeeID": 3, + "OrderDate": "2024-04-24T00:00:00Z", + "RequiredDate": "2024-05-22T00:00:00Z", + "ShippedDate": "2024-05-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 8.34, + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11050, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "2024-04-27T00:00:00Z", + "RequiredDate": "2024-05-25T00:00:00Z", + "ShippedDate": "2024-05-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 59.41, + "ShipName": "Folk och fä HB", + "ShipAddress": "Åkergatan 24", + "ShipCity": "Bräcke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, + { + "OrderID": 11051, + "CustomerID": "LAMAI", + "EmployeeID": 7, + "OrderDate": "2024-04-27T00:00:00Z", + "RequiredDate": "2024-05-25T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 2.79, + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, + { + "OrderID": 11052, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "2024-04-27T00:00:00Z", + "RequiredDate": "2024-05-25T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 67.26, + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Paço, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11053, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "2024-04-27T00:00:00Z", + "RequiredDate": "2024-05-25T00:00:00Z", + "ShippedDate": "2024-04-29T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 53.05, + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, + { + "OrderID": 11054, + "CustomerID": "CACTU", + "EmployeeID": 8, + "OrderDate": "2024-04-28T00:00:00Z", + "RequiredDate": "2024-05-26T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.33, + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, + { + "OrderID": 11055, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "2024-04-28T00:00:00Z", + "RequiredDate": "2024-05-26T00:00:00Z", + "ShippedDate": "2024-05-05T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 120.92, + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Cristóbal", + "ShipRegion": "Táchira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 11056, + "CustomerID": "EASTC", + "EmployeeID": 8, + "OrderDate": "2024-04-28T00:00:00Z", + "RequiredDate": "2024-05-12T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 278.96, + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, + { + "OrderID": 11057, + "CustomerID": "NORTS", + "EmployeeID": 3, + "OrderDate": "2024-04-29T00:00:00Z", + "RequiredDate": "2024-05-27T00:00:00Z", + "ShippedDate": "2024-05-01T00:00:00Z", + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 4.13, + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, + { + "OrderID": 11058, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "2024-04-29T00:00:00Z", + "RequiredDate": "2024-05-27T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 31.14, + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, + { + "OrderID": 11059, + "CustomerID": "RICAR", + "EmployeeID": 2, + "OrderDate": "2024-04-29T00:00:00Z", + "RequiredDate": "2024-06-10T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 85.8, + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11060, + "CustomerID": "FRANS", + "EmployeeID": 2, + "OrderDate": "2024-04-30T00:00:00Z", + "RequiredDate": "2024-05-28T00:00:00Z", + "ShippedDate": "2024-05-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 10.98, + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, + { + "OrderID": 11061, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "2024-04-30T00:00:00Z", + "RequiredDate": "2024-06-11T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Federal Shipping", + "ShipperPhone": "(503) 555-8844", + "Freight": 14.01, + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, + { + "OrderID": 11062, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "2024-04-30T00:00:00Z", + "RequiredDate": "2024-05-28T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 29.93, + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, + { + "OrderID": 11063, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "2024-04-30T00:00:00Z", + "RequiredDate": "2024-05-28T00:00:00Z", + "ShippedDate": "2024-05-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 81.73, + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, + { + "OrderID": 11064, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "2024-05-01T00:00:00Z", + "RequiredDate": "2024-05-29T00:00:00Z", + "ShippedDate": "2024-05-04T00:00:00Z", + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 30.09, + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, + { + "OrderID": 11065, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "2024-05-01T00:00:00Z", + "RequiredDate": "2024-05-29T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 12.91, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 11066, + "CustomerID": "WHITC", + "EmployeeID": 7, + "OrderDate": "2024-05-01T00:00:00Z", + "RequiredDate": "2024-05-29T00:00:00Z", + "ShippedDate": "2024-05-04T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 44.72, + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, + { + "OrderID": 11067, + "CustomerID": "DRACD", + "EmployeeID": 1, + "OrderDate": "2024-05-04T00:00:00Z", + "RequiredDate": "2024-05-18T00:00:00Z", + "ShippedDate": "2024-05-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 7.98, + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, + { + "OrderID": 11068, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "2024-05-04T00:00:00Z", + "RequiredDate": "2024-06-01T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 81.75, + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Canàrios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, + { + "OrderID": 11069, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "2024-05-04T00:00:00Z", + "RequiredDate": "2024-06-01T00:00:00Z", + "ShippedDate": "2024-05-06T00:00:00Z", + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 15.67, + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 11070, + "CustomerID": "LEHMS", + "EmployeeID": 2, + "OrderDate": "2024-05-05T00:00:00Z", + "RequiredDate": "2024-06-02T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 136, + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, + { + "OrderID": 11071, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "2024-05-05T00:00:00Z", + "RequiredDate": "2024-06-02T00:00:00Z", + "ShippedDate": null, + "ShipVia": "Speedy Express", + "ShipperPhone": "(503) 555-9831", + "Freight": 0.93, + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bolívar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, + { + "OrderID": 11072, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "2024-05-05T00:00:00Z", + "RequiredDate": "2024-06-02T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 258.64, + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, + { + "OrderID": 11073, + "CustomerID": "PERIC", + "EmployeeID": 2, + "OrderDate": "2024-05-05T00:00:00Z", + "RequiredDate": "2024-06-02T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 24.95, + "ShipName": "Pericles Comidas clásicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "México D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, + { + "OrderID": 11074, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "2024-05-06T00:00:00Z", + "RequiredDate": "2024-06-03T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 18.44, + "ShipName": "Simons bistro", + "ShipAddress": "Vinbæltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, + { + "OrderID": 11075, + "CustomerID": "RICSU", + "EmployeeID": 8, + "OrderDate": "2024-05-06T00:00:00Z", + "RequiredDate": "2024-06-03T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 6.19, + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Genève", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, + { + "OrderID": 11076, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "2024-05-06T00:00:00Z", + "RequiredDate": "2024-06-03T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 38.28, + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, + { + "OrderID": 11077, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "2024-05-06T00:00:00Z", + "RequiredDate": "2024-06-03T00:00:00Z", + "ShippedDate": null, + "ShipVia": "United Package", + "ShipperPhone": "(503) 555-3199", + "Freight": 8.53, + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Products.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Products.json new file mode 100644 index 0000000..48a0ad9 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Products.json @@ -0,0 +1,927 @@ +[ + { + "ProductID": 1, + "ProductName": "Chai", + "ImageUrl": "https://picsum.photos/id/431/200/300", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "10 boxes x 20 bags", + "UnitPrice": 18, + "UnitsInStock": 350, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 2, + "ProductName": "Protein Shake", + "SupplierID": 1, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 19, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 3, + "ProductName": "Aniseed Syrup", + "SupplierID": 1, + "CategoryID": 2, + "QuantityPerUnit": "12 - 550 ml bottles", + "UnitPrice": 10, + "UnitsInStock": 13, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 4, + "ProductName": "Chef Anton's Cajun Seasoning", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "48 - 6 oz jars", + "UnitPrice": 22, + "UnitsInStock": 53, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 5, + "ProductName": "Chef Anton's Gumbo Mix", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "36 boxes", + "UnitPrice": 21.35, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 6, + "ProductName": "Grandma's Boysenberry Spread", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 8 oz jars", + "UnitPrice": 25, + "UnitsInStock": 120, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 7, + "ProductName": "Uncle Bob's Organic Dried Pears", + "SupplierID": 3, + "CategoryID": 7, + "QuantityPerUnit": "12 - 1 lb pkgs.", + "UnitPrice": 30, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 8, + "ProductName": "Northwoods Cranberry Sauce", + "SupplierID": 3, + "CategoryID": 2, + "QuantityPerUnit": "12 - 12 oz jars", + "UnitPrice": 40, + "UnitsInStock": 6, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 9, + "ProductName": "Mishi Kobe Niku", + "SupplierID": 4, + "CategoryID": 6, + "QuantityPerUnit": "18 - 500 g pkgs.", + "UnitPrice": 97, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 10, + "ProductName": "Ikura", + "SupplierID": 4, + "CategoryID": 8, + "QuantityPerUnit": "12 - 200 ml jars", + "UnitPrice": 31, + "UnitsInStock": 31, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 11, + "ProductName": "Queso Cabrales", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "1 kg pkg.", + "UnitPrice": 21, + "UnitsInStock": 52, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 12, + "ProductName": "Queso Manchego La Pastora", + "SupplierID": 5, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 38, + "UnitsInStock": 86, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 13, + "ProductName": "Konbu", + "SupplierID": 6, + "CategoryID": 8, + "QuantityPerUnit": "2 kg box", + "UnitPrice": 6, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 14, + "ProductName": "Tofu", + "SupplierID": 6, + "CategoryID": 7, + "QuantityPerUnit": "40 - 100 g pkgs.", + "UnitPrice": 23.25, + "UnitsInStock": 35, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 15, + "ProductName": "Genen Shouyu", + "SupplierID": 6, + "CategoryID": 2, + "QuantityPerUnit": "24 - 250 ml bottles", + "UnitPrice": 15.5, + "UnitsInStock": 39, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 16, + "ProductName": "Pavlova", + "SupplierID": 7, + "CategoryID": 3, + "QuantityPerUnit": "32 - 500 g boxes", + "UnitPrice": 17.45, + "UnitsInStock": 29, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 17, + "ProductName": "Alice Mutton", + "SupplierID": 7, + "CategoryID": 6, + "QuantityPerUnit": "20 - 1 kg tins", + "UnitPrice": 39, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 18, + "ProductName": "Carnarvon Tigers", + "SupplierID": 7, + "CategoryID": 8, + "QuantityPerUnit": "16 kg pkg.", + "UnitPrice": 62.5, + "UnitsInStock": 42, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 19, + "ProductName": "Teatime Chocolate Biscuits", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 12 pieces", + "UnitPrice": 9.2, + "UnitsInStock": 25, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 20, + "ProductName": "Sir Rodney's Marmalade", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "30 gift boxes", + "UnitPrice": 81, + "UnitsInStock": 40, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 21, + "ProductName": "Sir Rodney's Scones", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "24 pkgs. x 4 pieces", + "UnitPrice": 10, + "UnitsInStock": 3, + "UnitsOnOrder": 40, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 22, + "ProductName": "Gustaf's Knäckebröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "24 - 500 g pkgs.", + "UnitPrice": 21, + "UnitsInStock": 104, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 23, + "ProductName": "Tunnbröd", + "SupplierID": 9, + "CategoryID": 5, + "QuantityPerUnit": "12 - 250 g pkgs.", + "UnitPrice": 9, + "UnitsInStock": 61, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 24, + "ProductName": "Guaraná Fantástica", + "SupplierID": 10, + "CategoryID": 1, + "QuantityPerUnit": "12 - 355 ml cans", + "UnitPrice": 4.5, + "UnitsInStock": 200, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 25, + "ProductName": "NuNuCa Nuß-Nougat-Creme", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "20 - 450 g glasses", + "UnitPrice": 14, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 26, + "ProductName": "Gumbär Gummibärchen", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 250 g bags", + "UnitPrice": 31.23, + "UnitsInStock": 15, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 27, + "ProductName": "Schoggi Schokolade", + "SupplierID": 11, + "CategoryID": 3, + "QuantityPerUnit": "100 - 100 g pieces", + "UnitPrice": 43.9, + "UnitsInStock": 49, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 28, + "ProductName": "Rössle Sauerkraut", + "SupplierID": 12, + "CategoryID": 7, + "QuantityPerUnit": "25 - 825 g cans", + "UnitPrice": 45.6, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 29, + "ProductName": "Thuringer Rostbratwurst", + "SupplierID": 12, + "CategoryID": 6, + "QuantityPerUnit": "50 bags x 30 sausgs.", + "UnitPrice": 123.79, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 30, + "ProductName": "Nord-Ost Matjeshering", + "SupplierID": 13, + "CategoryID": 8, + "QuantityPerUnit": "10 - 200 g glasses", + "UnitPrice": 25.89, + "UnitsInStock": 10, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 31, + "ProductName": "Gorgonzola Telino", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "12 - 100 g pkgs", + "UnitPrice": 12.5, + "UnitsInStock": 0, + "UnitsOnOrder": 70, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 32, + "ProductName": "Mascarpone Fabioli", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 32, + "UnitsInStock": 9, + "UnitsOnOrder": 40, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 33, + "ProductName": "Geitost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "500 g", + "UnitPrice": 2.5, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 34, + "ProductName": "Sasquatch Ale", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14, + "UnitsInStock": 111, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 35, + "ProductName": "Steeleye Stout", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 18, + "UnitsInStock": 183, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 36, + "ProductName": "Inlagd Sill", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 250 g jars", + "UnitPrice": 19, + "UnitsInStock": 112, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 37, + "ProductName": "Gravad lax", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "12 - 500 g pkgs.", + "UnitPrice": 26, + "UnitsInStock": 11, + "UnitsOnOrder": 50, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 38, + "ProductName": "Cote de Blaye", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "12 - 75 cl bottles", + "UnitPrice": 263.5, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 39, + "ProductName": "Chartreuse verte", + "SupplierID": 18, + "CategoryID": 1, + "QuantityPerUnit": "750 cc per bottle", + "UnitPrice": 18, + "UnitsInStock": 69, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 40, + "ProductName": "Boston Crab Meat", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "24 - 4 oz tins", + "UnitPrice": 18.4, + "UnitsInStock": 123, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 41, + "ProductName": "Jack's New England Clam Chowder", + "SupplierID": 19, + "CategoryID": 8, + "QuantityPerUnit": "12 - 12 oz cans", + "UnitPrice": 9.65, + "UnitsInStock": 85, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 42, + "ProductName": "Singaporean Hokkien Fried Mee", + "SupplierID": 20, + "CategoryID": 5, + "QuantityPerUnit": "32 - 1 kg pkgs.", + "UnitPrice": 14, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 43, + "ProductName": "Ipoh Coffee", + "SupplierID": 20, + "CategoryID": 1, + "QuantityPerUnit": "16 - 500 g tins", + "UnitPrice": 46, + "UnitsInStock": 17, + "UnitsOnOrder": 10, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 44, + "ProductName": "Gula Malacca", + "SupplierID": 20, + "CategoryID": 2, + "QuantityPerUnit": "20 - 2 kg bags", + "UnitPrice": 19.45, + "UnitsInStock": 27, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 45, + "ProductName": "Rogede sild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "1k pkg.", + "UnitPrice": 9.5, + "UnitsInStock": 5, + "UnitsOnOrder": 70, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 46, + "ProductName": "Spegesild", + "SupplierID": 21, + "CategoryID": 8, + "QuantityPerUnit": "4 - 450 g glasses", + "UnitPrice": 12, + "UnitsInStock": 95, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 47, + "ProductName": "Zaanse koeken", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 - 4 oz boxes", + "UnitPrice": 9.5, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 48, + "ProductName": "Chocolade", + "SupplierID": 22, + "CategoryID": 3, + "QuantityPerUnit": "10 pkgs.", + "UnitPrice": 12.75, + "UnitsInStock": 15, + "UnitsOnOrder": 70, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 49, + "ProductName": "Maxilaku", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "24 - 50 g pkgs.", + "UnitPrice": 20, + "UnitsInStock": 10, + "UnitsOnOrder": 60, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 50, + "ProductName": "Valkoinen suklaa", + "SupplierID": 23, + "CategoryID": 3, + "QuantityPerUnit": "12 - 100 g bars", + "UnitPrice": 16.25, + "UnitsInStock": 65, + "UnitsOnOrder": 0, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 51, + "ProductName": "Manjimup Dried Apples", + "SupplierID": 24, + "CategoryID": 7, + "QuantityPerUnit": "50 - 300 g pkgs.", + "UnitPrice": 53, + "UnitsInStock": 20, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 52, + "ProductName": "Filo Mix", + "SupplierID": 24, + "CategoryID": 5, + "QuantityPerUnit": "16 - 2 kg boxes", + "UnitPrice": 7, + "UnitsInStock": 38, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 53, + "ProductName": "Perth Pasties", + "SupplierID": 24, + "CategoryID": 6, + "QuantityPerUnit": "48 pieces", + "UnitPrice": 32.8, + "UnitsInStock": 0, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": true + }, + { + "ProductID": 54, + "ProductName": "Tourtière", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "16 pies", + "UnitPrice": 7.45, + "UnitsInStock": 21, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 55, + "ProductName": "Pâté chinois", + "SupplierID": 25, + "CategoryID": 6, + "QuantityPerUnit": "24 boxes x 2 pies", + "UnitPrice": 24, + "UnitsInStock": 115, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 56, + "ProductName": "Gnocchi di nonna Alice", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 38, + "UnitsInStock": 21, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 57, + "ProductName": "Ravioli Angelo", + "SupplierID": 26, + "CategoryID": 5, + "QuantityPerUnit": "24 - 250 g pkgs.", + "UnitPrice": 19.5, + "UnitsInStock": 36, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 58, + "ProductName": "Escargots de Bourgogne", + "SupplierID": 27, + "CategoryID": 8, + "QuantityPerUnit": "24 pieces", + "UnitPrice": 13.25, + "UnitsInStock": 62, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 59, + "ProductName": "Raclette Courdavault", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 55, + "UnitsInStock": 79, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 60, + "ProductName": "Camembert Pierrot", + "SupplierID": 28, + "CategoryID": 4, + "QuantityPerUnit": "15 - 300 g rounds", + "UnitPrice": 34, + "UnitsInStock": 19, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 61, + "ProductName": "Sirop d'érable", + "SupplierID": 29, + "CategoryID": 2, + "QuantityPerUnit": "24 - 500 ml bottles", + "UnitPrice": 28.5, + "UnitsInStock": 113, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 62, + "ProductName": "Tarte au sucre", + "SupplierID": 29, + "CategoryID": 3, + "QuantityPerUnit": "48 pies", + "UnitPrice": 49.3, + "UnitsInStock": 17, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 63, + "ProductName": "Vegie-spread", + "SupplierID": 7, + "CategoryID": 2, + "QuantityPerUnit": "15 - 625 g jars", + "UnitPrice": 43.9, + "UnitsInStock": 24, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 64, + "ProductName": "Wimmers gute Semmelknödel", + "SupplierID": 12, + "CategoryID": 5, + "QuantityPerUnit": "20 bags x 4 pieces", + "UnitPrice": 33.25, + "UnitsInStock": 22, + "UnitsOnOrder": 80, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 65, + "ProductName": "Louisiana Fiery Hot Pepper Sauce", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "32 - 8 oz bottles", + "UnitPrice": 21.05, + "UnitsInStock": 76, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 66, + "ProductName": "Louisiana Hot Spiced Okra", + "SupplierID": 2, + "CategoryID": 2, + "QuantityPerUnit": "24 - 8 oz jars", + "UnitPrice": 17, + "UnitsInStock": 4, + "UnitsOnOrder": 100, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 67, + "ProductName": "Laughing Lumberjack Lager", + "SupplierID": 16, + "CategoryID": 1, + "QuantityPerUnit": "24 - 12 oz bottles", + "UnitPrice": 14, + "UnitsInStock": 52, + "UnitsOnOrder": 0, + "ReorderLevel": 10, + "Discontinued": false + }, + { + "ProductID": 68, + "ProductName": "Scottish Longbreads", + "SupplierID": 8, + "CategoryID": 3, + "QuantityPerUnit": "10 boxes x 8 pieces", + "UnitPrice": 12.5, + "UnitsInStock": 6, + "UnitsOnOrder": 10, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 69, + "ProductName": "Gudbrandsdalsost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 kg pkg.", + "UnitPrice": 36, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + }, + { + "ProductID": 70, + "ProductName": "Outback Lager", + "SupplierID": 7, + "CategoryID": 1, + "QuantityPerUnit": "24 - 355 ml bottles", + "UnitPrice": 15, + "UnitsInStock": 15, + "UnitsOnOrder": 10, + "ReorderLevel": 30, + "Discontinued": false + }, + { + "ProductID": 71, + "ProductName": "Flotemysost", + "SupplierID": 15, + "CategoryID": 4, + "QuantityPerUnit": "10 - 500 g pkgs.", + "UnitPrice": 21.5, + "UnitsInStock": 26, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 72, + "ProductName": "Mozzarella di Giovanni", + "SupplierID": 14, + "CategoryID": 4, + "QuantityPerUnit": "24 - 200 g pkgs.", + "UnitPrice": 34.8, + "UnitsInStock": 14, + "UnitsOnOrder": 35, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 73, + "ProductName": "Röd Kaviar", + "SupplierID": 17, + "CategoryID": 8, + "QuantityPerUnit": "24 - 150 g jars", + "UnitPrice": 15, + "UnitsInStock": 101, + "UnitsOnOrder": 0, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 74, + "ProductName": "Longlife Tofu", + "SupplierID": 4, + "CategoryID": 7, + "QuantityPerUnit": "5 kg pkg.", + "UnitPrice": 10, + "UnitsInStock": 4, + "UnitsOnOrder": 20, + "ReorderLevel": 5, + "Discontinued": false + }, + { + "ProductID": 75, + "ProductName": "Rhönbräu Klosterbier", + "SupplierID": 12, + "CategoryID": 1, + "QuantityPerUnit": "24 - 0.5 l bottles", + "UnitPrice": 7.75, + "UnitsInStock": 27, + "UnitsOnOrder": 0, + "ReorderLevel": 25, + "Discontinued": false + }, + { + "ProductID": 76, + "ProductName": "Lakkalikööri", + "SupplierID": 23, + "CategoryID": 1, + "QuantityPerUnit": "500 ml", + "UnitPrice": 18, + "UnitsInStock": 57, + "UnitsOnOrder": 0, + "ReorderLevel": 20, + "Discontinued": false + }, + { + "ProductID": 77, + "ProductName": "Original Frankfurter grüne Soße", + "SupplierID": 12, + "CategoryID": 2, + "QuantityPerUnit": "12 boxes", + "UnitPrice": 13, + "UnitsInStock": 32, + "UnitsOnOrder": 0, + "ReorderLevel": 15, + "Discontinued": false + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/DbSetup/db/Suppliers.json b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Suppliers.json new file mode 100644 index 0000000..4d488b9 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/DbSetup/db/Suppliers.json @@ -0,0 +1,408 @@ +[ + { + "SupplierID": 1, + "CompanyName": "Contoso Beverage Company", + "ContactName": "Charlotte Cooper", + "ContactTitle": "Purchasing Manager", + "Address": "49 Gilbert St.", + "City": "London", + "Region": null, + "PostalCode": "EC1 4SD", + "Country": "UK", + "Phone": "(171) 555-2222", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 2, + "CompanyName": "New Orleans Cajun Delights", + "ContactName": "Shelley Burke", + "ContactTitle": "Order Administrator", + "Address": "P.O. Box 78934", + "City": "New Orleans", + "Region": "LA", + "PostalCode": "70117", + "Country": "USA", + "Phone": "(100) 555-4822", + "Fax": null, + "HomePage": "#CAJUN.HTM#" + }, + { + "SupplierID": 3, + "CompanyName": "Grandma Kelly's Homestead", + "ContactName": "Regina Murphy", + "ContactTitle": "Sales Representative", + "Address": "707 Oxford Rd.", + "City": "London", + "Region": null, + "PostalCode": "EC1 4SD", + "Country": "UK", + "Phone": "(171) 555-3333", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 4, + "CompanyName": "Tokyo Traders", + "ContactName": "Yoshi Nagase", + "ContactTitle": "Marketing Manager", + "Address": "9-8 Sekimai Musashino-shi", + "City": "Tokyo", + "Region": null, + "PostalCode": "100", + "Country": "Japan", + "Phone": "(03) 3555-5011", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 5, + "CompanyName": "Cooperativa de Quesos 'Las Cabras'", + "ContactName": "Antonio del Valle Saavedra", + "ContactTitle": "Export Administrator", + "Address": "Calle del Rosal 4", + "City": "Oviedo", + "Region": "Asturias", + "PostalCode": "33007", + "Country": "Spain", + "Phone": "(98) 598 76 54", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 6, + "CompanyName": "Mayumi's", + "ContactName": "Mayumi Ohno", + "ContactTitle": "Marketing Representative", + "Address": "92 Setsuko Chuo-ku", + "City": "Osaka", + "Region": null, + "PostalCode": "545", + "Country": "Japan", + "Phone": "(06) 431-7877", + "Fax": null, + "HomePage": "Mayumi's (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/mayumi.htm#" + }, + { + "SupplierID": 7, + "CompanyName": "Pavlova, Ltd.", + "ContactName": "Ian Devling", + "ContactTitle": "Marketing Manager", + "Address": "74 Rose St. Moonie Ponds", + "City": "Melbourne", + "Region": "Victoria", + "PostalCode": "3058", + "Country": "Australia", + "Phone": "(03) 444-2343", + "Fax": "(03) 444-6588", + "HomePage": null + }, + { + "SupplierID": 8, + "CompanyName": "Specialty Biscuits, Ltd.", + "ContactName": "Peter Wilson", + "ContactTitle": "Sales Representative", + "Address": "29 King's Way", + "City": "Manchester", + "Region": null, + "PostalCode": "M14 GSD", + "Country": "UK", + "Phone": "(161) 555-4448", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 9, + "CompanyName": "PB Knäckebröd AB", + "ContactName": "Lars Peterson", + "ContactTitle": "Sales Agent", + "Address": "Kaloadagatan 13", + "City": "Göteborg", + "Region": null, + "PostalCode": "S-345 67", + "Country": "Sweden", + "Phone": "031-987 65 43", + "Fax": "031-987 65 91", + "HomePage": null + }, + { + "SupplierID": 10, + "CompanyName": "Refrescos Americanas LTDA", + "ContactName": "Carlos Diaz", + "ContactTitle": "Marketing Manager", + "Address": "Av. das Americanas 12.890", + "City": "Sao Paulo", + "Region": null, + "PostalCode": "5442", + "Country": "Brazil", + "Phone": "(11) 555 4640", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 11, + "CompanyName": "Heli Süßwaren GmbH & Co. KG", + "ContactName": "Petra Winkler", + "ContactTitle": "Sales Manager", + "Address": "Tiergartenstraße 5", + "City": "Berlin", + "Region": null, + "PostalCode": "10785", + "Country": "Germany", + "Phone": "(010) 9984510", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 12, + "CompanyName": "Plutzer Lebensmittelgroßmärkte AG", + "ContactName": "Martin Bein", + "ContactTitle": "International Marketing Mgr.", + "Address": "Bogenallee 51", + "City": "Frankfurt", + "Region": null, + "PostalCode": "60439", + "Country": "Germany", + "Phone": "(069) 992755", + "Fax": null, + "HomePage": "Plutzer (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/plutzer.htm#" + }, + { + "SupplierID": 13, + "CompanyName": "Nord-Ost-Fisch Handelsgesellschaft mbH", + "ContactName": "Sven Petersen", + "ContactTitle": "Coordinator Foreign Markets", + "Address": "Frahmredder 112a", + "City": "Cuxhaven", + "Region": null, + "PostalCode": "27478", + "Country": "Germany", + "Phone": "(04721) 8713", + "Fax": "(04721) 8714", + "HomePage": null + }, + { + "SupplierID": 14, + "CompanyName": "Formaggi Fortini s.r.l.", + "ContactName": "Elio Rossi", + "ContactTitle": "Sales Representative", + "Address": "Viale Dante, 75", + "City": "Ravenna", + "Region": null, + "PostalCode": "48100", + "Country": "Italy", + "Phone": "(0544) 60323", + "Fax": "(0544) 60603", + "HomePage": "#FORMAGGI.HTM#" + }, + { + "SupplierID": 15, + "CompanyName": "Norske Meierier", + "ContactName": "Beate Vileid", + "ContactTitle": "Marketing Manager", + "Address": "Hatlevegen 5", + "City": "Sandvika", + "Region": null, + "PostalCode": "1320", + "Country": "Norway", + "Phone": "(0)2-953010", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 16, + "CompanyName": "Bigfoot Breweries", + "ContactName": "Cheryl Saylor", + "ContactTitle": "Regional Account Rep.", + "Address": "3400 - 8th Avenue Suite 210", + "City": "Bend", + "Region": "OR", + "PostalCode": "97101", + "Country": "USA", + "Phone": "(503) 555-9931", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 17, + "CompanyName": "Svensk Sjöföda AB", + "ContactName": "Michael Björn", + "ContactTitle": "Sales Representative", + "Address": "Brovallavägen 231", + "City": "Stockholm", + "Region": null, + "PostalCode": "S-123 45", + "Country": "Sweden", + "Phone": "08-123 45 67", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 18, + "CompanyName": "Aux joyeux ecclésiastiques", + "ContactName": "Guylène Nodier", + "ContactTitle": "Sales Manager", + "Address": "203, Rue des Francs-Bourgeois", + "City": "Paris", + "Region": null, + "PostalCode": "75004", + "Country": "France", + "Phone": "(1) 03.83.00.68", + "Fax": "(1) 03.83.00.62", + "HomePage": null + }, + { + "SupplierID": 19, + "CompanyName": "New England Seafood Cannery", + "ContactName": "Robb Merchant", + "ContactTitle": "Wholesale Account Agent", + "Address": "Order Processing Dept. 2100 Paul Revere Blvd.", + "City": "Boston", + "Region": "MA", + "PostalCode": "02134", + "Country": "USA", + "Phone": "(617) 555-3267", + "Fax": "(617) 555-3389", + "HomePage": null + }, + { + "SupplierID": 20, + "CompanyName": "Leka Trading", + "ContactName": "Chandra Leka", + "ContactTitle": "Owner", + "Address": "471 Serangoon Loop, Suite #402", + "City": "Singapore", + "Region": null, + "PostalCode": "0512", + "Country": "Singapore", + "Phone": "555-8787", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 21, + "CompanyName": "Lyngbysild", + "ContactName": "Niels Petersen", + "ContactTitle": "Sales Manager", + "Address": "Lyngbysild Fiskebakken 10", + "City": "Lyngby", + "Region": null, + "PostalCode": "2800", + "Country": "Denmark", + "Phone": "43844108", + "Fax": "43844115", + "HomePage": null + }, + { + "SupplierID": 22, + "CompanyName": "Zaanse Snoepfabriek", + "ContactName": "Dirk Luchte", + "ContactTitle": "Accounting Manager", + "Address": "Verkoop Rijnweg 22", + "City": "Zaandam", + "Region": null, + "PostalCode": "9999 ZZ", + "Country": "Netherlands", + "Phone": "(12345) 1212", + "Fax": "(12345) 1210", + "HomePage": null + }, + { + "SupplierID": 23, + "CompanyName": "Karkki Oy", + "ContactName": "Anne Heikkonen", + "ContactTitle": "Product Manager", + "Address": "Valtakatu 12", + "City": "Lappeenranta", + "Region": null, + "PostalCode": "53120", + "Country": "Finland", + "Phone": "(953) 10956", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 24, + "CompanyName": "G'day, Mate", + "ContactName": "Wendy Mackenzie", + "ContactTitle": "Sales Representative", + "Address": "170 Prince Edward Parade Hunter's Hill", + "City": "Sydney", + "Region": "NSW", + "PostalCode": "2042", + "Country": "Australia", + "Phone": "(02) 555-5914", + "Fax": "(02) 555-4873", + "HomePage": "G'day Mate (on the World Wide Web)#http://www.microsoft.com/accessdev/sampleapps/gdaymate.htm#" + }, + { + "SupplierID": 25, + "CompanyName": "Ma Maison", + "ContactName": "Jean-Guy Lauzon", + "ContactTitle": "Marketing Manager", + "Address": "2960 Rue St. Laurent", + "City": "Montréal", + "Region": "Québec", + "PostalCode": "H1J 1C3", + "Country": "Canada", + "Phone": "(514) 555-9022", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 26, + "CompanyName": "Pasta Buttini s.r.l.", + "ContactName": "Giovanni Giudici", + "ContactTitle": "Order Administrator", + "Address": "Via dei Gelsomini, 153", + "City": "Salerno", + "Region": null, + "PostalCode": "84100", + "Country": "Italy", + "Phone": "(089) 6547665", + "Fax": "(089) 6547667", + "HomePage": null + }, + { + "SupplierID": 27, + "CompanyName": "Escargots Nouveaux", + "ContactName": "Marie Delamare", + "ContactTitle": "Sales Manager", + "Address": "22, rue H. Voiron", + "City": "Montceau", + "Region": null, + "PostalCode": "71300", + "Country": "France", + "Phone": "85.57.00.07", + "Fax": null, + "HomePage": null + }, + { + "SupplierID": 28, + "CompanyName": "Gai pâturage", + "ContactName": "Eliane Noz", + "ContactTitle": "Sales Representative", + "Address": "Bat. B 3, rue des Alpes", + "City": "Annecy", + "Region": null, + "PostalCode": "74000", + "Country": "France", + "Phone": "38.76.98.06", + "Fax": "38.76.98.58", + "HomePage": null + }, + { + "SupplierID": 29, + "CompanyName": "Forêts d'érables", + "ContactName": "Chantal Goulet", + "ContactTitle": "Accounting Manager", + "Address": "148 rue Chasseur", + "City": "Ste-Hyacinthe", + "Region": "Québec", + "PostalCode": "J2S 7S8", + "Country": "Canada", + "Phone": "(514) 555-2955", + "Fax": "(514) 555-2921", + "HomePage": null + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/Handlers/CardHandler.cs b/samples/msgext-northwind-inventory-csharp/Handlers/CardHandler.cs new file mode 100644 index 0000000..1497d1d --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Handlers/CardHandler.cs @@ -0,0 +1,194 @@ +using System.Net; +using Microsoft.Bot.Builder; +using Microsoft.Bot.Schema; +using Newtonsoft.Json.Linq; +using AdaptiveCards; +using AdaptiveCards.Templating; +using NorthwindInventory.NorthwindDB; +using NorthwindInventory.Models; + +namespace NorthwindInventory.Handlers +{ + public static class CardHandler + { + public static Attachment GetEditCard(IProductEx product) + { + var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; + var filePath = Path.Combine(baseDirectory, "AdaptiveCards", "editCard.json"); + var templateJson = File.ReadAllText(filePath); + var template = new AdaptiveCardTemplate(templateJson); + + // Create a card payload by expanding the template with product data + var cardPayload = template.Expand(new + { + productName = product.ProductName, + unitsInStock = product.UnitsInStock, + productId = product.ProductID, + categoryId = product.CategoryID, + imageUrl = product.ImageUrl, + supplierName = product.SupplierName, + supplierCity = product.SupplierCity, + categoryName = product.CategoryName, + inventoryStatus = product.InventoryStatus, + unitPrice = product.UnitPrice, + quantityPerUnit = product.QuantityPerUnit, + unitsOnOrder = product.UnitsOnOrder, + reorderLevel = product.ReorderLevel, + unitSales = product.UnitSales, + inventoryValue = product.InventoryValue, + revenue = product.Revenue, + averageDiscount = product.AverageDiscount + }); + + // Create an Adaptive Card from JSON string + var adaptiveCard = AdaptiveCard.FromJson(cardPayload).Card; + + // Convert the AdaptiveCard to an Attachment + var attachment = new Attachment + { + ContentType = AdaptiveCard.ContentType, + Content = adaptiveCard + }; + + return attachment; + } + + public static async Task HandleTeamsCardActionUpdateStockAsync(ITurnContext turnContext,IConfiguration configuration, CancellationToken cancellationToken) + { + try + { + var request = turnContext.Activity.Value as JObject; + var data = request?["action"]?["data"]; + var txtStock = data?["txtStock"]?.ToString(); + var productId = data?["productId"]?.ToString(); + + if (int.TryParse(txtStock, out var unitsInStock) && int.TryParse(productId, out var productID)) + { + var productService = new ProductService(configuration); + var product = await productService.GetProductExAsync(productID); + + if (product == null) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.NotFound, 1, "Product not found"); + } + + product.UnitsInStock = unitsInStock; + await productService.UpdateProductAsync(product); + + return Utils.CreateAdaptiveCardInvokeResponse((int)HttpStatusCode.OK, CreateCardPayload(product, $"Stock updated for {product.ProductName} to {product.UnitsInStock}!")); + } + else + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.BadRequest, 0, "Invalid request"); + } + } + catch (Exception ex) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.InternalServerError, 0, ex.Message); + } + } + + public static async Task HandleTeamsCardActionCancelRestockAsync(ITurnContext turnContext, IConfiguration configuration, CancellationToken cancellationToken) + { + try + { + var request = turnContext.Activity.Value as JObject; + var data = request?["action"]?["data"]; + var productId = data?["productId"]?.ToString(); + + if (int.TryParse(productId, out var productID)) + { + var productService = new ProductService(configuration); + var product = await productService.GetProductExAsync(productID); + + if (product == null) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.NotFound, 1, "Product not found"); + } + + product.UnitsOnOrder = 0; + await productService.UpdateProductAsync(product); + + return Utils.CreateAdaptiveCardInvokeResponse((int)HttpStatusCode.OK, CreateCardPayload(product, $"Restock cancelled for {product.ProductName}.")); + } + else + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.BadRequest, 0, "Invalid request"); + } + } + catch (Exception ex) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.InternalServerError, 0, ex.Message); + } + } + + public static async Task HandleTeamsCardActionRestockAsync(ITurnContext turnContext, IConfiguration configuration, CancellationToken cancellationToken) + { + try + { + var request = turnContext.Activity.Value as JObject; + var data = request?["action"]?["data"]; + var txtStock = data?["txtStock"]?.ToString(); + var productId = data?["productId"]?.ToString(); + + if (int.TryParse(productId, out var productID) && int.TryParse(txtStock, out var unitsToOrder)) + { + var productService = new ProductService(configuration); + var product = await productService.GetProductExAsync(productID); + + if (product == null) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.NotFound, 1, "Product not found"); + } + + product.UnitsOnOrder += unitsToOrder; + await productService.UpdateProductAsync(product); + + return Utils.CreateAdaptiveCardInvokeResponse((int)HttpStatusCode.OK, CreateCardPayload(product, $"Restocking {product.ProductName} placed order for {unitsToOrder} units.")); + } + else + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.BadRequest, 0, "Invalid request"); + } + } + catch (Exception ex) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.InternalServerError, 0, ex.Message); + } + } + + private static Dictionary CreateCardPayload(IProductEx product, string message) + { + var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; + var filePath = Path.Combine(baseDirectory, "AdaptiveCards", "successCard.json"); + var templateJson = File.ReadAllText(filePath); + var template = new AdaptiveCardTemplate(templateJson); + + var cardPayload = template.Expand(new + { + productName = product.ProductName, + unitsInStock = product.UnitsInStock, + productId = product.ProductID, + categoryId = product.CategoryID, + imageUrl = product.ImageUrl, + supplierName = product.SupplierName, + supplierCity = product.SupplierCity, + categoryName = product.CategoryName, + inventoryStatus = Utils.GetInventoryStatus(product), + unitPrice = product.UnitPrice, + quantityPerUnit = product.QuantityPerUnit, + unitsOnOrder = product.UnitsOnOrder, + reorderLevel = product.ReorderLevel, + unitSales = product.UnitSales, + inventoryValue = product.UnitsInStock * product.UnitPrice, + revenue = product.Revenue, + averageDiscount = product.AverageDiscount, + message = message + }); + + // Convert JObject to Dictionary + var jsonObject = JObject.Parse(cardPayload.ToString()); + return jsonObject.ToObject>(); + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/Handlers/Utils.cs b/samples/msgext-northwind-inventory-csharp/Handlers/Utils.cs new file mode 100644 index 0000000..d8d8f19 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Handlers/Utils.cs @@ -0,0 +1,80 @@ +using Microsoft.Bot.Builder; +using Microsoft.Bot.Schema; +using NorthwindInventory.Models; + +namespace NorthwindInventory.Handlers +{ + public static class Utils + { + public static InvokeResponse CreateInvokeResponse(int status, object body = null) + { + return new InvokeResponse + { + Status = status, + Body = body + }; + } + + public static AdaptiveCardInvokeResponse CreateAdaptiveCardInvokeResponse(int statusCode, Dictionary body = null) + { + return new AdaptiveCardInvokeResponse + { + StatusCode = statusCode, + Type = "application/vnd.microsoft.card.adaptive", + Value = body + }; + } + + public static AdaptiveCardInvokeResponse CreateActionErrorResponse(int statusCode, int errorCode = -1, string errorMessage = "Unknown error") + { + var errorResponse = new + { + error = new + { + code = errorCode, + message = errorMessage + } + }; + + return new AdaptiveCardInvokeResponse + { + StatusCode = statusCode, + Type = "application/vnd.microsoft.error", + Value = errorResponse + }; + } + + public static string GetInventoryStatus(IProduct product) + { + if (product.UnitsInStock >= product.ReorderLevel) + { + return "In stock"; + } + else if (product.UnitsInStock < product.ReorderLevel && product.UnitsOnOrder == 0) + { + return "Low stock"; + } + else if (product.UnitsInStock < product.ReorderLevel && product.UnitsOnOrder > 0) + { + return "On order"; + } + else if (product.UnitsInStock == 0) + { + return "Out of stock"; + } + else + { + return "Unknown"; // fallback + } + } + + public static string CleanupParam(string value) + { + if (string.IsNullOrEmpty(value)) + { + return string.Empty; + } + return value.Trim().Split(',')[0].Replace("*", string.Empty); + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/MessageExtensions/DiscountedSearchCommand.cs b/samples/msgext-northwind-inventory-csharp/MessageExtensions/DiscountedSearchCommand.cs new file mode 100644 index 0000000..09588e7 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/MessageExtensions/DiscountedSearchCommand.cs @@ -0,0 +1,70 @@ +using Microsoft.Bot.Builder; +using Microsoft.Bot.Schema; +using Microsoft.Bot.Schema.Teams; +using NorthwindInventory.NorthwindDB; +using NorthwindInventory.Handlers; + +namespace NorthwindInventory.MessageExtensions +{ + public static class DiscountedSearchCommand + { + public const string CommandId = "discountSearch"; + + public static async Task HandleTeamsMessagingExtensionQueryAsync(ITurnContext turnContext, MessagingExtensionQuery query, IConfiguration configuration, CancellationToken cancellationToken) + { + var categoryName = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "categoryName")?.Value as string); + var productService = new ProductService(configuration); + var products = await productService.GetDiscountedProductsByCategory(categoryName); + + try + { + var attachments = new List(); + + foreach (var product in products) + { + var preview = new HeroCard + { + Title = product.ProductName, + Subtitle = $"Supplied by {product.SupplierName} of {product.SupplierCity}
{product.UnitsInStock} in stock", + Images = [new(product.ImageUrl)] + }.ToAttachment(); + + var resultCard = CardHandler.GetEditCard(product); + + var attachment = new MessagingExtensionAttachment + { + ContentType = resultCard.ContentType, + Content = resultCard.Content, + Preview = preview + }; + + attachments.Add(attachment); + } + + var messagingExtensionsAttachments = attachments + .Select(a => new MessagingExtensionAttachment + { + ContentType = a.ContentType, + Content = a.Content, + Preview = a.Preview + }) + .ToList(); + + return new MessagingExtensionResponse + { + ComposeExtension = new MessagingExtensionResult + { + Type = "result", + AttachmentLayout = "list", + Attachments = messagingExtensionsAttachments + } + }; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/MessageExtensions/ProductSearchCommand.cs b/samples/msgext-northwind-inventory-csharp/MessageExtensions/ProductSearchCommand.cs new file mode 100644 index 0000000..e9efbed --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/MessageExtensions/ProductSearchCommand.cs @@ -0,0 +1,76 @@ +using Microsoft.Bot.Builder; +using Microsoft.Bot.Schema; +using Microsoft.Bot.Schema.Teams; +using NorthwindInventory.NorthwindDB; +using NorthwindInventory.Handlers; + +namespace NorthwindInventory.MessageExtensions +{ + public static class ProductSearchCommand + { + public const string CommandId = "inventorySearch"; + private static int queryCount = 0; + + public static async Task HandleTeamsMessagingExtensionQueryAsync(ITurnContext turnContext, MessagingExtensionQuery query, IConfiguration configuration, CancellationToken cancellationToken) + { + string productName, categoryName, inventoryStatus, supplierCity, stockLevel; + + if (query.Parameters.Count == 1 && query.Parameters[0]?.Name == "productName") + { + var values = query.Parameters[0]?.Value.ToString().Split(','); + productName = Utils.CleanupParam(values.ElementAtOrDefault(0)); + categoryName = Utils.CleanupParam(values.ElementAtOrDefault(1)); + inventoryStatus = Utils.CleanupParam(values.ElementAtOrDefault(2)); + supplierCity = Utils.CleanupParam(values.ElementAtOrDefault(3)); + stockLevel = Utils.CleanupParam(values.ElementAtOrDefault(4)); + } + else + { + productName = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "productName")?.Value as string); + categoryName = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "categoryName")?.Value as string); + inventoryStatus = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "inventoryStatus")?.Value as string); + supplierCity = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "supplierCity")?.Value as string); + stockLevel = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "stockQuery")?.Value as string); + } + + Console.WriteLine($"🔎 Query #{++queryCount}:\nproductName={productName}, categoryName={categoryName}, inventoryStatus={inventoryStatus}, supplierCity={supplierCity}, stockLevel={stockLevel}"); + + var productService = new ProductService(configuration); + var products = await productService.SearchProducts(productName, categoryName, inventoryStatus, supplierCity, stockLevel); + + Console.WriteLine($"Found {products.Count} products in the Northwind database"); + var attachments = new List(); + + foreach (var product in products) + { + var preview = new HeroCard + { + Title = product.ProductName, + Subtitle = $"Supplied by {product.SupplierName} of {product.SupplierCity}
{product.UnitsInStock} in stock", + Images = [new(product.ImageUrl)] + }.ToAttachment(); + + var resultCard = CardHandler.GetEditCard(product); + + var attachment = new MessagingExtensionAttachment + { + ContentType = resultCard.ContentType, + Content = resultCard.Content, + Preview = preview + }; + + attachments.Add(attachment); + } + + return new MessagingExtensionResponse + { + ComposeExtension = new MessagingExtensionResult + { + Type = "result", + AttachmentLayout = "list", + Attachments = attachments + } + }; + } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/Models/Model.cs b/samples/msgext-northwind-inventory-csharp/Models/Model.cs new file mode 100644 index 0000000..0988018 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Models/Model.cs @@ -0,0 +1,315 @@ +namespace NorthwindInventory.Models +{ + public static class TableNameConstants + { + public const string CATEGORY = "Categories"; + public const string CUSTOMER = "Customers"; + public const string EMPLOYEE = "Employees"; + public const string ORDER = "Orders"; + public const string ORDER_DETAIL = "OrderDetails"; + public const string PRODUCT = "Products"; + public const string SUPPLIER = "Suppliers"; + } + + public static class TableNames + { + public const string Product = "Products"; + public const string Category = "Categories"; + public const string Supplier = "Suppliers"; + public const string OrderDetail = "OrderDetails"; + } + + public class Category : ICategory + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int CategoryID { get; set; } + public string CategoryName { get; set; } + public string Description { get; set; } + public string Picture { get; set; } + } + + public class Supplier : ISupplier + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int SupplierID { get; set; } + public string CompanyName { get; set; } + public string ContactName { get; set; } + public string ContactTitle { get; set; } + public string Address { get; set; } + public string City { get; set; } + public string Region { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public string Phone { get; set; } + public string Fax { get; set; } + public string HomePage { get; set; } + } + + public class Customer : ICustomer + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public string CustomerID { get; set; } + public string CompanyName { get; set; } + public string ContactName { get; set; } + public string ContactTitle { get; set; } + public string Address { get; set; } + public string City { get; set; } + public string Region { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public string Phone { get; set; } + public string Fax { get; set; } + public string ImageUrl { get; set; } + public string FlagUrl { get; set; } + } + + public class Employee : IEmployee + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int EmployeeID { get; set; } + public string LastName { get; set; } + public string FirstName { get; set; } + public string Title { get; set; } + public string TitleOfCourtesy { get; set; } + public DateTime BirthDate { get; set; } + public DateTime HireDate { get; set; } + public string Address { get; set; } + public string City { get; set; } + public string Region { get; set; } + public string PostalCode { get; set; } + public string Country { get; set; } + public string HomePhone { get; set; } + public string Extension { get; set; } + public string Photo { get; set; } + public string Notes { get; set; } + public int? ReportsTo { get; set; } + public string PhotoPath { get; set; } + public string ImageUrl { get; set; } + public string FlagUrl { get; set; } + } + + public class OrderDetail : IOrderDetail + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int OrderID { get; set; } + public int ProductID { get; set; } + public decimal UnitPrice { get; set; } + public int Quantity { get; set; } + public decimal Discount { get; set; } + } + + public class Order : IOrder + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int OrderID { get; set; } + public string CustomerID { get; set; } + public int EmployeeID { get; set; } + public string OrderDate { get; set; } + public string RequiredDate { get; set; } + public string ShippedDate { get; set; } + public List OrderDetails { get; set; } + public string ShipVia { get; set; } + public decimal Freight { get; set; } + public string ShipName { get; set; } + public string ShipAddress { get; set; } + public string ShipCity { get; set; } + public string ShipRegion { get; set; } + public string ShipPostalCode { get; set; } + public string ShipCountry { get; set; } + } + + public class Product : IProduct + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int ProductID { get; set; } + public string ProductName { get; set; } + public int SupplierID { get; set; } + public int CategoryID { get; set; } + public string QuantityPerUnit { get; set; } + public decimal UnitPrice { get; set; } + public int UnitsInStock { get; set; } + public int UnitsOnOrder { get; set; } + public int ReorderLevel { get; set; } + public bool Discontinued { get; set; } + public string ImageUrl { get; set; } + } + + public class ProductEx : IProductEx + { + public string ETag { get; set; } + public string PartitionKey { get; set; } + public string RowKey { get; set; } + public DateTime Timestamp { get; set; } + public int ProductID { get; set; } + public string ProductName { get; set; } + public int SupplierID { get; set; } + public int CategoryID { get; set; } + public string QuantityPerUnit { get; set; } + public decimal UnitPrice { get; set; } + public int UnitsInStock { get; set; } + public int UnitsOnOrder { get; set; } + public int ReorderLevel { get; set; } + public bool Discontinued { get; set; } + public string ImageUrl { get; set; } + public string CategoryName { get; set; } + public string SupplierName { get; set; } + public string SupplierCity { get; set; } + public string InventoryStatus { get; set; } + public decimal InventoryValue { get; set; } + public int UnitSales { get; set; } + public decimal Revenue { get; set; } + public decimal AverageDiscount { get; set; } + } + + public interface IRow + { + string ETag { get; set; } + string PartitionKey { get; set; } + string RowKey { get; set; } + DateTime Timestamp { get; set; } + } + + public interface ICategory : IRow + { + int CategoryID { get; set; } + string CategoryName { get; set; } + string Description { get; set; } + string Picture { get; set; } + } + + public interface ICustomer : IRow + { + string CustomerID { get; set; } + string CompanyName { get; set; } + string ContactName { get; set; } + string ContactTitle { get; set; } + string Address { get; set; } + string City { get; set; } + string Region { get; set; } + string PostalCode { get; set; } + string Country { get; set; } + string Phone { get; set; } + string Fax { get; set; } + string ImageUrl { get; set; } + string FlagUrl { get; set; } + } + + public interface IEmployee : IRow + { + int EmployeeID { get; set; } + string LastName { get; set; } + string FirstName { get; set; } + string Title { get; set; } + string TitleOfCourtesy { get; set; } + DateTime BirthDate { get; set; } + DateTime HireDate { get; set; } + string Address { get; set; } + string City { get; set; } + string Region { get; set; } + string PostalCode { get; set; } + string Country { get; set; } + string HomePhone { get; set; } + string Extension { get; set; } + string Notes { get; set; } + int? ReportsTo { get; set; } + } + + public interface IOrderDetail : IRow + { + int OrderID { get; set; } + int ProductID { get; set; } + decimal UnitPrice { get; set; } + int Quantity { get; set; } + decimal Discount { get; set; } + } + + public interface IOrder : IRow + { + int OrderID { get; set; } + string CustomerID { get; set; } + int EmployeeID { get; set; } + string OrderDate { get; set; } + string RequiredDate { get; set; } + string ShippedDate { get; set; } + List OrderDetails { get; set; } + string ShipVia { get; set; } + decimal Freight { get; set; } + string ShipName { get; set; } + string ShipAddress { get; set; } + string ShipCity { get; set; } + string ShipRegion { get; set; } + string ShipPostalCode { get; set; } + string ShipCountry { get; set; } + } + + public interface IProduct : IRow + { + int ProductID { get; set; } + string ProductName { get; set; } + int SupplierID { get; set; } + int CategoryID { get; set; } + string QuantityPerUnit { get; set; } + decimal UnitPrice { get; set; } + int UnitsInStock { get; set; } + int UnitsOnOrder { get; set; } + int ReorderLevel { get; set; } + bool Discontinued { get; set; } + string ImageUrl { get; set; } + } + + public interface IProductEx : IProduct + { + string CategoryName { get; set; } + string SupplierName { get; set; } + string SupplierCity { get; set; } + string InventoryStatus { get; set; } + decimal InventoryValue { get; set; } + int UnitSales { get; set; } + decimal Revenue { get; set; } + decimal AverageDiscount { get; set; } + } + + public interface ISupplier : IRow + { + int SupplierID { get; set; } + string CompanyName { get; set; } + string ContactName { get; set; } + string ContactTitle { get; set; } + string Address { get; set; } + string City { get; set; } + string Region { get; set; } + string PostalCode { get; set; } + string Country { get; set; } + string Phone { get; set; } + string Fax { get; set; } + string HomePage { get; set; } + } + + public class OrderTotals + { + public int TotalQuantity { get; set; } + public decimal TotalRevenue { get; set; } + public decimal TotalDiscount { get; set; } + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/NorthwindDB/Products.cs b/samples/msgext-northwind-inventory-csharp/NorthwindDB/Products.cs new file mode 100644 index 0000000..b9e3855 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/NorthwindDB/Products.cs @@ -0,0 +1,340 @@ +using Azure.Data.Tables; +using NorthwindInventory.Models; +using NorthwindInventory.Handlers; +using Azure.Core; + +namespace NorthwindInventory.NorthwindDB +{ + public class ProductService + { + private readonly TableClient _productTableClient; + private readonly TableClient _categoryTableClient; + private readonly TableClient _supplierTableClient; + private readonly TableClient _orderDetailTableClient; + + private static Dictionary _categories; + private static Dictionary _suppliers; + private static Dictionary _orderTotals; + + public ProductService(IConfiguration configuration) + { + var connectionString = configuration["StorageConnectionString"]; + var clientOptions = new TableClientOptions + { + Retry = + { + MaxRetries = 5, + Delay = TimeSpan.FromSeconds(2), + MaxDelay = TimeSpan.FromSeconds(10), + Mode = RetryMode.Exponential + } + }; + + _productTableClient = new TableClient(connectionString, TableNames.Product, clientOptions); + _categoryTableClient = new TableClient(connectionString, TableNames.Category, clientOptions); + _supplierTableClient = new TableClient(connectionString, TableNames.Supplier, clientOptions); + _orderDetailTableClient = new TableClient(connectionString, TableNames.OrderDetail, clientOptions); + + // Ensure tables are created + CreateTablesIfNotExists(); + } + + private void CreateTablesIfNotExists() + { + _productTableClient.CreateIfNotExists(); + _categoryTableClient.CreateIfNotExists(); + _supplierTableClient.CreateIfNotExists(); + _orderDetailTableClient.CreateIfNotExists(); + } + + public async Task> SearchProducts(string productName, string categoryName, string inventoryStatus, string supplierCity, string stockLevel) + { + var result = await GetAllProductsEx(); + + if (!string.IsNullOrEmpty(productName)) + { + result = result.Where(p => p.ProductName.StartsWith(productName, StringComparison.OrdinalIgnoreCase)).ToList(); + } + if (!string.IsNullOrEmpty(categoryName)) + { + result = result.Where(p => p.CategoryName.StartsWith(categoryName, StringComparison.OrdinalIgnoreCase)).ToList(); + } + if (!string.IsNullOrEmpty(inventoryStatus)) + { + result = result.Where(p => IsMatchingStatus(inventoryStatus, p)).ToList(); + } + if (!string.IsNullOrEmpty(supplierCity)) + { + result = result.Where(p => p.SupplierCity.StartsWith(supplierCity, StringComparison.OrdinalIgnoreCase)).ToList(); + } + if (!string.IsNullOrEmpty(stockLevel)) + { + result = result.Where(p => IsInRange(stockLevel, p.UnitsInStock)).ToList(); + } + + return result; + } + + public async Task> GetDiscountedProductsByCategory(string categoryName) + { + var result = await GetAllProductsEx(); + result = result.Where(p => p.AverageDiscount > 5).ToList(); + + if (!string.IsNullOrEmpty(categoryName)) + { + result = result.Where(p => p.CategoryName.StartsWith(categoryName, StringComparison.OrdinalIgnoreCase)).ToList(); + } + + return result; + } + + public async Task> GetProductsByRevenueRange(string revenueRange) + { + var result = await GetAllProductsEx(); + + if (!string.IsNullOrEmpty(revenueRange)) + { + var range = revenueRange; + if (revenueRange.StartsWith("l", StringComparison.OrdinalIgnoreCase)) range = "0-5000"; + if (revenueRange.StartsWith("h", StringComparison.OrdinalIgnoreCase)) range = "50000-"; + + result = result.Where(p => IsInRange(range, p.Revenue)).ToList(); + } + + return result; + } + + private bool IsMatchingStatus(string inventoryStatusQuery, IProductEx product) + { + var query = inventoryStatusQuery.ToLower(); + + return query switch + { + var q when q.StartsWith("out") => product.UnitsInStock == 0, + var q when q.StartsWith("low") => product.UnitsInStock <= product.ReorderLevel, + var q when q.StartsWith("on") => product.UnitsOnOrder > 0, + _ => product.UnitsInStock > 0, + }; + } + + private bool IsInRange(string rangeExpression, decimal value) + { + var result = false; + if (!rangeExpression.Contains('-')) + { + if (decimal.TryParse(rangeExpression, out var val)) + { + result = value == val; + } + } + else if (rangeExpression.EndsWith('-')) + { + if (decimal.TryParse(rangeExpression[..^1], out var lowerBound)) + { + result = value >= lowerBound; + } + } + else + { + var bounds = rangeExpression.Split('-'); + if (decimal.TryParse(bounds[0], out var lowerBound) && decimal.TryParse(bounds[1], out var upperBound)) + { + result = lowerBound <= value && upperBound >= value; + } + } + return result; + } + + private async Task> LoadReferenceData(TableClient tableClient) where T : class, new() + { + var result = new Dictionary(); + try + { + await foreach (var entity in tableClient.QueryAsync()) + { + var mappedEntity = MapEntity(entity); + result[entity.RowKey] = mappedEntity; + } + } + catch (Exception ex) + { + Console.WriteLine(ex.ToString()); + } + return result; + } + + private T MapEntity(TableEntity entity) where T : class, new() + { + var mappedEntity = new T(); + + // Example mapping for a Product entity + if (mappedEntity is IProduct product) + { + product.ProductID = int.Parse(entity["ProductID"].ToString()); + product.ProductName = entity["ProductName"].ToString(); + product.SupplierID = int.Parse(entity["SupplierID"].ToString()); + product.CategoryID = int.Parse(entity["CategoryID"].ToString()); + product.QuantityPerUnit = entity["QuantityPerUnit"].ToString(); + product.UnitPrice = (decimal)entity["UnitPrice"]; + product.UnitsInStock = (int)entity["UnitsInStock"]; + product.UnitsOnOrder = (int)entity["UnitsOnOrder"]; + product.ReorderLevel = (int)entity["ReorderLevel"]; + product.Discontinued = (bool)entity["Discontinued"]; + product.ImageUrl = entity["ImageUrl"].ToString(); + } + + else if (mappedEntity is ICategory category) + { + category.CategoryID = int.Parse(entity["CategoryID"].ToString()); + category.CategoryName = entity["CategoryName"].ToString(); + category.Description = entity["Description"].ToString(); + category.Picture = entity["Picture"].ToString(); + } + + else if (mappedEntity is ISupplier supplier) + { + supplier.SupplierID = int.Parse(entity["SupplierID"].ToString()); + supplier.CompanyName = entity["CompanyName"].ToString(); + supplier.ContactName = entity["ContactName"].ToString(); + supplier.ContactTitle = entity["ContactTitle"].ToString(); + supplier.Address = entity["Address"].ToString(); + supplier.City = entity["City"].ToString(); + supplier.Region = entity["Region"]?.ToString(); + supplier.PostalCode = entity["PostalCode"].ToString(); + supplier.Country = entity["Country"].ToString(); + supplier.Phone = entity["Phone"].ToString(); + supplier.Fax = entity["Fax"]?.ToString(); + supplier.HomePage = entity["HomePage"]?.ToString(); + } + + // Add mappings for other types as needed + + return mappedEntity; + } + + private async Task> LoadOrderTotals() + { + var totals = new Dictionary(); + await foreach (var entity in _orderDetailTableClient.QueryAsync()) + { + var productId = entity["ProductID"].ToString(); + try + { + if (!totals.ContainsKey(productId)) + { + totals[productId] = new OrderTotals + { + TotalQuantity = Convert.ToInt32(entity["Quantity"]), + TotalRevenue = Convert.ToDecimal(entity["Quantity"]) * Convert.ToDecimal(entity["UnitPrice"]) * (1 - Convert.ToDecimal(entity["Discount"])), + TotalDiscount = Convert.ToDecimal(entity["Quantity"]) * Convert.ToDecimal(entity["UnitPrice"]) * Convert.ToDecimal(entity["Discount"]) + }; + } + else + { + totals[productId].TotalQuantity += Convert.ToInt32(entity["Quantity"]); + totals[productId].TotalRevenue += Convert.ToDecimal(entity["Quantity"]) * Convert.ToDecimal(entity["UnitPrice"]) * (1 - Convert.ToDecimal(entity["Discount"])); + totals[productId].TotalDiscount += Convert.ToDecimal(entity["Quantity"]) * Convert.ToDecimal(entity["UnitPrice"]) * Convert.ToDecimal(entity["Discount"]); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + } + return totals; + } + + public async Task> GetAllProductsEx() + { + _categories ??= await LoadReferenceData(_categoryTableClient); + _suppliers ??= await LoadReferenceData(_supplierTableClient); + _orderTotals ??= await LoadOrderTotals(); + + var result = new List(); + + await foreach (var entity in _productTableClient.QueryAsync()) + { + var productEx = GetProductExForEntity(entity); + result.Add(productEx); + } + + return result; + } + + private IProductEx GetProductExForEntity(TableEntity entity) + { + try + { + var productEx = new ProductEx + { + ETag = entity.ETag.ToString(), + PartitionKey = entity.PartitionKey, + RowKey = entity.RowKey, + Timestamp = entity.Timestamp.HasValue ? entity.Timestamp.Value.DateTime : DateTime.MinValue, + ProductID = entity.ContainsKey("ProductID") ? int.Parse(entity["ProductID"].ToString()) : 0, + ProductName = entity.ContainsKey("ProductName") ? entity["ProductName"].ToString() : string.Empty, + SupplierID = entity.ContainsKey("SupplierID") ? int.Parse(entity["SupplierID"].ToString()) : 0, + CategoryID = entity.ContainsKey("CategoryID") ? int.Parse(entity["CategoryID"].ToString()) : 0, + QuantityPerUnit = entity.ContainsKey("QuantityPerUnit") ? entity["QuantityPerUnit"].ToString() : string.Empty, + UnitPrice = entity.ContainsKey("UnitPrice") ? Convert.ToDecimal(entity["UnitPrice"]) : 0, + UnitsInStock = entity.ContainsKey("UnitsInStock") ? Convert.ToInt32(entity["UnitsInStock"]) : 0, + UnitsOnOrder = entity.ContainsKey("UnitsOnOrder") ? Convert.ToInt32(entity["UnitsOnOrder"]) : 0, + ReorderLevel = entity.ContainsKey("ReorderLevel") ? Convert.ToInt32(entity["ReorderLevel"]) : 0, + Discontinued = entity.ContainsKey("Discontinued") && Convert.ToBoolean(entity["Discontinued"]), + ImageUrl = entity.ContainsKey("ImageUrl") ? entity["ImageUrl"].ToString() : string.Empty + }; + + productEx.CategoryName = _categories[productEx.CategoryID.ToString()].CategoryName; + productEx.SupplierName = _suppliers[productEx.SupplierID.ToString()].CompanyName; + productEx.SupplierCity = _suppliers[productEx.SupplierID.ToString()].City; + productEx.UnitSales = _orderTotals[productEx.ProductID.ToString()].TotalQuantity; + productEx.InventoryValue = productEx.UnitsInStock * productEx.UnitPrice; + productEx.Revenue = _orderTotals[productEx.ProductID.ToString()].TotalRevenue; + productEx.AverageDiscount = Math.Round(productEx.Revenue / _orderTotals[productEx.ProductID.ToString()].TotalDiscount, 1); + productEx.InventoryStatus = Utils.GetInventoryStatus(productEx); + + return productEx; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + } + + public async Task GetProductExAsync(int productId) + { + var entity = await _productTableClient.GetEntityAsync(TableNames.Product, productId.ToString()); + return GetProductExForEntity(entity.Value); + } + + public async Task UpdateProductAsync(IProductEx updatedProduct) + { + var entity = await _productTableClient.GetEntityAsync(TableNames.Product, updatedProduct.ProductID.ToString()); + if (entity == null) + { + throw new Exception("Product not found"); + } + var mergedEntity = entity.Value; + mergedEntity["ProductName"] = updatedProduct.ProductName; + mergedEntity["SupplierID"] = updatedProduct.SupplierID; + mergedEntity["CategoryID"] = updatedProduct.CategoryID; + mergedEntity["QuantityPerUnit"] = updatedProduct.QuantityPerUnit; + mergedEntity["UnitPrice"] = updatedProduct.UnitPrice; + mergedEntity["UnitsInStock"] = updatedProduct.UnitsInStock; + mergedEntity["UnitsOnOrder"] = updatedProduct.UnitsOnOrder; + mergedEntity["ReorderLevel"] = updatedProduct.ReorderLevel; + mergedEntity["Discontinued"] = updatedProduct.Discontinued; + mergedEntity["ImageUrl"] = updatedProduct.ImageUrl; + + await _productTableClient.UpdateEntityAsync(mergedEntity, mergedEntity.ETag, TableUpdateMode.Merge); + } + } + + internal class OrderTotals + { + public int TotalQuantity { get; set; } + public decimal TotalRevenue { get; set; } + public decimal TotalDiscount { get; set; } + } +} diff --git a/samples/msgext-northwind-inventory-csharp/Program.cs b/samples/msgext-northwind-inventory-csharp/Program.cs new file mode 100644 index 0000000..81b4f27 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Program.cs @@ -0,0 +1,77 @@ +using NorthwindInventory; +using NorthwindInventory.Bots; +using NorthwindInventory.DbSetup; +using Microsoft.Bot.Builder; +using Microsoft.Bot.Builder.Integration.AspNet.Core; +using Microsoft.Bot.Connector.Authentication; + +var builder = WebApplication.CreateBuilder(args); + +// Load configuration from appsettings.json +builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true); + +// Register configuration in the service collection +builder.Services.AddSingleton(builder.Configuration); + +// Retrieve the storage connection string from the configuration +var storageConnectionString = builder.Configuration["StorageConnectionString"]; + +if (string.IsNullOrEmpty(storageConnectionString)) +{ + throw new ArgumentNullException(nameof(storageConnectionString), "Storage connection string cannot be null or empty."); +} + +// Set up services +builder.Services.AddControllers(); +builder.Services.AddHttpClient("WebClient", client => client.Timeout = TimeSpan.FromSeconds(600)); +builder.Services.AddHttpContextAccessor(); + +// Configure Bot Framework Authentication +builder.Services.AddSingleton(new ConfigurationBotFrameworkAuthentication(builder.Configuration)); +builder.Services.AddSingleton(); + +// Create the Bot Framework Adapter with error handling enabled. +builder.Services.AddSingleton(); + +// Create the bot as a transient. In this case the ASP Controller is expecting an IBot. +builder.Services.AddTransient(); + +// Register the AzureTableSetup service +builder.Services.AddSingleton(sp => new AzureTableSetup(storageConnectionString)); + +// Build the application +var app = builder.Build(); + +// Run the SetupTablesAndDataAsync method on startup +using (var scope = app.Services.CreateScope()) +{ + var services = scope.ServiceProvider; + try + { + var azureTableSetup = services.GetRequiredService(); + await azureTableSetup.SetupTablesAndDataAsync(); + } + catch (Exception ex) + { + // Handle exceptions + Console.WriteLine($"An error occurred during table setup: {ex.Message}"); + } +} + +if (app.Environment.IsDevelopment()) +{ + app.UseDeveloperExceptionPage(); +} +app.UseStaticFiles(); + +app.UseRouting(); + +app.UseAuthentication(); +app.UseAuthorization(); + +app.UseEndpoints(endpoints => +{ + endpoints.MapControllers(); +}); + +app.Run(); diff --git a/samples/msgext-northwind-inventory-csharp/Properties/launchSettings.json b/samples/msgext-northwind-inventory-csharp/Properties/launchSettings.json new file mode 100644 index 0000000..1de09d9 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/Properties/launchSettings.json @@ -0,0 +1,13 @@ +{ + "profiles": { + "Start Project": { + "commandName": "Project", + "dotnetRunMessages": true, + "applicationUrl": "https://localhost:7130;http://localhost:5130", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "hotReloadProfile": "aspnetcore" + } + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/README.md b/samples/msgext-northwind-inventory-csharp/README.md new file mode 100644 index 0000000..d8d506d --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/README.md @@ -0,0 +1,86 @@ +--- +page_type: sample +description: This sample implements a Teams message extension that can be used as a plugin for Microsoft Copilot for Microsoft 365. The message extension allows users to query the Northwind Database. +products: +- office-teams +- copilot-m365 +languages: +- dotnet +- csharp +--- + +# Northwind inventory message extension sample + +![License.](https://img.shields.io/badge/license-MIT-green.svg) + +This sample implements a Teams message extension that can be used as a plugin for Microsoft Copilot for Microsoft 365. The message extension allows users to query the [Northwind Database](https://learn.microsoft.com/dotnet/framework/data/adonet/sql/linq/downloading-sample-databases). + +![Screenshot of the sample extension working in Copilot in Microsoft Teams](./lab/images/03-03a-response-on-chai.png) + +## Version history + +Version|Manifest version|Date|Author|Comments +-------|--|--|----|-------- +1.0.0|1.16|July 08, 2024 |Jegadeesh V
Wajeed Shaikh|Initial release for Csharp labs + +## Prerequisites + +- [Visual Studio 2022 17.10+](https://visualstudio.microsoft.com) +- [Azure subscription](https://portal.azure.com) +- [Teams Toolkit for Visual Studio](https://learn.microsoft.com/microsoftteams/platform/toolkit/toolkit-v4/install-teams-toolkit-vs?pivots=visual-studio-v17-7) +- You will need a Microsoft work or school account with [permissions to upload custom Teams applications](https://learn.microsoft.com/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant#enable-custom-teams-apps-and-turn-on-custom-app-uploading). The account will also need a Microsoft Copilot for Microsoft 365 license to use the extension in Copilot. +- You will need to create [local Azure Storage](https://learn.microsoft.com/azure/storage/common/storage-use-azurite?tabs=visual-studio%2Cblob-storage#running-azurite-from-an-aspnet-project). + +## Setup and use the sample + +For instructions on setting up and running the sample, see the [lab exercises](./lab/Exercise%2000%20-%20Welcome.md). + +## Example prompts for Copilot + +Here are some ideas for prompts to try. If you don't get the result you expect, try typing "new chat" and then trying again. + +### Single parameter prompts + +- *Find Chai in Northwind Inventory* + +- *Who supplies discounted produce to Northwind?* + +- *Find high revenue products in Northwind. Have there been any ad campaigns for these products?* + + > [!NOTE] + > The ad campaign details are in the [sample documents](./sampleDocs/). + +### Multi-parameter prompts + +- *Find northwind dairy products that are low on stock. Show me a table with the product, supplier, units in stock and on order. Reference the details for each product.* + + (then) + + *OK can you draft an email to our procurement team asking them if we've had any delivery issues with these suppliers?* + +- *Find Northwind beverages with more than 100 units in stock* + + (then) + + *What are the payment terms for these suppliers?* + + > [!NOTE] + > The answer to the 2nd question is in the [sample documents](./sampleDocs/). + +- *We’ve been receiving partial orders for Tofu. Find the supplier in Northwind and draft an email summarizing our inventory and reminding them they should stop sending partial orders per our MOQ policy.* + + > [!NOTE] + > The MOQ policy is in one of the [sample documents](./sampleDocs/). + +- *Northwind will have a booth at Microsoft Community Days in London. Find products with local suppliers and write a LinkedIn post to promote the booth and products.* + + (then) + + *Emphasize how delicious the products are and encourage people to visit our booth at the conference* + +- *What beverage is high in demand due to social media that is low stock in Northwind in London. Reference the product details to update stock.* + + > [!NOTE] + > There is a document that discusses a social media campaign for one of the products in the [sample documents](./sampleDocs/). + +![](https://m365-visitor-stats.azurewebsites.net/SamplesGallery/officedev-copilot-for-m365-plugins-samples-msgext-northwind-inventory-csharp) \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/TeamsApp.ttkproj b/samples/msgext-northwind-inventory-csharp/TeamsApp/TeamsApp.ttkproj new file mode 100644 index 0000000..1b56873 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/TeamsApp.ttkproj @@ -0,0 +1,9 @@ + + + + 4870a082-d13a-4260-8ca7-020d24c3fa77 + + + + + \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-dev.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-dev.png new file mode 100644 index 0000000..02d0137 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-dev.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-green.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-green.png new file mode 100644 index 0000000..d753639 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-green.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-local.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-local.png new file mode 100644 index 0000000..d161388 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-local.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-orange.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-orange.png new file mode 100644 index 0000000..a5ca392 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-orange.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-purple.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-purple.png new file mode 100644 index 0000000..9c1ad14 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-purple.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-red.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-red.png new file mode 100644 index 0000000..210989f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-192-red.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-32.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-32.png new file mode 100644 index 0000000..48822ff Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/Northwind-Logo3-32.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/color.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/color.png new file mode 100644 index 0000000..f27ccf2 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/color.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/manifest.json b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/manifest.json new file mode 100644 index 0000000..6d6cd31 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/manifest.json @@ -0,0 +1,109 @@ +{ + "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json", + "manifestVersion": "1.16", + "version": "1.0.0", + "id": "${{TEAMS_APP_ID}}", + "packageName": "com.microsoft.teams.extension.northwindinv", + "developer": { + "name": "App Camp", + "websiteUrl": "https://www.example.com", + "privacyUrl": "https://www.example.com/termofuse", + "termsOfUseUrl": "https://www.example.com/privacy" + }, + "icons": { + "color": "Northwind-Logo3-192-${{TEAMSFX_ENV}}.png", + "outline": "Northwind-Logo3-32.png" + }, + "name": { + "short": "Northwind Inventory", + "full": "Northwind Inventory App" + }, + "description": { + "short": "App allows you to find and update product inventory information", + "full": "Northwind Inventory is the ultimate tool for managing your product inventory. With its intuitive interface and powerful features, you'll be able to easily find your products by name, category, inventory status, and supplier city. You can also update inventory information with the app. \n\n **Why Choose Northwind Inventory:** \n\n Northwind Inventory is the perfect solution for businesses of all sizes that need to keep track of their inventory. Whether you're a small business owner or a large corporation, Northwind Inventory can help you stay on top of your inventory management needs. \n\n **Features and Benefits:** \n\n - Easy Product Search through Microsoft Copilot. Simply start by saying, 'Find northwind dairy products that are low on stock' \r - Real-Time Inventory Updates: Keep track of inventory levels in real-time and update them as needed \r - User-Friendly Interface: Northwind Inventory's intuitive interface makes it easy to navigate and use \n\n **Availability:** \n\n To use Northwind Inventory, you'll need an active Microsoft 365 account . Ensure that your administrator enables the app for your Microsoft 365 account." + }, + "accentColor": "#3690E9", + "bots": [ + { + "botId": "${{AAD_APP_CLIENT_ID}}", + "scopes": [ "personal", "team", "groupchat" ], + "isNotificationOnly": false, + "supportsFiles": false + } + ], + "composeExtensions": [ + { + "botId": "${{AAD_APP_CLIENT_ID}}", + "commands": [ + { + "id": "inventorySearch", + "context": [ + "compose", + "commandBox" + ], + "description": "Search products by name, category, inventory status, supplier location, stock level", + "title": "Product inventory", + "type": "query", + "parameters": [ + { + "name": "productName", + "title": "Product name", + "description": "Enter a product name here", + "inputType": "text" + }, + { + "name": "categoryName", + "title": "Category name", + "description": "Enter the category of the product", + "inputType": "text" + }, + { + "name": "inventoryStatus", + "title": "Inventory status", + "description": "Enter what status of the product inventory. Possible values are 'in stock', 'low stock', 'on order', or 'out of stock'", + "inputType": "text" + }, + { + "name": "supplierCity", + "title": "Supplier city", + "description": "Enter the supplier city of product", + "inputType": "text" + }, + { + "name": "stockQuery", + "title": "Stock level", + "description": "Enter a range of integers such as 0-42 or 100- (for >100 items). Only use if you need an exact numeric range.", + "inputType": "text" + } + ] + }, + { + "id": "discountSearch", + "context": [ + "compose", + "commandBox" + ], + "description": "Search for discounted products by category", + "title": "Discounts", + "type": "query", + "parameters": [ + { + "name": "categoryName", + "title": "Category name", + "description": "Enter the category to find discounted products", + "inputType": "text" + } + ] + } + ] + } + + ], + "configurableTabs": [], + "staticTabs": [], + "permissions": [ + "identity", + "messageTeamMembers" + ], + "validDomains": [] +} diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/outline.png b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/outline.png new file mode 100644 index 0000000..e8cb4b6 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/TeamsApp/appPackage/outline.png differ diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/env/.env.local b/samples/msgext-northwind-inventory-csharp/TeamsApp/env/.env.local new file mode 100644 index 0000000..e0a64ae --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/env/.env.local @@ -0,0 +1,23 @@ +# This file includes environment variables that can be committed to git. It's gitignored by default because it represents your local development environment. + +# Built-in environment variables +TEAMSFX_ENV=local +APP_NAME_SUFFIX=local + +# Generated during provision, you can also add your own variables. +TEAMS_APP_ID= +RESOURCE_SUFFIX= +AZURE_SUBSCRIPTION_ID= +AZURE_RESOURCE_GROUP_NAME= +AAD_APP_CLIENT_ID= +AAD_APP_OBJECT_ID= +AAD_APP_TENANT_ID= +AAD_APP_OAUTH_AUTHORITY= +AAD_APP_OAUTH_AUTHORITY_HOST= +TEAMS_APP_TENANT_ID= +MICROSOFT_APP_TYPE= +MICROSOFT_APP_TENANT_ID= +TEAMSFX_M365_USER_NAME= + +BOT_ENDPOINT= +BOT_DOMAIN= \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.bicep b/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.bicep new file mode 100644 index 0000000..c3ce051 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.bicep @@ -0,0 +1,44 @@ +@maxLength(20) +@minLength(4) +@description('Used to generate names for all resources in this file') +param resourceBaseName string + +@description('Required when create Azure Bot service') +param botAadAppClientId string + +param botAppDomain string + +@maxLength(42) +param botDisplayName string + +param botServiceName string = resourceBaseName +param botServiceSku string = 'F0' +param microsoftAppType string +param microsoftAppTenantId string + +// Register your web service as a bot with the Bot Framework +resource botService 'Microsoft.BotService/botServices@2021-03-01' = { + kind: 'azurebot' + location: 'global' + name: botServiceName + properties: { + displayName: botDisplayName + endpoint: 'https://${botAppDomain}/api/messages' + msaAppId: botAadAppClientId + msaAppType: microsoftAppType + msaAppTenantId: microsoftAppType == 'SingleTenant' ? microsoftAppTenantId : '' + } + sku: { + name: botServiceSku + } +} + +// Connect the bot service to Microsoft Teams +resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@2021-03-01' = { + parent: botService + location: 'global' + name: 'MsTeamsChannel' + properties: { + channelName: 'MsTeamsChannel' + } +} diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.parameters.json b/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.parameters.json new file mode 100644 index 0000000..c3d42e6 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/infra/azure.parameters.json @@ -0,0 +1,24 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "resourceBaseName": { + "value": "bot${{RESOURCE_SUFFIX}}" + }, + "botAadAppClientId": { + "value": "${{AAD_APP_CLIENT_ID}}" + }, + "botAppDomain": { + "value": "${{BOT_DOMAIN}}" + }, + "botDisplayName": { + "value": "msgext-northwind-inventory-csharp" + }, + "microsoftAppType": { + "value": "${{MICROSOFT_APP_TYPE}}" + }, + "microsoftAppTenantId": { + "value": "${{MICROSOFT_APP_TENANT_ID}}" + } + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/launchSettings.json b/samples/msgext-northwind-inventory-csharp/TeamsApp/launchSettings.json new file mode 100644 index 0000000..5687410 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/launchSettings.json @@ -0,0 +1,9 @@ +{ + "profiles": { + // Debug project within Teams + "Microsoft Teams (browser)": { + "commandName": "Project", + "launchUrl": "https://teams.microsoft.com/l/app/${{TEAMS_APP_ID}}?installAppPackage=true&webjoin=true&appTenantId=${{TEAMS_APP_TENANT_ID}}&login_hint=${{TEAMSFX_M365_USER_NAME}}" + } + } +} \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.local.yml b/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.local.yml new file mode 100644 index 0000000..dad2fdc --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.local.yml @@ -0,0 +1,85 @@ +# yaml-language-server: $schema=https://aka.ms/teams-toolkit/v1.2/yaml.schema.json +# Visit https://aka.ms/teamsfx-v5.0-guide for details on this file +# Visit https://aka.ms/teamsfx-actions for details on actions +version: v1.2 + +additionalMetadata: + sampleTag: Microsoft-Teams-Samples:msgext-northwind-inventory-csharp-csharp + +provision: + - uses: aadApp/create # Creates a new Azure Active Directory (AAD) app to authenticate users if the environment variable that stores clientId is empty + with: + name: msgext-northwind-inventory-csharp-aad # Note: when you run aadApp/update, the AAD app name will be updated based on the definition in manifest. If you don't want to change the name, make sure the name in AAD manifest is the same with the name defined here. + generateClientSecret: true # If the value is false, the action will not generate client secret for you + signInAudience: "AzureADMultipleOrgs" # Multitenant + writeToEnvironmentFile: # Write the information of created resources into environment file for the specified environment variable(s). + clientId: AAD_APP_CLIENT_ID + clientSecret: SECRET_AAD_APP_CLIENT_SECRET # Environment variable that starts with `SECRET_` will be stored to the .env.{envName}.user environment file + objectId: AAD_APP_OBJECT_ID + tenantId: AAD_APP_TENANT_ID + authority: AAD_APP_OAUTH_AUTHORITY + authorityHost: AAD_APP_OAUTH_AUTHORITY_HOST + + # Creates a Teams app + - uses: teamsApp/create + with: + # Teams app name + name: msgext-northwind-inventory-csharp-${{TEAMSFX_ENV}} + # Write the information of created resources into environment file for + # the specified environment variable(s). + writeToEnvironmentFile: + teamsAppId: TEAMS_APP_ID + + - uses: script + with: + run: + # echo "::set-teamsfx-env MICROSOFT_APP_TYPE=SingleTenant"; + echo "::set-teamsfx-env MICROSOFT_APP_TYPE=MultiTenant"; + echo "::set-teamsfx-env MICROSOFT_APP_TENANT_ID=${{AAD_APP_TENANT_ID}}"; + + # Generate runtime appsettings to JSON file + - uses: file/createOrUpdateJsonFile + with: + target: ../appsettings.json + content: + MicrosoftAppId: ${{AAD_APP_CLIENT_ID}} + MicrosoftAppPassword: ${{SECRET_AAD_APP_CLIENT_SECRET}} + MicrosoftAppType: ${{MICROSOFT_APP_TYPE}} + MicrosoftAppTenantId: ${{MICROSOFT_APP_TENANT_ID}} + + - uses: arm/deploy # Deploy given ARM templates parallelly. + with: + subscriptionId: ${{AZURE_SUBSCRIPTION_ID}} # The AZURE_SUBSCRIPTION_ID is a built-in environment variable. TeamsFx will ask you select one subscription if its value is empty. You're free to reference other environment varialbe here, but TeamsFx will not ask you to select subscription if it's empty in this case. + resourceGroupName: ${{AZURE_RESOURCE_GROUP_NAME}} # The AZURE_RESOURCE_GROUP_NAME is a built-in environment variable. TeamsFx will ask you to select or create one resource group if its value is empty. You're free to reference other environment varialbe here, but TeamsFx will not ask you to select or create resource grouop if it's empty in this case. + templates: + - path: ./infra/azure.bicep + parameters: ./infra/azure.parameters.json + deploymentName: Create-resources-for-bot + bicepCliVersion: v0.9.1 # Teams Toolkit will download this bicep CLI version from github for you, will use bicep CLI in PATH if you remove this config. + + # Validate using manifest schema + - uses: teamsApp/validateManifest + with: + # Path to manifest template + manifestPath: ./appPackage/manifest.json + + # Build Teams app package with latest env value + - uses: teamsApp/zipAppPackage + with: + # Path to manifest template + manifestPath: ./appPackage/manifest.json + outputZipPath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip + outputJsonPath: ./appPackage/build/manifest.${{TEAMSFX_ENV}}.json + # Validate app package using validation rules + - uses: teamsApp/validateAppPackage + with: + # Relative path to this file. This is the path for built zip file. + appPackagePath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip + + # Apply the Teams app manifest to an existing Teams app in + # Teams Developer Portal. + # Will use the app id in manifest file to determine which Teams app to update. + - uses: teamsApp/update + with: + # Relative path to this file. This is the path for built zip file. + appPackagePath: ./appPackage/build/appPackage.${{TEAMSFX_ENV}}.zip diff --git a/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.yml b/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.yml new file mode 100644 index 0000000..4ee8ccf --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/TeamsApp/teamsapp.yml @@ -0,0 +1,9 @@ +# yaml-language-server: $schema=https://aka.ms/teams-toolkit/v1.2/yaml.schema.json +# Visit https://aka.ms/teamsfx-v5.0-guide for details on this file +# Visit https://aka.ms/teamsfx-actions for details on actions +version: v1.2 + +additionalMetadata: + sampleTag: Microsoft-Teams-Samples:msgext-northwind-inventory-csharp-csharp + +environmentFolderPath: ./env \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/appsettings.json b/samples/msgext-northwind-inventory-csharp/appsettings.json new file mode 100644 index 0000000..fa90940 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/appsettings.json @@ -0,0 +1,7 @@ +{ + "MicrosoftAppType": "", + "MicrosoftAppId": "", + "MicrosoftAppPassword": "", + "MicrosoftAppTenantId": "", + "StorageConnectionString": "" +} diff --git a/samples/msgext-northwind-inventory-csharp/appsettings.sample.json b/samples/msgext-northwind-inventory-csharp/appsettings.sample.json new file mode 100644 index 0000000..b2ee5c6 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/appsettings.sample.json @@ -0,0 +1,3 @@ +{ + "StorageConnectionString": "UseDevelopmentStorage=true" +} diff --git a/samples/msgext-northwind-inventory-csharp/assets/plugin.png b/samples/msgext-northwind-inventory-csharp/assets/plugin.png new file mode 100644 index 0000000..ae31555 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/assets/plugin.png differ diff --git a/samples/msgext-northwind-inventory-csharp/assets/sample.json b/samples/msgext-northwind-inventory-csharp/assets/sample.json new file mode 100644 index 0000000..29ccdbb --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/assets/sample.json @@ -0,0 +1,65 @@ +[ + { + "name": "officedev-copilot-for-m365-plugins-samples-msgext-northwind-inventory-csharp", + "source": "officedev", + "title": "Northwind Inventory plugin for Copilot for Microsoft 365", + "shortDescription": "This sample implements a Teams message extension that can be used as a plugin for Microsoft Copilot for Microsoft 365.", + "url": "https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/tree/main/samples/msgext-northwind-inventory-csharp", + "downloadUrl": "https://pnp.github.io/download-partial/?url=https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/tree/main/samples/msgext-northwind-inventory-csharp", + "longDescription": [ + "This sample implements a Teams message extension that can be used as a plugin for Microsoft Copilot for Microsoft 365. The message extension allows users to query the Northwind Database" + ], + "creationDateTime": "2024-07-10", + "updateDateTime": "2024-07-10", + "products": [ + "Microsoft Teams", + "Microsoft 365 Copilot" + ], + "metadata": [ + { + "key": "PLATFORM", + "value": ".Net" + }, + { + "key": "LANGUAGE", + "value": "Csharp" + }, + { + "key": "TEAMS-PACKAGE", + "value": "Yes" + } + ], + "thumbnails": [ + { + "type": "image", + "order": 50, + "url": "https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/raw/main/samples/msgext-northwind-inventory-csharp/assets/plugin.png", + "alt": "Screenshot of the sample extension working in Copilot in Microsoft Teams" + } + ], + "authors": [ + { + "gitHubAccount": "Jegadeesh-MSFT", + "pictureUrl": "https://github.com/Jegadeesh-MSFT.png", + "name": "Jegadeesh V" + }, + { + "gitHubAccount": "Wajeed-msft", + "pictureUrl": "https://github.com/Wajeed-msft.png", + "name": "Wajeed Shaikh" + } + ], + "references": [ + { + "name": "Extend Microsoft Copilot for Microsoft 365", + "description": "Learn more about how to extend Microsoft Copilot for Microsoft 365", + "url": "https://aka.ms/extendcopilotm365" + }, + { + "name": "Teams Toolkit for Visual Studio", + "description": "Learn more about the Teams Toolkit for Visual Studio.", + "url": "https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/toolkit-v4/install-teams-toolkit-vs?pivots=visual-studio-v17-7" + } + ] + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 00 - Welcome.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 00 - Welcome.md new file mode 100644 index 0000000..045f480 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 00 - Welcome.md @@ -0,0 +1,29 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +## Lab Instructions + +In this lab, you'll learn to use Teams Message Extensions as plugins in Microsoft Copilot for Microsoft 365. The lab is based on the "Northwind Inventory" sample contained in this same [Github repository](https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/tree/main/samples/msgext-northwind-inventory-csharp). By using the venerable [Northwind Database](https://learn.microsoft.com/dotnet/framework/data/adonet/sql/linq/downloading-sample-databases), you'll have plenty of simulated enterprise data to work with. + +Northwind operates a specialty foods e-commerce business out of Walla Walla, Washington. In this lab, you will be working with the Northwind Inventory application, which provides access to product inventory and financial information. + +In **Exercise 1**, you'll set up your development environment and get the application running. + +Then, in **Exercise 2**, you'll run the application as a plugin for Copilot for Microsoft 365. You will experiment with various prompts and you will observe how the plugin gets invoked using different parameters. As you chat with Copilot, you can watch the developer console to see queries it's making. + +In **Exercise 3**, you will learn how to add a new command to the application, so that you can expand the plugin capabilities and perform more tasks. + +Then in **Exercise 4** you'll run the same application as a [message extension](https://learn.microsoft.com/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions) in Microsoft Teams and Outlook. +The message extension allows users to find products and share them in conversations using adaptive cards. These cards allow users in the conversation to take actions such as updating the stock level or restocking a product; this is a huge convenience as people collaborate at work. + +![Adaptive card displaying a product](./images/01-00-Product-card-only.png) + +Finally, **in Exercise 5** you'll go on a tour of the code to see how it works in more depth. This lab is open source, so you can try it at home! If you don't yet have Copilot, everything else will still work. + +TABLE OF CONTENTS + +* Welcome (THIS PAGE) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample as Message Extension +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md) - Add a new command +* [Exercise 5](./Exercise%2004%20-%20Code%20tour.md) - Code tour \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 01 - Set up.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 01 - Set up.md new file mode 100644 index 0000000..77e0dba --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 01 - Set up.md @@ -0,0 +1,103 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* Exercise 1 - Set up your development Environment **(THIS PAGE)** +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample as a Message Extension +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md) - Add a new command +* [Exercise 5](./Exercise%2005%20-%20Code%20tour.md) - Code tour + +## Exercise 1 - Set up your development environment + +## Step 1 - Install prerequisites + +**To complete these exercises, you will need a login to a Microsoft 365 subscription with permission to upload applications. The following instructions will explain how to get one.** + +**To complete Exercise 3, the account must also be licensed for Microsoft Copilot for Microsoft 365.** + +If this is a new tenant, it's a good idea to log into the [Microsoft 365 page](https://office.com) at [https://office.com](https://office.com) before beginning. Depending on how the tenant is configured, you may be asked to set up multi-factor authentication. Ensure you can access Microsoft Teams and Microsoft Outlook before proceeding. + +Please install the following on your computer: + +1. [Visual Studio](https://visualstudio.microsoft.com/) (latest version) + +2. [Azure Storage Explorer](https://azure.microsoft.com/products/storage/storage-explorer/) (OPTIONAL) - Download this if you want to view and edit the Northwind database used in this sample + +## Step 2 - Download the sample code + +Please [clone](https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples.git) or [download](https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples.git) the sample repository: [https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/](https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/). + +Within the cloned or downloaded repository, navigate to the **samples/msgext-northwind-inventory-csharp** folder. These labs will refer to this as your "working folder" since this is where you'll be working. + +## Step 3 - Copy sample documents to your test user's OneDrive + +The sample application includes some documents for Copilot to reference during the labs. In this step you will copy these files to your user's OneDrive so Copilot can find them. Depending on how the tenant is set up, you may be asked to set up multi-factor authentication as part of this process. + +Open your browser and browse to Microsoft 365 ([https://www.office.com/](https://www.office.com/)). Log in using the Microsoft 365 account you will be using throughout the lab. You may be asked to set up multi-factor authentication. + +Using the "waffle" menu in the upper left corner of the page 1️⃣ , navigate to the OneDrive application within Microsoft 365 2️⃣ . + +![Navigating to the OneDrive application in Microsoft 365](./images/01-02-CopySampleFiles-01.png) + +Within OneDrive, navigate to "My Files" 1️⃣ . If there's a documents folder, click into that as well. If not, you can work directly within the "My Files" location. + +![Navigating to your documents in OneDrive](./images/01-02-CopySampleFiles-02.png) + +Now click "Add new" 1️⃣ and "Folder" 2️⃣ to create a new folder. + +![Adding a new folder in OneDrive](./images/01-02-CopySampleFiles-03.png) + +Name the folder "Northwind contracts" and click "Create". + +![Naming the new folder "Northwind contracts"](./images/01-02-CopySampleFiles-03b.png) + +Now, from within this new folder, click "Add new" 1️⃣ again but this time click "Files upload" 2️⃣ . + +![Adding new files to the new folder](./images/01-02-CopySampleFiles-04.png) + +Now browse to the **sampleDocs** folder within your working folder. Highlight all the files 1️⃣ and click "OK" 2️⃣ to upload them all. + +![Uploading the sample files from this repo into the folder](./images/01-02-CopySampleFiles-05.png) + +By doing this step early, there's a good chance that the Microsoft 365 search engine will have discovered them by the time you're ready for them. + +## Step 4 - Install and set up Teams Toolkit for Visual Studio + +Install Teams Toolkit for Visual Studio [Teams Toolkit](https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/toolkit-v4/install-teams-toolkit-vs?pivots=visual-studio-v17-7) + +![Installing Teams Toolkit in Visual Studio](./images/01-04-visual-studio-install.png) + +In the debug dropdown menu of Visual Studio, select Dev Tunnels > Create A Tunnel (set authentication type to Public) or select an existing public dev tunnel. + +![Create dev tunnel](./images/01-04-create-devtunnel-01.png) + +![Create dev tunnel](./images/01-04-create-devtunnel-02.png) + +In the debug dropdown menu of Visual Studio, select default startup project > **Microsoft Teams (browser)** + +![select debug profile](./images/01-04-debug-dropdown.png) + +In Visual Studio, right-click your **TeamsApp** project and **Select Teams Toolkit > Prepare Teams App Dependencies** + +![Prepare Teams App Dependencies](./images/01-04-prepare-dependencies-01.png) + +Sign in with your Microsoft 365 account where you have permissions to upload custom apps. + +![Prepare Teams App Dependencies](./images/01-04-prepare-dependencies-02.png) + +Select existing or create a new resource group and subscription. Click **Provision** button. + +![Prepare Teams App Dependencies](./images/01-04-prepare-dependencies-03.png) + +Once the provisioning is completed, you will receive a message box as shown below. + +![Prepare Teams App Dependencies](./images/01-04-prepare-dependencies-04.png) + +> If you do not have permission to upload custom apps (sideloading), Teams Toolkit will recommend creating and using a Microsoft 365 Developer Program account - a free program to get your own dev environment sandbox that includes Teams. + +## Congratulations + +You have completed Exercise 1. +Please proceed to [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) in which you will run the sample application locally. diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 02 - Run sample app.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 02 - Run sample app.md new file mode 100644 index 0000000..9f279f9 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 02 - Run sample app.md @@ -0,0 +1,252 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* Exercise 2 - Run the sample as a Message Extension **(THIS PAGE)** +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md) - Add a new command +* [Exercise 5](./Exercise%2005%20-%20Code%20tour.md) - Code tour + +## Exercise 2 - Run the sample as a Message Extension + +## Step 1 - Set up the project for first use + +Open your working folder in Visual Studio. + +Teams Toolkit stores environment variables in the **env** folder, and it will fill in all the values automatically to **appsettings.json** when you start your project the first time. However there's one value that's specific to the sample application, and that's the connection string for accessing the Northwind database. + +In this project, the Northwind database is stored in Azure Table Storage; when you're debugging locally, it uses the [Azurite](https://learn.microsoft.com/azure/storage/common/storage-use-azurite?tabs=visual-studio%2Cblob-storage#running-azurite-from-an-aspnet-project) storage emulator. That's mostly built into the project, but the project won't build unless you provide the connection string. + +The necessary setting is provided in a file **appsettings.sample.json** under msgext-northwind-inventory-csharp project. Copy the **"StorageConnectionString": "UseDevelopmentStorage=true"** value from this file, and add it to **appsettings.json**. This is where secret or sensitive settings are stored. + +The resulting **appsettings.json** file should be similar to the one below: + +~~~text +{ + "MicrosoftAppType": "{Some value}", + "MicrosoftAppId": "{Some value}", + "MicrosoftAppPassword": "{Some value}", + "MicrosoftAppTenantId": "{Some value}", + "StorageConnectionString": "UseDevelopmentStorage=true" +} +~~~ + +- Running Azurite from an ASP.NET project + +Right-click on "Connected Services" in Solution Explorer and select **Add** from the dropdown menu. Choose **Azure Storage**. + +![Running Azurite](./images/02-01-Running-Azurite-01.png) + +Select service dependency **Storage Azurite emulator(local)** and click **Next**. + +![Running Azurite](./images/02-01-Running-Azurite-02.png) + +Provide connection string name as **StorageConnectionString** and click **Finish**. + +![Running Azurite](./images/02-01-Running-Azurite-03.png) + +When the configuration completes, select Close, and the Azurite emulator starts automatically. The output looks similar to the following screenshot. + +![Running Azurite](./images/02-01-Running-Azurite-04.png) + +- Enable Multi-Project Launch Profiles + +Click the "Debug" menu in Visual Studio and then select "Options". + +![Enable Multi-Project](./images/02-01-Enable-multiprojects-01.png) + +Navigate to Environment > Preview Features and check the checkbox labeled "Enable Multi-Project Launch Profiles". + +![Enable Multi-Project](./images/02-01-Enable-multiprojects-02.png) + +## Step 2 - Run the application locally + +Click F5 to start debugging, or click the start button 1️⃣. Make sure that the debug profile is **Microsoft Teams (browser)** 2️⃣. + +![Run application locally](./images/01-04-debug-dropdown.png) + +> Note : Running this sample for the first time may prompt you to trust the ASP.NET Core SSL Certificate. In that case, click "Yes". + +![SSL Certificate](./images/02-01-SSL-Certificate-01.png) + +Once you're in, Microsoft Teams should open up and display a dialog offering to install your application. +Take note of the information displayed; which is from the [app manifest](../TeamsApp/appPackage/manifest.json). + +Click "Add" to add Northwind Inventory as a personal application. + +![App installation screen with large Add button](./images/02-02-Run-Project-04.png) + +You should be directed to a chat within the application, however you could use the app in any chat. + +## Step 3 - Test in Microsoft Teams + +In any Teams chat - including the Northwind Inventory chat - begin typing a message 1️⃣ that refers to a product. Then, to insert an adaptive card for the product, click the + 2️⃣ . In the fly-up panel, select the Northwind Inventory application you just installed 3️⃣ . + +![Clicking the "+" to open the message extension panel](./images/02-03-TestME-Teams-take2-01.png) + +You will see a search dialog with 3 tabs 1️⃣. The "Product Inventory" tab allows searching for products by name; for now, just type a product name, or the beginning of a product name such as "chai" into the search box 2️⃣ . If you pause as you type the first letters, you'll be given more choices of products that begin with the same characters. + +Click Chai 3️⃣ to insert an adaptive card into the conversation along with your comment. + +![Selecting Chai from the results](./images/02-03-TestME-Teams-take2-02.png) + +You can see the card, but you can't use it until you send it. Make any final edits to your message and click "Send". + +![Sending the card](./images/02-03-TestME-Teams-take2-03.png) + +> NOTE: Card actions won't work until you send the card. If you get an error, please check and make sure you've sent the message and are working with the card after it has been sent. + +> NOTE: This is really only useful in conversations with other users; the chat in the Northwind Inventory app is just for testing. + +Notice that there is no chai on order 1️⃣ . The authors of this lab are big chai drinkers and they may be stopping by so you'd better order more! Click the "take action" button 2️⃣ to open a child card. Enter a quantity 3️⃣ and click the "Restock" button 4️⃣ . The card will refresh with (hopefully) a success message and an updated number of units on order. + +![Update the quantity of Chai in the adaptive card](./images/02-03-TestME-Teams-take2-04.png) + +You can cancel the order or modify the stock levels using the other two buttons. + +## Step 4 - Advanced queries + +Back in Visual Studio, have a look at the app manifest, which is in a file called **manifest.json** in the **appPackage** directory. You'll notice that the app information that was displayed when you installed the app is all here. + +Scroll down a bit to `composeExtensions:`. +Compose extensions is the historical name for a message extension; the Northwind Inventory message extension is defined here. + +Here's an abbreviated version of that JSON for easy reference. + +~~~json +"composeExtensions": [ + { + "botId": "${{BOT_ID}}", + "commands": [ + { + "id": "inventorySearch", + ... + "description": "Search products by name, category, inventory status, supplier location, stock level", + "title": "Product inventory", + "type": "query", + "parameters": [ ... ] + }, + { + "id": "discountSearch", + ... + "description": "Search for discounted products by category", + "title": "Discounts", + "type": "query", + "parameters": [ ...] + } + ] + } +], +~~~ + +Notice first that there's a bot ID. That's because Microsoft Teams uses the Azure bot channel to exchange secure, real-time messages with your application. Teams Toolkit will register the bot and fill in the ID for you. + +Then there's a collection of commands. These correspond to the tabs in the search dialog in Teams. In this application, the commands are really intended for Copilot more than regular users! + +You already ran the first command when you searched for a product by name. You can try the other one now. + +Enter "Beverages", "Dairy", or "Produce" into the "Discounts" tab, and you'll see the products within those categories that are discounted. Copilot will use this to answer questions about discounted products. + +![Searching for beverages under the discount tab](./images/02-03-Test-Multi-02.png) + +Now examine the first command again. You'll notice it has 5 parameters! + +~~~json +"parameters": [ + { + "name": "productName", + "title": "Product name", + "description": "Enter a product name here", + "inputType": "text" + }, + { + "name": "categoryName", + "title": "Category name", + "description": "Enter the category of the product", + "inputType": "text" + }, + { + "name": "inventoryStatus", + "title": "Inventory status", + "description": "Enter what status of the product inventory. Possible values are 'in stock', 'low stock', 'on order', or 'out of stock'", + "inputType": "text" + }, + { + "name": "supplierCity", + "title": "Supplier city", + "description": "Enter the supplier city of product", + "inputType": "text" + }, + { + "name": "stockQuery", + "title": "Stock level", + "description": "Enter a range of integers such as 0-42 or 100- (for >100 items). Only use if you need an exact numeric range.", + "inputType": "text" + } +] +~~~ + +Unfortunately, Teams can only display the first parameter, but Copilot can use all 5. This will allow it to do more advanced queries of the Northwind inventory data. + +As a work-around to the Teams UI limitation, in the "Northwind Inventory" tab, the application will accept up to 5 parameters comma separated, using the format: + +~~~text +name,category,inventoryStatus,supplierCity,supplierName +~~~ + +![Entering multiple comma separated fields into the Northwind Inventory tab](./images/02-03-Test-Multi-04.png) + +Read the descriptions in the JSON above carefully when entering a query. Try entering these, and as you do, keep an eye on the debug console tab in Visual Studio, where you'll see each query as it's run. + +* "chai" - find products with names that begin with "chai +* "c,bev" - find products in categories beginning with "bev" and names that begin with "c +* ",,out" - find products that are out of stock +* ",,on,london" - find products that are on order from suppliers in London +* "tofu,produce,,osaka" - find products in the "produce" category with suppliers in Osaka and names that begin with "tofu" + +Each query term filters the list of products down. The format of each query term is arbitrary - just be sure to explain it to Copilot in the description of each parameter. + +## Step 5 - Test in Microsoft Outlook (Optional) + +Let's take a brief detour so you can see how message extensions work in Microsoft Outlook. + +First, click the "Waffle" menu 1️⃣ and select "Outlook" 2️⃣ . + +![Opening Outlook for Microsoft 365](./images/02-04-Test-ME-Outlook-01.png) + +Click the "New mail" button to begin composing a message. + +![Creating a new email in Outlook](./images/02-04-Test-ME-Outlook-02.png) + +Add a recipient 1️⃣ and a subject 2️⃣ , and position your cursor in the body of the message 3️⃣ . You can even type something. When you're ready, click the app button in the toolbar 4️⃣ . + +![Clicking the App button while composing an Outlook message](./images/02-04-Test-ME-Outlook-03.png) + +Select the Northwind Inventory application, searching if necessary to find it. + +![Clicking the Northwind Inventory application](./images/02-04-Test-ME-Outlook-04.png) + +Now you can search for "Chai" 1️⃣ as before and select it to insert the adaptive card 2️⃣ . + +![Entering a search for Chai](./images/02-04-Test-ME-Outlook-05.png) + +Note that the adaptive card won't work until you send the message. If the recipient doesn't have Microsoft Outlook, they won't be able to view the card, and if they don't have the Northwind Inventory app installed, they won't be able to take action on it. + +![Taking action on a message in Outlook](./images/02-04-Test-ME-Outlook-07a.png) + +## Step 6 (optional) - View Northwind database in Azure Storage Explorer + +The Northwind Database isn't fancy but it's real! If you want to peek at or even modify the data, open the Azure Storage Explorer while Azurite is running. (Running the app starts Azurite automatically). + +To view the Northwind data, open "Emulator & Attached", "Storage Accounts", "Emulator - Default Ports", and "Tables". There you'll see the old Northwind database tables, which aren't nearly as handy in a NO SQL environment, but there they are! + +![Azure Storage Explorer showing the Northwind database tables](./images/02-06-AzureStorageExplorer-01.png) + +The code reads the Products table on each query, but the other tables are only accessed when the app starts. So if you want to add a new category, you'll need to restart the app for it to appear. + +## Congratulations + +You have completed Exercise 2. +Please proceed to [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) in which you will run the sample application in Microsoft Copilot for Microsoft 365! diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 03 - Run in Copilot.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 03 - Run in Copilot.md new file mode 100644 index 0000000..78a8d63 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 03 - Run in Copilot.md @@ -0,0 +1,114 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample as a Message Extension +* Exercise 3 - Run the sample as a Copilot plugin **(THIS PAGE)** +* [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md) - Add a new command +* [Exercise 5](./Exercise%2005%20-%20Code%20tour.md) - Code tour + +## Exercise 2 - Run the sample as a Copilot plugin + +> [!NOTE] +> To perform the following exercise, your account must have a valid license for Copilot for Microsoft 365. + +## Step 1 - Test in Microsoft Copilot for Microsoft 365 (single parameter) + +Begin by clicking the "Try the new Teams" switch to move to the new Teams client application. + +> [!IMPORTANT] +> Microsoft Copilot for Microsoft 365 only works in the "New" Teams. Please don't miss this step! + +> If you restart your debugger after switching to "New" teams, you may get an error message after the debugger starts. This is a known problem; please just close the error dialog and continue testing. + +In the left navigation, click on "Copilot" to open Copilot. + +Check the lower left of the chat user interface, below the compose box. You should see a plugin icon 1️⃣ . Click this and enable the Northwind Inventory plugin 2️⃣ . + +![Small panel with a toggle for each plugin](./images/03-02-Plugin-Panel.png) + +For best results, start a new chat by typing "New chat" or by clicking on the **New chat** icon at the top right before each prompt or set of related prompts. + +![Copilot showing its new chat screen](./images/03-01-New-Chat.png) + +Here are some prompts to try that use only a single parameter of the message extension: + +* "Find information about Chai in Northwind Inventory" + +* "Find discounted seafood in Northwind. Show a table with the products, supplier names, average discount rate, and revenue per period." + +See if this last one also locates any of the documents you uploaded to your OneDrive. + +You may see citations of the Northwind data in 3 forms. If there's a single reference, Copilot may show the whole card. + +![Adaptive card for Chai embedded in a Copilot response](./images/03-03a-response-on-chai.png) + +If there are multiple references, Copilot may show a small number next to each. You can hover over these numbers to display the adaptive card. References will also be listed below the response. + +![Reference numbers embedded in a Copilot response - hovering over the number shows the adaptive card](./images/03-03-Response-on-Chai.png) + +Try using these adaptive cards to take action on the products. Notice that this doesn't affect earlier responses from Copilot. + +Feel free to try making up your own prompts. You'll find that they only work if Copilot is able to query the plugin for the required information. This underscores the need to anticipate the kinds of prompts users will issue, and providing corresponding types of queries for each one. Having multiple parameters will make this more powerful! + +## Step 2 - Test in Microsoft Copilot for Microsoft 365 (multiple parameters) + +In this exercise, you'll try some prompts that exercise the multi-parameter feature in the sample plugin. These prompts will request data that can be retrieved by name, category, inventory status, supplier city, and stock level, as defined in [the manifest](../appPackage/manifest.json). + +For example, try prompting "Find Northwind beverages with more than 100 items in stock". To respond, Copilot must identify products: + +* where the category is "beverages" +* where inventory status is "in stock" +* where the stock level is more than 100 + +The plugin code applies all three filters, providing a result set of just 4 products. Using the information on the 4 resulting adaptive cards, Copilot renders a result similar to this: + +![Copilot produced a bulleted list of products with references](./images/03-06b-Find-Northwind-Beverages-with-more-than-100.png) + +By using this prompt, Copilot might look also in your OneDrive files to find the payment terms with each supplier's contract. In this case, you will notice that some of the references won't have the Northwind Inventory icon, but the Word one. + +![Copilot extracted payment terms from contracts in SharePoint](./images/03-06c-PaymentTerms.png) + +Here are some more prompts to try: + +* "Find Northwind dairy products that are low on stock. Show me a table with the product, supplier, units in stock and on order." + +* "We’ve been receiving partial orders for Tofu. Find the supplier in Northwind and draft an email summarizing our inventory and reminding them they should stop sending partial orders per our MOQ policy." + +* "Northwind will have a booth at Microsoft Community Days in London. Find products with local suppliers and write a LinkedIn post to promote the booth and products." + + Request an enhancement by prompting, + + "Emphasize how delicious the products are and encourage people to attend our booth" + +* "What beverage is high in demand due to social media that is low stock in Northwind in London. Reference the product details to update stock." + +Which prompts work best for you? Try making up your own prompts and observe your log messages to see how Copilot accesses your plugin. + +### Troubleshooting tip +If you're facing challenges while testing your plugin, you can enable 'developer mode'. Developer mode provides information on the plugin selected by the Copilot orchestrator to respond to the prompt. It also shows the available functions in the plugin and the API call's status code. + +To enable developer mode, type the following into Copilot: +``` +-developer on +``` +For additional information on common problems and how to fix them, see the [troubleshooting](Troubleshooting.md) guide. + +Now just execute your prompt. This time, the output will look like this: + +![The developer mode in action](./images/03-03b-developer-mode.png) + +As you can notice, below the response generated by Copilot, we have a table that provides us insightful information about what happened behind the scenes: + +- Under **Enabled plugins**, we can see that Copilot has identified that the Northwind Inventory plugin is enabled. +- Under **Matched functions**, we can see that Copilot has determined that the Northwind inventory plugin offers three functions: `inventorySearch`, `discountSearch`, and `companySearch`. +- Under **Selected functions for execution**, we can see that Copilot has selected the `inventorySearch` function to respond to the prompt. +- Under **Function execution details**, we can see some detailed information about the execution, like the HTTP response returned by the plugin to the Copilot engine. + +## Congratulations + +You have completed Exercise 3. +Please proceed to [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md), in which you will add a new command to the messaging extension. + diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 04 - Add a new command.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 04 - Add a new command.md new file mode 100644 index 0000000..fc5d27c --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 04 - Add a new command.md @@ -0,0 +1,237 @@ +# Building plugins for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample as a Message Extension +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* Exercise 4 - Add a new command **(THIS PAGE)** +* [Exercise 5](./Exercise%2005%20-%20Code%20tour.md) - Code tour + +## Exercise 4 - Add a new command + +In this exercise, you will enhance the Teams Message Extension (ME) / Copilot plugin by adding a new command. While the current message extension effectively provides information about products within the Northwind inventory database, it does not provide information related to Northwind’s customers. Your task is to introduce a new command associated with an API call that retrieves products ordered by a customer name specified by the user. This exercise assumes you have completed at least exercises 1 and 2. It's fine to skip Exercise 3 in case you don't have a Copilot for Microsoft 365 license. + +To do this you'll complete five tasks. +1. **Extend the Message Extension / plugin User Interface** by modifying the Teams app manifest. This includes introducing a new command: **"companySearch"**. Note the UI for the Message Extension is an adaptive card where for Copilot it is text input and output in Copilot chat. +2. **Create a handler for the 'companySearch' command**. This will parse the query string passed in from the message routing code, validate the input and call the product search by company API. This step will also populate an adaptive card with the returned product list which will be displayed in the ME or Copilot chat UI. +3. Update the command **routing** code to route the new command to the handler created in the previous step. You'll do this by extending the method called by the Bot Framework when users query the Northwind database (**OnTeamsMessagingExtensionQueryAsync**). +4. **Implement Product Search by Company** that returns a list of products ordered by that company. +5. **Run the app** and search of products that were purchased by a specified company. + +# Step 1 - Extend the Message Extension / plugin User Interface + +1. Open **manifest.json** and add the following json immediately after the `discountSearch` command. Here you're adding to the `commands` array which defines the list of commands supported by the ME / plugin. + +```json +{ + "id": "companySearch", + "context": [ + "compose", + "commandBox" + ], + "description": "Given a company name, search for products ordered by that company", + "title": "Customer", + "type": "query", + "parameters": [ + { + "name": "companyName", + "title": "Company name", + "description": "The company name to find products ordered by that company", + "inputType": "text" + } + ] +} +``` +``` +Note: The "id" is the connection between the UI and the code. This value is defined as COMMAND_ID in the Bot\SearchBot.cs files. See how each of these files has a unique COMMAND_ID that corresponds to the value of "id". +``` + +# Step 2 - Create a handler for the 'companySearch' command +We will use a lot of the code created for the other handlers. + +1. In VS copy '**ProductSearchCommand.cs**' and paste into the same folder to create a copy. Rename this file **CustomerSearchCommand.cs**. + +2. Change line 18 to: +```csharp +public const string CommandId = "companySearch"; +``` + +2. Replace the content of **HandleTeamsMessagingExtensionQueryAsync** with: +```csharp +{ + string companyName; + +// Validate the incoming query, making sure it's the 'companySearch' command +// The value of the 'companyName' parameter is the company name to search for +if (query.Parameters.Count == 1 && query.Parameters[0]?.Name == "companyName") +{ + var values = query.Parameters[0]?.Value.ToString().Split(','); + companyName = values.ElementAtOrDefault(0); +} +else +{ + companyName = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "companyName")?.Value as string); +} + +Console.WriteLine($"🍽️ Query #{++queryCount}:\ncompanyName={companyName}"); + +ProductService productService = new ProductService(configuration); +var products = await productService.SearchProductsByCustomer(companyName); + +Console.WriteLine($"Found {products.Count} products in the Northwind database"); +var attachments = new List(); + +foreach (var product in products) +{ + var preview = new HeroCard + { + Title = product.ProductName, + Subtitle = $"Customer: {companyName}", + Images = new List { new CardImage(product.ImageUrl) } + }.ToAttachment(); + + var resultCard = CardHandler.GetEditCard(product); + + var attachment = new MessagingExtensionAttachment + { + ContentType = resultCard.ContentType, + Content = resultCard.Content, + Preview = preview + }; + + attachments.Add(attachment); +} + +return new MessagingExtensionResponse +{ + ComposeExtension = new MessagingExtensionResult + { + Type = "result", + AttachmentLayout = "list", + Attachments = attachments + } +}; +} +``` +Note that you will implement `SearchProductsByCustomer` in Step 4. + +# Step 3 - Update the command routing +In this step you will route the `companySearch` command to the handler you implemented in the previous step. + +2. Open **searchBot.cs** and add the following. + +3. Underneath this statement: +```csharp + case ProductSearchCommand.CommandId: + return await ProductSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); +``` +Add this statement: +```csharp + case CustomerSearchCommand.CommandId: + return await CustomerSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); +``` +```text +Note that in the UI-based operation of the Message Extension / plugin, this command is explicitly called. However, when invoked by Microsoft 365 Copilot, the command is triggered by the Copilot orchestrator. +``` +# Step 4 - Implement Product Search by Company + You will implement a product search by Company name and return a list of the company's ordered products. Find this information using the tables below: + +| Table | Find | Look Up By | +| ------------- | ----------- | ------------- | +| Customer | Customer Id | Customer Name | +| Orders | Order Id | Customer Id | +| OrderDetail | Product | Order Id | + +Here's how it works: +Use the Customer table to find the Customer Id with the Customer Name. Query the Orders table with the Customer Id to retrieve the associated Order Ids. For each Order Id, find the associated products in the OrderDetail table. Finally, return a list of products ordered by the specified company name. + +1. Open **.\NorthwindDB\Products.cs** + +2. Add the new method `SearchProductsByCustomer()` + +add the method: +```csharp +public async Task> SearchProductsByCustomer(string companyName) +{ + var result = await GetAllProductsEx(); + + var customers = await LoadReferenceData(TABLE_NAME.CUSTOMER); + string customerId = null; + + foreach (var customer in customers) + { + if (customer.CompanyName.IndexOf(companyName, StringComparison.OrdinalIgnoreCase) >= 0) + { + customerId = customer.CustomerID; + break; + } + } + + if (string.IsNullOrEmpty(customerId)) + { + return new List(); + } + + var orders = await LoadReferenceData(TABLE_NAME.ORDER); + var orderDetails = await LoadReferenceData(TABLE_NAME.ORDER_DETAIL); + + // Build an array of orders by customer id + var customerOrders = orders.Where(o => o.CustomerID == customerId).ToList(); + + // Build an array of order details for customer orders + var customerOrderDetails = orderDetails + .Where(od => customerOrders.Any(co => co.OrderID == od.OrderID)) + .ToList(); + + // Filter products by the ProductID in the customerOrderDetails array + result = result + .Where(product => customerOrderDetails.Any(order => order.ProductID == product.ProductID)) + .ToList(); + + return result; +} +``` +# Step 5 - Run the App! Search for product by company name + +Now you're ready to test the sample as a plugin for Copilot for Microsoft 365. + +1. Delete the 'Northwest Inventory' app in Teams. This step is necessary since you are updating the manifest. Manifest updates require the app to be reinstalled. The cleanest way to do this is to first delete it in Teams. + + a. In the Teams sidebar, click on the three dots (...) 1️⃣. You should see Northwind Inventory 2️⃣ in the list of applications. + + b. Right click on the 'Northwest Inventory' icon and select uninstall 3️⃣. + + ![How to uninstall Northwind Inventory](./images/03-01-Uninstall-App.png) + +2. Like you did in [Exercise 2 - Run the sample as a Copilot plugin](./Exercise%2003%20-%20Run%20in%20Copilot.md), start the app in Visual Studio using the **Microsoft Teams (browser)** profile. + +3. In Teams click on **Chat** and then **Copilot**. Copilot should be the top-most option. +4. Click on the **Plugin icon** and select **Northwind Inventory** to enable the plugin. +5. Enter the prompt: +``` +What are the products ordered by 'Consolidated Holdings' in Northwind Inventory? +``` + +Here's the output in Copilot: +![03-07-response-customer-search](./images/03-07-response-customer-search.png) + +Here are other prompts to try: +``` +What are the products ordered by 'Consolidated Holdings' in Northwind Inventory? Please list the product name, price and supplier in a table. +``` + +Of course, you can test this new command also by using the sample as a Message Extension, like we did in [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md). + +1. In the Teams sidebar, move to the **Chats** section and pick any chat or start a new chat with a colleague. +2. Click on the + sign to access to the Apps section. +3. Pick the Northwind Inventory app. +4. Notice how now you can see a new tab called **Customer**. +5. Search for **Consolidated Holdings** and see the products ordered by this company. They will match the ones that Copilot returned you in the previous step. + +![The new command used as a message extension](./images/03-08-customer-message-extension.png) + +## Congratulations +You've completed the exercise! Please proceed to [Exercise 5](./Exercise%2005%20-%20Code%20tour.md), in which you will explore the plugin source code and adaptive cards. + diff --git a/samples/msgext-northwind-inventory-csharp/lab/Exercise 05 - Code tour.md b/samples/msgext-northwind-inventory-csharp/lab/Exercise 05 - Code tour.md new file mode 100644 index 0000000..01869c6 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Exercise 05 - Code tour.md @@ -0,0 +1,521 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample as a Message Extension +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md) - Add a new command +* Exercise 5 - Code tour **(THIS PAGE)** + +## Exercise 5 - Code tour + +In this exercise, you'll review the application code so that you can understand how a Message Extension works. + +## Step 1 - Examine the manifest + +The core of any Microsoft 365 application is its application manifest. This is where you provide the information Microsoft 365 needs to access your application. + +In your working directory, open the [manifest.json](https://github.com/OfficeDev/Copilot-for-M365-Plugins-Samples/blob/main/samples/msgext-northwind-inventory-ts/appPackage/manifest.json) file. This JSON file is placed in a zip archive with two icon files to create the application package. The "icons" property includes paths to these icons. + +~~~json +"icons": { + "color": "Northwind-Logo3-192-${{TEAMSFX_ENV}}.png", + "outline": "Northwind-Logo3-32.png" +}, +~~~ + +Notice the token `${{TEAMSFX_ENV}}` in one of the icon names. Teams Toolkit will replace this token with your environment name, such as "local" or "dev" (for an Azure deployment in development). Thus, the icon color will change depending on the environment. + +Now have a look at the "name" and "description". Notice that the description is quite long! This is important so both users and Copilot can learn what your application does and when to use it. + +~~~json + "name": { + "short": "Northwind Inventory", + "full": "Northwind Inventory App" + }, + "description": { + "short": "App allows you to find and update product inventory information", + "full": "Northwind Inventory is the ultimate tool for managing your product inventory. With its intuitive interface and powerful features, you'll be able to easily find your products by name, category, inventory status, and supplier city. You can also update inventory information with the app. \n\n **Why Choose Northwind Inventory:** \n\n Northwind Inventory is the perfect solution for businesses of all sizes that need to keep track of their inventory. Whether you're a small business owner or a large corporation, Northwind Inventory can help you stay on top of your inventory management needs. \n\n **Features and Benefits:** \n\n - Easy Product Search through Microsoft Copilot. Simply start by saying, 'Find northwind dairy products that are low on stock' \r - Real-Time Inventory Updates: Keep track of inventory levels in real-time and update them as needed \r - User-Friendly Interface: Northwind Inventory's intuitive interface makes it easy to navigate and use \n\n **Availability:** \n\n To use Northwind Inventory, you'll need an active Microsoft 365 account . Ensure that your administrator enables the app for your Microsoft 365 account." + }, +~~~ + +Scroll down a bit to "composeExtensions". Compose extension is the historical term for message extension; this is where the app's message extensions are defined. + +Within this is a bot, with the ID supplied by Teams Toolkit. + +~~~json + "composeExtensions": [ + { + "botId": "${{AAD_APP_CLIENT_ID}}", + "commands": [ + { + ... +~~~ + +Message extensions communicate using the Azure Bot Framework; this provides a fast and secure communication channel between Microsoft 365 and your application. When you first ran your project, Teams Toolkit registered a bot, and will place its bot ID here. + +This message extension has two commands, which are defined in the `commands` array. If you have completed [Exercise 4](./Exercise%2004%20-%20Add%20a%20new%20command.md), there will be also a third one. Let's skip the first command for a moment since it's the most complex one. The second command looks like this + +~~~json +{ + "id": "discountSearch", + "context": [ + "compose", + "commandBox" + ], + "description": "Search for discounted products by category", + "title": "Discounts", + "type": "query", + "parameters": [ + { + "name": "categoryName", + "title": "Category name", + "description": "Enter the category to find discounted products", + "inputType": "text" + } + ] +}, +~~~ + +This allows Copilot (or a user) to search for discounted products within a Northwind category. This command accepts a single parameter, "categoryName". + +OK now let's move back to the first command, "inventorySearch". It has 5 parameters, which allows for much more sophisticated queries. + +~~~json +{ + "id": "inventorySearch", + "context": [ + "compose", + "commandBox" + ], + "description": "Search products by name, category, inventory status, supplier location, stock level", + "title": "Product inventory", + "type": "query", + "parameters": [ + { + "name": "productName", + "title": "Product name", + "description": "Enter a product name here", + "inputType": "text" + }, + { + "name": "categoryName", + "title": "Category name", + "description": "Enter the category of the product", + "inputType": "text" + }, + { + "name": "inventoryStatus", + "title": "Inventory status", + "description": "Enter what status of the product inventory. Possible values are 'in stock', 'low stock', 'on order', or 'out of stock'", + "inputType": "text" + }, + { + "name": "supplierCity", + "title": "Supplier city", + "description": "Enter the supplier city of product", + "inputType": "text" + }, + { + "name": "stockQuery", + "title": "Stock level", + "description": "Enter a range of integers such as 0-42 or 100- (for >100 items). Only use if you need an exact numeric range.", + "inputType": "text" + } + ] +}, +~~~ + +Copilot is able to fill these in, again based on the descriptions, and the message extension will return a list of products filtered by all the non-blank parameters. + +## Step 2 - Examine the "Bot" code + +Now open the file **Bot/SearchBot.cs**. This application contains the "bot" code, which communicates with the Azure Bot Framework using the [Bot Builder SDK](https://learn.microsoft.com/azure/bot-service/index-bf-sdk?view=azure-bot-service-4.0). + +Notice that the bot extends an SDK class **TeamsActivityHandler**. + +~~~csharp + public class SearchBot : TeamsActivityHandler + { + private readonly ILogger _logger; + private readonly IConfiguration _configuration; + + public SearchBot(ILogger logger, IConfiguration configuration) + { + _logger = logger; + _configuration = configuration; + } + } + ... +~~~ + +By overriding the methods of the **TeamsActivityHandler**, the application is able to handle messages (called "activities") coming from Microsoft 365. + +The first of these is a Messaging Extension Query activity ("messaging extension" is another historical name for a message extension). This function is called when a user types into a message extension or when Copilot calls it. + +~~~csharp + // Handle search message extension +protected override async Task OnTeamsMessagingExtensionQueryAsync( + ITurnContext turnContext, + MessagingExtensionQuery query, + CancellationToken cancellationToken) +{ + if (turnContext.Activity.Value != null) + { + query = JsonConvert.DeserializeObject(turnContext.Activity.Value.ToString()); + } + + if (query == null) + { + throw new InvalidOperationException("Query is null after deserialization"); + } + + switch (query.CommandId) + { + case ProductSearchCommand.CommandId: + return await ProductSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); + + case DiscountedSearchCommand.CommandId: + return await DiscountedSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); + + default: + throw new InvalidOperationException("Unsupported command"); + } +} +~~~ + +All it's doing is dispatching the query to the based on the command ID. These are the same command ID's used in the manifest above. + +The other type of activity our app needs to handle is the adaptive card actions, such as when a user clicks on "Update stock" or "Reorder" on an adaptive card. Since there is no specific method for an adaptive card action, the code overrides `OnInvokeActivityAsync()`, which is a much broader class of activity that includes message extension queries. For that reason, the code manually checks the activity name, and dispatches to the appropriate handler. If the activity name isn't for an adaptive card action, the `else` clause runs the base implementation of `OnInvokeActivityAsync()` which, among other things, will call our `HandleTeamsMessagingExtensionQueryAsync()` method if the Invoke activity is a query. + +~~~csharp +using Microsoft.Bot.Builder; +using Microsoft.Bot.Builder.Teams; +using Microsoft.Bot.Schema.Teams; +using Microsoft.Bot.Schema; +using Newtonsoft.Json.Linq; +using System.Net; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Logging; +using System; +using NorthwindInventory.MessageExtensions; +using Newtonsoft.Json; +using NorthwindInventory.Handlers; + +namespace NorthwindInventory.Bots +{ + public class SearchBot : TeamsActivityHandler + { + private readonly ILogger _logger; + private readonly IConfiguration _configuration; + + public SearchBot(ILogger logger, IConfiguration configuration) + { + _logger = logger; + _configuration = configuration; + } + + protected override async Task OnTeamsMessagingExtensionQueryAsync( + ITurnContext turnContext, + MessagingExtensionQuery query, + CancellationToken cancellationToken) + { + if (turnContext.Activity.Value != null) + { + query = JsonConvert.DeserializeObject(turnContext.Activity.Value.ToString()); + } + + if (query == null) + { + throw new InvalidOperationException("Query is null after deserialization"); + } + + switch (query.CommandId) + { + case ProductSearchCommand.CommandId: + return await ProductSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); + + case DiscountedSearchCommand.CommandId: + return await DiscountedSearchCommand.HandleTeamsMessagingExtensionQueryAsync(turnContext, query, _configuration, cancellationToken); + + default: + throw new InvalidOperationException("Unsupported command"); + } + } + + protected override async Task OnAdaptiveCardInvokeAsync( + ITurnContext turnContext, + AdaptiveCardInvokeValue invokeValue, + CancellationToken cancellationToken) + { + try + { + var action = invokeValue.Action as AdaptiveCardInvokeAction; + if (action == null) + { + throw new InvalidOperationException("AdaptiveCardInvokeAction is null"); + } + + var verb = action.Verb?.ToString(); + + switch (verb) + { + case "ok": + return await CardHandler.HandleTeamsCardActionUpdateStockAsync(turnContext, _configuration ,cancellationToken); + + case "restock": + return await CardHandler.HandleTeamsCardActionRestockAsync(turnContext, _configuration, cancellationToken); + + case "cancel": + return await CardHandler.HandleTeamsCardActionCancelRestockAsync(turnContext, _configuration, cancellationToken); + + default: + return CreateActionErrorResponse(HttpStatusCode.BadRequest, 0, $"ActionVerbNotSupported: {verb} is not a supported action verb."); + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Error handling adaptive card invoke"); + return CreateActionErrorResponse(HttpStatusCode.InternalServerError, 0, ex.Message); + } + } + + protected override async Task OnInvokeActivityAsync( + ITurnContext turnContext, + CancellationToken cancellationToken) + { + try + { + switch (turnContext.Activity.Name) + { + case "adaptiveCard/action": + var adaptiveCardInvokeValue = JsonConvert.DeserializeObject(turnContext.Activity.Value.ToString()); + var adaptiveCardResponse = await OnAdaptiveCardInvokeAsync(turnContext, adaptiveCardInvokeValue, cancellationToken); + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = adaptiveCardResponse + }; + + case "composeExtension/query": + var response = await OnTeamsMessagingExtensionQueryAsync(turnContext, turnContext.Activity.Value as MessagingExtensionQuery, cancellationToken); + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = response + }; + + default: + return new InvokeResponse + { + Status = (int)HttpStatusCode.OK, + Body = $"Unknown invoke activity handled as default - {turnContext.Activity.Name}" + }; + } + } + catch (Exception ex) + { + _logger.LogError(ex, "Error in OnInvokeActivityAsync"); + return new InvokeResponse + { + Status = (int)HttpStatusCode.InternalServerError, + Body = $"Invoke activity received - {turnContext.Activity.Name}" + }; + } + }... +~~~ + +## Step 3 - Examine the message extension command code + +In an effort to make the code more modular, readable, and reusable, each message extension command has been placed in its own TypeScript module. Have a look at **\MessageExtensions\DiscountedSearchCommand.cs** as an example. + +First, note that the module exports a constant `COMMAND_ID`, which contains the same command ID found in the app manifest, and allows the switch statement in **SearchBot.cs** to work properly. + +Then it provides a function, `HandleTeamsMessagingExtensionQueryAsync()`, to handle incoming queries for discounted products by category. + +~~~csharp +public static async Task HandleTeamsMessagingExtensionQueryAsync(ITurnContext turnContext, MessagingExtensionQuery query, IConfiguration configuration, CancellationToken cancellationToken) +{ + var categoryName = Utils.CleanupParam(query.Parameters?.FirstOrDefault(p => p.Name == "categoryName")?.Value as string); + ProductService productService = new ProductService(configuration); + var products = await productService.GetDiscountedProductsByCategory(categoryName); + + try + { + var attachments = new List(); + + foreach (var product in products) + { + var preview = new HeroCard + { + Title = product.ProductName, + Subtitle = $"Supplied by {product.SupplierName} of {product.SupplierCity}
{product.UnitsInStock} in stock", + Images = new List { new CardImage(product.ImageUrl) } + }.ToAttachment(); + + var resultCard = CardHandler.GetEditCard(product); + + var attachment = new MessagingExtensionAttachment + { + ContentType = resultCard.ContentType, + Content = resultCard.Content, + Preview = preview + }; + + attachments.Add(attachment); + } + + + IList messagingExtensionsAttachments = attachments + .Select(a => new MessagingExtensionAttachment + { + ContentType = a.ContentType, + Content = a.Content, + Preview = a.Preview + }) + .ToList(); + + return new MessagingExtensionResponse + { + ComposeExtension = new MessagingExtensionResult + { + Type = "result", + AttachmentLayout = "list", + Attachments = messagingExtensionsAttachments + } + }; + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + return null; + } + +} +~~~ + +Notice that the index in the `query.Parameters` array may not correspond to the parameter's position in the manifest. While this is generally only an issue for a multi-parameter command, the code will still get the value based on the parameter name rather than hard coding an index. +After cleaning up the parameter (trimming it, and handling the fact that sometimes Copilot assumes "*" is a wildcard that matches everything), the code calls the Northwind data access layer to `GetDiscountedProductsByCategory()`. + +Then it iterates through the products and creates two cards for each: + +* a _preview_ card, which is implemented as a "hero" card (these predate adaptive cards and are very simple). This is what's displayed in the search results in the user interface and in some citations in Copilot. +* a _result_ card, which is implemented as an "adaptive" card that includes all the details. + +In the next step, we'll review the adaptive card code and check out the Adaptive Card designer. + +## Step 4 - Examine the adaptive cards and related code + +The project's adaptive cards are in the **src/adaptiveCards** folder. There are 3 cards, each implemented as a JSON file. + +* **editCard.json** - This is the initial card that's displayed by the message extension or a Copilot reference +* **successCard.json** - When a user takes action, this card is displayed to indicate success. It's mostly the same as the edit card except it includes a message to the user. +* **errorCard.json** - If an action fails, this card is displayed. + +Let's take a look at the edit card in the Adaptive Card Designer. Open your web browser to [https://adaptivecards.io](https://adaptivecards.io) and click the "Designer" option at the top. + +![image](./images/05-01-AdaptiveCardDesigner-01.png) + +Notice the data binding expressions such as `"text": "📦 ${productName}",`. This binds the `productName` property in the data to the text on the card. + +Now select "Microsoft Teams" as the host application 1️⃣ . Paste the entire contents of **editCard.json** into the Card Payload Editor 2️⃣ , and the contents of **sampleData.json** into the Sample Data Editor 3️⃣ . The sample data is identical to a product as provided in the code. + +![image](./images/05-01-AdaptiveCardDesigner-02.png) + +You should see the card as rendered, except for a small error which arises due to the designer's inability to display one of the adaptive card formats. + +Near the top of the page, try changing the Theme and Emulated Device to see how the card would look in dark theme or on a mobile device. This is the tool that was used to build adaptive cards for the sample application. + +Now, back in Visual Studio, open **CardHandler.cs**. The function `GetEditCard()` is called from each of the message extension commands to obtain a result card. The code reads the adaptive card JSON - which is considered a template - and then binds it to product data. The result is more JSON - the same card as the template, with the data binding expressions all filled in. Finally, the JSON converted into an adaptive card attachment object for rendering. + +~~~csharp +public static Attachment GetEditCard(IProductEx product) +{ + var baseDirectory = AppDomain.CurrentDomain.BaseDirectory; + var filePath = Path.Combine(baseDirectory, "AdaptiveCards", "editCard.json"); + var templateJson = File.ReadAllText(filePath); + var template = new AdaptiveCardTemplate(templateJson); + + // Create a card payload by expanding the template with product data + var cardPayload = template.Expand(new + { + productName = product.ProductName, + unitsInStock = product.UnitsInStock, + productId = product.ProductID, + categoryId = product.CategoryID, + imageUrl = product.ImageUrl, + supplierName = product.SupplierName, + supplierCity = product.SupplierCity, + categoryName = product.CategoryName, + inventoryStatus = product.InventoryStatus, + unitPrice = product.UnitPrice, + quantityPerUnit = product.QuantityPerUnit, + unitsOnOrder = product.UnitsOnOrder, + reorderLevel = product.ReorderLevel, + unitSales = product.UnitSales, + inventoryValue = product.InventoryValue, + revenue = product.Revenue, + averageDiscount = product.AverageDiscount + }); + + // Create an Adaptive Card from JSON string + var adaptiveCard = AdaptiveCard.FromJson(cardPayload).Card; + + // Convert the AdaptiveCard to an Attachment + var attachment = new Attachment + { + ContentType = AdaptiveCard.ContentType, + Content = adaptiveCard + }; + + return attachment; +} +~~~ + +Scrolling down, you'll see the handler for each of the action buttons on the card. The card submits data when an action button is clicked - specifically `data?["txtStock"]?.ToString()`, which is the "Quantity" input box on the card, and `data?["productId"]?.ToString()`, which is sent in each card action to let the code know what product to update. + +~~~csharp +public static async Task HandleTeamsCardActionUpdateStockAsync(ITurnContext turnContext,IConfiguration configuration, CancellationToken cancellationToken) +{ + try + { + var request = turnContext.Activity.Value as JObject; + var data = request?["action"]?["data"]; + var txtStock = data?["txtStock"]?.ToString(); + var productId = data?["productId"]?.ToString(); + + if (int.TryParse(txtStock, out var unitsInStock) && int.TryParse(productId, out var productID)) + { + var productService = new ProductService(configuration); + var product = await productService.GetProductExAsync(productID); + + if (product == null) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.NotFound, 1, "Product not found"); + } + + product.UnitsInStock = unitsInStock; + await productService.UpdateProductAsync(product); + + return Utils.CreateAdaptiveCardInvokeResponse((int)HttpStatusCode.OK, CreateCardPayload(product, $"Stock updated for {product.ProductName} to {product.UnitsInStock}!")); + } + else + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.BadRequest, 0, "Invalid request"); + } + } + catch (Exception ex) + { + return Utils.CreateActionErrorResponse((int)HttpStatusCode.InternalServerError, 0, ex.Message); + } +} +~~~ + +As you can see, the code obtains these two values, updates the database, and then sends a new card that contains a message and the updated data. + +## Congratulations + +You have completed Exercise 5 and the Copilot for Microsoft 365 Message Extensions plugin lab. Thanks very much for doing these labs! diff --git a/samples/msgext-northwind-inventory-csharp/lab/Troubleshooting.md b/samples/msgext-northwind-inventory-csharp/lab/Troubleshooting.md new file mode 100644 index 0000000..1d771ad --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/lab/Troubleshooting.md @@ -0,0 +1,34 @@ +# Building Message Extensions for Microsoft Copilot for Microsoft 365 + +TABLE OF CONTENTS + +* [Welcome](./Exercise%2000%20-%20Welcome.md) +* [Exercise 1](./Exercise%2001%20-%20Set%20up.md) - Set up your development Environment +* [Exercise 2](./Exercise%2002%20-%20Run%20sample%20app.md) - Run the sample Message Extension +* [Exercise 3](./Exercise%2003%20-%20Run%20in%20Copilot.md) - Run the sample as a Copilot plugin +* [Exercise 4](./Exercise%2004%20-%20Code%20tour.md) - Code tour + +## Common errors and how to fix them + +### App won't start first time + +![Error is displayed because of a missing environment variable](./images/02-01-Setup-Project-06.png) + +![Error is displayed because of a missing environment variable](./images/02-01-Setup-Project-07.png) + +This happens when the environment variable `STORAGE_CONNECTION_STRING` is missing from **.env.local**. +See Exercise 2 Step 1 or just add this text to **.env.local**: + +~~~text +STORAGE_CONNECTION_STRING=UseDevelopmentStorage=true +~~~ + +### The app takes a long time to start after pressing F5 or the debug button + +![Error is displayed because of a missing environment variable](./images/02-01-Setup-Project-08.png) + +The first time, it's normal for this to take several minutes as the data entries are being added to the Azure data table. + +Please make sure you see the project terminal ending with the output shown below before testing testing the sample. + +![Error is displayed because of a missing environment variable](./images/02-01-Setup-Project-09.png) \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-00-Product-card-only.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-00-Product-card-only.png new file mode 100644 index 0000000..94f486f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-00-Product-card-only.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CheckSampleFiles.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CheckSampleFiles.png new file mode 100644 index 0000000..1d10c7e Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CheckSampleFiles.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-01.png new file mode 100644 index 0000000..529c016 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-02.png new file mode 100644 index 0000000..e9c795d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03.png new file mode 100644 index 0000000..faec79a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03b.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03b.png new file mode 100644 index 0000000..a961c9a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-03b.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-04.png new file mode 100644 index 0000000..043f69b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-05.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-05.png new file mode 100644 index 0000000..ae92f9d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-02-CopySampleFiles-05.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-01.png new file mode 100644 index 0000000..e6d438a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-02.png new file mode 100644 index 0000000..6a44d18 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-03.png new file mode 100644 index 0000000..c4099de Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-04.png new file mode 100644 index 0000000..94f759c Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-05.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-05.png new file mode 100644 index 0000000..59b4a9a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Install-TTK-05.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-01.png new file mode 100644 index 0000000..b26f08f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-02.png new file mode 100644 index 0000000..c735a7a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-03.png new file mode 100644 index 0000000..5179ecb Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-Setup-TTK-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-01.png new file mode 100644 index 0000000..26bef66 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-02.png new file mode 100644 index 0000000..4bd757d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-create-devtunnel-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-debug-dropdown.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-debug-dropdown.png new file mode 100644 index 0000000..3c39991 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-debug-dropdown.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-01.png new file mode 100644 index 0000000..8612f54 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-02.png new file mode 100644 index 0000000..8aade53 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-03.png new file mode 100644 index 0000000..3d11496 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-04.png new file mode 100644 index 0000000..8bb9f0b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-prepare-dependencies-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/01-04-visual-studio-install.png b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-visual-studio-install.png new file mode 100644 index 0000000..1841c7d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/01-04-visual-studio-install.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-01.png new file mode 100644 index 0000000..78590f7 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-02.png new file mode 100644 index 0000000..1ae60b8 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Enable-multiprojects-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-01.png new file mode 100644 index 0000000..e90492d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-02.png new file mode 100644 index 0000000..da1e5c8 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-03.png new file mode 100644 index 0000000..324edfa Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-04.png new file mode 100644 index 0000000..3e4f9bc Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Running-Azurite-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-SSL-Certificate-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-SSL-Certificate-01.png new file mode 100644 index 0000000..5a78b20 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-SSL-Certificate-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-01.png new file mode 100644 index 0000000..dd912bb Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-02.png new file mode 100644 index 0000000..9d267c6 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-03.png new file mode 100644 index 0000000..5f24642 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-04.png new file mode 100644 index 0000000..f4225bd Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-05.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-05.png new file mode 100644 index 0000000..7438e41 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-05.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-06.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-06.png new file mode 100644 index 0000000..af3d7ea Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-06.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-07.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-07.png new file mode 100644 index 0000000..9568bd7 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-07.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-08.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-08.png new file mode 100644 index 0000000..163b9c1 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-08.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-09.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-09.png new file mode 100644 index 0000000..2796022 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-01-Setup-Project-09.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-01.png new file mode 100644 index 0000000..ca42e90 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-02.png new file mode 100644 index 0000000..f52d11f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-03.png new file mode 100644 index 0000000..a6a9774 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-04.png new file mode 100644 index 0000000..66a3248 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-05.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-05.png new file mode 100644 index 0000000..8f98102 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-02-Run-Project-05.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-01.png new file mode 100644 index 0000000..ff4165a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02a.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02a.png new file mode 100644 index 0000000..b62ceeb Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02a.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02b.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02b.png new file mode 100644 index 0000000..f202918 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TakeAction-02b.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-01.png new file mode 100644 index 0000000..a4e3059 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02a.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02a.png new file mode 100644 index 0000000..d3baa2f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02a.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02b.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02b.png new file mode 100644 index 0000000..f42ba2e Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-02b.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-03.png new file mode 100644 index 0000000..04061b9 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-04.png new file mode 100644 index 0000000..4551382 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-ME-Teams-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-01.png new file mode 100644 index 0000000..103ec84 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-02.png new file mode 100644 index 0000000..d1856e6 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-03.png new file mode 100644 index 0000000..47e07f5 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-04.png new file mode 100644 index 0000000..87a06a2 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-Test-Multi-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-01.png new file mode 100644 index 0000000..eddfe0b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-02.png new file mode 100644 index 0000000..ad8c268 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-03.png new file mode 100644 index 0000000..5e42c11 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-04.png new file mode 100644 index 0000000..e5cd069 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-03-TestME-Teams-take2-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-01.png new file mode 100644 index 0000000..49b4c9b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-02.png new file mode 100644 index 0000000..4a78dcb Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-03.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-03.png new file mode 100644 index 0000000..f3528f9 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-03.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-04.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-04.png new file mode 100644 index 0000000..d592171 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-04.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-05.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-05.png new file mode 100644 index 0000000..9ea8dc1 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-05.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06a.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06a.png new file mode 100644 index 0000000..ea13e14 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06a.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06b.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06b.png new file mode 100644 index 0000000..b10375c Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-06b.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07a.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07a.png new file mode 100644 index 0000000..3e2b7a1 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07a.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07b.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07b.png new file mode 100644 index 0000000..56ddb03 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-04-Test-ME-Outlook-07b.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/02-06-AzureStorageExplorer-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/02-06-AzureStorageExplorer-01.png new file mode 100644 index 0000000..821a853 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/02-06-AzureStorageExplorer-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-01-New-Chat.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-01-New-Chat.png new file mode 100644 index 0000000..fc9051f Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-01-New-Chat.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-01-Uninstall-App.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-01-Uninstall-App.png new file mode 100644 index 0000000..b490da3 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-01-Uninstall-App.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-02-Plugin-Panel.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-02-Plugin-Panel.png new file mode 100644 index 0000000..6865019 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-02-Plugin-Panel.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-02a-Query-Log1.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-02a-Query-Log1.png new file mode 100644 index 0000000..134f9bd Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-02a-Query-Log1.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-03-Response-on-Chai.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-03-Response-on-Chai.png new file mode 100644 index 0000000..c84ab86 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-03-Response-on-Chai.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-03a-response-on-chai.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-03a-response-on-chai.png new file mode 100644 index 0000000..e9c06ba Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-03a-response-on-chai.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-03b-developer-mode.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-03b-developer-mode.png new file mode 100644 index 0000000..f15b4ce Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-03b-developer-mode.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-04-discounted-dairy-items.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-04-discounted-dairy-items.png new file mode 100644 index 0000000..0df47cb Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-04-discounted-dairy-items.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-04a-discounted-beverage-items.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-04a-discounted-beverage-items.png new file mode 100644 index 0000000..0aaf226 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-04a-discounted-beverage-items.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-05-high-revenue-items-with-ad-campaigns.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-05-high-revenue-items-with-ad-campaigns.png new file mode 100644 index 0000000..8adffd5 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-05-high-revenue-items-with-ad-campaigns.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-06-Find-Northwind-Beverages-with-more-than-100.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-06-Find-Northwind-Beverages-with-more-than-100.png new file mode 100644 index 0000000..7ee5fc5 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-06-Find-Northwind-Beverages-with-more-than-100.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-06b-Find-Northwind-Beverages-with-more-than-100.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-06b-Find-Northwind-Beverages-with-more-than-100.png new file mode 100644 index 0000000..2bbdd7a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-06b-Find-Northwind-Beverages-with-more-than-100.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-06c-PaymentTerms.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-06c-PaymentTerms.png new file mode 100644 index 0000000..68872c5 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-06c-PaymentTerms.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-07-response-customer-search.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-07-response-customer-search.png new file mode 100644 index 0000000..8af48dd Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-07-response-customer-search.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-08-customer-message-extension.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-08-customer-message-extension.png new file mode 100644 index 0000000..5a346f4 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-08-customer-message-extension.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/03-08-terminal-query-output.png b/samples/msgext-northwind-inventory-csharp/lab/images/03-08-terminal-query-output.png new file mode 100644 index 0000000..e2eccc6 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/03-08-terminal-query-output.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-01.png b/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-01.png new file mode 100644 index 0000000..4f54d73 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-01.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-02.png b/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-02.png new file mode 100644 index 0000000..bf3a63a Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/05-01-AdaptiveCardDesigner-02.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/99-Manual-Upload.png b/samples/msgext-northwind-inventory-csharp/lab/images/99-Manual-Upload.png new file mode 100644 index 0000000..7219267 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/99-Manual-Upload.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/99-Port-Error.png b/samples/msgext-northwind-inventory-csharp/lab/images/99-Port-Error.png new file mode 100644 index 0000000..3beaeef Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/99-Port-Error.png differ diff --git a/samples/msgext-northwind-inventory-csharp/lab/images/99-TTK-Upload-on-V2-Error.png b/samples/msgext-northwind-inventory-csharp/lab/images/99-TTK-Upload-on-V2-Error.png new file mode 100644 index 0000000..d53a7ea Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/lab/images/99-TTK-Upload-on-V2-Error.png differ diff --git a/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.csproj b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.csproj new file mode 100644 index 0000000..6e45237 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.csproj @@ -0,0 +1,29 @@ + + + + net8.0 + enable + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.sln b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.sln new file mode 100644 index 0000000..199321d --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.10.34916.146 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "msgext-northwind-inventory-csharp", "msgext-northwind-inventory-csharp.csproj", "{B1EE0F9F-63C1-4F54-9A7F-CFFA6C03B139}" +EndProject +Project("{A9E3F50B-275E-4AF7-ADCE-8BE12D41E305}") = "TeamsApp", "TeamsApp\TeamsApp.ttkproj", "{4870A082-D13A-4260-8CA7-020D24C3FA77}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1F5B1F53-364F-4EF9-BC26-DD2D74FCC285}" + ProjectSection(SolutionItems) = preProject + msgext-northwind-inventory-csharp.slnLaunch.user = msgext-northwind-inventory-csharp.slnLaunch.user + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B1EE0F9F-63C1-4F54-9A7F-CFFA6C03B139}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1EE0F9F-63C1-4F54-9A7F-CFFA6C03B139}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1EE0F9F-63C1-4F54-9A7F-CFFA6C03B139}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1EE0F9F-63C1-4F54-9A7F-CFFA6C03B139}.Release|Any CPU.Build.0 = Release|Any CPU + {4870A082-D13A-4260-8CA7-020D24C3FA77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4870A082-D13A-4260-8CA7-020D24C3FA77}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4870A082-D13A-4260-8CA7-020D24C3FA77}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4870A082-D13A-4260-8CA7-020D24C3FA77}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {78BE94F7-884C-4160-A365-C43ABF227C21} + EndGlobalSection +EndGlobal diff --git a/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.slnLaunch.user b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.slnLaunch.user new file mode 100644 index 0000000..0d59ad5 --- /dev/null +++ b/samples/msgext-northwind-inventory-csharp/msgext-northwind-inventory-csharp.slnLaunch.user @@ -0,0 +1,17 @@ +[ + { + "Name": "Microsoft Teams (browser)", + "Projects": [ + { + "Path": "msgext-northwind-inventory-csharp.csproj", + "Action": "Start", + "DebugTarget": "Start Project" + }, + { + "Path": "TeamsApp\\TeamsApp.ttkproj", + "Action": "StartWithoutDebugging", + "DebugTarget": "Microsoft Teams (Browser)" + } + ] + } +] \ No newline at end of file diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Bigfoot Breweries Supplier Agreement.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Bigfoot Breweries Supplier Agreement.docx new file mode 100644 index 0000000..db37656 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Bigfoot Breweries Supplier Agreement.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Contoso Beverage Company Supplier Agreement.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Contoso Beverage Company Supplier Agreement.docx new file mode 100644 index 0000000..a802d32 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Contoso Beverage Company Supplier Agreement.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Cote de Blaye ad campaign.pdf b/samples/msgext-northwind-inventory-csharp/sampleDocs/Cote de Blaye ad campaign.pdf new file mode 100644 index 0000000..56e0f04 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Cote de Blaye ad campaign.pdf differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/G'day Mate Supplier Agreement.pdf b/samples/msgext-northwind-inventory-csharp/sampleDocs/G'day Mate Supplier Agreement.pdf new file mode 100644 index 0000000..15b306b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/G'day Mate Supplier Agreement.pdf differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Grandma Kelly's Homestead Supplier Agreement.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Grandma Kelly's Homestead Supplier Agreement.docx new file mode 100644 index 0000000..0727c5c Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Grandma Kelly's Homestead Supplier Agreement.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend - High Demand for Chai.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend - High Demand for Chai.docx new file mode 100644 index 0000000..d18117b Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend - High Demand for Chai.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend Report- Protein shake.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend Report- Protein shake.docx new file mode 100644 index 0000000..0ef1808 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Market Trend Report- Protein shake.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Mayumi's Supplier Agreement.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Mayumi's Supplier Agreement.docx new file mode 100644 index 0000000..5f8f07e Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Mayumi's Supplier Agreement.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Minimum Order Quantity policy.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Minimum Order Quantity policy.docx new file mode 100644 index 0000000..b1ea7ec Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Minimum Order Quantity policy.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Reorder policy.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Reorder policy.docx new file mode 100644 index 0000000..06f7ed9 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Northwind Reorder policy.docx differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Raclette Courdavault ad campaign.pdf b/samples/msgext-northwind-inventory-csharp/sampleDocs/Raclette Courdavault ad campaign.pdf new file mode 100644 index 0000000..509d5ab Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Raclette Courdavault ad campaign.pdf differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Refrescos Americanas LTDA Supplier Agreement.docx b/samples/msgext-northwind-inventory-csharp/sampleDocs/Refrescos Americanas LTDA Supplier Agreement.docx new file mode 100644 index 0000000..7815366 Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Refrescos Americanas LTDA Supplier Agreement.docx differ diff --git "a/samples/msgext-northwind-inventory-csharp/sampleDocs/Rh\303\266nbr\303\244u Klosterbier Supplier Agreement.docx" "b/samples/msgext-northwind-inventory-csharp/sampleDocs/Rh\303\266nbr\303\244u Klosterbier Supplier Agreement.docx" new file mode 100644 index 0000000..e7eb316 Binary files /dev/null and "b/samples/msgext-northwind-inventory-csharp/sampleDocs/Rh\303\266nbr\303\244u Klosterbier Supplier Agreement.docx" differ diff --git a/samples/msgext-northwind-inventory-csharp/sampleDocs/Thuringer Rostbratwurst ad campaign.pdf b/samples/msgext-northwind-inventory-csharp/sampleDocs/Thuringer Rostbratwurst ad campaign.pdf new file mode 100644 index 0000000..c941e8d Binary files /dev/null and b/samples/msgext-northwind-inventory-csharp/sampleDocs/Thuringer Rostbratwurst ad campaign.pdf differ