diff --git a/CHANGELOG.md b/CHANGELOG.md index 03f0d3be614..120bf14410c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,14 +63,40 @@ All notable changes for each version of this project will be documented in this ``` - `igxGrid` + - Added built-in validation mechanism for Grid Editing. Extends the [Angular Form validation](https://angular.io/guide/form-validation) functionality + You can configure it in 2 ways: + 1. Via template-driven configuration on the `igx-column` of the grid: + ```html + + ``` + 2. Via reactive forms using the FormGroup exposed via the `formGroupCreated` event of the grid: + + ```html + + ``` + + ```ts + public formCreateHandler(formGr: FormGroup) { + // add a validator + const prodName = formGr.get('UserName'); + prodName.addValidators(forbiddenNameValidator(/bob/i)) + } + ``` + + Edited cells will enter an invalid state when validation fails and will show an error icon and message. Cell will remain invalid until the value is edited to a valid value or the related state in the validation service is cleared. + + You can refer to the documentation for more details: https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/validation - Added ability to auto-size columns to the size of their cells and header content on initialization by setting width `auto`: ``` ``` - Added support for restoring filtering expressions with custom filtering operands for the `IgxGridStateDirective`. + - Added the `IgcFormControl` directive that, when imported with its `IgcFormsModule`, is designed to seamlessly attach to form components from the Ignite UI for WebComponents package and allows using them in Angular templates and reactive forms with support for `ngModel` and `formControlName` directives. Currently the only Web Component with support through the directive is `igc-rating`. + + ### General - **Breaking Changes** - `filterable` property of `IgxComboComponent` is now deprecated and will be removed in future version. Use `filteringOptions.filterable` instead. diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts index f760efbd355..6b8c7a2f92c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsBG_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Колони', igx_grid_pivot_selector_values: 'Стойнoсти', igx_grid_pivot_selector_panel_empty: 'Привлачи тук', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Това поле е задължително', + igx_grid_min_validation_error: 'Моля попълнете стойност по-голяма или равна на {0}', + igx_grid_max_validation_error: 'Моля попълнете стойност по-малка или равна на {0}', + igx_grid_min_length_validation_error: 'Входните данни трябва да са дълги поне {0} знака.', + igx_grid_max_length_validation_error: 'Входните данни не трябва да са дълги повече от {0} знака.', + igx_grid_email_validation_error: 'Трябва да бъде въведен валиден имейл адрес.', + igx_grid_pattern_validation_error: 'Въведените данни не спазват зададения образец.' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts index 129dcc00215..57a054fb478 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsCS_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Toto pole je povinné', + igx_grid_min_validation_error: 'Je třeba zadat hodnotu alespoň {0}', + igx_grid_max_validation_error: 'Měla by být zadána hodnota nejvýše {0}', + igx_grid_min_length_validation_error: 'Záznam by měl mít alespoň {0} znaků', + igx_grid_max_length_validation_error: 'Záznam by neměl mít více než {0} znaků', + igx_grid_email_validation_error: 'Je třeba zadat platnou e-mailovou adresu', + igx_grid_pattern_validation_error: 'Položka neodpovídá požadovanému vzoru' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts index 41cdf64f7e6..9c4c8dd6ccb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsDA_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Dette felt er påkrævet', + igx_grid_min_validation_error: 'Der skal indtastes en værdi på mindst {0}', + igx_grid_max_validation_error: 'Der skal indtastes en værdi, der ikke mere end {0}', + igx_grid_min_length_validation_error: 'Indtastningen skal være mindst {0} tegn', + igx_grid_max_length_validation_error: 'Indtastningen må højst være {0} tegn', + igx_grid_email_validation_error: 'Der skal indtastes en gyldig e-mailadresse', + igx_grid_pattern_validation_error: 'Indtastning stemmer ikke overens med det krævede mønster' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts index aeedfcc9e49..8b2b423b78f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsDE_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Dieses Feld ist erforderlich', + igx_grid_min_validation_error: 'Bitte geben Sie einen Wert größer oder gleich {0} ein', + igx_grid_max_validation_error: 'Bitte geben Sie einen Wert kleiner oder gleich {0} ein', + igx_grid_min_length_validation_error: 'Bitte geben Sie mindestens {0} Zeichen ein', + igx_grid_max_length_validation_error: 'Bitte geben Sie nicht mehr als {0} Zeichen ein', + igx_grid_email_validation_error: 'Eine gültige E-Mail-Adresse sollte eingegeben werden', + igx_grid_pattern_validation_error: 'Eintrag entspricht nicht dem erforderlichen Muster' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts index 86f78e5e2dd..afb09cbf61a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsES_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Este campo es obligatorio', + igx_grid_min_validation_error: 'Escriba un valor mayor o igual a {0}', + igx_grid_max_validation_error: 'Escriba un valor menor o igual a {0}', + igx_grid_min_length_validation_error: 'Escriba {0} caracteres como mínimo', + igx_grid_max_length_validation_error: 'No escriba más de {0} caracteres', + igx_grid_email_validation_error: 'Debe introducirse una dirección de correo electrónico válida.', + igx_grid_pattern_validation_error: 'La entrada no coincide con el patrón necesario.' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts index 036a12a1003..d3b3f13985b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsFR_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Ce champ est obligatoire', + igx_grid_min_validation_error: 'Veuillez entrer une valeur supérieure ou égale à {0}', + igx_grid_max_validation_error: 'Veuillez entrer une valeur inférieure ou égale à {0}', + igx_grid_min_length_validation_error: 'Veuillez entrer au moins {0} caractères', + igx_grid_max_length_validation_error: 'Veuillez sélectionner au maximum {0} caractères', + igx_grid_email_validation_error: 'Une adresse e-mail valide doit être saisie', + igx_grid_pattern_validation_error: 'La valeur entrée ne correspond pas au schéma requis' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts index 3e358e9bddc..d2667abf21e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts @@ -158,7 +158,14 @@ const GridResourceStringsHU_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Ez a mező kötelező', + igx_grid_min_validation_error: 'A megadott érték legalább {0} kell, hogy legyen', + igx_grid_max_validation_error: 'A megadott érték legfeljebb {0} lehet', + igx_grid_min_length_validation_error: 'A bejegyzésnek legalább {0} karakter hosszúságúnak kell lennie', + igx_grid_max_length_validation_error: 'A bejegyzés legfeljebb {0} karakter hosszúságú lehet', + igx_grid_email_validation_error: 'Érvényes e-mail címet kell megadni', + igx_grid_pattern_validation_error: 'A bejegyzés nem felel meg a szükséges sémának' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts index 1c27e425c5f..360b003cff3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsIT_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Questo campo è obbligatorio', + igx_grid_min_validation_error: 'È necessario immettere un valore di almeno {0}', + igx_grid_max_validation_error: 'È necessario immettere un valore non superiore a {0}', + igx_grid_min_length_validation_error: 'La voce deve contenere almeno {0} caratteri', + igx_grid_max_length_validation_error: 'La voce non deve contenere più di {0} caratteri', + igx_grid_email_validation_error: 'È necessario inserire un indirizzo e-mail valido', + igx_grid_pattern_validation_error: 'La voce non corrisponde al modello richiesto', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts index d9d581db415..fe501bc813f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsJA_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'このフィールドは必須フィールドです。', + igx_grid_min_validation_error: "{0} 以上の値を入力してください", + igx_grid_max_validation_error: "{0} 以下の値を入力してください", + igx_grid_min_length_validation_error: '入力の長さは少なくとも {0} 文字である必要があります', + igx_grid_max_length_validation_error: '入力の長さは {0} 文字以下である必要があります', + igx_grid_email_validation_error: '有効なメール アドレスを入力してください', + igx_grid_pattern_validation_error: '入力が所定のパターンに一致しません', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts index 420b0d1e057..7b1d979c601 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsKO_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'This field is required', + igx_grid_min_validation_error: 'A value of at least {0} should be entered', + igx_grid_max_validation_error: 'A value no more than {0} should be entered', + igx_grid_min_length_validation_error: 'Entry should be at least {0} character(s) long', + igx_grid_max_length_validation_error: 'Entry should be no more than {0} character(s) long', + igx_grid_email_validation_error: 'A valid email address should be entered', + igx_grid_pattern_validation_error: 'Entry does not match the required pattern' }; diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts index 8c51b9f9740..64794ecbf33 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsNB_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Dette feltet er obligatorisk', + igx_grid_min_validation_error: 'Du må angi en verdi på minst {0}', + igx_grid_max_validation_error: 'Du må angi en verdi som ikke er mer enn {0}', + igx_grid_min_length_validation_error: 'Oppføringen skal være minst {0} tegn(er) lang', + igx_grid_max_length_validation_error: 'Oppføringen må ikke være mer enn {0} tegn(er) lang', + igx_grid_email_validation_error: 'Du må angi en gyldig e-postadresse', + igx_grid_pattern_validation_error: 'Oppføringen samsvarer ikke med det nødvendige mønsteret', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts index 9873f5d9f53..e3afb948ebd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsNL_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Dit veld is verplicht', + igx_grid_min_validation_error: 'Er moet een waarde van minimaal {0} worden ingevoerd', + igx_grid_max_validation_error: 'Er moet een waarde van niet meer dan {0} worden ingevoerd', + igx_grid_min_length_validation_error: 'Invoer moet minimaal {0} teken(s) lang zijn', + igx_grid_max_length_validation_error: 'Invoer mag niet meer dan {0} teken(s) lang zijn', + igx_grid_email_validation_error: 'Er moet een geldig e-mailadres worden ingevoerd', + igx_grid_pattern_validation_error: 'Invoer komt niet overeen met het vereiste patroon', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts index 58024ad3c65..0f1f5633d8f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsPL_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'To pole jest wymagane', + igx_grid_min_validation_error: 'Należy wprowadzić wartość równą co najmniej {0}', + igx_grid_max_validation_error: 'Należy wprowadzić wartość nie większą niż {0}', + igx_grid_min_length_validation_error: 'Wpis powinien mieć co najmniej {0} znaków', + igx_grid_max_length_validation_error: 'Długość wpisu nie może przekraczać {0} znaków', + igx_grid_email_validation_error: 'Należy podać prawidłowy adres e-mail', + igx_grid_pattern_validation_error: 'Wpis nie pasuje do wymaganego wzorca', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts index 2523c2cd6a5..5e9e97a713b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsPT_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Este campo é obrigatório', + igx_grid_min_validation_error: 'Um valor de pelo menos {0} deve ser inserido', + igx_grid_max_validation_error: 'Um valor não superior a {0} deve ser introduzido', + igx_grid_min_length_validation_error: 'A entrada deve ter pelo menos {0} caracteres', + igx_grid_max_length_validation_error: 'A entrada não deve ter mais de {0} caracteres', + igx_grid_email_validation_error: 'Deve ser introduzido um endereço de e-mail válido', + igx_grid_pattern_validation_error: 'A entrada não corresponde ao padrão necessário' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts index 6af7e368e91..6e272cbffcd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsRO_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Acest câmp este obligatoriu', + igx_grid_min_validation_error: 'Trebuie introdusă o valoare de cel puțin {0}', + igx_grid_max_validation_error: 'Trebuie introdusă o valoare de maximum {0}', + igx_grid_min_length_validation_error: 'Intrarea trebuie să aibă cel puțin {0} caractere', + igx_grid_max_length_validation_error: 'Intrarea nu trebuie să aibă mai mult de {0} caractere', + igx_grid_email_validation_error: 'Ar trebui introdusă o adresă de e-mail validă', + igx_grid_pattern_validation_error: 'Intrarea nu se potrivește cu modelul cerut', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts index d5dc7b18c65..d6ed70225e3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsSV_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Detta fält krävs', + igx_grid_min_validation_error: 'Ett värde på minst {0} borde anges', + igx_grid_max_validation_error: 'Ett värde högst {0} borde anges', + igx_grid_min_length_validation_error: 'Inmatningen ska innehålla minst {0} tecken', + igx_grid_max_length_validation_error: 'Inmatningen får inte vara längre än {0} tecken', + igx_grid_email_validation_error: 'En giltig e-postadress borde anges', + igx_grid_pattern_validation_error: 'Inmatningen matchar inte det önskade mönstret' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts index 64bc33df683..ff85f8db085 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsTR_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: 'Bu alan gereklidir', + igx_grid_min_validation_error: 'En az {0} değeri girilmelidir', + igx_grid_max_validation_error: 'En fazla {0} değeri girilmelidir', + igx_grid_min_length_validation_error: 'Giriş en az {0} karakter uzunluğunda olmalıdır', + igx_grid_max_length_validation_error: 'Giriş, {0} karakterden uzun olmamalıdır', + igx_grid_email_validation_error: 'Geçerli bir e-posta adresi girilmelidir', + igx_grid_pattern_validation_error: 'Giriş, gerekli modelle eşleşmiyor' }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts index a3921250eb6..c9797fd1e81 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsZHHANS_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: '此字段为必填项', + igx_grid_min_validation_error: '至少应输入 {0} 的值', + igx_grid_max_validation_error: '必须输入不超过 {0} 的值', + igx_grid_min_length_validation_error: '输入项的字符长度至少应为 {0} 个字符', + igx_grid_max_length_validation_error: '输入项的字符不得超过 {0} 个字符', + igx_grid_email_validation_error: '必须输入有效的电子邮件地址', + igx_grid_pattern_validation_error: '输入项与要求的模式不匹配', }; /** diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts index dc233d98546..6480d1ccd67 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts @@ -157,7 +157,14 @@ const GridResourceStringsZHHANT_: ExpandRequire = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drag Items Here', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.' + igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', + igx_grid_required_validation_error: '此欄位為必填項', + igx_grid_min_validation_error: '必須輸入至少 {0} 的值', + igx_grid_max_validation_error: '必須輸入不超過 {0} 的值', + igx_grid_min_length_validation_error: '輸入內容必須至少 {0} 個字元', + igx_grid_max_length_validation_error: '輸入內容不得超過 {0} 個字元', + igx_grid_email_validation_error: '必須輸入有效的電子郵件地址', + igx_grid_pattern_validation_error: '輸入的內容不符合要求的格式' }; /** diff --git a/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts index e3fce5f7bfd..1c186f17b89 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts @@ -155,6 +155,13 @@ export interface IGridResourceStrings { igx_grid_pivot_selector_columns?: string; igx_grid_pivot_selector_values?: string; igx_grid_pivot_selector_panel_empty?: string; + igx_grid_required_validation_error?: string; + igx_grid_min_validation_error?: string; + igx_grid_max_validation_error?: string; + igx_grid_min_length_validation_error?: string; + igx_grid_max_length_validation_error?: string; + igx_grid_email_validation_error?: string; + igx_grid_pattern_validation_error?: string; } export const GridResourceStringsEN: IGridResourceStrings = { @@ -314,4 +321,11 @@ export const GridResourceStringsEN: IGridResourceStrings = { igx_grid_pivot_selector_columns: 'Columns', igx_grid_pivot_selector_values: 'Values', igx_grid_pivot_selector_panel_empty: 'Drop Items Here', + igx_grid_required_validation_error: 'This field is required', + igx_grid_min_validation_error: 'A value of at least {0} should be entered', + igx_grid_max_validation_error: 'A value no more than {0} should be entered', + igx_grid_min_length_validation_error: 'Entry should be at least {0} character(s) long', + igx_grid_max_length_validation_error: 'Entry should be no more than {0} character(s) long', + igx_grid_email_validation_error: 'A valid email address should be entered', + igx_grid_pattern_validation_error: 'Entry does not match the required pattern' }; diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-component.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-component.scss index 904bbe87059..a97f9a34ae8 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-component.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-component.scss @@ -231,6 +231,14 @@ @extend %grid-cell--selected !optional; } + @include e(td, $m: invalid) { + @extend %grid-cell--invalid !optional; + } + + @include e(td, $m: valid) { + @extend %grid-cell--valid !optional; + } + @include e(td, $m: column-selected) { @extend %grid-cell--column-selected !optional; } diff --git a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss index 6fd2b6e0288..efe859a660c 100644 --- a/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss +++ b/projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss @@ -1202,6 +1202,12 @@ caret-color: var-get($theme, 'edit-mode-color') !important; } + %form-group-bundle--fluent--focus { + &::after { + border: none !important; + } + } + %form-group-border { background: var-get($theme, 'edit-mode-color') !important; } @@ -1393,6 +1399,33 @@ border-bottom-color: var-get($theme, 'cell-active-border-color'); } } + + %grid-cell--invalid { + padding-inline-end: rem(4px) !important; + + > igx-icon { + color: color($palette, 'error', 500); + width: var(--igx-icon-size, rem(18px)); + height: var(--igx-icon-size, rem(18px)); + font-size: var(--igx-icon-size, rem(18px)); + } + + %grid-cell-text { + width: 100%; + } + + .igx-input-group__bundle { + &:focus-within { + &::after { + border: none !important; + } + } + } + } + + %grid-cell--valid { + box-shadow: inset 0 0 0 rem(2px) color($palette, 'success', 500) !important; + } %grid-cell--pinned-selected, %grid-cell--selected { @@ -1494,6 +1527,15 @@ .igx-input-group__bundle { border: none !important; + + &::before { + content: none !important; + } + } + + &.igx-grid__td--invalid { + box-shadow: inset 0 0 0 rem(2px) color($palette, 'error', 500) !important; + padding-inline-end: rem(4px) !important; } igx-prefix, diff --git a/projects/igniteui-angular/src/lib/grids/api.service.ts b/projects/igniteui-angular/src/lib/grids/api.service.ts index f3fe4853dde..50c472d1b0a 100644 --- a/projects/igniteui-angular/src/lib/grids/api.service.ts +++ b/projects/igniteui-angular/src/lib/grids/api.service.ts @@ -11,6 +11,7 @@ import { IgxColumnMovingService } from './moving/moving.service'; import { IGroupingExpression } from '../data-operations/grouping-expression.interface'; import { ISortingExpression, SortingDirection } from '../data-operations/sorting-strategy'; import { FilterUtil } from '../data-operations/filtering-strategy'; +import { IgxGridValidationService } from './grid/grid-validation.service'; /** * @hidden @@ -145,7 +146,11 @@ export class GridBaseAPIService implements GridServiceType { this.grid.summaryService.clearSummaryCache(args); const data = this.getRowData(cell.id.rowID); - this.updateData(this.grid, cell.id.rowID, data, cell.rowData, reverseMapper(cell.column.field, args.newValue)); + const newRowData = reverseMapper(cell.column.field, args.newValue); + this.updateData(this.grid, cell.id.rowID, data, cell.rowData, newRowData); + if (!this.grid.crudService.row) { + this.grid.validation.update(cell.id.rowID, newRowData); + } if (this.grid.primaryKey === cell.column.field) { if (this.grid.selectionService.isRowSelected(cell.id.rowID)) { this.grid.selectionService.deselectRow(cell.id.rowID); @@ -198,6 +203,7 @@ export class GridBaseAPIService implements GridServiceType { } this.updateData(grid, row.id, data[index], args.oldValue, args.newValue); + this.grid.validation.update(row.id, args.newValue); const newId = grid.primaryKey ? args.newValue[grid.primaryKey] : args.newValue; if (selected) { grid.selectionService.deselectRow(row.id); @@ -292,14 +298,15 @@ export class GridBaseAPIService implements GridServiceType { // Add row goes to transactions and if rowEditable is properly implemented, added rows will go to pending transactions // If there is a row in edit - > commit and close const grid = this.grid; - + const rowId = grid.primaryKey ? rowData[grid.primaryKey] : rowData; if (grid.transactions.enabled) { - const transactionId = grid.primaryKey ? rowData[grid.primaryKey] : rowData; - const transaction: Transaction = { id: transactionId, type: TransactionType.ADD, newValue: rowData }; + const transaction: Transaction = { id: rowId, type: TransactionType.ADD, newValue: rowData }; grid.transactions.add(transaction); } else { grid.data.push(rowData); } + grid.validation.markAsTouched(rowId); + grid.validation.update(rowId, rowData); } public deleteRowFromData(rowID: any, index: number) { @@ -317,6 +324,7 @@ export class GridBaseAPIService implements GridServiceType { const state: State = grid.transactions.getState(rowID); grid.transactions.add({ id: rowID, type: TransactionType.DELETE, newValue: null }, state && state.recordRef); } + grid.validation.clear(rowID); } public deleteRowById(rowId: any): any { diff --git a/projects/igniteui-angular/src/lib/grids/cell.component.html b/projects/igniteui-angular/src/lib/grids/cell.component.html index d270a047f8b..40837dfd5eb 100644 --- a/projects/igniteui-angular/src/lib/grids/cell.component.html +++ b/projects/igniteui-angular/src/lib/grids/cell.component.html @@ -70,37 +70,39 @@ }} - - + + - + - + - + - + - + [formControl]="formControl" + > - - + + - + {{ currencyCodeSymbol }} - {{ currencyCodeSymbol }} + {{ currencyCodeSymbol }} - + {{ editValue | percent:column.pipeArgs.digitsInfo:grid.locale }} @@ -158,3 +170,38 @@ + + + error +
+
+ +
+
+
+ + +
+ {{grid.resourceStrings.igx_grid_required_validation_error}} +
+
+ {{grid.resourceStrings.igx_grid_min_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.minlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_max_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.maxlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_min_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.min.min }} +
+
+ {{grid.resourceStrings.igx_grid_max_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.max.max }} +
+
+ {{grid.resourceStrings.igx_grid_email_validation_error }} +
+
+ {{grid.resourceStrings.igx_grid_pattern_validation_error}} +
+
diff --git a/projects/igniteui-angular/src/lib/grids/cell.component.ts b/projects/igniteui-angular/src/lib/grids/cell.component.ts index 2c111e25892..9ea256eb4f3 100644 --- a/projects/igniteui-angular/src/lib/grids/cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/cell.component.ts @@ -13,7 +13,10 @@ OnDestroy, OnChanges, SimpleChanges, - Inject + Inject, + ViewChildren, + QueryList, + AfterViewInit } from '@angular/core'; import { formatPercent } from '@angular/common'; import { IgxTextHighlightDirective } from '../directives/text-highlight/text-highlight.directive'; @@ -28,6 +31,12 @@ import { IgxRowDirective } from './row.directive'; import { ISearchInfo } from './common/events'; import { IgxGridCell } from './grid-public-cell'; import { ISelectionNode } from './common/types'; +import { IgxTooltipDirective } from '../directives/tooltip'; +import { AutoPositionStrategy, HorizontalAlignment, IgxOverlayService } from '../services/public_api'; +import { IgxIconComponent } from '../icon/icon.component'; +import { first, takeUntil, takeWhile } from 'rxjs/operators'; +import { FormControl, FormGroup } from '@angular/forms'; +import { Subject } from 'rxjs'; /** * Providing reference to `IgxGridCellComponent`: @@ -48,7 +57,8 @@ import { ISelectionNode } from './common/types'; templateUrl: './cell.component.html', providers: [HammerGesturesManager] }) -export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellType { +export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellType, AfterViewInit { + private _destroy$ = new Subject(); /** * @hidden * @internal @@ -58,6 +68,26 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT return this.intRow.addRowUI && (this.value === undefined || this.value === null); } + /** + * @hidden + * @internal + */ + @ViewChildren('error', { read: IgxTooltipDirective }) + public errorTooltip: QueryList; + + /** + * @hidden + * @internal + */ + @ViewChild('errorIcon', { read: IgxIconComponent, static: false }) + public errorIcon: IgxIconComponent; + + /** + * Gets the default error template. + */ + @ViewChild('defaultError', { read: TemplateRef, static: true }) + public defaultErrorTemplate: TemplateRef; + /** * Gets the column of the cell. * ```typescript @@ -69,6 +99,15 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT @Input() public column: ColumnType; + + /** + * @hidden + * @internal + */ + protected get formGroup(): FormGroup { + return this.grid.validation.getFormGroup(this.intRow.key); + } + /** * @hidden * @internal @@ -132,6 +171,9 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT @Input() public cellTemplate: TemplateRef; + @Input() + public cellValidationErrorTemplate: TemplateRef; + @Input() public pinnedIndicator: TemplateRef; @@ -171,8 +213,14 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT public get context(): any { const ctx = { $implicit: this.value, - additionalTemplateContext: this.column.additionalTemplateContext, + additionalTemplateContext: this.column.additionalTemplateContext }; + if (this.editMode) { + ctx['formControl'] = this.formControl; + } + if (this.isInvalid) { + ctx['defaultErrorTemplate'] = this.defaultErrorTemplate; + } /* Turns the `cell` property from the template context object into lazy-evaluated one. * Otherwise on each detection cycle the cell template is recreating N cell instances where * N = number of visible cells in the grid, leading to massive performance degradation in large grids. @@ -192,7 +240,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT * @memberof IgxGridCellComponent */ public get template(): TemplateRef { - if (this.editMode) { + if (this.editMode && this.formGroup) { const inlineEditorTemplate = this.column.inlineEditorTemplate; return inlineEditorTemplate ? inlineEditorTemplate : this.inlineEditorTemplate; } @@ -297,7 +345,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT @HostBinding('attr.title') public get title() { - if (this.editMode || this.cellTemplate) { + if (this.editMode || this.cellTemplate || this.errorShowing) { return ''; } @@ -421,6 +469,45 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT public get readonly(): boolean { return !this.editable; } + /** @hidden @internal */ + @HostBinding('attr.aria-describedby') + public get describeBy() { + return this.grid.id + '_' + this.column.field; + } + + /** @hidden @internal */ + @HostBinding('attr.aria-errormessage') + public get ariaErrorMessage() { + return this.grid.id + '_' + this.column.field + '_' + this.intRow.index + '_error'; + } + + /** + * @hidden + * @internal + */ + @HostBinding('class.igx-grid__td--invalid') + @HostBinding('attr.aria-invalid') + public get isInvalid() { + const isInvalid = this.formGroup?.get(this.column?.field)?.invalid && this.formGroup?.get(this.column?.field)?.touched; + return !this.intRow.deleted && isInvalid; + } + + /** + * @hidden + * @internal + */ + @HostBinding('class.igx-grid__td--valid') + public get isValidAfterEdit() { + const formControl = this.formGroup?.get(this.column?.field); + return this.editMode && formControl && !formControl.invalid && formControl.dirty; + } + + /** + * Gets the formControl responsible for value changes and validation for this cell. + */ + protected get formControl(): FormControl { + return this.grid.validation.getFormControl(this.intRow.key, this.column.field) as FormControl; + } public get gridRowSpan(): number { return this.column.gridRowSpan; @@ -657,6 +744,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT constructor( protected selectionService: IgxGridSelectionService, @Inject(IGX_GRID_BASE) public grid: GridType, + @Inject(IgxOverlayService) protected overlayService: IgxOverlayService, public cdr: ChangeDetectorRef, private element: ElementRef, protected zone: NgZone, @@ -722,6 +810,41 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT cssProps: {} /* don't disable user-select, etc */ } as HammerOptions); } + + } + + public ngAfterViewInit() { + this.errorTooltip.changes.pipe(takeUntil(this._destroy$)).subscribe(() => { + if (this.errorTooltip.length > 0 && this.active) { + // error ocurred + this.cdr.detectChanges(); + this.openErrorTooltip(); + } + }); + } + + /** + * @hidden + * @internal + */ + public errorShowing = false; + + private openErrorTooltip() { + const tooltip = this.errorTooltip.first; + tooltip.open( + { + target: this.errorIcon.el.nativeElement, + closeOnOutsideClick: true, + excludeFromOutsideClick: [this.nativeElement], + closeOnEscape: false, + outlet: this.grid.outlet, + modal: false, + positionStrategy: new AutoPositionStrategy({ + horizontalStartPoint: HorizontalAlignment.Center, + horizontalDirection: HorizontalAlignment.Center + }) + } + ); } /** @@ -734,6 +857,8 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT this.removePointerListeners(this.cellSelectionMode); }); this.touchManager.destroy(); + this._destroy$.next(); + this._destroy$.complete(); } /** @@ -741,6 +866,20 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT * @internal */ public ngOnChanges(changes: SimpleChanges): void { + if (changes.editMode && changes.editMode.currentValue && this.formControl) { + // while in edit mode subscribe to value changes on the current form control and set to editValue + this.formControl.valueChanges.pipe(takeWhile(x => this.editMode)).subscribe(value => { + this.editValue = value; + this.formControl.markAsTouched(); + }); + this.formControl.statusChanges.pipe(takeWhile(x => this.editMode)).subscribe(status => { + if (status === 'INVALID' && this.errorTooltip.length > 0) { + this.cdr.detectChanges(); + const tooltip = this.errorTooltip.first; + this.resizeAndRepositionOverlayById(tooltip.overlayId, this.errorTooltip.first.element.offsetWidth); + } + }); + } if (changes.value && !changes.value.firstChange) { if (this.highlight) { this.highlight.lastSearchInfo.searchedText = this.grid.lastSearchInfo.searchText; @@ -750,6 +889,19 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT } } + + + /** + * @hidden @internal + */ + private resizeAndRepositionOverlayById(overlayId: string, newSize: number) { + const overlay = this.overlayService.getOverlayById(overlayId); + if(!overlay) return; + overlay.initialSize.width = newSize; + overlay.elementRef.nativeElement.parentElement.style.width = newSize + 'px'; + this.overlayService.reposition(overlayId); + } + /** * Starts/ends edit mode for the cell. * @@ -792,6 +944,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT cell = this.grid.crudService.createCell(this); } cell.editValue = val; + this.formControl.setValue(val); this.grid.gridAPI.update_cell(cell); this.grid.crudService.endCellEdit(); this.cdr.markForCheck(); @@ -839,6 +992,21 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT } }; + /** + * @hidden + * @internal + */ + public focusout = () => { + this.closeErrorTooltip(); + } + + private closeErrorTooltip() { + const tooltip = this.errorTooltip.first; + if (tooltip) { + tooltip.close(); + } + } + /** * @hidden * @internal @@ -886,6 +1054,13 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT this.grid.navigation.setActiveNode({ row: this.rowIndex, column: this.visibleColumnIndex }); + const isTargetErrorIcon = event && event.target && event.target === this.errorIcon?.el.nativeElement + if (this.isInvalid && !isTargetErrorIcon) { + this.openErrorTooltip(); + this.grid.activeNodeChange.pipe(first()).subscribe(() => { + this.closeErrorTooltip(); + }); + } this.selectionService.primaryButton = true; if (this.cellSelectionMode === GridSelectionMode.multiple && this.selectionService.activeElement) { this.selectionService.add(this.selectionService.activeElement, false); // pointer events handle range generation @@ -956,6 +1131,9 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT if (this.editable && editMode && !this.intRow.deleted) { if (editableCell) { + if (this.grid.validationTrigger === 'blur') { + this.grid.tbody.nativeElement.focus({ preventScroll: true }); + } editableArgs = this.grid.crudService.updateCell(false, event); /* This check is related with the following issue #6517: @@ -994,6 +1172,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT } this.nativeElement.addEventListener('pointerenter', this.pointerenter); this.nativeElement.addEventListener('pointerup', this.pointerup); + this.nativeElement.addEventListener('focusout', this.focusout); } private removePointerListeners(selection) { @@ -1002,6 +1181,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT } this.nativeElement.removeEventListener('pointerenter', this.pointerenter); this.nativeElement.removeEventListener('pointerup', this.pointerup); + this.nativeElement.removeEventListener('focusout', this.focusout); } private getCellType(useRow?: boolean): CellType { diff --git a/projects/igniteui-angular/src/lib/grids/columns/column.component.ts b/projects/igniteui-angular/src/lib/grids/columns/column.component.ts index a80e5cf8a15..2595a9615ad 100644 --- a/projects/igniteui-angular/src/lib/grids/columns/column.component.ts +++ b/projects/igniteui-angular/src/lib/grids/columns/column.component.ts @@ -13,6 +13,8 @@ import { EventEmitter, OnDestroy, Inject, + Optional, + Self, } from '@angular/core'; import { notifyChanges } from '../watch-changes'; import { WatchColumnChanges } from '../watch-changes'; @@ -44,13 +46,15 @@ import { IgxCellEditorTemplateDirective, IgxCollapsibleIndicatorTemplateDirective, IgxFilterCellTemplateDirective, - IgxSummaryTemplateDirective + IgxSummaryTemplateDirective, + IgxCellValidationErrorDirective } from './templates.directive'; import { MRLResizeColumnInfo, MRLColumnSizeInfo, IColumnPipeArgs } from './interfaces'; import { DropPosition } from '../moving/moving.service'; import { IColumnVisibilityChangingEventArgs, IPinColumnCancellableEventArgs, IPinColumnEventArgs } from '../common/events'; import { isConstructor, PlatformUtil } from '../../core/utils'; import { IgxGridCell } from '../grid-public-cell'; +import { NG_VALIDATORS, Validator } from '@angular/forms'; const DEFAULT_DATE_FORMAT = 'mediumDate'; const DEFAULT_TIME_FORMAT = 'mediumTime'; @@ -90,6 +94,13 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy public get field(): string { return this._field; } + + + /** + * @hidden @internal + */ + public validators: Validator[] = []; + /** * Sets/gets the `header` value. * ```typescript @@ -859,6 +870,11 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy */ @ContentChild(IgxCellTemplateDirective, { read: IgxCellTemplateDirective }) protected cellTemplate: IgxCellTemplateDirective; + /** + * @hidden + */ + @ContentChild(IgxCellValidationErrorDirective, { read: IgxCellValidationErrorDirective }) + protected cellValidationErrorTemplate: IgxCellValidationErrorDirective; /** * @hidden */ @@ -1163,6 +1179,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy public set summaryTemplate(template: TemplateRef) { this._summaryTemplate = template; } + /** * Returns a reference to the `bodyTemplate`. * ```typescript @@ -1264,6 +1281,38 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy public set inlineEditorTemplate(template: TemplateRef) { this._inlineEditorTemplate = template; } + + /** + * Returns a reference to the validation error template. + * ```typescript + * let errorTemplate = this.column.errorTemplate; + * ``` + */ + @notifyChanges() + @WatchColumnChanges() + @Input('errorTemplate') + public get errorTemplate(): TemplateRef { + return this._errorTemplate; + } + /** + * Sets the error template. + * ```html + * + *
+ * This name is forbidden. + *
+ *
+ * ``` + * ```typescript + * @ViewChild("'errorTemplate'", {read: TemplateRef }) + * public errorTemplate: TemplateRef; + * this.column.errorTemplate = this.errorTemplate; + * ``` + */ + public set errorTemplate(template: TemplateRef) { + this._errorTemplate = template; + } + /** * Returns a reference to the `filterCellTemplate`. * ```typescript @@ -1614,6 +1663,10 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy * @hidden */ protected _bodyTemplate: TemplateRef; + /** + * @hidden + */ + protected _errorTemplate: TemplateRef; /** * @hidden */ @@ -1703,9 +1756,12 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy constructor( @Inject(IGX_GRID_BASE) public grid: GridType, + @Optional() @Self() @Inject(NG_VALIDATORS) private _validators: Validator[], public cdr: ChangeDetectorRef, protected platform: PlatformUtil, - ) { } + ) { + this.validators = _validators; + } /** * @hidden @@ -1735,6 +1791,9 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy if (this.cellTemplate) { this._bodyTemplate = this.cellTemplate.template; } + if (this.cellValidationErrorTemplate) { + this._errorTemplate = this.cellValidationErrorTemplate.template; + } if (this.headTemplate && this.headTemplate.length) { this._headerTemplate = this.headTemplate.toArray()[0].template; } diff --git a/projects/igniteui-angular/src/lib/grids/columns/column.module.ts b/projects/igniteui-angular/src/lib/grids/columns/column.module.ts index 6984c832816..c62a7ac9e95 100644 --- a/projects/igniteui-angular/src/lib/grids/columns/column.module.ts +++ b/projects/igniteui-angular/src/lib/grids/columns/column.module.ts @@ -7,16 +7,30 @@ import { IgxCellFooterTemplateDirective, IgxCellHeaderTemplateDirective, IgxCellTemplateDirective, + IgxCellValidationErrorDirective, IgxCollapsibleIndicatorTemplateDirective, IgxFilterCellTemplateDirective, IgxSummaryTemplateDirective } from './templates.directive'; +import { + IgxColumMaxLengthValidatorDirective, IgxColumnEmailValidatorDirective, IgxColumnMaxValidatorDirective, + IgxColumnMinLengthValidatorDirective, IgxColumnMinValidatorDirective, IgxColumnRequiredValidatorDirective, + IgxColumPatternValidatorDirective +} from './validators.directive'; @NgModule({ declarations: [ + IgxColumnRequiredValidatorDirective, + IgxColumnMinValidatorDirective, + IgxColumnMaxValidatorDirective, + IgxColumnMinLengthValidatorDirective, + IgxColumMaxLengthValidatorDirective, + IgxColumnEmailValidatorDirective, + IgxColumPatternValidatorDirective, IgxFilterCellTemplateDirective, IgxSummaryTemplateDirective, IgxCellTemplateDirective, + IgxCellValidationErrorDirective, IgxCellHeaderTemplateDirective, IgxCellFooterTemplateDirective, IgxCellEditorTemplateDirective, @@ -26,9 +40,17 @@ import { IgxColumnLayoutComponent ], exports: [ + IgxColumnRequiredValidatorDirective, + IgxColumnMinValidatorDirective, + IgxColumnMaxValidatorDirective, + IgxColumnMinLengthValidatorDirective, + IgxColumMaxLengthValidatorDirective, + IgxColumnEmailValidatorDirective, + IgxColumPatternValidatorDirective, IgxFilterCellTemplateDirective, IgxSummaryTemplateDirective, IgxCellTemplateDirective, + IgxCellValidationErrorDirective, IgxCellHeaderTemplateDirective, IgxCellFooterTemplateDirective, IgxCellEditorTemplateDirective, @@ -38,4 +60,4 @@ import { IgxColumnLayoutComponent ] }) -export class IgxGridColumnModule {} +export class IgxGridColumnModule { } diff --git a/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts b/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts index 2297047ff82..574fe7c3948 100644 --- a/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts +++ b/projects/igniteui-angular/src/lib/grids/columns/templates.directive.ts @@ -16,6 +16,13 @@ export class IgxCellTemplateDirective { constructor(public template: TemplateRef) { } } +@Directive({ + selector: '[igxCellValidationError]' +}) +export class IgxCellValidationErrorDirective { + constructor(public template: TemplateRef) { } +} + @Directive({ selector: '[igxHeader]' }) diff --git a/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts b/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts new file mode 100644 index 00000000000..6e02412e688 --- /dev/null +++ b/projects/igniteui-angular/src/lib/grids/columns/validators.directive.ts @@ -0,0 +1,87 @@ +import { Directive, forwardRef } from '@angular/core'; +import { RequiredValidator, NG_VALIDATORS, Validators, ValidationErrors, MinValidator, MaxValidator, EmailValidator, MinLengthValidator, MaxLengthValidator, PatternValidator } from '@angular/forms'; +import { IgxColumnComponent } from './column.component'; + + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[required]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumnRequiredValidatorDirective, + multi: true + }] +}) +export class IgxColumnRequiredValidatorDirective extends RequiredValidator { +} + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[min]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumnMinValidatorDirective, + multi: true + }] +}) +export class IgxColumnMinValidatorDirective extends MinValidator { } + + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[max]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumnMaxValidatorDirective, + multi: true + }] +}) +export class IgxColumnMaxValidatorDirective extends MaxValidator { } + + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[email]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumnEmailValidatorDirective, + multi: true + }] +}) +export class IgxColumnEmailValidatorDirective extends EmailValidator { } + + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[minlength]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumnMinLengthValidatorDirective, + multi: true + }] +}) +export class IgxColumnMinLengthValidatorDirective extends MinLengthValidator { } + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[maxlength]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumMaxLengthValidatorDirective, + multi: true + }] +}) +export class IgxColumMaxLengthValidatorDirective extends MaxLengthValidator { +} + +@Directive({ + // eslint-disable-next-line @angular-eslint/directive-selector + selector: 'igx-column[pattern]', + providers: [{ + provide: NG_VALIDATORS, + useExisting: IgxColumPatternValidatorDirective, + multi: true + }] +}) +export class IgxColumPatternValidatorDirective extends PatternValidator { +} \ No newline at end of file diff --git a/projects/igniteui-angular/src/lib/grids/common/crud.service.ts b/projects/igniteui-angular/src/lib/grids/common/crud.service.ts index dd4f60adbe1..c167af6c712 100644 --- a/projects/igniteui-angular/src/lib/grids/common/crud.service.ts +++ b/projects/igniteui-angular/src/lib/grids/common/crud.service.ts @@ -4,13 +4,17 @@ import { IGridEditDoneEventArgs, IGridEditEventArgs, IRowDataEventArgs } from '. import { GridType, RowType } from './grid.interface'; import { Subject } from 'rxjs'; import { copyDescriptors, isEqual } from '../../core/utils'; +import { FormControl, FormGroup } from '@angular/forms'; export class IgxEditRow { public transactionState: any; public state: any; public newData: any; + public rowFormGroup = new FormGroup({}); - constructor(public id: any, public index: number, public data: any, public grid: GridType) { } + constructor(public id: any, public index: number, public data: any, public grid: GridType) { + this.rowFormGroup = this.grid.validation.create(id, data); + } public createEditEventArgs(includeNewValue = true, event?: Event): IGridEditEventArgs { const args: IGridEditEventArgs = { @@ -20,6 +24,7 @@ export class IgxEditRow { cancel: false, owner: this.grid, isAddRow: false, + valid: this.rowFormGroup.valid, event }; if (includeNewValue) { @@ -39,6 +44,7 @@ export class IgxEditRow { newValue: updatedData, owner: this.grid, isAddRow: false, + valid: true, event }; @@ -93,7 +99,9 @@ export class IgxCell { public value: any, public editValue: any, public rowData: any, - public grid: GridType) { } + public grid: GridType) { + this.grid.validation.create(id.rowID, rowData); + } public castToNumber(value: any): any { if (this.column.dataType === 'number' && !this.column.inlineEditorTemplate) { @@ -104,6 +112,7 @@ export class IgxCell { } public createEditEventArgs(includeNewValue = true, event?: Event): IGridEditEventArgs { + const formControl = this.grid.validation.getFormControl(this.id.rowID, this.column.field); const args: IGridEditEventArgs = { rowID: this.id.rowID, cellID: this.id, @@ -112,6 +121,7 @@ export class IgxCell { cancel: false, column: this.column, owner: this.grid, + valid: formControl ? formControl.valid : true, event }; if (includeNewValue) { @@ -124,6 +134,7 @@ export class IgxCell { const updatedData = this.grid.transactions.enabled ? this.grid.transactions.getAggregatedValue(this.id.rowID, true) : this.rowData; const rowData = updatedData === null ? this.grid.gridAPI.getRowData(this.id.rowID) : updatedData; + const formControl = this.grid.validation.getFormControl(this.id.rowID, this.column.field); const args: IGridEditDoneEventArgs = { rowID: this.id.rowID, cellID: this.id, @@ -131,6 +142,7 @@ export class IgxCell { // the only case we use this.rowData directly, is when there is no rowEditing or transactions enabled rowData, oldValue: this.value, + valid: formControl ? formControl.valid : true, newValue: value, column: this.column, owner: this.grid, @@ -341,6 +353,13 @@ export class IgxRowCrudState extends IgxCellCrudState { let nonCancelableArgs; if (!commit) { this.grid.transactions.endPending(false); + const isAddRow = this.row && this.row.getClassName() === IgxAddRow.name; + const id = this.row ? this.row.id : this.cell.id.rowID; + if (isAddRow) { + this.grid.validation.clear(id); + } else { + this.grid.validation.update(id, rowEditArgs.oldValue); + } } else if (this.row.getClassName() === IgxEditRow.name) { rowEditArgs = this.grid.gridAPI.update_row(this.row, this.row.newData, event); nonCancelableArgs = this.rowEditDone(rowEditArgs.oldValue, event); @@ -625,6 +644,10 @@ export class IgxGridCRUDService extends IgxRowAddCrudState { return args.cancel; } } else { + if (!this.grid.rowEditable && this.cell) { + const value = this.grid.transactions.getAggregatedValue(this.cell.id.rowID, true) || this.cell.rowData; + this.grid.validation.update(this.cell.id.rowID, value); + } this.exitCellEdit(event); } diff --git a/projects/igniteui-angular/src/lib/grids/common/enums.ts b/projects/igniteui-angular/src/lib/grids/common/enums.ts index 4b8f21ae4cd..ff2a2aeb94f 100644 --- a/projects/igniteui-angular/src/lib/grids/common/enums.ts +++ b/projects/igniteui-angular/src/lib/grids/common/enums.ts @@ -19,6 +19,7 @@ export const GridSummaryCalculationMode = mkenum({ }); export type GridSummaryCalculationMode = (typeof GridSummaryCalculationMode)[keyof typeof GridSummaryCalculationMode]; +export type GridValidationTrigger = 'change' | 'blur' ; export type GridKeydownTargetType = 'dataCell' | diff --git a/projects/igniteui-angular/src/lib/grids/common/events.ts b/projects/igniteui-angular/src/lib/grids/common/events.ts index eaac040c867..3f1c4a71356 100644 --- a/projects/igniteui-angular/src/lib/grids/common/events.ts +++ b/projects/igniteui-angular/src/lib/grids/common/events.ts @@ -31,6 +31,7 @@ export interface IGridEditDoneEventArgs extends IBaseEventArgs { column?: ColumnType; owner?: GridType; isAddRow?: boolean; + valid?: boolean; } export interface IGridEditEventArgs extends CancelableEventArgs, IGridEditDoneEventArgs { diff --git a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts index e65f72efe2f..2be2a36de92 100644 --- a/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts +++ b/projects/igniteui-angular/src/lib/grids/common/grid.interface.ts @@ -1,4 +1,4 @@ -import { FilterMode, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition } from './enums'; +import { FilterMode, GridPagingMode, GridSelectionMode, GridSummaryCalculationMode, GridSummaryPosition, GridValidationTrigger } from './enums'; import { ISearchInfo, IGridCellEventArgs, IRowSelectionEventArgs, IColumnSelectionEventArgs, IGridEditEventArgs, IPinColumnCancellableEventArgs, IColumnVisibilityChangedEventArgs, IColumnVisibilityChangingEventArgs, @@ -36,6 +36,8 @@ import { OverlaySettings } from '../../services/overlay/utilities'; import { IPinningConfig } from '../grid.common'; import { IDimensionsChange, IPivotConfiguration, IPivotDimension, IPivotKeys, IPivotValue, IValuesChange, PivotDimensionType } from '../pivot-grid/pivot-grid.interface'; import { IDataCloneStrategy } from '../../data-operations/data-clone-strategy'; +import { FormGroup, ValidationErrors } from '@angular/forms'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; export const IGX_GRID_BASE = new InjectionToken('IgxGridBaseToken'); export const IGX_GRID_SERVICE_BASE = new InjectionToken('IgxGridServiceBaseToken'); @@ -63,6 +65,7 @@ export interface CellType { grid: GridType; id?: { rowID: any; columnID: number; rowIndex: number }; cellID?: any; + readonly errors?: ValidationErrors; readonly?: boolean; title?: any; width: string; @@ -84,6 +87,7 @@ export interface RowType { summaries?: Map; groupRow?: IGroupByRecord; key?: any; + readonly errors?: ValidationErrors; data?: any; cells?: QueryList | CellType[]; disabled?: boolean; @@ -117,6 +121,7 @@ export interface ColumnType { headerGroup: any; // TYPE headerCell: any; + validators: any[]; headerTemplate: TemplateRef; collapsibleIndicatorTemplate?: TemplateRef; @@ -200,6 +205,31 @@ export interface ColumnType { populateVisibleIndexes?(): void; } +export interface IGridFormGroupCreatedEventArgs { + formGroup: FormGroup, + owner: GridType +} + +export interface IGridValidityStatusEventArgs { + status: ValidityStatus, + owner: GridType +} + +export type ValidityStatus = 'VALID' | 'INVALID'; + +export interface IRecordValidationState { + key: any; + valid: boolean; + errors: ValidationErrors; + cells: IFieldValidationState[]; +} + +export interface IFieldValidationState { + field: string, + valid: boolean, + errors: ValidationErrors +} + export interface GridServiceType { grid: GridType; @@ -348,6 +378,7 @@ export interface GridType extends IGridDataBindable { _baseFontSize?: number; scrollSize: number; + validationTrigger: GridValidationTrigger; pinning: IPinningConfig; expansionStates: Map; parentVirtDir: any; @@ -379,6 +410,7 @@ export interface GridType extends IGridDataBindable { filteredSortedData: any[]; dataWithAddedInTransactionRows: any[]; transactions: TransactionService; + validation: IgxGridValidationService; defaultSummaryHeight: number; summaryRowHeight: number; rowEditingOverlay: IgxToggleDirective; @@ -484,6 +516,8 @@ export interface GridType extends IGridDataBindable { rowDragStart: EventEmitter; rowDragEnd: EventEmitter; rowToggle: EventEmitter; + formGroupCreated: EventEmitter; + validationStatusChange: EventEmitter; toolbarExporting: EventEmitter; rendered$: Observable; diff --git a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts index 07adef3e17d..5c949d1046d 100644 --- a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts +++ b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts @@ -91,7 +91,8 @@ import { FilterMode, ColumnPinningPosition, RowPinningPosition, - GridPagingMode + GridPagingMode, + GridValidationTrigger } from './common/enums'; import { IGridCellEventArgs, @@ -123,7 +124,7 @@ import { IPinColumnCancellableEventArgs } from './common/events'; import { IgxAdvancedFilteringDialogComponent } from './filtering/advanced-filtering/advanced-filtering-dialog.component'; -import { ColumnType, GridServiceType, GridType, IGX_GRID_SERVICE_BASE, ISizeInfo, RowType } from './common/grid.interface'; +import { ColumnType, GridServiceType, GridType, IGridFormGroupCreatedEventArgs, IGridValidityStatusEventArgs, IGX_GRID_SERVICE_BASE, ISizeInfo, RowType } from './common/grid.interface'; import { DropPosition } from './moving/moving.service'; import { IgxHeadSelectorDirective, IgxRowSelectorDirective } from './selection/row-selectors'; import { IgxColumnComponent } from './columns/column.component'; @@ -153,6 +154,8 @@ import { IgxGridHeaderComponent } from './headers/grid-header.component'; import { IgxGridFilteringRowComponent } from './filtering/base/grid-filtering-row.component'; import { DefaultDataCloneStrategy, IDataCloneStrategy } from '../data-operations/data-clone-strategy'; import { IgxGridCellComponent } from './cell.component'; +import { FormGroup } from '@angular/forms'; +import { IgxGridValidationService } from './grid/grid-validation.service'; let FAKE_ROW_ID = -1; const DEFAULT_ITEMS_PER_PAGE = 15; @@ -501,6 +504,29 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements @Output() public cellClick = new EventEmitter(); + + /** + * Emitted when formGroup is created on edit of row/cell. + * + * @example + * ```html + * + * ``` + */ + @Output() + public formGroupCreated = new EventEmitter(); + + /** + * Emitted when grid's validation status changes. + * + * @example + * ```html + * + * ``` + */ + @Output() + public validationStatusChange = new EventEmitter(); + /** * Emitted when a cell is selected. * @@ -1697,6 +1723,17 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements return this._rowDrag && this.hasVisibleColumns; } + /** + * Gets/Sets the trigger for validators used when editing the grid. + * + * @example + * ```html + * + * ``` + */ + @Input() + public validationTrigger: GridValidationTrigger = 'change'; + public set rowDraggable(val: boolean) { this._rowDrag = val; @@ -3029,6 +3066,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements } constructor( + public validation: IgxGridValidationService, public selectionService: IgxGridSelectionService, public colResizingService: IgxColumnResizingService, @Inject(IGX_GRID_SERVICE_BASE) public gridAPI: GridServiceType, @@ -3236,6 +3274,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements this.gridAPI.grid = this as any; this.crudService.grid = this as any; this.selectionService.grid = this as any; + this.validation.grid = this as any; this.navigation.grid = this as any; this.filteringService.grid = this as any; this.summaryService.grid = this as any; @@ -6169,6 +6208,24 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements } } } + if (event.origin === TransactionEventOrigin.REDO || event.origin === TransactionEventOrigin.UNDO) { + event.actions.forEach(x => { + if (x.transaction.type === TransactionType.UPDATE) { + const value = this.transactions.getAggregatedValue(x.transaction.id, true); + this.validation.update(x.transaction.id, value ?? x.recordRef); + } else if (x.transaction.type === TransactionType.DELETE || x.transaction.type === TransactionType.ADD) { + const value = this.transactions.getAggregatedValue(x.transaction.id, true); + if (value) { + this.validation.create(x.transaction.id, value ?? x.recordRef); + this.validation.update(x.transaction.id, value ?? x.recordRef); + this.validation.markAsTouched(x.transaction.id); + } else { + this.validation.clear(x.transaction.id); + } + } + + }); + } this.selectionService.clearHeaderCBState(); this.summaryService.clearSummaryCache(); this.pipeTrigger++; diff --git a/projects/igniteui-angular/src/lib/grids/grid-common.module.ts b/projects/igniteui-angular/src/lib/grids/grid-common.module.ts index cb7af853cbf..d1205bc3266 100644 --- a/projects/igniteui-angular/src/lib/grids/grid-common.module.ts +++ b/projects/igniteui-angular/src/lib/grids/grid-common.module.ts @@ -41,6 +41,8 @@ import { export * from './common/grid-pipes.module'; import { IgxChipsModule } from '../chips/chips.module'; import { IgxGroupByMetaPipe } from './grouping/group-by-area.directive'; +import { ReactiveFormsModule } from '@angular/forms'; +import { IgxTooltipModule } from '../directives/tooltip'; /** * @hidden @@ -118,7 +120,9 @@ import { IgxGroupByMetaPipe } from './grouping/group-by-area.directive'; IgxRowDragModule, IgxPaginatorModule, IgxGridSharedModules, - IgxChipsModule + IgxChipsModule, + IgxTooltipModule, + ReactiveFormsModule ] }) export class IgxGridCommonModule { } diff --git a/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts b/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts index 1319fe4d48e..d1976562f64 100644 --- a/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts +++ b/projects/igniteui-angular/src/lib/grids/grid-public-cell.ts @@ -1,6 +1,7 @@ import { CellType, ColumnType, GridType, RowType } from './common/grid.interface'; import { ISelectionNode } from './common/types'; import { resolveNestedPath } from '../core/utils'; +import { ValidationErrors } from '@angular/forms'; export class IgxGridCell implements CellType { @@ -74,6 +75,18 @@ export class IgxGridCell implements CellType { } } + /** + * Gets the validation errors if any. + * ```typescript + * let errors = this.cell.errors; + * ``` + */ + + public get errors(): ValidationErrors { + const form = this.grid.validation.getFormControl(this.row.key, this.column.field); + return form?.errors; + } + /** * Sets the current edit value while a cell is in edit mode. * Only for cell editing mode. diff --git a/projects/igniteui-angular/src/lib/grids/grid-public-row.ts b/projects/igniteui-angular/src/lib/grids/grid-public-row.ts index 9a53af44eeb..011047e6e81 100644 --- a/projects/igniteui-angular/src/lib/grids/grid-public-row.ts +++ b/projects/igniteui-angular/src/lib/grids/grid-public-row.ts @@ -6,6 +6,7 @@ import { IgxSummaryResult } from './summaries/grid-summary'; import { ITreeGridRecord } from './tree-grid/tree-grid.interfaces'; import mergeWith from 'lodash.mergewith'; import { CellType, GridServiceType, GridType, RowType } from './common/grid.interface'; +import { ValidationErrors } from '@angular/forms'; abstract class BaseRow implements RowType { public index: number; @@ -51,6 +52,16 @@ abstract class BaseRow implements RowType { this.grid.crudService.row.id === this.key; } + /** Gets the validation errors if any. + * ```typescript + * let errors = row.errors; + * ``` + */ + public get errors(): ValidationErrors { + const formGroup = this.grid.validation.getFormGroup(this.key); + return formGroup?.errors; + } + /** * The data record that populates the row. * diff --git a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.html b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.html index fb48cb47aa6..2b246079ec6 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.html +++ b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.html @@ -50,50 +50,100 @@ value ? value : (column.header || column.field) }}
- - - - + + + + - - + + - - + + - - - + + + - - - + + - - + + - + {{ currencyCodeSymbol }} - - {{ currencyCodeSymbol }} + + {{ currencyCodeSymbol }} - - + + {{ editValue | percent:column.pipeArgs.digitsInfo:grid.locale }} @@ -110,9 +160,44 @@ + + error +
+
+ +
+
+
+ expand_more chevron_right + + +
+ {{grid.resourceStrings.igx_grid_required_validation_error}} +
+
+ {{grid.resourceStrings.igx_grid_min_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.minlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_max_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.maxlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_min_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.min.min }} +
+
+ {{grid.resourceStrings.igx_grid_max_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.max.max }} +
+
+ {{grid.resourceStrings.igx_grid_email_validation_error }} +
+
+ {{grid.resourceStrings.igx_grid_pattern_validation_error}} +
+
diff --git a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts index 597d3fae70f..d85c85c68a7 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts @@ -16,6 +16,7 @@ import { DOCUMENT } from '@angular/common'; import { IgxGridSelectionService } from '../selection/selection.service'; import { HammerGesturesManager } from '../../core/touch'; import { GridType, IGX_GRID_BASE } from '../common/grid.interface'; +import { IgxOverlayService } from '../../services/public_api'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -50,13 +51,14 @@ export class IgxGridExpandableCellComponent extends IgxGridCellComponent impleme constructor(selectionService: IgxGridSelectionService, @Inject(IGX_GRID_BASE) grid: GridType, + @Inject(IgxOverlayService) protected overlayService: IgxOverlayService, cdr: ChangeDetectorRef, element: ElementRef, protected zone: NgZone, touchManager: HammerGesturesManager, @Inject(DOCUMENT) public document, protected platformUtil: PlatformUtil) { - super(selectionService, grid, cdr, element, zone, touchManager, platformUtil); + super(selectionService, grid, overlayService, cdr, element, zone, touchManager, platformUtil); } /** diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts index bdef18713fb..a89e6ee4bc3 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-cell-editing.spec.ts @@ -578,6 +578,7 @@ describe('IgxGrid - Cell Editing #grid', () => { rowData: initialRowData, oldValue: 'John Brown', cancel: false, + valid: true, column: cell.column, owner: grid, event: jasmine.anything() as any @@ -598,6 +599,7 @@ describe('IgxGrid - Cell Editing #grid', () => { rowID: cell2.row.key, rowData: initialRowData, oldValue: 20, + valid: true, cancel: false, column: cell2.column, owner: grid, @@ -626,6 +628,7 @@ describe('IgxGrid - Cell Editing #grid', () => { rowData: initialRowData, oldValue: 'John Brown', cancel: true, + valid: true, column: cell.column, owner: grid, event: jasmine.anything() as any @@ -651,7 +654,8 @@ describe('IgxGrid - Cell Editing #grid', () => { cancel: true, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditEnter.emit).toHaveBeenCalledTimes(2); expect(grid.cellEditEnter.emit).toHaveBeenCalledWith(cellArgs); @@ -676,6 +680,7 @@ describe('IgxGrid - Cell Editing #grid', () => { cellID: cell.cellID, rowData: initialRowData, newValue: 'John Brown', + valid: true, oldValue: 'John Brown', column: cell.column, owner: grid, @@ -698,6 +703,7 @@ describe('IgxGrid - Cell Editing #grid', () => { rowData: initialRowData, newValue: 20, oldValue: 20, + valid: true, column: cell.column, owner: grid, event: jasmine.anything() as any @@ -733,7 +739,8 @@ describe('IgxGrid - Cell Editing #grid', () => { cancel: false, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEdit.emit).toHaveBeenCalledTimes(1); expect(grid.cellEdit.emit).toHaveBeenCalledWith(cellArgs); @@ -758,7 +765,8 @@ describe('IgxGrid - Cell Editing #grid', () => { cancel: false, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEdit.emit).toHaveBeenCalledTimes(2); expect(grid.cellEdit.emit).toHaveBeenCalledWith(cellArgs); @@ -796,6 +804,7 @@ describe('IgxGrid - Cell Editing #grid', () => { cancel: true, column: cell.column, owner: grid, + valid: true, event: undefined }; expect(grid.cellEdit.emit).toHaveBeenCalledTimes(1); @@ -967,7 +976,8 @@ describe('IgxGrid - Cell Editing #grid', () => { newValue: 'New Name', column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditExit.emit).toHaveBeenCalledTimes(1); expect(grid.cellEditExit.emit).toHaveBeenCalledWith(cellArgs); @@ -1004,7 +1014,8 @@ describe('IgxGrid - Cell Editing #grid', () => { newValue: firstNewValue, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditDone.emit).toHaveBeenCalledTimes(1); expect(grid.cellEditDone.emit).toHaveBeenCalledWith(cellArgs); @@ -1028,7 +1039,8 @@ describe('IgxGrid - Cell Editing #grid', () => { newValue: secondNewValue, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditDone.emit).toHaveBeenCalledTimes(2); expect(grid.cellEditDone.emit).toHaveBeenCalledWith(cellArgs); diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts index fae5b648fc8..2a89d8fa845 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row-editing.spec.ts @@ -126,7 +126,7 @@ describe('IgxGrid - Row Editing #grid', () => { it('Emit all events with proper arguments', () => { const row = grid.gridAPI.get_row_by_index(2); - const initialRowData = {...cell.row.data}; + const initialRowData = { ...cell.row.data }; const newCellValue = 'Aaaaa'; const updatedRowData = Object.assign({}, row.data, { ProductName: newCellValue }); @@ -153,6 +153,7 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: false, column: cell.column, owner: grid, + valid: true, event: jasmine.anything() as any }; let rowEditArgs: IGridEditEventArgs = { @@ -160,6 +161,7 @@ describe('IgxGrid - Row Editing #grid', () => { rowData: initialRowData, oldValue: row.data, cancel: false, + valid: true, owner: grid, isAddRow: row.addRowUI, event: jasmine.anything() as any @@ -177,6 +179,7 @@ describe('IgxGrid - Row Editing #grid', () => { rowID: cell.row.key, rowData: cell.row.data, oldValue: cell.value, + valid: true, newValue: cell.value, column: cell.column, owner: grid, @@ -190,7 +193,8 @@ describe('IgxGrid - Row Editing #grid', () => { oldValue: row.data, owner: grid, isAddRow: row.addRowUI, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditExit.emit).toHaveBeenCalledWith(cellEditExitArgs); @@ -210,6 +214,7 @@ describe('IgxGrid - Row Editing #grid', () => { rowData: Object.assign({}, row.data, { ProductName: newCellValue }), oldValue: cell.value, newValue: newCellValue, + valid: true, column: cell.column, owner: grid, event: jasmine.anything() as any @@ -226,6 +231,7 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: false, owner: grid, isAddRow: row.addRowUI, + valid: true, event: jasmine.anything() as any }; @@ -235,6 +241,7 @@ describe('IgxGrid - Row Editing #grid', () => { rowData: updatedRowData, // with rowEditable - IgxGridRowEditingComponent oldValue: cell.value, newValue: newCellValue, + valid: true, column: cell.column, owner: grid, event: jasmine.anything() as any @@ -247,7 +254,8 @@ describe('IgxGrid - Row Editing #grid', () => { newValue: Object.assign({}, row.data, { ProductName: newCellValue }), owner: grid, isAddRow: row.addRowUI, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; UIInteractions.triggerEventHandlerKeyDown('enter', gridContent); @@ -493,7 +501,7 @@ describe('IgxGrid - Row Editing #grid', () => { fix.detectChanges(); await wait(DEBOUNCETIME); - targetCell = grid.gridAPI.get_cell_by_index(0, 'Test'); + targetCell = grid.gridAPI.get_cell_by_index(0, 'Test'); UIInteractions.simulateClickAndSelectEvent(targetCell); fix.detectChanges(); @@ -1542,7 +1550,7 @@ describe('IgxGrid - Row Editing #grid', () => { cell = grid.getCellByColumn(0, 'ProductName'); cellElem = grid.gridAPI.get_cell_by_index(0, 'ProductName'); initialRow = grid.getRowByIndex(0); - initialData = {...initialRow.data}; + initialData = { ...initialRow.data }; fix.componentInstance.pinnedFlag = true; fix.detectChanges(); })); @@ -1684,7 +1692,7 @@ describe('IgxGrid - Row Editing #grid', () => { const doneButtonElement = GridFunctions.getRowEditingDoneButton(fix); doneButtonElement.click(); - const rowData = Object.assign({}, cell.row.data, {ProductName: 'New Name'}); + const rowData = Object.assign({}, cell.row.data, { ProductName: 'New Name' }); expect(!!grid.gridAPI.crudService.rowInEditMode).toEqual(true); expect(grid.gridAPI.crudService.cellInEditMode).toEqual(false); expect(cell.row.data).not.toEqual(rowData); @@ -1717,6 +1725,7 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: false, owner: grid, isAddRow: false, + valid: true, event: jasmine.anything() as any }); }); @@ -1756,7 +1765,8 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: true, owner: grid, isAddRow: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }); // Enter cell edit mode again @@ -1780,7 +1790,8 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: true, owner: grid, isAddRow: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }); }); @@ -1809,7 +1820,8 @@ describe('IgxGrid - Row Editing #grid', () => { oldValue: initialData, owner: grid, isAddRow: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }); }); @@ -1835,7 +1847,8 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: false, owner: grid, isAddRow: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }); }); @@ -1865,7 +1878,8 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: true, owner: grid, isAddRow: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }); }); @@ -1897,7 +1911,8 @@ describe('IgxGrid - Row Editing #grid', () => { oldValue: initialData, owner: grid, isAddRow: false, - event: undefined + event: undefined, + valid: true }); }); @@ -1927,7 +1942,8 @@ describe('IgxGrid - Row Editing #grid', () => { oldValue: initialData, owner: grid, isAddRow: false, - event: undefined + event: undefined, + valid: true }); }); @@ -1945,7 +1961,8 @@ describe('IgxGrid - Row Editing #grid', () => { cancel: false, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; UIInteractions.simulateDoubleClickAndSelectEvent(cellElem); @@ -2148,7 +2165,8 @@ describe('IgxGrid - Row Editing #grid', () => { newValue: newCellValue, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; const rowDoneArgs: IGridEditDoneEventArgs = { @@ -2158,7 +2176,8 @@ describe('IgxGrid - Row Editing #grid', () => { newValue: Object.assign({}, row.data, { ProductName: newCellValue }), owner: grid, isAddRow: row.addRowUI, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; UIInteractions.triggerEventHandlerKeyDown('enter', gridContent); @@ -2753,7 +2772,7 @@ describe('IgxGrid - Row Editing #grid', () => { expect(trans.add).toHaveBeenCalled(); expect(trans.add).toHaveBeenCalledTimes(1); - expect(trans.add).toHaveBeenCalledWith({ id: 100, type: 'add', newValue: addRowData}); + expect(trans.add).toHaveBeenCalledWith({ id: 100, type: 'add', newValue: addRowData }); expect(grid.data.length).toBe(10); }); @@ -2775,7 +2794,11 @@ describe('IgxGrid - Row Editing #grid', () => { expect(trans.add).toHaveBeenCalled(); expect(trans.add).toHaveBeenCalledTimes(1); - expect(trans.add).toHaveBeenCalledWith({ id: 3, type: 'update', newValue: { ProductName: 'Updated Cell' }}, grid.data[2]); + expect(trans.add).toHaveBeenCalledWith({ + id: 3, + type: 'update', + newValue: { ProductName: 'Updated Cell' } + }, grid.data[2]); expect(grid.data.length).toBe(10); }); @@ -2795,7 +2818,11 @@ describe('IgxGrid - Row Editing #grid', () => { expect(trans.add).toHaveBeenCalled(); expect(trans.add).toHaveBeenCalledTimes(1); - expect(trans.add).toHaveBeenCalledWith({ id: 3, type: 'update', newValue: updateRowData }, oldRowData); + expect(trans.add).toHaveBeenCalledWith({ + id: 3, + type: 'update', + newValue: updateRowData + }, oldRowData); expect(grid.data[2]).toBe(oldRowData); }); diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html index dd41b369562..a18e8d52291 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-row.component.html @@ -117,6 +117,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -149,6 +150,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -181,6 +183,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -213,6 +216,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-validation.service.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.service.ts new file mode 100644 index 00000000000..bc580c28e11 --- /dev/null +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.service.ts @@ -0,0 +1,179 @@ +import { Injectable } from '@angular/core'; +import { FormControl, FormGroup } from '@angular/forms'; +import { resolveNestedPath } from '../../core/utils'; +import { GridType, IFieldValidationState, IGridFormGroupCreatedEventArgs, IRecordValidationState } from '../common/grid.interface'; + +@Injectable() +export class IgxGridValidationService { + /** + * @hidden + * @internal + */ + public grid: GridType; + private _validityStates = new Map(); + private _valid = true; + + + /** Gets whether state is valid. + */ + public get valid() : boolean { + return this._valid; + } + + /** + * @hidden + * @internal + */ + public create(rowId, data) { + let formGroup = this.getFormGroup(rowId); + if (!formGroup) { + formGroup = new FormGroup({}); + for (const col of this.grid.columns) { + const value = resolveNestedPath(data || {}, col.field); + const field = this.getFieldKey(col.field); + const control = new FormControl(value, { updateOn: this.grid.validationTrigger }); + control.addValidators(col.validators); + formGroup.addControl(field, control); + } + const args: IGridFormGroupCreatedEventArgs = { + formGroup, + owner: this.grid + }; + this.grid.formGroupCreated.emit(args); + this.add(rowId, formGroup); + } else { + // reset to pristine. + for (const col of this.grid.columns) { + const formControl = formGroup.get(col.field); + if (formControl) { + formControl.markAsPristine(); + } + } + } + + return formGroup; + } + + /** + * @hidden + * @internal + */ + private getFieldKey(path: string) { + const parts = path?.split('.') ?? []; + return parts.join('_'); + } + + /** + * @hidden + * @internal + */ + public getFormGroup(id: any) { + return this._validityStates.get(id); + } + + /** + * @hidden + * @internal + */ + public getFormControl(rowId: any, columnKey: string) { + const formControl = this.getFormGroup(rowId); + const field = this.getFieldKey(columnKey); + return formControl?.get(field); + } + + /** + * @hidden + * @internal + */ + public add(rowId: any, form: FormGroup) { + this._validityStates.set(rowId, form); + } + + /** + * @hidden + * @internal + */ + private getValidity(): IRecordValidationState[] { + const states: IRecordValidationState[] = []; + this._validityStates.forEach((formGroup, key) => { + const state: IFieldValidationState[] = []; + for (const col of this.grid.columns) { + const colKey = this.getFieldKey(col.field); + const control = formGroup.get(colKey); + if (control) { + state.push({ field: colKey, valid: control.valid, errors: control.errors }) + } + } + states.push({ key: key, valid: formGroup.valid, cells: state, errors: formGroup.errors }); + }); + return states; + } + + /** Returns all invalid record states. + * @returns Array of IRecordValidationState. + */ + public getInvalid(): IRecordValidationState[] { + const validity = this.getValidity(); + return validity.filter(x => !x.valid); + } + + /** + * @hidden + * @internal + */ + public update(rowId: any, rowData: any) { + if (!rowData) return; + const keys = Object.keys(rowData); + const rowGroup = this.getFormGroup(rowId); + for (const key of keys) { + const colKey = this.getFieldKey(key); + const control = rowGroup?.get(colKey); + if (control) { + control.setValue(rowData[key], { emitEvent: false }); + } + } + + this.updateStatus(); + } + + /** Marks the associated record or field as touched. + * @param id The id of the record that will be marked as touched. + * @param field Optional. The field from the record that will be marked as touched. If not provided all fields will be touched. + */ + public markAsTouched(rowId: any, field?: string) { + const rowGroup = this.getFormGroup(rowId); + if (!rowGroup) return; + rowGroup.markAsTouched(); + const fields = field ? [field] : this.grid.columns.map(x => x.field); + for (const currField of fields) { + const colKey = this.getFieldKey(currField); + rowGroup?.get(colKey)?.markAsTouched(); + } + } + + /** + * @hidden + * @internal + */ + private updateStatus() { + const currentValid = this.valid; + this._valid = this.getInvalid().length === 0; + if (this.valid !== currentValid) { + this.grid.validationStatusChange.emit({ status: this.valid ? 'VALID' : 'INVALID', owner: this.grid }); + } + } + + /** Clears validity state by id or clears all states if no id is passed. + * @param id The id of the record for which to clear state. + * @returns Array of IRecordValidationState. + */ + public clear(rowId?: any) { + if (rowId !== undefined) { + this._validityStates.delete(rowId); + } else { + this._validityStates.clear(); + } + this.updateStatus(); + } + +} \ No newline at end of file diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts new file mode 100644 index 00000000000..78fc865ae26 --- /dev/null +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts @@ -0,0 +1,559 @@ +import { fakeAsync, flush, TestBed, tick } from '@angular/core/testing'; +import { FormGroup, Validators } from '@angular/forms'; +import { By } from '@angular/platform-browser'; +import { NoopAnimationsModule } from '@angular/platform-browser/animations'; +import { IgxInputDirective, IgxTooltipTargetDirective, IgxTreeGridComponent, IgxTreeGridModule } from 'igniteui-angular'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators' +import { configureTestSuite } from '../../test-utils/configure-suite'; +import { GridFunctions, GridSelectionFunctions } from '../../test-utils/grid-functions.spec'; +import { + ForbiddenValidatorDirective, + IgxGridValidationTestBaseComponent, + IgxGridValidationTestCustomErrorComponent, + IgxTreeGridValidationTestComponent +} from '../../test-utils/grid-validation-samples.spec'; +import { UIInteractions } from '../../test-utils/ui-interactions.spec'; +import { IGridFormGroupCreatedEventArgs } from '../common/grid.interface'; +import { IgxGridComponent } from './grid.component'; +import { IgxGridModule } from './grid.module'; + +describe('IgxGrid - Validation #grid', () => { + + configureTestSuite((() => { + TestBed.configureTestingModule({ + declarations: [ + IgxGridValidationTestBaseComponent, + IgxGridValidationTestCustomErrorComponent, + IgxTreeGridValidationTestComponent, + ForbiddenValidatorDirective + ], + imports: [IgxGridModule, IgxTreeGridModule, NoopAnimationsModule] + }); + })); + + describe('Basic Validation - ', () => { + let fixture; + const $destroyer = new Subject(); + + beforeEach(() => { + fixture = TestBed.createComponent(IgxGridValidationTestBaseComponent); + fixture.detectChanges(); + }); + + afterEach(() => { + UIInteractions.clearOverlay(); + $destroyer.next(true); + }); + + it('should allow setting built-in validators via template-driven configuration on the column', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + const firstColumn = grid.columnList.first; + const validators = firstColumn.validators; + expect(validators.length).toBeGreaterThanOrEqual(3); + + const minValidator = validators.find(validator => validator['inputName'] === 'minlength'); + const maxValidator = validators.find(validator => validator['inputName'] === 'maxlength'); + const requiredValidator = validators.find(validator => validator['inputName'] === 'required'); + + expect(parseInt(minValidator['minlength'], 10)).toBe(4); + expect(parseInt(maxValidator['maxlength'], 10)).toBe(8); + expect(requiredValidator).toBeDefined(); + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('asd'); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //min length should be 4 + GridFunctions.verifyCellValid(cell, false); + + cell.editMode = true; + cell.update('test'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + }); + + it('should allow setting custom validators via template-driven configuration on the column', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + const firstColumn = grid.columnList.first; + const validators = firstColumn.validators; + + + const customValidator = validators.find(validator => validator['forbiddenName']); + expect(customValidator).toBeDefined(); + expect(customValidator['forbiddenName']).toEqual('bob'); + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('bob'); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //the name should not contain bob + GridFunctions.verifyCellValid(cell, false); + + cell.editMode = true; + cell.update('valid'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + }); + + it('should allow setting validators on the exposed FormGroup object', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + grid.formGroupCreated.pipe(takeUntil($destroyer)).subscribe((args: IGridFormGroupCreatedEventArgs) => { + const prodName = args.formGroup.get('ProductName'); + prodName.addValidators(Validators.email); + }); + + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('test'); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //the name should be correct email + GridFunctions.verifyCellValid(cell, false); + expect(cell.formControl.errors.email).toBeTrue(); + + cell.editMode = true; + cell.update('m@in.com'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + expect(cell.formControl.errors).toBeFalsy(); + }); + + it('should allow setting validation triggers - "change" , "blur".', async () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + //changing validation triger to blur + grid.validationTrigger = 'blur'; + fixture.detectChanges(); + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + fixture.detectChanges(); + + const input = fixture.debugElement.query(By.directive(IgxInputDirective)).nativeElement; + input.value = 'asd'; + input.dispatchEvent(new Event('input')); + fixture.detectChanges(); + + //the cell should be invalid after blur event is fired + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + + input.dispatchEvent(new Event('blur')); + fixture.detectChanges(); + // fix.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + GridFunctions.verifyCellValid(cell, false); + }); + + it('should mark invalid cell with igx-grid__td--invalid class and show the related error cell template', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('asd'); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //min length should be 4 + GridFunctions.verifyCellValid(cell, false); + const erorrMessage = cell.errorTooltip.first.elementRef.nativeElement.children[0].textContent; + expect(erorrMessage).toEqual(' Entry should be at least 4 character(s) long '); + }); + + it('should show the error message on error icon hover and when the invalid cell becomes active.', fakeAsync(() => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + const input = fixture.debugElement.query(By.directive(IgxInputDirective)).nativeElement; + input.value = 'asd'; + input.dispatchEvent(new Event('input')); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //min length should be 4 + GridFunctions.verifyCellValid(cell, false); + GridSelectionFunctions.verifyCellActive(cell, true); + const erorrMessage = cell.errorTooltip.first.elementRef.nativeElement.children[0].textContent; + expect(erorrMessage).toEqual(' Entry should be at least 4 character(s) long '); + + cell.errorTooltip.first.close(); + tick(); + fixture.detectChanges(); + expect(cell.errorTooltip.first.collapsed).toBeTrue(); + + const element = fixture.debugElement.query(By.directive(IgxTooltipTargetDirective)).nativeElement; + element.dispatchEvent(new MouseEvent('mouseenter')); + flush(); + fixture.detectChanges(); + expect(cell.errorTooltip.first.collapsed).toBeFalse(); + })); + + it('should allow preventing edit mode for cell/row to end by canceling the related event if isValid event argument is false', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + grid.cellEdit.pipe(takeUntil($destroyer)).subscribe((args) => { + if (!args.valid) { + args.cancel = true; + } + }); + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + + const lastValue = cell.value; + cell.formControl.setValue('asd'); + fixture.detectChanges(); + grid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + // should have been canceled and left in editmode because of non valid value + // should not have updated the value + GridFunctions.verifyCellValid(cell, false); + expect(!!grid.gridAPI.crudService.rowInEditMode).toEqual(true); + expect(grid.gridAPI.crudService.cellInEditMode).toEqual(true); + expect(cell.value).toEqual(lastValue); + + cell.update('test'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + }); + + it('should trigger the validationStatusChange event on grid when validation status changes', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + spyOn(grid.validationStatusChange, "emit").and.callThrough(); + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('asd'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + grid.crudService.endEdit(true); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + expect(grid.validationStatusChange.emit).toHaveBeenCalledWith({ status: 'INVALID', owner: grid}); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('test'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + grid.crudService.endEdit(true); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, true); + expect(grid.validationStatusChange.emit).toHaveBeenCalledWith({ status: 'INVALID', owner: grid}); + }); + + it('should return invalid transaction using the transaction service API', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + + + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('asd'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + let invalidRecords = grid.validation.getInvalid(); + + GridFunctions.verifyCellValid(cell, false); + expect(invalidRecords[0].cells[1].valid).toBeFalse(); + + + cell.editMode = true; + cell.update('test'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + GridFunctions.verifyCellValid(cell, true); + invalidRecords = grid.validation.getInvalid(); + expect(invalidRecords.length).toEqual(0); + }); + }); + + describe('Custom Validation - ', () => { + let fixture; + + beforeEach(fakeAsync(() => { + fixture = TestBed.createComponent(IgxGridValidationTestCustomErrorComponent); + fixture.detectChanges(); + })); + + it('should allow setting custom validators via template-driven configuration on the column', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.update('bob'); + fixture.detectChanges(); + + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + //bob cannot be the name + GridFunctions.verifyCellValid(cell, false); + const erorrMessage = cell.errorTooltip.first.elementRef.nativeElement.children[0].textContent; + expect(erorrMessage).toEqual(' This name is forbidden. '); + + cell.editMode = true; + cell.update('test'); + fixture.detectChanges(); + cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + GridFunctions.verifyCellValid(cell, true); + }); + }); + + describe('Transactions integration - ', () => { + let fixture; + + beforeEach(fakeAsync(() => { + fixture = TestBed.createComponent(IgxGridValidationTestBaseComponent); + fixture.componentInstance.batchEditing = true; + fixture.detectChanges(); + })); + + it('should update validity when setting new value through grid API', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + grid.updateCell('IG', 2,'ProductName'); + grid.validation.markAsTouched(2); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + grid.transactions.undo(); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, true); + + grid.updateRow({ + ProductID: 2, + ProductName: '', + SupplierID: 1, + CategoryID: 1, + QuantityPerUnit: '24 - 12 oz bottles', + UnitPrice: '19.0000', + UnitsInStock: 66, + UnitsOnOrder: 40, + ReorderLevel: 25, + Discontinued: false, + OrderDate: new Date('2003-03-17').toISOString(), + OrderDate2: new Date('2003-03-17').toISOString() + }, 2); + grid.validation.markAsTouched(2); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + grid.transactions.undo(); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, true); + + grid.transactions.redo(); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + }); + + it('should update validation status when using undo/redo api', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('IG'); + fixture.detectChanges(); + + grid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + grid.transactions.undo(); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, true); + + grid.transactions.redo(); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + grid.transactions.commit(grid.data); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + expect((grid.validation as any).getValidity().length).toEqual(1); + + grid.validation.clear(); + fixture.detectChanges(); + }); + + it('should not invalidate cleared number cell', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + let cell = grid.gridAPI.get_cell_by_visible_index(1, 3); + + // Set cell to null, which should invalidate + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update(null); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(1); + GridFunctions.verifyCellValid(cell, false); + + // Exit edit. CRUD service sets number value to 0 + grid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(0); + GridFunctions.verifyCellValid(cell, true); + + // Undo. Expect previous value + grid.transactions.undo(); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(0); + expect((grid.validation as any).getValidity().length).toEqual(1); + GridFunctions.verifyCellValid(cell, true); + + // Redo. Expect value 0 + grid.transactions.redo(); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(0); + expect((grid.validation as any).getValidity().length).toEqual(1); + GridFunctions.verifyCellValid(cell, true); + + grid.transactions.commit(grid.data); + grid.validation.clear(); + fixture.detectChanges(); + + expect((grid.validation as any).getValidity().length).toEqual(0); + }); + + it('should not show errors when the row is deleted', () => { + const grid = fixture.componentInstance.grid as IgxGridComponent; + let cell = grid.gridAPI.get_cell_by_visible_index(1, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('IG'); + fixture.detectChanges(); + + grid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(1); + GridFunctions.verifyCellValid(cell, false); + + grid.deleteRow(2); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(0); + GridFunctions.verifyCellValid(cell, true); + + grid.transactions.undo(); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(1); + GridFunctions.verifyCellValid(cell, false); + + grid.transactions.redo(); + fixture.detectChanges(); + + expect(grid.validation.getInvalid().length).toEqual(0); + GridFunctions.verifyCellValid(cell, true); + }); + }); + + describe('TreeGrid integration - ', () => { + let fixture; + + beforeEach(fakeAsync(() => { + fixture = TestBed.createComponent(IgxTreeGridValidationTestComponent); + fixture.componentInstance.batchEditing = true; + fixture.detectChanges(); + })); + + it('should allow setting built-in validators via template-driven and mark cell invalid', () => { + const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent; + let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('IG'); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + treeGrid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + }); + + it('should allow setting custom validators via template-driven and mark cell invalid', () => { + const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent; + let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('bob'); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + + treeGrid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + GridFunctions.verifyCellValid(cell, false); + }); + + it('should update validation status when using undo/redo/delete api', () => { + const treeGrid = fixture.componentInstance.treeGrid as IgxTreeGridComponent; + let cell = treeGrid.gridAPI.get_cell_by_visible_index(4, 1); + + UIInteractions.simulateDoubleClickAndSelectEvent(cell.element); + cell.editMode = true; + cell.update('IG'); + fixture.detectChanges(); + + treeGrid.gridAPI.crudService.endEdit(true); + fixture.detectChanges(); + + treeGrid.transactions.undo(); + fixture.detectChanges(); + + expect(treeGrid.validation.getInvalid().length).toEqual(0); + GridFunctions.verifyCellValid(cell, true); + + treeGrid.transactions.redo(); + fixture.detectChanges(); + + expect(treeGrid.validation.getInvalid().length).toEqual(1); + GridFunctions.verifyCellValid(cell, false); + + treeGrid.deleteRow(711); + fixture.detectChanges(); + + expect(treeGrid.validation.getInvalid().length).toEqual(0); + GridFunctions.verifyCellValid(cell, true); + }); + }); +}); diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts index a9002ecc3b8..6770d5e0faf 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid.component.ts @@ -30,6 +30,7 @@ import { IgxGridGroupByAreaComponent } from '../grouping/grid-group-by-area.comp import { IgxGridCell } from '../grid-public-cell'; import { ISortingExpression } from '../../data-operations/sorting-strategy'; import { IGridGroupingStrategy } from '../common/strategy'; +import { IgxGridValidationService } from './grid-validation.service'; let NEXT_ID = 0; @@ -66,6 +67,7 @@ export interface IGroupingDoneEventArgs extends IBaseEventArgs { IgxGridNavigationService, IgxGridSummaryService, IgxGridSelectionService, + IgxGridValidationService, { provide: IGX_GRID_SERVICE_BASE, useClass: IgxGridAPIService }, { provide: IGX_GRID_BASE, useExisting: IgxGridComponent }, IgxFilteringService, diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts index 7f3e20a7cea..eb0e9ba0470 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid.module.ts @@ -17,6 +17,8 @@ import { IgxGridSummaryPipe } from './grid.summary.pipe'; import { IgxGridDetailsPipe } from './grid.details.pipe'; import { IgxGridExpandableCellComponent } from './expandable-cell.component'; import { IgxGridGroupByAreaComponent } from '../grouping/grid-group-by-area.component'; +import { IgxTooltipModule } from '../../directives/tooltip'; +import { ReactiveFormsModule } from '@angular/forms'; /** * @hidden */ @@ -54,6 +56,8 @@ import { IgxGridGroupByAreaComponent } from '../grouping/grid-group-by-area.comp ], imports: [ IgxGridCommonModule, + IgxTooltipModule, + ReactiveFormsModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }) diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts index 7abd84b8879..3893033b8ce 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid.nested.props.spec.ts @@ -539,7 +539,8 @@ describe('Edit cell with data of type Array #grid', () => { cancel: false, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditEnter.emit).toHaveBeenCalledTimes(1); @@ -601,7 +602,8 @@ describe('Edit cell with data of type Array #grid', () => { cancel: false, column: cell.column, owner: grid, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.cellEditEnter.emit).toHaveBeenCalledTimes(1); @@ -668,7 +670,8 @@ describe('Edit cell with data of type Array #grid', () => { owner: grid, isAddRow: row.addRowUI, cancel: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.rowEditEnter.emit).toHaveBeenCalledTimes(1); @@ -731,7 +734,8 @@ describe('Edit cell with data of type Array #grid', () => { owner: grid, isAddRow: row.addRowUI, cancel: false, - event: jasmine.anything() as any + event: jasmine.anything() as any, + valid: true }; expect(grid.rowEditEnter.emit).toHaveBeenCalledTimes(1); @@ -765,7 +769,6 @@ describe('Edit cell with data of type Array #grid', () => { delete rowArgs.cancel; rowArgs.rowData = initialRowData; - expect(grid.rowEditDone.emit).toHaveBeenCalledTimes(1); expect(grid.rowEditDone.emit).toHaveBeenCalledWith(rowArgs); diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts index 4794cdab2b3..099a8a8759e 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid.search.spec.ts @@ -1111,7 +1111,7 @@ describe('IgxGrid - search API #grid - ', () => { }); fix.detectChanges(); grid.findNext('Casey'); - await wait(30); + await wait(100); fix.detectChanges(); let row = grid.gridAPI.get_row_by_index(17); let spans = row.nativeElement.querySelectorAll(HIGHLIGHT_CSS_CLASS); @@ -1120,7 +1120,7 @@ describe('IgxGrid - search API #grid - ', () => { grid.toggleAllGroupRows(); fix.detectChanges(); (grid as any).scrollTo(0, 0); - await wait(); + await wait(100); fix.detectChanges(); grid.toggleGroup(grid.groupsRecords[0]); fix.detectChanges(); @@ -1128,7 +1128,7 @@ describe('IgxGrid - search API #grid - ', () => { fix.detectChanges(); grid.findNext('Casey'); - await wait(); + await wait(100); fix.detectChanges(); row = grid.gridAPI.get_row_by_index(11); spans = row.nativeElement.querySelectorAll(HIGHLIGHT_CSS_CLASS); diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts index a7e344cdc18..386aa9f8486 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts @@ -4,6 +4,7 @@ import { IgxGridSelectionService } from '../selection/selection.service'; import { HammerGesturesManager } from '../../core/touch'; import { PlatformUtil } from '../../core/utils'; import { GridType, IGX_GRID_BASE } from '../common/grid.interface'; +import { IgxOverlayService } from '../../services/public_api'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -18,13 +19,14 @@ export class IgxHierarchicalGridCellComponent extends IgxGridCellComponent imple constructor( protected selectionService: IgxGridSelectionService, @Inject(IGX_GRID_BASE) public grid: GridType, + @Inject(IgxOverlayService) protected overlayService: IgxOverlayService, public cdr: ChangeDetectorRef, helement: ElementRef, protected zone: NgZone, touchManager: HammerGesturesManager, protected platformUtil: PlatformUtil ) { - super(selectionService, grid, cdr, helement, zone, touchManager, platformUtil); + super(selectionService, grid, overlayService, cdr, helement, zone, touchManager, platformUtil); } public ngOnInit() { diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts index 3fcdb593aa1..beb1e66f69d 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts @@ -40,6 +40,7 @@ import { IgxTransactionService } from '../../services/transaction/igx-transactio import { IgxOverlayService } from '../../services/overlay/overlay'; import { State, Transaction, TransactionService } from '../../services/transaction/transaction'; import { IgxGridTransaction } from '../common/types'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; export const hierarchicalTransactionServiceFactory = () => new IgxTransactionService(); @@ -148,6 +149,7 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect public abstract expandChildren: boolean; constructor( + validationService: IgxGridValidationService, public selectionService: IgxGridSelectionService, public colResizingService: IgxColumnResizingService, @Inject(IGX_GRID_SERVICE_BASE) public gridAPI: IgxHierarchicalGridAPIService, @@ -171,6 +173,7 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect protected platform: PlatformUtil, @Optional() @Inject(IgxGridTransaction) protected _diTransactions?: TransactionService) { super( + validationService, selectionService, colResizingService, gridAPI, @@ -265,6 +268,7 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect ref.instance[propName] = col[propName].constructor; } }); + ref.instance.validators = col.validators; return ref; } diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.ts index af322802ed8..dc4985cfad1 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.ts @@ -43,6 +43,7 @@ import { IgxGridComponent } from '../grid/grid.component'; import { IgxOverlayOutletDirective } from '../../directives/toggle/toggle.directive'; import { IgxColumnResizingService } from '../resizing/resizing.service'; import { IgxGridExcelStyleFilteringComponent } from '../filtering/excel-style/grid.excel-style-filtering.component'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; let NEXT_ID = 0; @@ -234,6 +235,7 @@ export class IgxChildGridRowComponent implements AfterViewInit, OnInit { templateUrl: 'hierarchical-grid.component.html', providers: [ IgxGridCRUDService, + IgxGridValidationService, IgxGridSelectionService, { provide: IGX_GRID_SERVICE_BASE, useClass: IgxHierarchicalGridAPIService }, { provide: IGX_GRID_BASE, useExisting: IgxHierarchicalGridComponent }, diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.module.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.module.ts index 38d9f90859e..391586c3533 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.module.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.module.ts @@ -5,6 +5,8 @@ import { IgxHierarchicalRowComponent } from './hierarchical-row.component'; import { IgxGridHierarchicalPipe, IgxGridHierarchicalPagingPipe } from './hierarchical-grid.pipes'; import { IgxRowIslandComponent } from './row-island.component'; import { IgxHierarchicalGridCellComponent } from './hierarchical-cell.component'; +import { IgxTooltipModule } from '../../directives/tooltip'; +import { ReactiveFormsModule } from '@angular/forms'; /** * @hidden @@ -29,6 +31,8 @@ import { IgxHierarchicalGridCellComponent } from './hierarchical-cell.component' ], imports: [ IgxGridModule, + IgxTooltipModule, + ReactiveFormsModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }) diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-row.component.html b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-row.component.html index 7d4ccfcd02c..1153f849132 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-row.component.html +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-row.component.html @@ -73,6 +73,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [cellSelectionMode]="grid.cellSelection" [displayPinnedChip]="shouldDisplayPinnedChip(col.visibleIndex)"> @@ -122,6 +123,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [cellSelectionMode]="grid.cellSelection" [displayPinnedChip]="shouldDisplayPinnedChip(col.visibleIndex)"> diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component.ts index 9a38c0ba1fa..80a61ae976a 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component.ts @@ -47,6 +47,7 @@ import { IgxActionStripComponent } from '../../action-strip/action-strip.compone import { IgxPaginatorDirective } from '../../paginator/paginator-interfaces'; import { IgxFlatTransactionFactory } from '../../services/transaction/transaction-factory.service'; import { IGridCreatedEventArgs } from './events'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -217,6 +218,7 @@ export class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective } constructor( + validationService: IgxGridValidationService, public selectionService: IgxGridSelectionService, public colResizingService: IgxColumnResizingService, @Inject(IGX_GRID_SERVICE_BASE) gridAPI: IgxHierarchicalGridAPIService, @@ -240,6 +242,7 @@ export class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective @Inject(LOCALE_ID) localeId: string, protected platform: PlatformUtil) { super( + validationService, selectionService, colResizingService, gridAPI, diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts index b35b1e0c8d3..1a6a7073ebe 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts @@ -74,6 +74,7 @@ import { PivotSortUtil } from './pivot-sort-util'; import { FilterUtil, IFilteringStrategy } from '../../data-operations/filtering-strategy'; import { IgxPivotValueChipTemplateDirective } from './pivot-grid.directives'; import { IFilteringOperation } from '../../data-operations/filtering-condition'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; let NEXT_ID = 0; const MINIMUM_COLUMN_WIDTH = 200; @@ -102,6 +103,7 @@ const MINIMUM_COLUMN_WIDTH_SUPER_COMPACT = 104; templateUrl: 'pivot-grid.component.html', providers: [ IgxGridCRUDService, + IgxGridValidationService, IgxGridSummaryService, IgxGridSelectionService, GridBaseAPIService, @@ -911,6 +913,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni } constructor( + validationService: IgxGridValidationService, public selectionService: IgxGridSelectionService, public colResizingService: IgxPivotColumnResizingService, gridAPI: GridBaseAPIService, @@ -934,6 +937,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni protected platform: PlatformUtil, @Optional() @Inject(IgxGridTransaction) protected _diTransactions?: TransactionService) { super( + validationService, selectionService, colResizingService, gridAPI, diff --git a/projects/igniteui-angular/src/lib/grids/public_api.ts b/projects/igniteui-angular/src/lib/grids/public_api.ts index da7bb7d4edd..a208863f9ed 100644 --- a/projects/igniteui-angular/src/lib/grids/public_api.ts +++ b/projects/igniteui-angular/src/lib/grids/public_api.ts @@ -13,7 +13,7 @@ export * from './grid-base.directive'; export * from './grid.common'; export * from './grid-public-row'; export * from './grid-public-cell'; -export { CellType, RowType, IGX_GRID_BASE } from './common/grid.interface'; +export { CellType, RowType, IGX_GRID_BASE, ValidityStatus, IRecordValidationState, IFieldValidationState } from './common/grid.interface'; export * from './summaries/grid-summary'; export * from './grid-common.module'; export * from './grid.rowEdit.directive'; @@ -21,6 +21,7 @@ export * from './row-drag.directive'; export * from './column-actions/column-actions.module'; export * from './state.directive'; export * from './toolbar/toolbar.module'; +export * from './grid/grid-validation.service'; export { IgxGridCellComponent as ϴIgxGridCellComponent } from './cell.component'; diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.html b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.html index 36829aa672d..2ba46b0050a 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.html +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.html @@ -71,32 +71,39 @@ }}
- - - + + - + - + - + - + - + [formControl]="formControl" + > - - + + - + {{ currencyCodeSymbol }} - {{ currencyCodeSymbol }} + {{ currencyCodeSymbol }} - - + {{ editValue | percent:column.pipeArgs.digitsInfo:grid.locale }} @@ -193,9 +212,43 @@
+ + error +
+
+ +
+
+
+ expand_more chevron_right + +
+ {{grid.resourceStrings.igx_grid_required_validation_error}} +
+
+ {{grid.resourceStrings.igx_grid_min_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.minlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_max_length_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.maxlength.requiredLength }} +
+
+ {{grid.resourceStrings.igx_grid_min_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.min.min }} +
+
+ {{grid.resourceStrings.igx_grid_max_validation_error | igxStringReplace:'{0}':formGroup.get(column.field).errors.max.max }} +
+
+ {{grid.resourceStrings.igx_grid_email_validation_error }} +
+
+ {{grid.resourceStrings.igx_grid_pattern_validation_error}} +
+
diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-api.service.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-api.service.ts index fd7277bac99..e87dd74848f 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-api.service.ts +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-api.service.ts @@ -147,6 +147,7 @@ export class IgxTreeGridAPIService extends GridBaseAPIService { } else { collection.splice(index, 1); } + this.grid.validation.clear(rowID); } } diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-row.component.html b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-row.component.html index c331f293888..e13f3596bd6 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-row.component.html +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-row.component.html @@ -45,6 +45,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -77,6 +78,7 @@ [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [isLoading]="isLoading" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -130,6 +132,7 @@ [visibleColumnIndex]="col.visibleIndex" [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" @@ -164,6 +167,7 @@ [value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath" [isLoading]="isLoading" [cellTemplate]="col.bodyTemplate" + [cellValidationErrorTemplate]="col.errorTemplate" [lastSearchInfo]="grid.lastSearchInfo" [active]="isCellActive(col.visibleIndex)" [cellSelectionMode]="grid.cellSelection" diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.ts index c1850d681b8..ee179ffd9a6 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.ts +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.ts @@ -59,6 +59,7 @@ import { HierarchicalTransactionService } from '../../services/transaction/hiera import { IgxOverlayService } from '../../services/overlay/overlay'; import { IgxGridTransaction } from '../common/types'; import { TreeGridFilteringStrategy } from './tree-grid.filtering.strategy'; +import { IgxGridValidationService } from '../grid/grid-validation.service'; let NEXT_ID = 0; @@ -84,6 +85,7 @@ let NEXT_ID = 0; templateUrl: 'tree-grid.component.html', providers: [ IgxGridCRUDService, + IgxGridValidationService, IgxGridSummaryService, IgxGridNavigationService, { provide: IgxGridSelectionService, useClass: IgxTreeGridSelectionService }, @@ -391,6 +393,7 @@ export class IgxTreeGridComponent extends IgxGridBaseDirective implements GridTy // } constructor( + protected validationService: IgxGridValidationService, public selectionService: IgxGridSelectionService, public colResizingService: IgxColumnResizingService, @Inject(IGX_GRID_SERVICE_BASE) public gridAPI: GridServiceType, @@ -416,7 +419,7 @@ export class IgxTreeGridComponent extends IgxGridBaseDirective implements GridTy @Optional() @Inject(IgxGridTransaction) protected _diTransactions?: HierarchicalTransactionService, ) { - super(selectionService, colResizingService, gridAPI, transactionFactory, + super(validationService, selectionService, colResizingService, gridAPI, transactionFactory, _elementRef, _zone, document, cdr, resolver, differs, viewRef, appRef, moduleRef, injector, navigation, filteringService, overlayService, summaryService, _displayDensityOptions, localeId, platform); } diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.module.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.module.ts index 9333642d432..10a249ba522 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.module.ts +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.module.ts @@ -10,6 +10,8 @@ import { IgxTreeGridSummaryPipe } from './tree-grid.summary.pipe'; import { IgxRowLoadingIndicatorTemplateDirective } from './tree-grid.directives'; import { IgxTreeGridGroupingPipe } from './tree-grid.grouping.pipe'; import { IgxTreeGridGroupByAreaComponent } from '../grouping/tree-grid-group-by-area.component'; +import { ReactiveFormsModule } from '@angular/forms'; +import { IgxTooltipModule } from '../../directives/tooltip'; /** * @hidden */ @@ -42,7 +44,9 @@ import { IgxTreeGridGroupByAreaComponent } from '../grouping/tree-grid-group-by- IgxTreeGridAddRowPipe ], imports: [ - IgxGridCommonModule + IgxGridCommonModule, + IgxTooltipModule, + ReactiveFormsModule ], schemas: [CUSTOM_ELEMENTS_SCHEMA] }) diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts index 986b29b74e4..6512dfe4352 100644 --- a/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts +++ b/projects/igniteui-angular/src/lib/test-utils/grid-functions.spec.ts @@ -23,6 +23,7 @@ import { IgxRowDirective } from '../grids/row.directive'; import { CellType, GridType, RowType } from '../grids/common/grid.interface'; import { IgxTreeNodeComponent } from '../tree/tree-node/tree-node.component'; import { IgxColumnComponent } from '../grids/columns/column.component'; +import { IgxGridCell } from 'igniteui-angular'; const SUMMARY_LABEL_CLASS = '.igx-grid-summary__label'; @@ -52,6 +53,7 @@ const ACTIVE_GROUP_ROW_CLASS = 'igx-grid__group-row--active'; const ACTIVE_HEADER_CLASS = 'igx-grid-th--active'; const GROUP_ROW_CLASS = 'igx-grid-groupby-row'; const CELL_SELECTED_CSS_CLASS = 'igx-grid__td--selected'; +const CELL_INVALID_CSS_CLASS = 'igx-grid__td--invalid'; const CELL_ACTIVE_CSS_CLASS = 'igx-grid__td--active'; const ROW_DIV_SELECTION_CHECKBOX_CSS_CLASS = 'igx-grid__cbx-selection'; const ROW_SELECTION_CSS_CLASS = 'igx-grid__tr--selected'; @@ -2077,6 +2079,11 @@ export class GridFunctions { public static getResizer(fix): DebugElement { return fix.debugElement.query(By.css(RESIZE_LINE_CLASS)); } + + public static verifyCellValid(cell: IgxGridCellComponent, valid = true) { + expect(cell.isInvalid).toEqual(!valid); + expect(cell.nativeElement.classList.contains(CELL_INVALID_CSS_CLASS)).not.toEqual(valid); + } } export class GridSummaryFunctions { public static getRootSummaryRow(fix): DebugElement { diff --git a/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts b/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts new file mode 100644 index 00000000000..b7f9f8672e7 --- /dev/null +++ b/projects/igniteui-angular/src/lib/test-utils/grid-validation-samples.spec.ts @@ -0,0 +1,114 @@ +import { Component, Input, ViewChild, Directive } from '@angular/core'; +import { AbstractControl, NG_VALIDATORS, ValidationErrors, ValidatorFn, Validators } from '@angular/forms'; +import { IgxGridComponent, IgxTreeGridComponent } from 'igniteui-angular'; +import { data } from '../../../../../src/app/shared/data'; +import { SampleTestData } from './sample-test-data.spec'; + +export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + const forbidden = nameRe.test(control.value); + return forbidden ? { forbiddenName: { value: control.value } } : null; + }; +} + +@Directive({ + selector: '[igxAppForbiddenName]', + providers: [{ provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true }] +}) +export class ForbiddenValidatorDirective extends Validators { + @Input('igxAppForbiddenName') + public forbiddenName = ''; + + public validate(control: AbstractControl): ValidationErrors | null { + return this.forbiddenName ? forbiddenNameValidator(new RegExp(this.forbiddenName, 'i'))(control) + : null; + } +} + +@Component({ + template: ` + + + + + ` +}) +export class IgxGridValidationTestBaseComponent { + public batchEditing = false; + public rowEditable = true; + public columns = [ + { field: 'ProductID', dataType: 'string' }, + { field: 'ProductName', dataType: 'string' }, + { field: 'UnitPrice', dataType: 'string' }, + { field: 'UnitsInStock', dataType: 'number' } + ]; + public data = [...data]; + + @ViewChild('grid', { read: IgxGridComponent, static: true }) public grid: IgxGridComponent; +} + +@Component({ + template: ` + + + +
+ This name is forbidden. +
+
+
+
+ ` +}) +export class IgxGridValidationTestCustomErrorComponent { + public batchEditing = false; + public rowEditable = true; + public columns = [ + { field: 'ProductID', dataType: 'string' }, + { field: 'ProductName', dataType: 'string' }, + { field: 'UnitPrice', dataType: 'string' }, + { field: 'UnitsInStock', dataType: 'number' } + ]; + public data = [...data]; + + @ViewChild('grid', { read: IgxGridComponent, static: true }) public grid: IgxGridComponent; +} + +@Component({ + template: ` + + + +
+ This name is forbidden. +
+
+
+
+ ` +}) +export class IgxTreeGridValidationTestComponent { + public batchEditing = false; + public rowEditable = true; + public columns = [ + { field: 'ID', dataType: 'string' }, + { field: 'Name', dataType: 'string' }, + { field: 'HireDate', dataType: 'string' }, + { field: 'Age', dataType: 'number' } + ]; + public data = [...SampleTestData.employeeSmallTreeData()]; + + @ViewChild(IgxTreeGridComponent, { static: true }) public treeGrid: IgxTreeGridComponent; +} diff --git a/projects/igniteui-angular/src/public_api.ts b/projects/igniteui-angular/src/public_api.ts index 5796dfca1ef..59d5017d451 100644 --- a/projects/igniteui-angular/src/public_api.ts +++ b/projects/igniteui-angular/src/public_api.ts @@ -79,6 +79,7 @@ export * from './lib/grids/grid/public_api'; export * from './lib/grids/tree-grid/public_api'; export * from './lib/grids/hierarchical-grid/public_api'; export * from './lib/grids/columns/templates.directive'; +export * from './lib/grids/columns/validators.directive'; export * from './lib/grids/columns/column.component'; export * from './lib/grids/columns/column-group.component'; export * from './lib/grids/columns/column-layout.component'; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 2fc7b108938..6fcb3bcac68 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -313,6 +313,11 @@ export class AppComponent implements OnInit { icon: 'view_column', name: 'Grid Row Editing' }, + { + link: '/gridValidation', + icon: 'view_column', + name: 'Grid Validation' + }, { link: '/gridLocalization', icon: 'view_column', diff --git a/src/app/app.module.ts b/src/app/app.module.ts index c852844e0fe..51bf035b0fe 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -164,6 +164,7 @@ import { IgxStepperSampleComponent } from './stepper/stepper.sample'; import { RatingSampleComponent } from './rating/rating.sample'; import { RangeSliderComponent } from './slider/range-slider/range-slider.component'; import { PivotGridStateSampleComponent } from './pivot-grid-state/pivot-grid-state.sample'; +import { ForbiddenValidatorDirective, GridValidationSampleComponent } from './grid-validation/grid-validation.sample.component'; const components = [ AccordionSampleComponent, @@ -227,6 +228,7 @@ const components = [ VirtualForSampleComponent, ButtonGroupSampleComponent, GridCellEditingComponent, + ForbiddenValidatorDirective, GridSampleComponent, GridAddRowSampleComponent, HierarchicalGridAddRowSampleComponent, @@ -256,6 +258,7 @@ const components = [ GridMRLCustomNavigationSampleComponent, GridCellStylingSampleComponent, GridRowEditSampleComponent, + GridValidationSampleComponent, TreeGridSampleComponent, TreeGridFlatDataSampleComponent, TreeGridLoadOnDemandSampleComponent, diff --git a/src/app/app.routing.ts b/src/app/app.routing.ts index db4b36d30ed..21d38ae48fe 100644 --- a/src/app/app.routing.ts +++ b/src/app/app.routing.ts @@ -102,6 +102,7 @@ import { PivotGridNoopSampleComponent } from './pivot-grid-noop/pivot-grid-noop. import { IgxStepperSampleComponent } from './stepper/stepper.sample'; import { RangeSliderComponent } from './slider/range-slider/range-slider.component'; import { PivotGridStateSampleComponent } from './pivot-grid-state/pivot-grid-state.sample'; +import { GridValidationSampleComponent } from './grid-validation/grid-validation.sample.component'; const appRoutes: Routes = [ { @@ -366,6 +367,10 @@ const appRoutes: Routes = [ path: 'gridRowEdit', component: GridRowEditSampleComponent }, + { + path: 'gridValidation', + component: GridValidationSampleComponent + }, { path: 'buttonGroup', component: ButtonGroupSampleComponent diff --git a/src/app/grid-cellEditing/grid-cellEditing.component.html b/src/app/grid-cellEditing/grid-cellEditing.component.html index 5d2e0d80f67..fe1f949a7a2 100644 --- a/src/app/grid-cellEditing/grid-cellEditing.component.html +++ b/src/app/grid-cellEditing/grid-cellEditing.component.html @@ -3,13 +3,13 @@

Grid with primary key ProductID

- + - + @@ -25,15 +25,14 @@

Grid with primary key ProductID

- - - - - - - + +
+ This name is forbidden. +
+ + @@ -50,7 +49,7 @@

Grid with primary key ProductID

Grid without PK

- + @@ -61,7 +60,7 @@

Grid without PK

- + diff --git a/src/app/grid-cellEditing/grid-cellEditing.component.ts b/src/app/grid-cellEditing/grid-cellEditing.component.ts index 87ecc5c2bc1..e02149574c6 100644 --- a/src/app/grid-cellEditing/grid-cellEditing.component.ts +++ b/src/app/grid-cellEditing/grid-cellEditing.component.ts @@ -1,9 +1,15 @@ -import { Component, ViewChild } from '@angular/core'; +import { Component, Directive, Input, ViewChild } from '@angular/core'; import { data, dataWithoutPK } from '../shared/data'; import { - IgxGridComponent, GridSelectionMode, IgxDateSummaryOperand, IgxSummaryResult, DisplayDensity + IgxGridComponent, GridSelectionMode, IgxDateSummaryOperand, IgxSummaryResult, DisplayDensity, IgxColumnComponent } from 'igniteui-angular'; +import { AbstractControl, FormGroup, NG_VALIDATORS, ValidationErrors, Validator, ValidatorFn, Validators } from '@angular/forms'; + + + + + @Component({ selector: 'app-grid-cellediting', templateUrl: 'grid-cellEditing.component.html' @@ -47,6 +53,20 @@ export class GridCellEditingComponent { this.selectionMode = GridSelectionMode.multiple; } + + + public cellEdit(evt) { + if (!evt.valid) { + evt.cancel = true; + } + } + + public rowEdit(evt) { + if (!evt.valid) { + evt.cancel = true; + } + } + public addRow() { this.gridWithPK.addRow({ ProductID: 21, @@ -149,6 +169,10 @@ export class GridCellEditingComponent { const secColumn = this.gridWithoutPK.getColumnByName('OrderDate'); this.gridWithoutPK.moveColumn(column, secColumn); } + public checkValid(cell) { + debugger; + return cell.formGroup?.get(cell.column?.field).errors?.['appForbiddenName']; + } public updateSelectedCell() { let newValue; const selectedCell = this.gridWithoutPK.selectedCells[0]; diff --git a/src/app/grid-row-edit/grid-row-edit-sample.component.html b/src/app/grid-row-edit/grid-row-edit-sample.component.html index 4142d0b4737..d57962c19b3 100644 --- a/src/app/grid-row-edit/grid-row-edit-sample.component.html +++ b/src/app/grid-row-edit/grid-row-edit-sample.component.html @@ -9,7 +9,7 @@

Grid with rowEditing and without transactions

- + @@ -92,7 +92,7 @@

Cancel Grid Edit Events

- + diff --git a/src/app/grid-validation/grid-validation.sample.component.css b/src/app/grid-validation/grid-validation.sample.component.css new file mode 100644 index 00000000000..65bfa537ac8 --- /dev/null +++ b/src/app/grid-validation/grid-validation.sample.component.css @@ -0,0 +1,54 @@ +.grid-row-edit-wrapper { + flex-flow: row wrap; + padding: 50px; +} +.dialog__header { + font-weight: 800; +} + +.dialog__container { + width: 840px; + min-height: 420px; + background: #FFF; +} +.dialog__body { + padding: 4px; + height: 350px; +} + +.properties-toggle { + margin-right: 16px; +} + +.properties-input { + width: 320px; +} +.properties-input > label { + min-width: 88px; + display: inline-block; + font-size: 16px; + font-weight: 600; + text-align: right; + padding-right: 8px; +} +.properties-input > select, .properties-input > input { + width: 192px; + height: 32px; + padding: 4px; + font-size: 16px; +} + +.igx-switch { + min-width: 160px; +} + +.red { + color: #aa2222; +} +.green { + color: #22aa22; +} + +.blue { + color: #2222aa; +} \ No newline at end of file diff --git a/src/app/grid-validation/grid-validation.sample.component.html b/src/app/grid-validation/grid-validation.sample.component.html new file mode 100644 index 00000000000..1ed2646dc4a --- /dev/null +++ b/src/app/grid-validation/grid-validation.sample.component.html @@ -0,0 +1,91 @@ +
+
+

Grid without transactions

+ Row edit + + + + + + +
+ This name is forbidden. +
+
+
+ + + + + + +
+ +
+
+

Grid with transactions

+ Row edit + + + + + + +
+ This name is forbidden. +
+
+
+ + + + + + +
+ + + + + +
+ + +
+

TreeGrid

+ + + + + + + + +
+ + +
+

Hierarchical Grid

+ + + + + + + + +
+ This name is forbidden. +
+
+
+
+
+
diff --git a/src/app/grid-validation/grid-validation.sample.component.ts b/src/app/grid-validation/grid-validation.sample.component.ts new file mode 100644 index 00000000000..4746003c562 --- /dev/null +++ b/src/app/grid-validation/grid-validation.sample.component.ts @@ -0,0 +1,183 @@ +import { Component, Directive, ViewChild, Input } from '@angular/core'; +import { data } from '../shared/data'; + +import { IgxGridComponent, ValidityStatus, IRecordValidationState, IgxGridValidationService } from 'igniteui-angular'; +import { AbstractControl, FormGroup, NG_VALIDATORS, ValidationErrors, ValidatorFn, Validators } from '@angular/forms'; +import { HIERARCHICAL_DATA } from '../shared/hierarchicalData'; + +export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn { + return (control: AbstractControl): ValidationErrors | null => { + const forbidden = nameRe.test(control.value); + return forbidden ? {forbiddenName: {value: control.value}} : null; + }; + } + +@Directive({ + selector: '[appForbiddenName]', + providers: [{provide: NG_VALIDATORS, useExisting: ForbiddenValidatorDirective, multi: true}] + }) + export class ForbiddenValidatorDirective extends Validators { + @Input('appForbiddenName') + public forbiddenName = ''; + + public validate(control: AbstractControl): ValidationErrors | null { + return this.forbiddenName ? forbiddenNameValidator(new RegExp(this.forbiddenName, 'i'))(control) + : null; + } + } + + +@Component({ + selector: 'app-grid-row-edit', + styleUrls: [`grid-validation.sample.component.css`], + templateUrl: 'grid-validation.sample.component.html', +}) +export class GridValidationSampleComponent { + public rowEditWithTransactions = true; + public rowEditNoTransactions = true; + public transactionData = JSON.parse(JSON.stringify(data)); + public data = data; + public columns = [ + { field: 'ProductID' }, + { field: 'ProductName' }, + { field: 'UnitPrice' }, + { field: 'UnitsInStock' } + ]; + + public treeColumns = [ + { field: 'employeeID', label: 'ID', width: 200, resizable: true, dataType: 'number', hasSummary: false }, + { field: 'Salary', label: 'Salary', width: 200, resizable: true, dataType: 'number', hasSummary: true }, + { field: 'firstName', label: 'First Name', width: 300, resizable: true, dataType: 'string', hasSummary: false }, + { field: 'lastName', label: 'Last Name', width: 150, resizable: true, dataType: 'string', hasSummary: false }, + { field: 'Title', label: 'Title', width: 200, resizable: true, dataType: 'string', hasSummary: true } + ]; + public treeData = [ + { Salary: 2500, employeeID: 0, PID: -1, firstName: 'Andrew', lastName: 'Fuller', Title: 'Vice President, Sales' }, + { Salary: 3500, employeeID: 1, PID: -1, firstName: 'Jonathan', lastName: 'Smith', Title: 'Human resources' }, + { Salary: 1500, employeeID: 2, PID: -1, firstName: 'Nancy', lastName: 'Davolio', Title: 'CFO' }, + { Salary: 2500, employeeID: 3, PID: -1, firstName: 'Steven', lastName: 'Buchanan', Title: 'CTO' }, + // sub of ID 0 + { Salary: 2500, employeeID: 4, PID: 0, firstName: 'Janet', lastName: 'Leverling', Title: 'Sales Manager' }, + { + Salary: 3500, employeeID: 5, PID: 0, firstName: 'Laura', lastName: 'Callahan', + Title: 'Inside Sales Coordinator' + }, + { Salary: 1500, employeeID: 6, PID: 0, firstName: 'Margaret', lastName: 'Peacock', Title: 'Sales Representative' }, + { Salary: 2500, employeeID: 7, PID: 0, firstName: 'Michael', lastName: 'Suyama', Title: 'Sales Representative' }, + // sub of ID 4 + { Salary: 2500, employeeID: 8, PID: 4, firstName: 'Anne', lastName: 'Dodsworth', Title: 'Sales Representative' }, + { Salary: 3500, employeeID: 9, PID: 4, firstName: 'Danielle', lastName: 'Davis', Title: 'Sales Representative' }, + { Salary: 1500, employeeID: 10, PID: 4, firstName: 'Robert', lastName: 'King', Title: 'Sales Representative' }, + // sub of ID 2 + { Salary: 2500, employeeID: 11, PID: 2, firstName: 'Peter', lastName: 'Lewis', Title: 'Chief Accountant' }, + { Salary: 3500, employeeID: 12, PID: 2, firstName: 'Ryder', lastName: 'Zenaida', Title: 'Accountant' }, + { Salary: 1500, employeeID: 13, PID: 2, firstName: 'Wang', lastName: 'Mercedes', Title: 'Accountant' }, + // sub of ID 3 + { Salary: 1500, employeeID: 14, PID: 3, firstName: 'Theodore', lastName: 'Zia', Title: 'Software Architect' }, + { Salary: 4500, employeeID: 15, PID: 3, firstName: 'Lacota', lastName: 'Mufutau', Title: 'Product Manager' }, + // sub of ID 16 + { Salary: 2500, employeeID: 16, PID: 15, firstName: 'Jin', lastName: 'Elliott', Title: 'Product Owner' }, + { Salary: 3500, employeeID: 17, PID: 15, firstName: 'Armand', lastName: 'Ross', Title: 'Product Owner' }, + { Salary: 1500, employeeID: 18, PID: 15, firstName: 'Dane', lastName: 'Rodriquez', Title: 'Team Leader' }, + // sub of ID 19 + { + Salary: 2500, employeeID: 19, PID: 18, firstName: 'Declan', lastName: 'Lester', + Title: 'Senior Software Developer' + }, + { + Salary: 3500, employeeID: 20, PID: 18, firstName: 'Bernard', lastName: 'Jarvis', + Title: 'Senior Software Developer' + }, + { Salary: 1500, employeeID: 21, PID: 18, firstName: 'Jason', lastName: 'Clark', Title: 'QA' }, + { Salary: 1500, employeeID: 22, PID: 18, firstName: 'Mark', lastName: 'Young', Title: 'QA' }, + // sub of ID 20 + { Salary: 1500, employeeID: 23, PID: 20, firstName: 'Jeremy', lastName: 'Donaldson', Title: 'Software Developer' } + ]; + + public hGridData = HIERARCHICAL_DATA; + public hColumns = [ + { field: 'FirstName' }, + { field: 'LastName' }, + { field: 'Title' }, + { field: 'City' } +]; + +public hColumns2 = [ + { field: 'ShipName' }, + { field: 'ShipAddress' }, + { field: 'ShipCity' }, + { field: 'OrderDate' } +]; + + + @ViewChild('gridTransactions', {read: IgxGridComponent }) + public gridWithTransaction: IgxGridComponent; + + @ViewChild('gridNoTransactions', {read: IgxGridComponent }) + public gridNoTransactions: IgxGridComponent; + + public commitWithTransactions() { + const invalid: IRecordValidationState[] = this.gridWithTransaction.validation.getInvalid(); + if (invalid.length > 0) { + if (confirm('There are invalid values about to be submitted. Do you want to continue')) { + this.gridWithTransaction.transactions.commit(this.transactionData); + const validator : IgxGridValidationService = this.gridWithTransaction.validation; + this.gridWithTransaction.validation.clear(); + } + } else { + this.gridWithTransaction.transactions.commit(this.transactionData); + } + } + + public undo() { + this.gridWithTransaction.transactions.undo(); + } + + public redo() { + this.gridWithTransaction.transactions.redo(); + } + + public clearValidity() { + this.gridNoTransactions.validation.clear(); + this.gridNoTransactions.markForCheck(); + } + + public cellEdit(evt) { + // can cancel if there are validation errors + // if (!evt.isValid && !this.rowEditNoTransactions) { + // evt.cancel = true; + // } + } + + public formCreateHandler(formGr: FormGroup) { + // can add validators here + // const prodName = formGr.get('ProductName'); + // prodName.addValidators(forbiddenNameValidator(/bob/i)); + } + + public validationChange(evtArgs: ValidityStatus){ + alert(evtArgs === 'INVALID' ? 'state became INVALID' : 'state became VALID'); + } + + public updateRow(id) { + this.gridWithTransaction.updateRow({ + ProductID: 1, + ProductName: '', + SupplierID: 1, + CategoryID: 1, + QuantityPerUnit: '10 boxes x 20 bags', + UnitPrice: '18.0000', + UnitsInStock: 39, + UnitsOnOrder: 0, + ReorderLevel: 10.567, + Discontinued: false, + OrderDate: null, + OrderDate2: new Date(1991, 2, 12, 18, 40, 50).toISOString() + }, id) + } + + public updateCell(id) { + this.gridWithTransaction.updateCell('', id, 'ProductName'); + } +} + diff --git a/src/app/routing.ts b/src/app/routing.ts index 81fdc0492fb..02ae9e7160a 100644 --- a/src/app/routing.ts +++ b/src/app/routing.ts @@ -133,6 +133,7 @@ import { IgxStepperSampleComponent as StepperSampleComponent } from './stepper/s import { RatingSampleComponent } from './rating/rating.sample'; import { RangeSliderComponent } from './slider/range-slider/range-slider.component'; import { PivotGridStateSampleComponent } from './pivot-grid-state/pivot-grid-state.sample'; +import { GridValidationSampleComponent } from './grid-validation/grid-validation.sample.component'; const appRoutes: Routes = [ { @@ -521,6 +522,10 @@ const appRoutes: Routes = [ path: 'gridRowReorder', component: GridRowReorderComponent }, + { + path: 'gridValidation', + component: GridValidationSampleComponent + }, { path: 'gridScrollVirtualization', component: GridVirtualizationScrollSampleComponent diff --git a/src/app/shared/hierarchicalData.ts b/src/app/shared/hierarchicalData.ts new file mode 100644 index 00000000000..86f367c59fa --- /dev/null +++ b/src/app/shared/hierarchicalData.ts @@ -0,0 +1,12622 @@ +export const HIERARCHICAL_DATA = [{ + "Orders": [{ + "OrderID": 10258, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "1996-07-17T00:00:00", + "RequiredDate": "1996-08-14T00:00:00", + "ShippedDate": "1996-07-23T00:00:00", + "ShipVia": 1, + "Freight": "140.5100", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10270, + "CustomerID": "WARTH", + "EmployeeID": 1, + "OrderDate": "1996-08-01T00:00:00", + "RequiredDate": "1996-08-29T00:00:00", + "ShippedDate": "1996-08-02T00:00:00", + "ShipVia": 1, + "Freight": "136.5400", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10275, + "CustomerID": "MAGAA", + "EmployeeID": 1, + "OrderDate": "1996-08-07T00:00:00", + "RequiredDate": "1996-09-04T00:00:00", + "ShippedDate": "1996-08-09T00:00:00", + "ShipVia": 1, + "Freight": "26.9300", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10285, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "1996-08-20T00:00:00", + "RequiredDate": "1996-09-17T00:00:00", + "ShippedDate": "1996-08-26T00:00:00", + "ShipVia": 2, + "Freight": "76.8300", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10292, + "CustomerID": "TRADH", + "EmployeeID": 1, + "OrderDate": "1996-08-28T00:00:00", + "RequiredDate": "1996-09-25T00:00:00", + "ShippedDate": "1996-09-02T00:00:00", + "ShipVia": 2, + "Freight": "1.3500", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10293, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "1996-08-29T00:00:00", + "RequiredDate": "1996-09-26T00:00:00", + "ShippedDate": "1996-09-11T00:00:00", + "ShipVia": 3, + "Freight": "21.1800", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10304, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "1996-09-12T00:00:00", + "RequiredDate": "1996-10-10T00:00:00", + "ShippedDate": "1996-09-17T00:00:00", + "ShipVia": 2, + "Freight": "63.7900", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10306, + "CustomerID": "ROMEY", + "EmployeeID": 1, + "OrderDate": "1996-09-16T00:00:00", + "RequiredDate": "1996-10-14T00:00:00", + "ShippedDate": "1996-09-23T00:00:00", + "ShipVia": 3, + "Freight": "7.5600", + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran V\u00eda, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, { + "OrderID": 10311, + "CustomerID": "DUMON", + "EmployeeID": 1, + "OrderDate": "1996-09-20T00:00:00", + "RequiredDate": "1996-10-04T00:00:00", + "ShippedDate": "1996-09-26T00:00:00", + "ShipVia": 3, + "Freight": "24.6900", + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10314, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "1996-09-25T00:00:00", + "RequiredDate": "1996-10-23T00:00:00", + "ShippedDate": "1996-10-04T00:00:00", + "ShipVia": 2, + "Freight": "74.1600", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10316, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "1996-09-27T00:00:00", + "RequiredDate": "1996-10-25T00:00:00", + "ShippedDate": "1996-10-08T00:00:00", + "ShipVia": 3, + "Freight": "150.1500", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10325, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "1996-10-09T00:00:00", + "RequiredDate": "1996-10-23T00:00:00", + "ShippedDate": "1996-10-14T00:00:00", + "ShipVia": 3, + "Freight": "64.8600", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10340, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "1996-10-29T00:00:00", + "RequiredDate": "1996-11-26T00:00:00", + "ShippedDate": "1996-11-08T00:00:00", + "ShipVia": 3, + "Freight": "166.3100", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10351, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "1996-11-11T00:00:00", + "RequiredDate": "1996-12-09T00:00:00", + "ShippedDate": "1996-11-20T00:00:00", + "ShipVia": 1, + "Freight": "162.3300", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10357, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "1996-11-19T00:00:00", + "RequiredDate": "1996-12-17T00:00:00", + "ShippedDate": "1996-12-02T00:00:00", + "ShipVia": 3, + "Freight": "34.8800", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10361, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "1996-11-22T00:00:00", + "RequiredDate": "1996-12-20T00:00:00", + "ShippedDate": "1996-12-03T00:00:00", + "ShipVia": 2, + "Freight": "183.1700", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10364, + "CustomerID": "EASTC", + "EmployeeID": 1, + "OrderDate": "1996-11-26T00:00:00", + "RequiredDate": "1997-01-07T00:00:00", + "ShippedDate": "1996-12-04T00:00:00", + "ShipVia": 1, + "Freight": "71.9700", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 10371, + "CustomerID": "LAMAI", + "EmployeeID": 1, + "OrderDate": "1996-12-03T00:00:00", + "RequiredDate": "1996-12-31T00:00:00", + "ShippedDate": "1996-12-24T00:00:00", + "ShipVia": 1, + "Freight": "0.4500", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10374, + "CustomerID": "WOLZA", + "EmployeeID": 1, + "OrderDate": "1996-12-05T00:00:00", + "RequiredDate": "1997-01-02T00:00:00", + "ShippedDate": "1996-12-09T00:00:00", + "ShipVia": 3, + "Freight": "3.9400", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 10376, + "CustomerID": "MEREP", + "EmployeeID": 1, + "OrderDate": "1996-12-09T00:00:00", + "RequiredDate": "1997-01-06T00:00:00", + "ShippedDate": "1996-12-13T00:00:00", + "ShipVia": 2, + "Freight": "20.3900", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10377, + "CustomerID": "SEVES", + "EmployeeID": 1, + "OrderDate": "1996-12-09T00:00:00", + "RequiredDate": "1997-01-06T00:00:00", + "ShippedDate": "1996-12-13T00:00:00", + "ShipVia": 3, + "Freight": "22.2100", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10385, + "CustomerID": "SPLIR", + "EmployeeID": 1, + "OrderDate": "1996-12-17T00:00:00", + "RequiredDate": "1997-01-14T00:00:00", + "ShippedDate": "1996-12-23T00:00:00", + "ShipVia": 2, + "Freight": "30.9600", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10387, + "CustomerID": "SANTG", + "EmployeeID": 1, + "OrderDate": "1996-12-18T00:00:00", + "RequiredDate": "1997-01-15T00:00:00", + "ShippedDate": "1996-12-20T00:00:00", + "ShipVia": 2, + "Freight": "93.6300", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 10393, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1996-12-25T00:00:00", + "RequiredDate": "1997-01-22T00:00:00", + "ShippedDate": "1997-01-03T00:00:00", + "ShipVia": 3, + "Freight": "126.5600", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10394, + "CustomerID": "HUNGC", + "EmployeeID": 1, + "OrderDate": "1996-12-25T00:00:00", + "RequiredDate": "1997-01-22T00:00:00", + "ShippedDate": "1997-01-03T00:00:00", + "ShipVia": 3, + "Freight": "30.3400", + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, { + "OrderID": 10396, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "1996-12-27T00:00:00", + "RequiredDate": "1997-01-10T00:00:00", + "ShippedDate": "1997-01-06T00:00:00", + "ShipVia": 3, + "Freight": "135.3500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10400, + "CustomerID": "EASTC", + "EmployeeID": 1, + "OrderDate": "1997-01-01T00:00:00", + "RequiredDate": "1997-01-29T00:00:00", + "ShippedDate": "1997-01-16T00:00:00", + "ShipVia": 3, + "Freight": "83.9300", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 10401, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "1997-01-01T00:00:00", + "RequiredDate": "1997-01-29T00:00:00", + "ShippedDate": "1997-01-10T00:00:00", + "ShipVia": 1, + "Freight": "12.5100", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10405, + "CustomerID": "LINOD", + "EmployeeID": 1, + "OrderDate": "1997-01-06T00:00:00", + "RequiredDate": "1997-02-03T00:00:00", + "ShippedDate": "1997-01-22T00:00:00", + "ShipVia": 1, + "Freight": "34.8200", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10453, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "1997-02-21T00:00:00", + "RequiredDate": "1997-03-21T00:00:00", + "ShippedDate": "1997-02-26T00:00:00", + "ShipVia": 2, + "Freight": "25.3600", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10461, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "1997-02-28T00:00:00", + "RequiredDate": "1997-03-28T00:00:00", + "ShippedDate": "1997-03-05T00:00:00", + "ShipVia": 3, + "Freight": "148.6100", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10465, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "1997-03-05T00:00:00", + "RequiredDate": "1997-04-02T00:00:00", + "ShippedDate": "1997-03-14T00:00:00", + "ShipVia": 3, + "Freight": "145.0400", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10469, + "CustomerID": "WHITC", + "EmployeeID": 1, + "OrderDate": "1997-03-10T00:00:00", + "RequiredDate": "1997-04-07T00:00:00", + "ShippedDate": "1997-03-14T00:00:00", + "ShipVia": 1, + "Freight": "60.1800", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10473, + "CustomerID": "ISLAT", + "EmployeeID": 1, + "OrderDate": "1997-03-13T00:00:00", + "RequiredDate": "1997-03-27T00:00:00", + "ShippedDate": "1997-03-21T00:00:00", + "ShipVia": 3, + "Freight": "16.3700", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10482, + "CustomerID": "LAZYK", + "EmployeeID": 1, + "OrderDate": "1997-03-21T00:00:00", + "RequiredDate": "1997-04-18T00:00:00", + "ShippedDate": "1997-04-10T00:00:00", + "ShipVia": 3, + "Freight": "7.4800", + "ShipName": "Lazy K Kountry Store", + "ShipAddress": "12 Orchestra Terrace", + "ShipCity": "Walla Walla", + "ShipRegion": "WA", + "ShipPostalCode": "99362", + "ShipCountry": "USA" + }, { + "OrderID": 10486, + "CustomerID": "HILAA", + "EmployeeID": 1, + "OrderDate": "1997-03-26T00:00:00", + "RequiredDate": "1997-04-23T00:00:00", + "ShippedDate": "1997-04-02T00:00:00", + "ShipVia": 2, + "Freight": "30.5300", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10508, + "CustomerID": "OTTIK", + "EmployeeID": 1, + "OrderDate": "1997-04-16T00:00:00", + "RequiredDate": "1997-05-14T00:00:00", + "ShippedDate": "1997-05-13T00:00:00", + "ShipVia": 2, + "Freight": "4.9900", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10524, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "1997-05-01T00:00:00", + "RequiredDate": "1997-05-29T00:00:00", + "ShippedDate": "1997-05-07T00:00:00", + "ShipVia": 2, + "Freight": "244.7900", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10525, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "1997-05-02T00:00:00", + "RequiredDate": "1997-05-30T00:00:00", + "ShippedDate": "1997-05-23T00:00:00", + "ShipVia": 2, + "Freight": "11.0600", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10537, + "CustomerID": "RICSU", + "EmployeeID": 1, + "OrderDate": "1997-05-14T00:00:00", + "RequiredDate": "1997-05-28T00:00:00", + "ShippedDate": "1997-05-19T00:00:00", + "ShipVia": 1, + "Freight": "78.8500", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10542, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "1997-05-20T00:00:00", + "RequiredDate": "1997-06-17T00:00:00", + "ShippedDate": "1997-05-26T00:00:00", + "ShipVia": 3, + "Freight": "10.9500", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10546, + "CustomerID": "VICTE", + "EmployeeID": 1, + "OrderDate": "1997-05-23T00:00:00", + "RequiredDate": "1997-06-20T00:00:00", + "ShippedDate": "1997-05-27T00:00:00", + "ShipVia": 3, + "Freight": "194.7200", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10558, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "1997-06-04T00:00:00", + "RequiredDate": "1997-07-02T00:00:00", + "ShippedDate": "1997-06-10T00:00:00", + "ShipVia": 2, + "Freight": "72.9700", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10562, + "CustomerID": "REGGC", + "EmployeeID": 1, + "OrderDate": "1997-06-09T00:00:00", + "RequiredDate": "1997-07-07T00:00:00", + "ShippedDate": "1997-06-12T00:00:00", + "ShipVia": 1, + "Freight": "22.9500", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10567, + "CustomerID": "HUNGO", + "EmployeeID": 1, + "OrderDate": "1997-06-12T00:00:00", + "RequiredDate": "1997-07-10T00:00:00", + "ShippedDate": "1997-06-17T00:00:00", + "ShipVia": 1, + "Freight": "33.9700", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10579, + "CustomerID": "LETSS", + "EmployeeID": 1, + "OrderDate": "1997-06-25T00:00:00", + "RequiredDate": "1997-07-23T00:00:00", + "ShippedDate": "1997-07-04T00:00:00", + "ShipVia": 2, + "Freight": "13.7300", + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, { + "OrderID": 10587, + "CustomerID": "QUEDE", + "EmployeeID": 1, + "OrderDate": "1997-07-02T00:00:00", + "RequiredDate": "1997-07-30T00:00:00", + "ShippedDate": "1997-07-09T00:00:00", + "ShipVia": 1, + "Freight": "62.5200", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10591, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "1997-07-07T00:00:00", + "RequiredDate": "1997-07-21T00:00:00", + "ShippedDate": "1997-07-16T00:00:00", + "ShipVia": 1, + "Freight": "55.9200", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10598, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "1997-07-14T00:00:00", + "RequiredDate": "1997-08-11T00:00:00", + "ShippedDate": "1997-07-18T00:00:00", + "ShipVia": 3, + "Freight": "44.4200", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10604, + "CustomerID": "FURIB", + "EmployeeID": 1, + "OrderDate": "1997-07-18T00:00:00", + "RequiredDate": "1997-08-15T00:00:00", + "ShippedDate": "1997-07-29T00:00:00", + "ShipVia": 1, + "Freight": "7.4600", + "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": "1997-07-21T00:00:00", + "RequiredDate": "1997-08-18T00:00:00", + "ShippedDate": "1997-07-29T00:00:00", + "ShipVia": 2, + "Freight": "379.1300", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10612, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1997-07-28T00:00:00", + "RequiredDate": "1997-08-25T00:00:00", + "ShippedDate": "1997-08-01T00:00:00", + "ShipVia": 2, + "Freight": "544.0800", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10616, + "CustomerID": "GREAL", + "EmployeeID": 1, + "OrderDate": "1997-07-31T00:00:00", + "RequiredDate": "1997-08-28T00:00:00", + "ShippedDate": "1997-08-05T00:00:00", + "ShipVia": 2, + "Freight": "116.5300", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10618, + "CustomerID": "MEREP", + "EmployeeID": 1, + "OrderDate": "1997-08-01T00:00:00", + "RequiredDate": "1997-09-12T00:00:00", + "ShippedDate": "1997-08-08T00:00:00", + "ShipVia": 1, + "Freight": "154.6800", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10626, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "1997-08-11T00:00:00", + "RequiredDate": "1997-09-08T00:00:00", + "ShippedDate": "1997-08-20T00:00:00", + "ShipVia": 2, + "Freight": "138.6900", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10630, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "1997-08-13T00:00:00", + "RequiredDate": "1997-09-10T00:00:00", + "ShippedDate": "1997-08-19T00:00:00", + "ShipVia": 2, + "Freight": "32.3500", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10653, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "1997-09-02T00:00:00", + "RequiredDate": "1997-09-30T00:00:00", + "ShippedDate": "1997-09-19T00:00:00", + "ShipVia": 1, + "Freight": "93.2500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10655, + "CustomerID": "REGGC", + "EmployeeID": 1, + "OrderDate": "1997-09-03T00:00:00", + "RequiredDate": "1997-10-01T00:00:00", + "ShippedDate": "1997-09-11T00:00:00", + "ShipVia": 2, + "Freight": "4.4100", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10664, + "CustomerID": "FURIB", + "EmployeeID": 1, + "OrderDate": "1997-09-10T00:00:00", + "RequiredDate": "1997-10-08T00:00:00", + "ShippedDate": "1997-09-19T00:00:00", + "ShipVia": 3, + "Freight": "1.2700", + "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": "1997-09-11T00:00:00", + "RequiredDate": "1997-10-09T00:00:00", + "ShippedDate": "1997-09-17T00:00:00", + "ShipVia": 2, + "Freight": "26.3100", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10668, + "CustomerID": "WANDK", + "EmployeeID": 1, + "OrderDate": "1997-09-15T00:00:00", + "RequiredDate": "1997-10-13T00:00:00", + "ShippedDate": "1997-09-23T00:00:00", + "ShipVia": 2, + "Freight": "47.2200", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10671, + "CustomerID": "FRANR", + "EmployeeID": 1, + "OrderDate": "1997-09-17T00:00:00", + "RequiredDate": "1997-10-15T00:00:00", + "ShippedDate": "1997-09-24T00:00:00", + "ShipVia": 1, + "Freight": "30.3400", + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10677, + "CustomerID": "ANTON", + "EmployeeID": 1, + "OrderDate": "1997-09-22T00:00:00", + "RequiredDate": "1997-10-20T00:00:00", + "ShippedDate": "1997-09-26T00:00:00", + "ShipVia": 3, + "Freight": "4.0300", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10680, + "CustomerID": "OLDWO", + "EmployeeID": 1, + "OrderDate": "1997-09-24T00:00:00", + "RequiredDate": "1997-10-22T00:00:00", + "ShippedDate": "1997-09-26T00:00:00", + "ShipVia": 1, + "Freight": "26.6100", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10689, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "1997-10-01T00:00:00", + "RequiredDate": "1997-10-29T00:00:00", + "ShippedDate": "1997-10-07T00:00:00", + "ShipVia": 2, + "Freight": "13.4200", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10690, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "1997-10-02T00:00:00", + "RequiredDate": "1997-10-30T00:00:00", + "ShippedDate": "1997-10-03T00:00:00", + "ShipVia": 1, + "Freight": "15.8000", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10709, + "CustomerID": "GOURL", + "EmployeeID": 1, + "OrderDate": "1997-10-17T00:00:00", + "RequiredDate": "1997-11-14T00:00:00", + "ShippedDate": "1997-11-20T00:00:00", + "ShipVia": 3, + "Freight": "210.8000", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10710, + "CustomerID": "FRANS", + "EmployeeID": 1, + "OrderDate": "1997-10-20T00:00:00", + "RequiredDate": "1997-11-17T00:00:00", + "ShippedDate": "1997-10-23T00:00:00", + "ShipVia": 1, + "Freight": "4.9800", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 10713, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1997-10-22T00:00:00", + "RequiredDate": "1997-11-19T00:00:00", + "ShippedDate": "1997-10-24T00:00:00", + "ShipVia": 1, + "Freight": "167.0500", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10717, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "1997-10-24T00:00:00", + "RequiredDate": "1997-11-21T00:00:00", + "ShippedDate": "1997-10-29T00:00:00", + "ShipVia": 2, + "Freight": "59.2500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10718, + "CustomerID": "KOENE", + "EmployeeID": 1, + "OrderDate": "1997-10-27T00:00:00", + "RequiredDate": "1997-11-24T00:00:00", + "ShippedDate": "1997-10-29T00:00:00", + "ShipVia": 3, + "Freight": "170.8800", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10733, + "CustomerID": "BERGS", + "EmployeeID": 1, + "OrderDate": "1997-11-07T00:00:00", + "RequiredDate": "1997-12-05T00:00:00", + "ShippedDate": "1997-11-10T00:00:00", + "ShipVia": 3, + "Freight": "110.1100", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10743, + "CustomerID": "AROUT", + "EmployeeID": 1, + "OrderDate": "1997-11-17T00:00:00", + "RequiredDate": "1997-12-15T00:00:00", + "ShippedDate": "1997-11-21T00:00:00", + "ShipVia": 2, + "Freight": "23.7200", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10746, + "CustomerID": "CHOPS", + "EmployeeID": 1, + "OrderDate": "1997-11-19T00:00:00", + "RequiredDate": "1997-12-17T00:00:00", + "ShippedDate": "1997-11-21T00:00:00", + "ShipVia": 3, + "Freight": "31.4300", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10773, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "1997-12-11T00:00:00", + "RequiredDate": "1998-01-08T00:00:00", + "ShippedDate": "1997-12-16T00:00:00", + "ShipVia": 3, + "Freight": "96.4300", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10776, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "1997-12-15T00:00:00", + "RequiredDate": "1998-01-12T00:00:00", + "ShippedDate": "1997-12-18T00:00:00", + "ShipVia": 3, + "Freight": "351.5300", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10785, + "CustomerID": "GROSR", + "EmployeeID": 1, + "OrderDate": "1997-12-18T00:00:00", + "RequiredDate": "1998-01-15T00:00:00", + "ShippedDate": "1997-12-24T00:00:00", + "ShipVia": 3, + "Freight": "1.5100", + "ShipName": "GROSELLA-Restaurante", + "ShipAddress": "5\u00aa Ave. Los Palos Grandes", + "ShipCity": "Caracas", + "ShipRegion": "DF", + "ShipPostalCode": "1081", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10788, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "1997-12-22T00:00:00", + "RequiredDate": "1998-01-19T00:00:00", + "ShippedDate": "1998-01-19T00:00:00", + "ShipVia": 2, + "Freight": "42.7000", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10789, + "CustomerID": "FOLIG", + "EmployeeID": 1, + "OrderDate": "1997-12-22T00:00:00", + "RequiredDate": "1998-01-19T00:00:00", + "ShippedDate": "1997-12-31T00:00:00", + "ShipVia": 2, + "Freight": "100.6000", + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chauss\u00e9e de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, { + "OrderID": 10792, + "CustomerID": "WOLZA", + "EmployeeID": 1, + "OrderDate": "1997-12-23T00:00:00", + "RequiredDate": "1998-01-20T00:00:00", + "ShippedDate": "1997-12-31T00:00:00", + "ShipVia": 3, + "Freight": "23.7900", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 10800, + "CustomerID": "SEVES", + "EmployeeID": 1, + "OrderDate": "1997-12-26T00:00:00", + "RequiredDate": "1998-01-23T00:00:00", + "ShippedDate": "1998-01-05T00:00:00", + "ShipVia": 3, + "Freight": "137.4400", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10813, + "CustomerID": "RICAR", + "EmployeeID": 1, + "OrderDate": "1998-01-05T00:00:00", + "RequiredDate": "1998-02-02T00:00:00", + "ShippedDate": "1998-01-09T00:00:00", + "ShipVia": 1, + "Freight": "47.3800", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10821, + "CustomerID": "SPLIR", + "EmployeeID": 1, + "OrderDate": "1998-01-08T00:00:00", + "RequiredDate": "1998-02-05T00:00:00", + "ShippedDate": "1998-01-15T00:00:00", + "ShipVia": 1, + "Freight": "36.6800", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10825, + "CustomerID": "DRACD", + "EmployeeID": 1, + "OrderDate": "1998-01-09T00:00:00", + "RequiredDate": "1998-02-06T00:00:00", + "ShippedDate": "1998-01-14T00:00:00", + "ShipVia": 1, + "Freight": "79.2500", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 10827, + "CustomerID": "BONAP", + "EmployeeID": 1, + "OrderDate": "1998-01-12T00:00:00", + "RequiredDate": "1998-01-26T00:00:00", + "ShippedDate": "1998-02-06T00:00:00", + "ShipVia": 2, + "Freight": "63.5400", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10834, + "CustomerID": "TRADH", + "EmployeeID": 1, + "OrderDate": "1998-01-15T00:00:00", + "RequiredDate": "1998-02-12T00:00:00", + "ShippedDate": "1998-01-19T00:00:00", + "ShipVia": 3, + "Freight": "29.7800", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10835, + "CustomerID": "ALFKI", + "EmployeeID": 1, + "OrderDate": "1998-01-15T00:00:00", + "RequiredDate": "1998-02-12T00:00:00", + "ShippedDate": "1998-01-21T00:00:00", + "ShipVia": 3, + "Freight": "69.5300", + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 10842, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "1998-01-20T00:00:00", + "RequiredDate": "1998-02-17T00:00:00", + "ShippedDate": "1998-01-29T00:00:00", + "ShipVia": 3, + "Freight": "54.4200", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10850, + "CustomerID": "VICTE", + "EmployeeID": 1, + "OrderDate": "1998-01-23T00:00:00", + "RequiredDate": "1998-03-06T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 1, + "Freight": "49.1900", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10859, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "1998-01-29T00:00:00", + "RequiredDate": "1998-02-26T00:00:00", + "ShippedDate": "1998-02-02T00:00:00", + "ShipVia": 2, + "Freight": "76.1000", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10877, + "CustomerID": "RICAR", + "EmployeeID": 1, + "OrderDate": "1998-02-09T00:00:00", + "RequiredDate": "1998-03-09T00:00:00", + "ShippedDate": "1998-02-19T00:00:00", + "ShipVia": 1, + "Freight": "38.0600", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10886, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "1998-02-13T00:00:00", + "RequiredDate": "1998-03-13T00:00:00", + "ShippedDate": "1998-03-02T00:00:00", + "ShipVia": 1, + "Freight": "4.9900", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10888, + "CustomerID": "GODOS", + "EmployeeID": 1, + "OrderDate": "1998-02-16T00:00:00", + "RequiredDate": "1998-03-16T00:00:00", + "ShippedDate": "1998-02-23T00:00:00", + "ShipVia": 2, + "Freight": "51.8700", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10894, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1998-02-18T00:00:00", + "RequiredDate": "1998-03-18T00:00:00", + "ShippedDate": "1998-02-20T00:00:00", + "ShipVia": 1, + "Freight": "116.1300", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10900, + "CustomerID": "WELLI", + "EmployeeID": 1, + "OrderDate": "1998-02-20T00:00:00", + "RequiredDate": "1998-03-20T00:00:00", + "ShippedDate": "1998-03-04T00:00:00", + "ShipVia": 2, + "Freight": "1.6600", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10902, + "CustomerID": "FOLKO", + "EmployeeID": 1, + "OrderDate": "1998-02-23T00:00:00", + "RequiredDate": "1998-03-23T00:00:00", + "ShippedDate": "1998-03-03T00:00:00", + "ShipVia": 1, + "Freight": "44.1500", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10909, + "CustomerID": "SANTG", + "EmployeeID": 1, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-10T00:00:00", + "ShipVia": 2, + "Freight": "53.0500", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 10910, + "CustomerID": "WILMK", + "EmployeeID": 1, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-04T00:00:00", + "ShipVia": 3, + "Freight": "38.1100", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10916, + "CustomerID": "RANCH", + "EmployeeID": 1, + "OrderDate": "1998-02-27T00:00:00", + "RequiredDate": "1998-03-27T00:00:00", + "ShippedDate": "1998-03-09T00:00:00", + "ShipVia": 2, + "Freight": "63.7700", + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10921, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "1998-03-03T00:00:00", + "RequiredDate": "1998-04-14T00:00:00", + "ShippedDate": "1998-03-09T00:00:00", + "ShipVia": 1, + "Freight": "176.4800", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10928, + "CustomerID": "GALED", + "EmployeeID": 1, + "OrderDate": "1998-03-05T00:00:00", + "RequiredDate": "1998-04-02T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 1, + "Freight": "1.3600", + "ShipName": "Galer\u00eda del gastron\u00f3mo", + "ShipAddress": "Rambla de Catalu\u00f1a, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, { + "OrderID": 10946, + "CustomerID": "VAFFE", + "EmployeeID": 1, + "OrderDate": "1998-03-12T00:00:00", + "RequiredDate": "1998-04-09T00:00:00", + "ShippedDate": "1998-03-19T00:00:00", + "ShipVia": 2, + "Freight": "27.2000", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10950, + "CustomerID": "MAGAA", + "EmployeeID": 1, + "OrderDate": "1998-03-16T00:00:00", + "RequiredDate": "1998-04-13T00:00:00", + "ShippedDate": "1998-03-23T00:00:00", + "ShipVia": 2, + "Freight": "2.5000", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10952, + "CustomerID": "ALFKI", + "EmployeeID": 1, + "OrderDate": "1998-03-16T00:00:00", + "RequiredDate": "1998-04-27T00:00:00", + "ShippedDate": "1998-03-24T00:00:00", + "ShipVia": 1, + "Freight": "40.4200", + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 10968, + "CustomerID": "ERNSH", + "EmployeeID": 1, + "OrderDate": "1998-03-23T00:00:00", + "RequiredDate": "1998-04-20T00:00:00", + "ShippedDate": "1998-04-01T00:00:00", + "ShipVia": 3, + "Freight": "74.6000", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10969, + "CustomerID": "COMMI", + "EmployeeID": 1, + "OrderDate": "1998-03-23T00:00:00", + "RequiredDate": "1998-04-20T00:00:00", + "ShippedDate": "1998-03-30T00:00:00", + "ShipVia": 2, + "Freight": "0.2100", + "ShipName": "Com\u00e9rcio Mineiro", + "ShipAddress": "Av. dos Lus\u00edadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, { + "OrderID": 10975, + "CustomerID": "BOTTM", + "EmployeeID": 1, + "OrderDate": "1998-03-25T00:00:00", + "RequiredDate": "1998-04-22T00:00:00", + "ShippedDate": "1998-03-27T00:00:00", + "ShipVia": 3, + "Freight": "32.2700", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10976, + "CustomerID": "HILAA", + "EmployeeID": 1, + "OrderDate": "1998-03-25T00:00:00", + "RequiredDate": "1998-05-06T00:00:00", + "ShippedDate": "1998-04-03T00:00:00", + "ShipVia": 1, + "Freight": "37.9700", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10981, + "CustomerID": "HANAR", + "EmployeeID": 1, + "OrderDate": "1998-03-27T00:00:00", + "RequiredDate": "1998-04-24T00:00:00", + "ShippedDate": "1998-04-02T00:00:00", + "ShipVia": 2, + "Freight": "193.3700", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10984, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1998-03-30T00:00:00", + "RequiredDate": "1998-04-27T00:00:00", + "ShippedDate": "1998-04-03T00:00:00", + "ShipVia": 3, + "Freight": "211.2200", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10991, + "CustomerID": "QUICK", + "EmployeeID": 1, + "OrderDate": "1998-04-01T00:00:00", + "RequiredDate": "1998-04-29T00:00:00", + "ShippedDate": "1998-04-07T00:00:00", + "ShipVia": 1, + "Freight": "38.5100", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10992, + "CustomerID": "THEBI", + "EmployeeID": 1, + "OrderDate": "1998-04-01T00:00:00", + "RequiredDate": "1998-04-29T00:00:00", + "ShippedDate": "1998-04-03T00:00:00", + "ShipVia": 3, + "Freight": "4.2700", + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, { + "OrderID": 10995, + "CustomerID": "PERIC", + "EmployeeID": 1, + "OrderDate": "1998-04-02T00:00:00", + "RequiredDate": "1998-04-30T00:00:00", + "ShippedDate": "1998-04-06T00:00:00", + "ShipVia": 3, + "Freight": "46.0000", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 11012, + "CustomerID": "FRANK", + "EmployeeID": 1, + "OrderDate": "1998-04-09T00:00:00", + "RequiredDate": "1998-04-23T00:00:00", + "ShippedDate": "1998-04-17T00:00:00", + "ShipVia": 3, + "Freight": "242.9500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 11023, + "CustomerID": "BSBEV", + "EmployeeID": 1, + "OrderDate": "1998-04-14T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 2, + "Freight": "123.8300", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 11027, + "CustomerID": "BOTTM", + "EmployeeID": 1, + "OrderDate": "1998-04-16T00:00:00", + "RequiredDate": "1998-05-14T00:00:00", + "ShippedDate": "1998-04-20T00:00:00", + "ShipVia": 1, + "Freight": "52.5200", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 11038, + "CustomerID": "SUPRD", + "EmployeeID": 1, + "OrderDate": "1998-04-21T00:00:00", + "RequiredDate": "1998-05-19T00:00:00", + "ShippedDate": "1998-04-30T00:00:00", + "ShipVia": 2, + "Freight": "29.5900", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 11039, + "CustomerID": "LINOD", + "EmployeeID": 1, + "OrderDate": "1998-04-21T00:00:00", + "RequiredDate": "1998-05-19T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "65.0000", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 11064, + "CustomerID": "SAVEA", + "EmployeeID": 1, + "OrderDate": "1998-05-01T00:00:00", + "RequiredDate": "1998-05-29T00:00:00", + "ShippedDate": "1998-05-04T00:00:00", + "ShipVia": 1, + "Freight": "30.0900", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 11067, + "CustomerID": "DRACD", + "EmployeeID": 1, + "OrderDate": "1998-05-04T00:00:00", + "RequiredDate": "1998-05-18T00:00:00", + "ShippedDate": "1998-05-06T00:00:00", + "ShipVia": 2, + "Freight": "7.9800", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 11069, + "CustomerID": "TORTU", + "EmployeeID": 1, + "OrderDate": "1998-05-04T00:00:00", + "RequiredDate": "1998-06-01T00:00:00", + "ShippedDate": "1998-05-06T00:00:00", + "ShipVia": 2, + "Freight": "15.6700", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 11071, + "CustomerID": "LILAS", + "EmployeeID": 1, + "OrderDate": "1998-05-05T00:00:00", + "RequiredDate": "1998-06-02T00:00:00", + "ShippedDate": null, + "ShipVia": 1, + "Freight": "0.9300", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 11077, + "CustomerID": "RATTC", + "EmployeeID": 1, + "OrderDate": "1998-05-06T00:00:00", + "RequiredDate": "1998-06-03T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "8.5300", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }], + "EmployeeID": 1, + "LastName": "Davolio", + "FirstName": "Nancy", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1948-12-08T00:00:00", + "HireDate": "1992-05-01T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/davolio.bmp" + }, { + "Orders": [{ + "OrderID": 10265, + "CustomerID": "BLONP", + "EmployeeID": 2, + "OrderDate": "1996-07-25T00:00:00", + "RequiredDate": "1996-08-22T00:00:00", + "ShippedDate": "1996-08-12T00:00:00", + "ShipVia": 1, + "Freight": "55.2800", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10277, + "CustomerID": "MORGK", + "EmployeeID": 2, + "OrderDate": "1996-08-09T00:00:00", + "RequiredDate": "1996-09-06T00:00:00", + "ShippedDate": "1996-08-13T00:00:00", + "ShipVia": 3, + "Freight": "125.7700", + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, { + "OrderID": 10280, + "CustomerID": "BERGS", + "EmployeeID": 2, + "OrderDate": "1996-08-14T00:00:00", + "RequiredDate": "1996-09-11T00:00:00", + "ShippedDate": "1996-09-12T00:00:00", + "ShipVia": 1, + "Freight": "8.9800", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10295, + "CustomerID": "VINET", + "EmployeeID": 2, + "OrderDate": "1996-09-02T00:00:00", + "RequiredDate": "1996-09-30T00:00:00", + "ShippedDate": "1996-09-10T00:00:00", + "ShipVia": 2, + "Freight": "1.1500", + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, { + "OrderID": 10300, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "1996-09-09T00:00:00", + "RequiredDate": "1996-10-07T00:00:00", + "ShippedDate": "1996-09-18T00:00:00", + "ShipVia": 2, + "Freight": "17.6800", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10307, + "CustomerID": "LONEP", + "EmployeeID": 2, + "OrderDate": "1996-09-17T00:00:00", + "RequiredDate": "1996-10-15T00:00:00", + "ShippedDate": "1996-09-25T00:00:00", + "ShipVia": 2, + "Freight": "0.5600", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10312, + "CustomerID": "WANDK", + "EmployeeID": 2, + "OrderDate": "1996-09-23T00:00:00", + "RequiredDate": "1996-10-21T00:00:00", + "ShippedDate": "1996-10-03T00:00:00", + "ShipVia": 2, + "Freight": "40.2600", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10313, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1996-09-24T00:00:00", + "RequiredDate": "1996-10-22T00:00:00", + "ShippedDate": "1996-10-04T00:00:00", + "ShipVia": 2, + "Freight": "1.9600", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10327, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "1996-10-11T00:00:00", + "RequiredDate": "1996-11-08T00:00:00", + "ShippedDate": "1996-10-14T00:00:00", + "ShipVia": 1, + "Freight": "63.3600", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10339, + "CustomerID": "MEREP", + "EmployeeID": 2, + "OrderDate": "1996-10-28T00:00:00", + "RequiredDate": "1996-11-25T00:00:00", + "ShippedDate": "1996-11-04T00:00:00", + "ShipVia": 2, + "Freight": "15.6600", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10345, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1996-11-04T00:00:00", + "RequiredDate": "1996-12-02T00:00:00", + "ShippedDate": "1996-11-11T00:00:00", + "ShipVia": 2, + "Freight": "249.0600", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10368, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "1996-11-29T00:00:00", + "RequiredDate": "1996-12-27T00:00:00", + "ShippedDate": "1996-12-02T00:00:00", + "ShipVia": 2, + "Freight": "101.9500", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10379, + "CustomerID": "QUEDE", + "EmployeeID": 2, + "OrderDate": "1996-12-11T00:00:00", + "RequiredDate": "1997-01-08T00:00:00", + "ShippedDate": "1996-12-13T00:00:00", + "ShipVia": 1, + "Freight": "45.0300", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10388, + "CustomerID": "SEVES", + "EmployeeID": 2, + "OrderDate": "1996-12-19T00:00:00", + "RequiredDate": "1997-01-16T00:00:00", + "ShippedDate": "1996-12-20T00:00:00", + "ShipVia": 1, + "Freight": "34.8600", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10392, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "1996-12-24T00:00:00", + "RequiredDate": "1997-01-21T00:00:00", + "ShippedDate": "1997-01-01T00:00:00", + "ShipVia": 3, + "Freight": "122.4600", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10398, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "1996-12-30T00:00:00", + "RequiredDate": "1997-01-27T00:00:00", + "ShippedDate": "1997-01-09T00:00:00", + "ShipVia": 3, + "Freight": "89.1600", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10404, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "1997-01-03T00:00:00", + "RequiredDate": "1997-01-31T00:00:00", + "ShippedDate": "1997-01-08T00:00:00", + "ShipVia": 1, + "Freight": "155.9700", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10407, + "CustomerID": "OTTIK", + "EmployeeID": 2, + "OrderDate": "1997-01-07T00:00:00", + "RequiredDate": "1997-02-04T00:00:00", + "ShippedDate": "1997-01-30T00:00:00", + "ShipVia": 2, + "Freight": "91.4800", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10414, + "CustomerID": "FAMIA", + "EmployeeID": 2, + "OrderDate": "1997-01-14T00:00:00", + "RequiredDate": "1997-02-11T00:00:00", + "ShippedDate": "1997-01-17T00:00:00", + "ShipVia": 3, + "Freight": "21.4800", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10422, + "CustomerID": "FRANS", + "EmployeeID": 2, + "OrderDate": "1997-01-22T00:00:00", + "RequiredDate": "1997-02-19T00:00:00", + "ShippedDate": "1997-01-31T00:00:00", + "ShipVia": 1, + "Freight": "3.0200", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 10457, + "CustomerID": "KOENE", + "EmployeeID": 2, + "OrderDate": "1997-02-25T00:00:00", + "RequiredDate": "1997-03-25T00:00:00", + "ShippedDate": "1997-03-03T00:00:00", + "ShipVia": 1, + "Freight": "11.5700", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10462, + "CustomerID": "CONSH", + "EmployeeID": 2, + "OrderDate": "1997-03-03T00:00:00", + "RequiredDate": "1997-03-31T00:00:00", + "ShippedDate": "1997-03-18T00:00:00", + "ShipVia": 1, + "Freight": "6.1700", + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, { + "OrderID": 10471, + "CustomerID": "BSBEV", + "EmployeeID": 2, + "OrderDate": "1997-03-11T00:00:00", + "RequiredDate": "1997-04-08T00:00:00", + "ShippedDate": "1997-03-18T00:00:00", + "ShipVia": 3, + "Freight": "45.5900", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10478, + "CustomerID": "VICTE", + "EmployeeID": 2, + "OrderDate": "1997-03-18T00:00:00", + "RequiredDate": "1997-04-01T00:00:00", + "ShippedDate": "1997-03-26T00:00:00", + "ShipVia": 3, + "Freight": "4.8100", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10487, + "CustomerID": "QUEEN", + "EmployeeID": 2, + "OrderDate": "1997-03-26T00:00:00", + "RequiredDate": "1997-04-23T00:00:00", + "ShippedDate": "1997-03-28T00:00:00", + "ShipVia": 2, + "Freight": "71.0700", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10502, + "CustomerID": "PERIC", + "EmployeeID": 2, + "OrderDate": "1997-04-10T00:00:00", + "RequiredDate": "1997-05-08T00:00:00", + "ShippedDate": "1997-04-29T00:00:00", + "ShipVia": 1, + "Freight": "69.3200", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10515, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1997-04-23T00:00:00", + "RequiredDate": "1997-05-07T00:00:00", + "ShippedDate": "1997-05-23T00:00:00", + "ShipVia": 1, + "Freight": "204.4700", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10516, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "1997-04-24T00:00:00", + "RequiredDate": "1997-05-22T00:00:00", + "ShippedDate": "1997-05-01T00:00:00", + "ShipVia": 3, + "Freight": "62.7800", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10541, + "CustomerID": "HANAR", + "EmployeeID": 2, + "OrderDate": "1997-05-19T00:00:00", + "RequiredDate": "1997-06-16T00:00:00", + "ShippedDate": "1997-05-29T00:00:00", + "ShipVia": 1, + "Freight": "68.6500", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10552, + "CustomerID": "HILAA", + "EmployeeID": 2, + "OrderDate": "1997-05-29T00:00:00", + "RequiredDate": "1997-06-26T00:00:00", + "ShippedDate": "1997-06-05T00:00:00", + "ShipVia": 1, + "Freight": "83.2200", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10553, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "1997-05-30T00:00:00", + "RequiredDate": "1997-06-27T00:00:00", + "ShippedDate": "1997-06-03T00:00:00", + "ShipVia": 2, + "Freight": "149.4900", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10556, + "CustomerID": "SIMOB", + "EmployeeID": 2, + "OrderDate": "1997-06-03T00:00:00", + "RequiredDate": "1997-07-15T00:00:00", + "ShippedDate": "1997-06-13T00:00:00", + "ShipVia": 1, + "Freight": "9.8000", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10561, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "1997-06-06T00:00:00", + "RequiredDate": "1997-07-04T00:00:00", + "ShippedDate": "1997-06-09T00:00:00", + "ShipVia": 2, + "Freight": "242.2100", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10563, + "CustomerID": "RICAR", + "EmployeeID": 2, + "OrderDate": "1997-06-10T00:00:00", + "RequiredDate": "1997-07-22T00:00:00", + "ShippedDate": "1997-06-24T00:00:00", + "ShipVia": 2, + "Freight": "60.4300", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10583, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "1997-06-30T00:00:00", + "RequiredDate": "1997-07-28T00:00:00", + "ShippedDate": "1997-07-04T00:00:00", + "ShipVia": 2, + "Freight": "7.2800", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10588, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1997-07-03T00:00:00", + "RequiredDate": "1997-07-31T00:00:00", + "ShippedDate": "1997-07-10T00:00:00", + "ShipVia": 3, + "Freight": "194.6700", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10595, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "1997-07-10T00:00:00", + "RequiredDate": "1997-08-07T00:00:00", + "ShippedDate": "1997-07-14T00:00:00", + "ShipVia": 1, + "Freight": "96.7800", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10615, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "1997-07-30T00:00:00", + "RequiredDate": "1997-08-27T00:00:00", + "ShippedDate": "1997-08-06T00:00:00", + "ShipVia": 3, + "Freight": "0.7500", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10620, + "CustomerID": "LAUGB", + "EmployeeID": 2, + "OrderDate": "1997-08-05T00:00:00", + "RequiredDate": "1997-09-02T00:00:00", + "ShippedDate": "1997-08-14T00:00:00", + "ShipVia": 3, + "Freight": "0.9400", + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, { + "OrderID": 10657, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "1997-09-04T00:00:00", + "RequiredDate": "1997-10-02T00:00:00", + "ShippedDate": "1997-09-15T00:00:00", + "ShipVia": 2, + "Freight": "352.6900", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10663, + "CustomerID": "BONAP", + "EmployeeID": 2, + "OrderDate": "1997-09-10T00:00:00", + "RequiredDate": "1997-09-24T00:00:00", + "ShippedDate": "1997-10-03T00:00:00", + "ShipVia": 2, + "Freight": "113.1500", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10669, + "CustomerID": "SIMOB", + "EmployeeID": 2, + "OrderDate": "1997-09-15T00:00:00", + "RequiredDate": "1997-10-13T00:00:00", + "ShippedDate": "1997-09-22T00:00:00", + "ShipVia": 1, + "Freight": "24.3900", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10673, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "1997-09-18T00:00:00", + "RequiredDate": "1997-10-16T00:00:00", + "ShippedDate": "1997-09-19T00:00:00", + "ShipVia": 1, + "Freight": "22.7600", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10676, + "CustomerID": "TORTU", + "EmployeeID": 2, + "OrderDate": "1997-09-22T00:00:00", + "RequiredDate": "1997-10-20T00:00:00", + "ShippedDate": "1997-09-29T00:00:00", + "ShipVia": 2, + "Freight": "2.0100", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10683, + "CustomerID": "DUMON", + "EmployeeID": 2, + "OrderDate": "1997-09-26T00:00:00", + "RequiredDate": "1997-10-24T00:00:00", + "ShippedDate": "1997-10-01T00:00:00", + "ShipVia": 1, + "Freight": "4.4000", + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10686, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "1997-09-30T00:00:00", + "RequiredDate": "1997-10-28T00:00:00", + "ShippedDate": "1997-10-08T00:00:00", + "ShipVia": 1, + "Freight": "96.5000", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10691, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1997-10-03T00:00:00", + "RequiredDate": "1997-11-14T00:00:00", + "ShippedDate": "1997-10-22T00:00:00", + "ShipVia": 2, + "Freight": "810.0500", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10727, + "CustomerID": "REGGC", + "EmployeeID": 2, + "OrderDate": "1997-11-03T00:00:00", + "RequiredDate": "1997-12-01T00:00:00", + "ShippedDate": "1997-12-05T00:00:00", + "ShipVia": 1, + "Freight": "89.9000", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10734, + "CustomerID": "GOURL", + "EmployeeID": 2, + "OrderDate": "1997-11-07T00:00:00", + "RequiredDate": "1997-12-05T00:00:00", + "ShippedDate": "1997-11-12T00:00:00", + "ShipVia": 3, + "Freight": "1.6300", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10737, + "CustomerID": "VINET", + "EmployeeID": 2, + "OrderDate": "1997-11-11T00:00:00", + "RequiredDate": "1997-12-09T00:00:00", + "ShippedDate": "1997-11-18T00:00:00", + "ShipVia": 2, + "Freight": "7.7900", + "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": "1997-11-12T00:00:00", + "RequiredDate": "1997-12-10T00:00:00", + "ShippedDate": "1997-11-18T00:00:00", + "ShipVia": 1, + "Freight": "2.9100", + "ShipName": "Sp\u00e9cialit\u00e9s du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, { + "OrderID": 10752, + "CustomerID": "NORTS", + "EmployeeID": 2, + "OrderDate": "1997-11-24T00:00:00", + "RequiredDate": "1997-12-22T00:00:00", + "ShippedDate": "1997-11-28T00:00:00", + "ShipVia": 3, + "Freight": "1.3900", + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, { + "OrderID": 10780, + "CustomerID": "LILAS", + "EmployeeID": 2, + "OrderDate": "1997-12-16T00:00:00", + "RequiredDate": "1997-12-30T00:00:00", + "ShippedDate": "1997-12-25T00:00:00", + "ShipVia": 1, + "Freight": "42.1300", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10781, + "CustomerID": "WARTH", + "EmployeeID": 2, + "OrderDate": "1997-12-17T00:00:00", + "RequiredDate": "1998-01-14T00:00:00", + "ShippedDate": "1997-12-19T00:00:00", + "ShipVia": 3, + "Freight": "73.1600", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10787, + "CustomerID": "LAMAI", + "EmployeeID": 2, + "OrderDate": "1997-12-19T00:00:00", + "RequiredDate": "1998-01-02T00:00:00", + "ShippedDate": "1997-12-26T00:00:00", + "ShipVia": 1, + "Freight": "249.9300", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10798, + "CustomerID": "ISLAT", + "EmployeeID": 2, + "OrderDate": "1997-12-26T00:00:00", + "RequiredDate": "1998-01-23T00:00:00", + "ShippedDate": "1998-01-05T00:00:00", + "ShipVia": 1, + "Freight": "2.3300", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10805, + "CustomerID": "THEBI", + "EmployeeID": 2, + "OrderDate": "1997-12-30T00:00:00", + "RequiredDate": "1998-01-27T00:00:00", + "ShippedDate": "1998-01-09T00:00:00", + "ShipVia": 3, + "Freight": "237.3400", + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, { + "OrderID": 10808, + "CustomerID": "OLDWO", + "EmployeeID": 2, + "OrderDate": "1998-01-01T00:00:00", + "RequiredDate": "1998-01-29T00:00:00", + "ShippedDate": "1998-01-09T00:00:00", + "ShipVia": 3, + "Freight": "45.5300", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10810, + "CustomerID": "LAUGB", + "EmployeeID": 2, + "OrderDate": "1998-01-01T00:00:00", + "RequiredDate": "1998-01-29T00:00:00", + "ShippedDate": "1998-01-07T00:00:00", + "ShipVia": 3, + "Freight": "4.3300", + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, { + "OrderID": 10815, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "1998-01-05T00:00:00", + "RequiredDate": "1998-02-02T00:00:00", + "ShippedDate": "1998-01-14T00:00:00", + "ShipVia": 3, + "Freight": "14.6200", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10819, + "CustomerID": "CACTU", + "EmployeeID": 2, + "OrderDate": "1998-01-07T00:00:00", + "RequiredDate": "1998-02-04T00:00:00", + "ShippedDate": "1998-01-16T00:00:00", + "ShipVia": 3, + "Freight": "19.7600", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10832, + "CustomerID": "LAMAI", + "EmployeeID": 2, + "OrderDate": "1998-01-14T00:00:00", + "RequiredDate": "1998-02-11T00:00:00", + "ShippedDate": "1998-01-19T00:00:00", + "ShipVia": 2, + "Freight": "43.2600", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10846, + "CustomerID": "SUPRD", + "EmployeeID": 2, + "OrderDate": "1998-01-22T00:00:00", + "RequiredDate": "1998-03-05T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 3, + "Freight": "56.4600", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10858, + "CustomerID": "LACOR", + "EmployeeID": 2, + "OrderDate": "1998-01-29T00:00:00", + "RequiredDate": "1998-02-26T00:00:00", + "ShippedDate": "1998-02-03T00:00:00", + "ShipVia": 1, + "Freight": "52.5100", + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, { + "OrderID": 10865, + "CustomerID": "QUICK", + "EmployeeID": 2, + "OrderDate": "1998-02-02T00:00:00", + "RequiredDate": "1998-02-16T00:00:00", + "ShippedDate": "1998-02-12T00:00:00", + "ShipVia": 1, + "Freight": "348.1400", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10912, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 2, + "Freight": "580.9100", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10915, + "CustomerID": "TORTU", + "EmployeeID": 2, + "OrderDate": "1998-02-27T00:00:00", + "RequiredDate": "1998-03-27T00:00:00", + "ShippedDate": "1998-03-02T00:00:00", + "ShipVia": 2, + "Freight": "3.5100", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10919, + "CustomerID": "LINOD", + "EmployeeID": 2, + "OrderDate": "1998-03-02T00:00:00", + "RequiredDate": "1998-03-30T00:00:00", + "ShippedDate": "1998-03-04T00:00:00", + "ShipVia": 2, + "Freight": "19.8000", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10939, + "CustomerID": "MAGAA", + "EmployeeID": 2, + "OrderDate": "1998-03-10T00:00:00", + "RequiredDate": "1998-04-07T00:00:00", + "ShippedDate": "1998-03-13T00:00:00", + "ShipVia": 2, + "Freight": "76.3300", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10949, + "CustomerID": "BOTTM", + "EmployeeID": 2, + "OrderDate": "1998-03-13T00:00:00", + "RequiredDate": "1998-04-10T00:00:00", + "ShippedDate": "1998-03-17T00:00:00", + "ShipVia": 3, + "Freight": "74.4400", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10967, + "CustomerID": "TOMSP", + "EmployeeID": 2, + "OrderDate": "1998-03-23T00:00:00", + "RequiredDate": "1998-04-20T00:00:00", + "ShippedDate": "1998-04-02T00:00:00", + "ShipVia": 2, + "Freight": "62.2200", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10971, + "CustomerID": "FRANR", + "EmployeeID": 2, + "OrderDate": "1998-03-24T00:00:00", + "RequiredDate": "1998-04-21T00:00:00", + "ShippedDate": "1998-04-02T00:00:00", + "ShipVia": 2, + "Freight": "121.8200", + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10982, + "CustomerID": "BOTTM", + "EmployeeID": 2, + "OrderDate": "1998-03-27T00:00:00", + "RequiredDate": "1998-04-24T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 1, + "Freight": "14.0100", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10983, + "CustomerID": "SAVEA", + "EmployeeID": 2, + "OrderDate": "1998-03-27T00:00:00", + "RequiredDate": "1998-04-24T00:00:00", + "ShippedDate": "1998-04-06T00:00:00", + "ShipVia": 2, + "Freight": "657.5400", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10985, + "CustomerID": "HUNGO", + "EmployeeID": 2, + "OrderDate": "1998-03-30T00:00:00", + "RequiredDate": "1998-04-27T00:00:00", + "ShippedDate": "1998-04-02T00:00:00", + "ShipVia": 1, + "Freight": "91.5100", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10989, + "CustomerID": "QUEDE", + "EmployeeID": 2, + "OrderDate": "1998-03-31T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-04-02T00:00:00", + "ShipVia": 1, + "Freight": "34.7600", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10990, + "CustomerID": "ERNSH", + "EmployeeID": 2, + "OrderDate": "1998-04-01T00:00:00", + "RequiredDate": "1998-05-13T00:00:00", + "ShippedDate": "1998-04-07T00:00:00", + "ShipVia": 3, + "Freight": "117.6100", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10994, + "CustomerID": "VAFFE", + "EmployeeID": 2, + "OrderDate": "1998-04-02T00:00:00", + "RequiredDate": "1998-04-16T00:00:00", + "ShippedDate": "1998-04-09T00:00:00", + "ShipVia": 3, + "Freight": "65.5300", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 11000, + "CustomerID": "RATTC", + "EmployeeID": 2, + "OrderDate": "1998-04-06T00:00:00", + "RequiredDate": "1998-05-04T00:00:00", + "ShippedDate": "1998-04-14T00:00:00", + "ShipVia": 3, + "Freight": "55.1200", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 11001, + "CustomerID": "FOLKO", + "EmployeeID": 2, + "OrderDate": "1998-04-06T00:00:00", + "RequiredDate": "1998-05-04T00:00:00", + "ShippedDate": "1998-04-14T00:00:00", + "ShipVia": 2, + "Freight": "197.3000", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 11005, + "CustomerID": "WILMK", + "EmployeeID": 2, + "OrderDate": "1998-04-07T00:00:00", + "RequiredDate": "1998-05-05T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 1, + "Freight": "0.7500", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 11009, + "CustomerID": "GODOS", + "EmployeeID": 2, + "OrderDate": "1998-04-08T00:00:00", + "RequiredDate": "1998-05-06T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 1, + "Freight": "59.1100", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 11010, + "CustomerID": "REGGC", + "EmployeeID": 2, + "OrderDate": "1998-04-09T00:00:00", + "RequiredDate": "1998-05-07T00:00:00", + "ShippedDate": "1998-04-21T00:00:00", + "ShipVia": 2, + "Freight": "28.7100", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 11013, + "CustomerID": "ROMEY", + "EmployeeID": 2, + "OrderDate": "1998-04-09T00:00:00", + "RequiredDate": "1998-05-07T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 1, + "Freight": "32.9900", + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran V\u00eda, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, { + "OrderID": 11014, + "CustomerID": "LINOD", + "EmployeeID": 2, + "OrderDate": "1998-04-10T00:00:00", + "RequiredDate": "1998-05-08T00:00:00", + "ShippedDate": "1998-04-15T00:00:00", + "ShipVia": 3, + "Freight": "23.6000", + "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": "1998-04-10T00:00:00", + "RequiredDate": "1998-04-24T00:00:00", + "ShippedDate": "1998-04-20T00:00:00", + "ShipVia": 2, + "Freight": "4.6200", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 11020, + "CustomerID": "OTTIK", + "EmployeeID": 2, + "OrderDate": "1998-04-14T00:00:00", + "RequiredDate": "1998-05-12T00:00:00", + "ShippedDate": "1998-04-16T00:00:00", + "ShipVia": 2, + "Freight": "43.3000", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 11028, + "CustomerID": "KOENE", + "EmployeeID": 2, + "OrderDate": "1998-04-16T00:00:00", + "RequiredDate": "1998-05-14T00:00:00", + "ShippedDate": "1998-04-22T00:00:00", + "ShipVia": 1, + "Freight": "29.5900", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 11032, + "CustomerID": "WHITC", + "EmployeeID": 2, + "OrderDate": "1998-04-17T00:00:00", + "RequiredDate": "1998-05-15T00:00:00", + "ShippedDate": "1998-04-23T00:00:00", + "ShipVia": 3, + "Freight": "606.1900", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 11035, + "CustomerID": "SUPRD", + "EmployeeID": 2, + "OrderDate": "1998-04-20T00:00:00", + "RequiredDate": "1998-05-18T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 2, + "Freight": "0.1700", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 11042, + "CustomerID": "COMMI", + "EmployeeID": 2, + "OrderDate": "1998-04-22T00:00:00", + "RequiredDate": "1998-05-06T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 1, + "Freight": "29.9900", + "ShipName": "Com\u00e9rcio Mineiro", + "ShipAddress": "Av. dos Lus\u00edadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, { + "OrderID": 11053, + "CustomerID": "PICCO", + "EmployeeID": 2, + "OrderDate": "1998-04-27T00:00:00", + "RequiredDate": "1998-05-25T00:00:00", + "ShippedDate": "1998-04-29T00:00:00", + "ShipVia": 2, + "Freight": "53.0500", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 11059, + "CustomerID": "RICAR", + "EmployeeID": 2, + "OrderDate": "1998-04-29T00:00:00", + "RequiredDate": "1998-06-10T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "85.8000", + "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": "1998-04-30T00:00:00", + "RequiredDate": "1998-05-28T00:00:00", + "ShippedDate": "1998-05-04T00:00:00", + "ShipVia": 2, + "Freight": "10.9800", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 11070, + "CustomerID": "LEHMS", + "EmployeeID": 2, + "OrderDate": "1998-05-05T00:00:00", + "RequiredDate": "1998-06-02T00:00:00", + "ShippedDate": null, + "ShipVia": 1, + "Freight": "136.0000", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 11073, + "CustomerID": "PERIC", + "EmployeeID": 2, + "OrderDate": "1998-05-05T00:00:00", + "RequiredDate": "1998-06-02T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "24.9500", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }], + "EmployeeID": 2, + "LastName": "Fuller", + "FirstName": "Andrew", + "Title": "Vice President, Sales", + "TitleOfCourtesy": "Dr.", + "BirthDate": "1952-02-19T00:00:00", + "HireDate": "1992-08-14T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/fuller.bmp" + }, { + "Orders": [{ + "OrderID": 10251, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "1996-07-08T00:00:00", + "RequiredDate": "1996-08-05T00:00:00", + "ShippedDate": "1996-07-15T00:00:00", + "ShipVia": 1, + "Freight": "41.3400", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10253, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "1996-07-10T00:00:00", + "RequiredDate": "1996-07-24T00:00:00", + "ShippedDate": "1996-07-16T00:00:00", + "ShipVia": 2, + "Freight": "58.1700", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10256, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "1996-07-15T00:00:00", + "RequiredDate": "1996-08-12T00:00:00", + "ShippedDate": "1996-07-17T00:00:00", + "ShipVia": 2, + "Freight": "13.9700", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10266, + "CustomerID": "WARTH", + "EmployeeID": 3, + "OrderDate": "1996-07-26T00:00:00", + "RequiredDate": "1996-09-06T00:00:00", + "ShippedDate": "1996-07-31T00:00:00", + "ShipVia": 3, + "Freight": "25.7300", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10273, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "1996-08-05T00:00:00", + "RequiredDate": "1996-09-02T00:00:00", + "ShippedDate": "1996-08-12T00:00:00", + "ShipVia": 3, + "Freight": "76.0700", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10283, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "1996-08-16T00:00:00", + "RequiredDate": "1996-09-13T00:00:00", + "ShippedDate": "1996-08-23T00:00:00", + "ShipVia": 3, + "Freight": "84.8100", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10309, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "1996-09-19T00:00:00", + "RequiredDate": "1996-10-17T00:00:00", + "ShippedDate": "1996-10-23T00:00:00", + "ShipVia": 1, + "Freight": "47.3000", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10321, + "CustomerID": "ISLAT", + "EmployeeID": 3, + "OrderDate": "1996-10-03T00:00:00", + "RequiredDate": "1996-10-31T00:00:00", + "ShippedDate": "1996-10-11T00:00:00", + "ShipVia": 2, + "Freight": "3.4300", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10330, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "1996-10-16T00:00:00", + "RequiredDate": "1996-11-13T00:00:00", + "ShippedDate": "1996-10-28T00:00:00", + "ShipVia": 1, + "Freight": "12.7500", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10332, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "1996-10-17T00:00:00", + "RequiredDate": "1996-11-28T00:00:00", + "ShippedDate": "1996-10-21T00:00:00", + "ShipVia": 2, + "Freight": "52.8400", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10346, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "1996-11-05T00:00:00", + "RequiredDate": "1996-12-17T00:00:00", + "ShippedDate": "1996-11-08T00:00:00", + "ShipVia": 3, + "Freight": "142.0800", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10352, + "CustomerID": "FURIB", + "EmployeeID": 3, + "OrderDate": "1996-11-12T00:00:00", + "RequiredDate": "1996-11-26T00:00:00", + "ShippedDate": "1996-11-18T00:00:00", + "ShipVia": 3, + "Freight": "1.3000", + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, { + "OrderID": 10362, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "1996-11-25T00:00:00", + "RequiredDate": "1996-12-23T00:00:00", + "ShippedDate": "1996-11-28T00:00:00", + "ShipVia": 1, + "Freight": "96.0400", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10365, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "1996-11-27T00:00:00", + "RequiredDate": "1996-12-25T00:00:00", + "ShippedDate": "1996-12-02T00:00:00", + "ShipVia": 2, + "Freight": "22.0000", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10375, + "CustomerID": "HUNGC", + "EmployeeID": 3, + "OrderDate": "1996-12-06T00:00:00", + "RequiredDate": "1997-01-03T00:00:00", + "ShippedDate": "1996-12-09T00:00:00", + "ShipVia": 2, + "Freight": "20.1200", + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, { + "OrderID": 10381, + "CustomerID": "LILAS", + "EmployeeID": 3, + "OrderDate": "1996-12-12T00:00:00", + "RequiredDate": "1997-01-09T00:00:00", + "ShippedDate": "1996-12-13T00:00:00", + "ShipVia": 3, + "Freight": "7.9900", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10384, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1996-12-16T00:00:00", + "RequiredDate": "1997-01-13T00:00:00", + "ShippedDate": "1996-12-20T00:00:00", + "ShipVia": 3, + "Freight": "168.6400", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10391, + "CustomerID": "DRACD", + "EmployeeID": 3, + "OrderDate": "1996-12-23T00:00:00", + "RequiredDate": "1997-01-20T00:00:00", + "ShippedDate": "1996-12-31T00:00:00", + "ShipVia": 3, + "Freight": "5.4500", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 10409, + "CustomerID": "OCEAN", + "EmployeeID": 3, + "OrderDate": "1997-01-09T00:00:00", + "RequiredDate": "1997-02-06T00:00:00", + "ShippedDate": "1997-01-14T00:00:00", + "ShipVia": 1, + "Freight": "29.8300", + "ShipName": "Oc\u00e9ano Atl\u00e1ntico 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": "1997-01-10T00:00:00", + "RequiredDate": "1997-02-07T00:00:00", + "ShippedDate": "1997-01-15T00:00:00", + "ShipVia": 3, + "Freight": "2.4000", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10413, + "CustomerID": "LAMAI", + "EmployeeID": 3, + "OrderDate": "1997-01-14T00:00:00", + "RequiredDate": "1997-02-11T00:00:00", + "ShippedDate": "1997-01-16T00:00:00", + "ShipVia": 2, + "Freight": "95.6600", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10415, + "CustomerID": "HUNGC", + "EmployeeID": 3, + "OrderDate": "1997-01-15T00:00:00", + "RequiredDate": "1997-02-12T00:00:00", + "ShippedDate": "1997-01-24T00:00:00", + "ShipVia": 1, + "Freight": "0.2000", + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, { + "OrderID": 10420, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "1997-01-21T00:00:00", + "RequiredDate": "1997-02-18T00:00:00", + "ShippedDate": "1997-01-27T00:00:00", + "ShipVia": 1, + "Freight": "44.1200", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10429, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "1997-01-29T00:00:00", + "RequiredDate": "1997-03-12T00:00:00", + "ShippedDate": "1997-02-07T00:00:00", + "ShipVia": 2, + "Freight": "56.6300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10432, + "CustomerID": "SPLIR", + "EmployeeID": 3, + "OrderDate": "1997-01-31T00:00:00", + "RequiredDate": "1997-02-14T00:00:00", + "ShippedDate": "1997-02-07T00:00:00", + "ShipVia": 2, + "Freight": "4.3400", + "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": "1997-02-03T00:00:00", + "RequiredDate": "1997-03-03T00:00:00", + "ShippedDate": "1997-03-04T00:00:00", + "ShipVia": 3, + "Freight": "73.8300", + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da sa\u00fade n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, { + "OrderID": 10434, + "CustomerID": "FOLKO", + "EmployeeID": 3, + "OrderDate": "1997-02-03T00:00:00", + "RequiredDate": "1997-03-03T00:00:00", + "ShippedDate": "1997-02-13T00:00:00", + "ShipVia": 2, + "Freight": "17.9200", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10436, + "CustomerID": "BLONP", + "EmployeeID": 3, + "OrderDate": "1997-02-05T00:00:00", + "RequiredDate": "1997-03-05T00:00:00", + "ShippedDate": "1997-02-11T00:00:00", + "ShipVia": 2, + "Freight": "156.6600", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10438, + "CustomerID": "TOMSP", + "EmployeeID": 3, + "OrderDate": "1997-02-06T00:00:00", + "RequiredDate": "1997-03-06T00:00:00", + "ShippedDate": "1997-02-14T00:00:00", + "ShipVia": 2, + "Freight": "8.2400", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10441, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "1997-02-10T00:00:00", + "RequiredDate": "1997-03-24T00:00:00", + "ShippedDate": "1997-03-14T00:00:00", + "ShipVia": 2, + "Freight": "73.0200", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10442, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "1997-02-11T00:00:00", + "RequiredDate": "1997-03-11T00:00:00", + "ShippedDate": "1997-02-18T00:00:00", + "ShipVia": 2, + "Freight": "47.9400", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10444, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1997-02-12T00:00:00", + "RequiredDate": "1997-03-12T00:00:00", + "ShippedDate": "1997-02-21T00:00:00", + "ShipVia": 3, + "Freight": "3.5000", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10445, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1997-02-13T00:00:00", + "RequiredDate": "1997-03-13T00:00:00", + "ShippedDate": "1997-02-20T00:00:00", + "ShipVia": 1, + "Freight": "9.3000", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10449, + "CustomerID": "BLONP", + "EmployeeID": 3, + "OrderDate": "1997-02-18T00:00:00", + "RequiredDate": "1997-03-18T00:00:00", + "ShippedDate": "1997-02-27T00:00:00", + "ShipVia": 2, + "Freight": "53.3000", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10468, + "CustomerID": "KOENE", + "EmployeeID": 3, + "OrderDate": "1997-03-07T00:00:00", + "RequiredDate": "1997-04-04T00:00:00", + "ShippedDate": "1997-03-12T00:00:00", + "ShipVia": 3, + "Freight": "44.1200", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10479, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "1997-03-19T00:00:00", + "RequiredDate": "1997-04-16T00:00:00", + "ShippedDate": "1997-03-21T00:00:00", + "ShipVia": 3, + "Freight": "708.9500", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10484, + "CustomerID": "BSBEV", + "EmployeeID": 3, + "OrderDate": "1997-03-24T00:00:00", + "RequiredDate": "1997-04-21T00:00:00", + "ShippedDate": "1997-04-01T00:00:00", + "ShipVia": 3, + "Freight": "6.8800", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10492, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "1997-04-01T00:00:00", + "RequiredDate": "1997-04-29T00:00:00", + "ShippedDate": "1997-04-11T00:00:00", + "ShipVia": 1, + "Freight": "62.8900", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10495, + "CustomerID": "LAUGB", + "EmployeeID": 3, + "OrderDate": "1997-04-03T00:00:00", + "RequiredDate": "1997-05-01T00:00:00", + "ShippedDate": "1997-04-11T00:00:00", + "ShipVia": 3, + "Freight": "4.6500", + "ShipName": "Laughing Bacchus Wine Cellars", + "ShipAddress": "2319 Elm St.", + "ShipCity": "Vancouver", + "ShipRegion": "BC", + "ShipPostalCode": "V3F 2K1", + "ShipCountry": "Canada" + }, { + "OrderID": 10505, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "1997-04-14T00:00:00", + "RequiredDate": "1997-05-12T00:00:00", + "ShippedDate": "1997-04-21T00:00:00", + "ShipVia": 3, + "Freight": "7.1300", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10514, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "1997-04-22T00:00:00", + "RequiredDate": "1997-05-20T00:00:00", + "ShippedDate": "1997-05-16T00:00:00", + "ShipVia": 2, + "Freight": "789.9500", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10517, + "CustomerID": "NORTS", + "EmployeeID": 3, + "OrderDate": "1997-04-24T00:00:00", + "RequiredDate": "1997-05-22T00:00:00", + "ShippedDate": "1997-04-29T00:00:00", + "ShipVia": 3, + "Freight": "32.0700", + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, { + "OrderID": 10530, + "CustomerID": "PICCO", + "EmployeeID": 3, + "OrderDate": "1997-05-08T00:00:00", + "RequiredDate": "1997-06-05T00:00:00", + "ShippedDate": "1997-05-12T00:00:00", + "ShipVia": 2, + "Freight": "339.2200", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10536, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "1997-05-14T00:00:00", + "RequiredDate": "1997-06-11T00:00:00", + "ShippedDate": "1997-06-06T00:00:00", + "ShipVia": 2, + "Freight": "58.8800", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10540, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "1997-05-19T00:00:00", + "RequiredDate": "1997-06-16T00:00:00", + "ShippedDate": "1997-06-13T00:00:00", + "ShipVia": 3, + "Freight": "1007.6400", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10547, + "CustomerID": "SEVES", + "EmployeeID": 3, + "OrderDate": "1997-05-23T00:00:00", + "RequiredDate": "1997-06-20T00:00:00", + "ShippedDate": "1997-06-02T00:00:00", + "ShipVia": 2, + "Freight": "178.4300", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10548, + "CustomerID": "TOMSP", + "EmployeeID": 3, + "OrderDate": "1997-05-26T00:00:00", + "RequiredDate": "1997-06-23T00:00:00", + "ShippedDate": "1997-06-02T00:00:00", + "ShipVia": 2, + "Freight": "1.4300", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10568, + "CustomerID": "GALED", + "EmployeeID": 3, + "OrderDate": "1997-06-13T00:00:00", + "RequiredDate": "1997-07-11T00:00:00", + "ShippedDate": "1997-07-09T00:00:00", + "ShipVia": 3, + "Freight": "6.5400", + "ShipName": "Galer\u00eda del gastron\u00f3mo", + "ShipAddress": "Rambla de Catalu\u00f1a, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, { + "OrderID": 10570, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "1997-06-17T00:00:00", + "RequiredDate": "1997-07-15T00:00:00", + "ShippedDate": "1997-06-19T00:00:00", + "ShipVia": 3, + "Freight": "188.9900", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10572, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1997-06-18T00:00:00", + "RequiredDate": "1997-07-16T00:00:00", + "ShippedDate": "1997-06-25T00:00:00", + "ShipVia": 2, + "Freight": "116.4300", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10576, + "CustomerID": "TORTU", + "EmployeeID": 3, + "OrderDate": "1997-06-23T00:00:00", + "RequiredDate": "1997-07-07T00:00:00", + "ShippedDate": "1997-06-30T00:00:00", + "ShipVia": 3, + "Freight": "18.5600", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10581, + "CustomerID": "FAMIA", + "EmployeeID": 3, + "OrderDate": "1997-06-26T00:00:00", + "RequiredDate": "1997-07-24T00:00:00", + "ShippedDate": "1997-07-02T00:00:00", + "ShipVia": 1, + "Freight": "3.0100", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10582, + "CustomerID": "BLAUS", + "EmployeeID": 3, + "OrderDate": "1997-06-27T00:00:00", + "RequiredDate": "1997-07-25T00:00:00", + "ShippedDate": "1997-07-14T00:00:00", + "ShipVia": 2, + "Freight": "27.7100", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10592, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "1997-07-08T00:00:00", + "RequiredDate": "1997-08-05T00:00:00", + "ShippedDate": "1997-07-16T00:00:00", + "ShipVia": 1, + "Freight": "32.1000", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10594, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "1997-07-09T00:00:00", + "RequiredDate": "1997-08-06T00:00:00", + "ShippedDate": "1997-07-16T00:00:00", + "ShipVia": 2, + "Freight": "5.2400", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10619, + "CustomerID": "MEREP", + "EmployeeID": 3, + "OrderDate": "1997-08-04T00:00:00", + "RequiredDate": "1997-09-01T00:00:00", + "ShippedDate": "1997-08-07T00:00:00", + "ShipVia": 3, + "Freight": "91.0500", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10625, + "CustomerID": "ANATR", + "EmployeeID": 3, + "OrderDate": "1997-08-08T00:00:00", + "RequiredDate": "1997-09-05T00:00:00", + "ShippedDate": "1997-08-14T00:00:00", + "ShipVia": 1, + "Freight": "43.9000", + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constituci\u00f3n 2222", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, { + "OrderID": 10638, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "1997-08-20T00:00:00", + "RequiredDate": "1997-09-17T00:00:00", + "ShippedDate": "1997-09-01T00:00:00", + "ShipVia": 1, + "Freight": "158.4400", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10644, + "CustomerID": "WELLI", + "EmployeeID": 3, + "OrderDate": "1997-08-25T00:00:00", + "RequiredDate": "1997-09-22T00:00:00", + "ShippedDate": "1997-09-01T00:00:00", + "ShipVia": 2, + "Freight": "0.1400", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10662, + "CustomerID": "LONEP", + "EmployeeID": 3, + "OrderDate": "1997-09-09T00:00:00", + "RequiredDate": "1997-10-07T00:00:00", + "ShippedDate": "1997-09-18T00:00:00", + "ShipVia": 2, + "Freight": "1.2800", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10681, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "1997-09-25T00:00:00", + "RequiredDate": "1997-10-23T00:00:00", + "ShippedDate": "1997-09-30T00:00:00", + "ShipVia": 3, + "Freight": "76.1300", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10682, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "1997-09-25T00:00:00", + "RequiredDate": "1997-10-23T00:00:00", + "ShippedDate": "1997-10-01T00:00:00", + "ShipVia": 2, + "Freight": "36.1300", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10684, + "CustomerID": "OTTIK", + "EmployeeID": 3, + "OrderDate": "1997-09-26T00:00:00", + "RequiredDate": "1997-10-24T00:00:00", + "ShippedDate": "1997-09-30T00:00:00", + "ShipVia": 1, + "Freight": "145.6300", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10693, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "1997-10-06T00:00:00", + "RequiredDate": "1997-10-20T00:00:00", + "ShippedDate": "1997-10-10T00:00:00", + "ShipVia": 3, + "Freight": "139.3400", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10697, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "1997-10-08T00:00:00", + "RequiredDate": "1997-11-05T00:00:00", + "ShippedDate": "1997-10-14T00:00:00", + "ShipVia": 1, + "Freight": "45.5200", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10699, + "CustomerID": "MORGK", + "EmployeeID": 3, + "OrderDate": "1997-10-09T00:00:00", + "RequiredDate": "1997-11-06T00:00:00", + "ShippedDate": "1997-10-13T00:00:00", + "ShipVia": 3, + "Freight": "0.5800", + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, { + "OrderID": 10700, + "CustomerID": "SAVEA", + "EmployeeID": 3, + "OrderDate": "1997-10-10T00:00:00", + "RequiredDate": "1997-11-07T00:00:00", + "ShippedDate": "1997-10-16T00:00:00", + "ShipVia": 1, + "Freight": "65.1000", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10712, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "1997-10-21T00:00:00", + "RequiredDate": "1997-11-18T00:00:00", + "ShippedDate": "1997-10-31T00:00:00", + "ShipVia": 1, + "Freight": "89.9300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10715, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "1997-10-23T00:00:00", + "RequiredDate": "1997-11-06T00:00:00", + "ShippedDate": "1997-10-29T00:00:00", + "ShipVia": 1, + "Freight": "63.2000", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10723, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "1997-10-30T00:00:00", + "RequiredDate": "1997-11-27T00:00:00", + "ShippedDate": "1997-11-25T00:00:00", + "ShipVia": 1, + "Freight": "21.7200", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10732, + "CustomerID": "BONAP", + "EmployeeID": 3, + "OrderDate": "1997-11-06T00:00:00", + "RequiredDate": "1997-12-04T00:00:00", + "ShippedDate": "1997-11-07T00:00:00", + "ShipVia": 1, + "Freight": "16.9700", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10739, + "CustomerID": "VINET", + "EmployeeID": 3, + "OrderDate": "1997-11-12T00:00:00", + "RequiredDate": "1997-12-10T00:00:00", + "ShippedDate": "1997-11-17T00:00:00", + "ShipVia": 3, + "Freight": "11.0800", + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, { + "OrderID": 10742, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "1997-11-14T00:00:00", + "RequiredDate": "1997-12-12T00:00:00", + "ShippedDate": "1997-11-18T00:00:00", + "ShipVia": 3, + "Freight": "243.7300", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10748, + "CustomerID": "SAVEA", + "EmployeeID": 3, + "OrderDate": "1997-11-20T00:00:00", + "RequiredDate": "1997-12-18T00:00:00", + "ShippedDate": "1997-11-28T00:00:00", + "ShipVia": 1, + "Freight": "232.5500", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10751, + "CustomerID": "RICSU", + "EmployeeID": 3, + "OrderDate": "1997-11-24T00:00:00", + "RequiredDate": "1997-12-22T00:00:00", + "ShippedDate": "1997-12-03T00:00:00", + "ShipVia": 3, + "Freight": "130.7900", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10753, + "CustomerID": "FRANS", + "EmployeeID": 3, + "OrderDate": "1997-11-25T00:00:00", + "RequiredDate": "1997-12-23T00:00:00", + "ShippedDate": "1997-11-27T00:00:00", + "ShipVia": 1, + "Freight": "7.7000", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 10758, + "CustomerID": "RICSU", + "EmployeeID": 3, + "OrderDate": "1997-11-28T00:00:00", + "RequiredDate": "1997-12-26T00:00:00", + "ShippedDate": "1997-12-04T00:00:00", + "ShipVia": 3, + "Freight": "138.1700", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10759, + "CustomerID": "ANATR", + "EmployeeID": 3, + "OrderDate": "1997-11-28T00:00:00", + "RequiredDate": "1997-12-26T00:00:00", + "ShippedDate": "1997-12-12T00:00:00", + "ShipVia": 3, + "Freight": "11.9900", + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constituci\u00f3n 2222", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, { + "OrderID": 10762, + "CustomerID": "FOLKO", + "EmployeeID": 3, + "OrderDate": "1997-12-02T00:00:00", + "RequiredDate": "1997-12-30T00:00:00", + "ShippedDate": "1997-12-09T00:00:00", + "ShipVia": 1, + "Freight": "328.7400", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10763, + "CustomerID": "FOLIG", + "EmployeeID": 3, + "OrderDate": "1997-12-03T00:00:00", + "RequiredDate": "1997-12-31T00:00:00", + "ShippedDate": "1997-12-08T00:00:00", + "ShipVia": 3, + "Freight": "37.3500", + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chauss\u00e9e de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, { + "OrderID": 10765, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "1997-12-04T00:00:00", + "RequiredDate": "1998-01-01T00:00:00", + "ShippedDate": "1997-12-09T00:00:00", + "ShipVia": 3, + "Freight": "42.7400", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10768, + "CustomerID": "AROUT", + "EmployeeID": 3, + "OrderDate": "1997-12-08T00:00:00", + "RequiredDate": "1998-01-05T00:00:00", + "ShippedDate": "1997-12-15T00:00:00", + "ShipVia": 2, + "Freight": "146.3200", + "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": "1997-12-08T00:00:00", + "RequiredDate": "1998-01-05T00:00:00", + "ShippedDate": "1997-12-12T00:00:00", + "ShipVia": 1, + "Freight": "65.0600", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10772, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "1997-12-10T00:00:00", + "RequiredDate": "1998-01-07T00:00:00", + "ShippedDate": "1997-12-19T00:00:00", + "ShipVia": 2, + "Freight": "91.2800", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10778, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1997-12-16T00:00:00", + "RequiredDate": "1998-01-13T00:00:00", + "ShippedDate": "1997-12-24T00:00:00", + "ShipVia": 1, + "Freight": "6.7900", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10779, + "CustomerID": "MORGK", + "EmployeeID": 3, + "OrderDate": "1997-12-16T00:00:00", + "RequiredDate": "1998-01-13T00:00:00", + "ShippedDate": "1998-01-14T00:00:00", + "ShipVia": 2, + "Freight": "58.1300", + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, { + "OrderID": 10793, + "CustomerID": "AROUT", + "EmployeeID": 3, + "OrderDate": "1997-12-24T00:00:00", + "RequiredDate": "1998-01-21T00:00:00", + "ShippedDate": "1998-01-08T00:00:00", + "ShipVia": 3, + "Freight": "4.5200", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10796, + "CustomerID": "HILAA", + "EmployeeID": 3, + "OrderDate": "1997-12-25T00:00:00", + "RequiredDate": "1998-01-22T00:00:00", + "ShippedDate": "1998-01-14T00:00:00", + "ShipVia": 1, + "Freight": "26.5200", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10806, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "1997-12-31T00:00:00", + "RequiredDate": "1998-01-28T00:00:00", + "ShippedDate": "1998-01-05T00:00:00", + "ShipVia": 2, + "Freight": "22.1100", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10814, + "CustomerID": "VICTE", + "EmployeeID": 3, + "OrderDate": "1998-01-05T00:00:00", + "RequiredDate": "1998-02-02T00:00:00", + "ShippedDate": "1998-01-14T00:00:00", + "ShipVia": 3, + "Freight": "130.9400", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10817, + "CustomerID": "KOENE", + "EmployeeID": 3, + "OrderDate": "1998-01-06T00:00:00", + "RequiredDate": "1998-01-20T00:00:00", + "ShippedDate": "1998-01-13T00:00:00", + "ShipVia": 2, + "Freight": "306.0700", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10820, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "1998-01-07T00:00:00", + "RequiredDate": "1998-02-04T00:00:00", + "ShippedDate": "1998-01-13T00:00:00", + "ShipVia": 2, + "Freight": "37.5200", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10831, + "CustomerID": "SANTG", + "EmployeeID": 3, + "OrderDate": "1998-01-14T00:00:00", + "RequiredDate": "1998-02-11T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 2, + "Freight": "72.1900", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 10838, + "CustomerID": "LINOD", + "EmployeeID": 3, + "OrderDate": "1998-01-19T00:00:00", + "RequiredDate": "1998-02-16T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 3, + "Freight": "59.2800", + "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": "1998-01-19T00:00:00", + "RequiredDate": "1998-02-16T00:00:00", + "ShippedDate": "1998-01-22T00:00:00", + "ShipVia": 3, + "Freight": "35.4300", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10854, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "1998-01-27T00:00:00", + "RequiredDate": "1998-02-24T00:00:00", + "ShippedDate": "1998-02-05T00:00:00", + "ShipVia": 2, + "Freight": "100.2200", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10855, + "CustomerID": "OLDWO", + "EmployeeID": 3, + "OrderDate": "1998-01-27T00:00:00", + "RequiredDate": "1998-02-24T00:00:00", + "ShippedDate": "1998-02-04T00:00:00", + "ShipVia": 1, + "Freight": "170.9700", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10856, + "CustomerID": "ANTON", + "EmployeeID": 3, + "OrderDate": "1998-01-28T00:00:00", + "RequiredDate": "1998-02-25T00:00:00", + "ShippedDate": "1998-02-10T00:00:00", + "ShipVia": 2, + "Freight": "58.4300", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10860, + "CustomerID": "FRANR", + "EmployeeID": 3, + "OrderDate": "1998-01-29T00:00:00", + "RequiredDate": "1998-02-26T00:00:00", + "ShippedDate": "1998-02-04T00:00:00", + "ShipVia": 3, + "Freight": "19.2600", + "ShipName": "France restauration", + "ShipAddress": "54, rue Royale", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10879, + "CustomerID": "WILMK", + "EmployeeID": 3, + "OrderDate": "1998-02-10T00:00:00", + "RequiredDate": "1998-03-10T00:00:00", + "ShippedDate": "1998-02-12T00:00:00", + "ShipVia": 3, + "Freight": "8.5000", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10895, + "CustomerID": "ERNSH", + "EmployeeID": 3, + "OrderDate": "1998-02-18T00:00:00", + "RequiredDate": "1998-03-18T00:00:00", + "ShippedDate": "1998-02-23T00:00:00", + "ShipVia": 1, + "Freight": "162.7500", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10897, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "1998-02-19T00:00:00", + "RequiredDate": "1998-03-19T00:00:00", + "ShippedDate": "1998-02-25T00:00:00", + "ShipVia": 2, + "Freight": "603.5400", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10903, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "1998-02-24T00:00:00", + "RequiredDate": "1998-03-24T00:00:00", + "ShippedDate": "1998-03-04T00:00:00", + "ShipVia": 3, + "Freight": "36.7100", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10904, + "CustomerID": "WHITC", + "EmployeeID": 3, + "OrderDate": "1998-02-24T00:00:00", + "RequiredDate": "1998-03-24T00:00:00", + "ShippedDate": "1998-02-27T00:00:00", + "ShipVia": 3, + "Freight": "162.9500", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10911, + "CustomerID": "GODOS", + "EmployeeID": 3, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-05T00:00:00", + "ShipVia": 1, + "Freight": "38.1900", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10918, + "CustomerID": "BOTTM", + "EmployeeID": 3, + "OrderDate": "1998-03-02T00:00:00", + "RequiredDate": "1998-03-30T00:00:00", + "ShippedDate": "1998-03-11T00:00:00", + "ShipVia": 3, + "Freight": "48.8300", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10924, + "CustomerID": "BERGS", + "EmployeeID": 3, + "OrderDate": "1998-03-04T00:00:00", + "RequiredDate": "1998-04-01T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 2, + "Freight": "151.5200", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10925, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "1998-03-04T00:00:00", + "RequiredDate": "1998-04-01T00:00:00", + "ShippedDate": "1998-03-13T00:00:00", + "ShipVia": 1, + "Freight": "2.2700", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10934, + "CustomerID": "LEHMS", + "EmployeeID": 3, + "OrderDate": "1998-03-09T00:00:00", + "RequiredDate": "1998-04-06T00:00:00", + "ShippedDate": "1998-03-12T00:00:00", + "ShipVia": 3, + "Freight": "32.0100", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10936, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "1998-03-09T00:00:00", + "RequiredDate": "1998-04-06T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 2, + "Freight": "33.6800", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10938, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "1998-03-10T00:00:00", + "RequiredDate": "1998-04-07T00:00:00", + "ShippedDate": "1998-03-16T00:00:00", + "ShipVia": 2, + "Freight": "31.8900", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10947, + "CustomerID": "BSBEV", + "EmployeeID": 3, + "OrderDate": "1998-03-13T00:00:00", + "RequiredDate": "1998-04-10T00:00:00", + "ShippedDate": "1998-03-16T00:00:00", + "ShipVia": 2, + "Freight": "3.2600", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10948, + "CustomerID": "GODOS", + "EmployeeID": 3, + "OrderDate": "1998-03-13T00:00:00", + "RequiredDate": "1998-04-10T00:00:00", + "ShippedDate": "1998-03-19T00:00:00", + "ShipVia": 3, + "Freight": "23.3900", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10960, + "CustomerID": "HILAA", + "EmployeeID": 3, + "OrderDate": "1998-03-19T00:00:00", + "RequiredDate": "1998-04-02T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 1, + "Freight": "2.0800", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10964, + "CustomerID": "SPECD", + "EmployeeID": 3, + "OrderDate": "1998-03-20T00:00:00", + "RequiredDate": "1998-04-17T00:00:00", + "ShippedDate": "1998-03-24T00:00:00", + "ShipVia": 2, + "Freight": "87.3800", + "ShipName": "Sp\u00e9cialit\u00e9s du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, { + "OrderID": 10974, + "CustomerID": "SPLIR", + "EmployeeID": 3, + "OrderDate": "1998-03-25T00:00:00", + "RequiredDate": "1998-04-08T00:00:00", + "ShippedDate": "1998-04-03T00:00:00", + "ShipVia": 3, + "Freight": "12.9600", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10988, + "CustomerID": "RATTC", + "EmployeeID": 3, + "OrderDate": "1998-03-31T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 2, + "Freight": "61.1400", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 11003, + "CustomerID": "THECR", + "EmployeeID": 3, + "OrderDate": "1998-04-06T00:00:00", + "RequiredDate": "1998-05-04T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 3, + "Freight": "14.9100", + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, { + "OrderID": 11004, + "CustomerID": "MAISD", + "EmployeeID": 3, + "OrderDate": "1998-04-07T00:00:00", + "RequiredDate": "1998-05-05T00:00:00", + "ShippedDate": "1998-04-20T00:00:00", + "ShipVia": 1, + "Freight": "44.8400", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 11006, + "CustomerID": "GREAL", + "EmployeeID": 3, + "OrderDate": "1998-04-07T00:00:00", + "RequiredDate": "1998-05-05T00:00:00", + "ShippedDate": "1998-04-15T00:00:00", + "ShipVia": 2, + "Freight": "25.1900", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 11011, + "CustomerID": "ALFKI", + "EmployeeID": 3, + "OrderDate": "1998-04-09T00:00:00", + "RequiredDate": "1998-05-07T00:00:00", + "ShippedDate": "1998-04-13T00:00:00", + "ShipVia": 1, + "Freight": "1.2100", + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 11021, + "CustomerID": "QUICK", + "EmployeeID": 3, + "OrderDate": "1998-04-14T00:00:00", + "RequiredDate": "1998-05-12T00:00:00", + "ShippedDate": "1998-04-21T00:00:00", + "ShipVia": 1, + "Freight": "297.1800", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 11041, + "CustomerID": "CHOPS", + "EmployeeID": 3, + "OrderDate": "1998-04-22T00:00:00", + "RequiredDate": "1998-05-20T00:00:00", + "ShippedDate": "1998-04-28T00:00:00", + "ShipVia": 2, + "Freight": "48.2200", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 11049, + "CustomerID": "GOURL", + "EmployeeID": 3, + "OrderDate": "1998-04-24T00:00:00", + "RequiredDate": "1998-05-22T00:00:00", + "ShippedDate": "1998-05-04T00:00:00", + "ShipVia": 1, + "Freight": "8.3400", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 11052, + "CustomerID": "HANAR", + "EmployeeID": 3, + "OrderDate": "1998-04-27T00:00:00", + "RequiredDate": "1998-05-25T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 1, + "Freight": "67.2600", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 11057, + "CustomerID": "NORTS", + "EmployeeID": 3, + "OrderDate": "1998-04-29T00:00:00", + "RequiredDate": "1998-05-27T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 3, + "Freight": "4.1300", + "ShipName": "North/South", + "ShipAddress": "South House 300 Queensbridge", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "SW7 1RZ", + "ShipCountry": "UK" + }, { + "OrderID": 11063, + "CustomerID": "HUNGO", + "EmployeeID": 3, + "OrderDate": "1998-04-30T00:00:00", + "RequiredDate": "1998-05-28T00:00:00", + "ShippedDate": "1998-05-06T00:00:00", + "ShipVia": 2, + "Freight": "81.7300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }], + "EmployeeID": 3, + "LastName": "Leverling", + "FirstName": "Janet", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1963-08-30T00:00:00", + "HireDate": "1992-04-01T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/leverling.bmp" + }, { + "Orders": [{ + "OrderID": 10250, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "1996-07-08T00:00:00", + "RequiredDate": "1996-08-05T00:00:00", + "ShippedDate": "1996-07-12T00:00:00", + "ShipVia": 2, + "Freight": "65.8300", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10252, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "1996-07-09T00:00:00", + "RequiredDate": "1996-08-06T00:00:00", + "ShippedDate": "1996-07-11T00:00:00", + "ShipVia": 2, + "Freight": "51.3000", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10257, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "1996-07-16T00:00:00", + "RequiredDate": "1996-08-13T00:00:00", + "ShippedDate": "1996-07-22T00:00:00", + "ShipVia": 3, + "Freight": "81.9100", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10259, + "CustomerID": "CENTC", + "EmployeeID": 4, + "OrderDate": "1996-07-18T00:00:00", + "RequiredDate": "1996-08-15T00:00:00", + "ShippedDate": "1996-07-25T00:00:00", + "ShipVia": 3, + "Freight": "3.2500", + "ShipName": "Centro comercial Moctezuma", + "ShipAddress": "Sierras de Granada 9993", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05022", + "ShipCountry": "Mexico" + }, { + "OrderID": 10260, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "1996-07-19T00:00:00", + "RequiredDate": "1996-08-16T00:00:00", + "ShippedDate": "1996-07-29T00:00:00", + "ShipVia": 1, + "Freight": "55.0900", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10261, + "CustomerID": "QUEDE", + "EmployeeID": 4, + "OrderDate": "1996-07-19T00:00:00", + "RequiredDate": "1996-08-16T00:00:00", + "ShippedDate": "1996-07-30T00:00:00", + "ShipVia": 2, + "Freight": "3.0500", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10267, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "1996-07-29T00:00:00", + "RequiredDate": "1996-08-26T00:00:00", + "ShippedDate": "1996-08-06T00:00:00", + "ShipVia": 1, + "Freight": "208.5800", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10281, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "1996-08-14T00:00:00", + "RequiredDate": "1996-08-28T00:00:00", + "ShippedDate": "1996-08-21T00:00:00", + "ShipVia": 1, + "Freight": "2.9400", + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran V\u00eda, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, { + "OrderID": 10282, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "1996-08-15T00:00:00", + "RequiredDate": "1996-09-12T00:00:00", + "ShippedDate": "1996-08-21T00:00:00", + "ShipVia": 1, + "Freight": "12.6900", + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran V\u00eda, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, { + "OrderID": 10284, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "1996-08-19T00:00:00", + "RequiredDate": "1996-09-16T00:00:00", + "ShippedDate": "1996-08-27T00:00:00", + "ShipVia": 1, + "Freight": "76.5600", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10288, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "1996-08-23T00:00:00", + "RequiredDate": "1996-09-20T00:00:00", + "ShippedDate": "1996-09-03T00:00:00", + "ShipVia": 1, + "Freight": "7.4500", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10294, + "CustomerID": "RATTC", + "EmployeeID": 4, + "OrderDate": "1996-08-30T00:00:00", + "RequiredDate": "1996-09-27T00:00:00", + "ShippedDate": "1996-09-05T00:00:00", + "ShipVia": 2, + "Freight": "147.2600", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10299, + "CustomerID": "RICAR", + "EmployeeID": 4, + "OrderDate": "1996-09-06T00:00:00", + "RequiredDate": "1996-10-04T00:00:00", + "ShippedDate": "1996-09-13T00:00:00", + "ShipVia": 2, + "Freight": "29.7600", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10302, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "1996-09-10T00:00:00", + "RequiredDate": "1996-10-08T00:00:00", + "ShippedDate": "1996-10-09T00:00:00", + "ShipVia": 2, + "Freight": "6.2700", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10315, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "1996-09-26T00:00:00", + "RequiredDate": "1996-10-24T00:00:00", + "ShippedDate": "1996-10-03T00:00:00", + "ShipVia": 2, + "Freight": "41.7600", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10323, + "CustomerID": "KOENE", + "EmployeeID": 4, + "OrderDate": "1996-10-07T00:00:00", + "RequiredDate": "1996-11-04T00:00:00", + "ShippedDate": "1996-10-14T00:00:00", + "ShipVia": 1, + "Freight": "4.8800", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10326, + "CustomerID": "BOLID", + "EmployeeID": 4, + "OrderDate": "1996-10-10T00:00:00", + "RequiredDate": "1996-11-07T00:00:00", + "ShippedDate": "1996-10-14T00:00:00", + "ShipVia": 2, + "Freight": "77.9200", + "ShipName": "B\u00f3lido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, { + "OrderID": 10328, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "1996-10-14T00:00:00", + "RequiredDate": "1996-11-11T00:00:00", + "ShippedDate": "1996-10-17T00:00:00", + "ShipVia": 3, + "Freight": "87.0300", + "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": "1996-10-15T00:00:00", + "RequiredDate": "1996-11-26T00:00:00", + "ShippedDate": "1996-10-23T00:00:00", + "ShipVia": 2, + "Freight": "191.6700", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10337, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "1996-10-24T00:00:00", + "RequiredDate": "1996-11-21T00:00:00", + "ShippedDate": "1996-10-29T00:00:00", + "ShipVia": 3, + "Freight": "108.2600", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10338, + "CustomerID": "OLDWO", + "EmployeeID": 4, + "OrderDate": "1996-10-25T00:00:00", + "RequiredDate": "1996-11-22T00:00:00", + "ShippedDate": "1996-10-29T00:00:00", + "ShipVia": 3, + "Freight": "84.2100", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10342, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "1996-10-30T00:00:00", + "RequiredDate": "1996-11-13T00:00:00", + "ShippedDate": "1996-11-04T00:00:00", + "ShipVia": 2, + "Freight": "54.8300", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10343, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "1996-10-31T00:00:00", + "RequiredDate": "1996-11-28T00:00:00", + "ShippedDate": "1996-11-06T00:00:00", + "ShipVia": 1, + "Freight": "110.3700", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10344, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "1996-11-01T00:00:00", + "RequiredDate": "1996-11-29T00:00:00", + "ShippedDate": "1996-11-05T00:00:00", + "ShipVia": 2, + "Freight": "23.2900", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10347, + "CustomerID": "FAMIA", + "EmployeeID": 4, + "OrderDate": "1996-11-06T00:00:00", + "RequiredDate": "1996-12-04T00:00:00", + "ShippedDate": "1996-11-08T00:00:00", + "ShipVia": 3, + "Freight": "3.1000", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10348, + "CustomerID": "WANDK", + "EmployeeID": 4, + "OrderDate": "1996-11-07T00:00:00", + "RequiredDate": "1996-12-05T00:00:00", + "ShippedDate": "1996-11-15T00:00:00", + "ShipVia": 2, + "Freight": "0.7800", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10360, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "1996-11-22T00:00:00", + "RequiredDate": "1996-12-20T00:00:00", + "ShippedDate": "1996-12-02T00:00:00", + "ShipVia": 3, + "Freight": "131.7000", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10363, + "CustomerID": "DRACD", + "EmployeeID": 4, + "OrderDate": "1996-11-26T00:00:00", + "RequiredDate": "1996-12-24T00:00:00", + "ShippedDate": "1996-12-04T00:00:00", + "ShipVia": 3, + "Freight": "30.5400", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 10373, + "CustomerID": "HUNGO", + "EmployeeID": 4, + "OrderDate": "1996-12-05T00:00:00", + "RequiredDate": "1997-01-02T00:00:00", + "ShippedDate": "1996-12-11T00:00:00", + "ShipVia": 3, + "Freight": "124.1200", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10382, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "1996-12-13T00:00:00", + "RequiredDate": "1997-01-10T00:00:00", + "ShippedDate": "1996-12-16T00:00:00", + "ShipVia": 1, + "Freight": "94.7700", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10389, + "CustomerID": "BOTTM", + "EmployeeID": 4, + "OrderDate": "1996-12-20T00:00:00", + "RequiredDate": "1997-01-17T00:00:00", + "ShippedDate": "1996-12-24T00:00:00", + "ShipVia": 2, + "Freight": "47.4200", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10403, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "1997-01-03T00:00:00", + "RequiredDate": "1997-01-31T00:00:00", + "ShippedDate": "1997-01-09T00:00:00", + "ShipVia": 3, + "Freight": "73.7900", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10417, + "CustomerID": "SIMOB", + "EmployeeID": 4, + "OrderDate": "1997-01-16T00:00:00", + "RequiredDate": "1997-02-13T00:00:00", + "ShippedDate": "1997-01-28T00:00:00", + "ShipVia": 3, + "Freight": "70.2900", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10418, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "1997-01-17T00:00:00", + "RequiredDate": "1997-02-14T00:00:00", + "ShippedDate": "1997-01-24T00:00:00", + "ShipVia": 1, + "Freight": "17.5500", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10419, + "CustomerID": "RICSU", + "EmployeeID": 4, + "OrderDate": "1997-01-20T00:00:00", + "RequiredDate": "1997-02-17T00:00:00", + "ShippedDate": "1997-01-30T00:00:00", + "ShipVia": 2, + "Freight": "137.3500", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10426, + "CustomerID": "GALED", + "EmployeeID": 4, + "OrderDate": "1997-01-27T00:00:00", + "RequiredDate": "1997-02-24T00:00:00", + "ShippedDate": "1997-02-06T00:00:00", + "ShipVia": 1, + "Freight": "18.6900", + "ShipName": "Galer\u00eda del gastron\u00f3mo", + "ShipAddress": "Rambla de Catalu\u00f1a, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, { + "OrderID": 10427, + "CustomerID": "PICCO", + "EmployeeID": 4, + "OrderDate": "1997-01-27T00:00:00", + "RequiredDate": "1997-02-24T00:00:00", + "ShippedDate": "1997-03-03T00:00:00", + "ShipVia": 2, + "Freight": "31.2900", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10430, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "1997-01-30T00:00:00", + "RequiredDate": "1997-02-13T00:00:00", + "ShippedDate": "1997-02-03T00:00:00", + "ShipVia": 1, + "Freight": "458.7800", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10431, + "CustomerID": "BOTTM", + "EmployeeID": 4, + "OrderDate": "1997-01-30T00:00:00", + "RequiredDate": "1997-02-13T00:00:00", + "ShippedDate": "1997-02-07T00:00:00", + "ShipVia": 2, + "Freight": "44.1700", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10440, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "1997-02-10T00:00:00", + "RequiredDate": "1997-03-10T00:00:00", + "ShippedDate": "1997-02-28T00:00:00", + "ShipVia": 2, + "Freight": "86.5300", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10447, + "CustomerID": "RICAR", + "EmployeeID": 4, + "OrderDate": "1997-02-14T00:00:00", + "RequiredDate": "1997-03-14T00:00:00", + "ShippedDate": "1997-03-07T00:00:00", + "ShipVia": 2, + "Freight": "68.6600", + "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": "1997-02-17T00:00:00", + "RequiredDate": "1997-03-17T00:00:00", + "ShippedDate": "1997-02-24T00:00:00", + "ShipVia": 2, + "Freight": "38.8200", + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10451, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "1997-02-19T00:00:00", + "RequiredDate": "1997-03-05T00:00:00", + "ShippedDate": "1997-03-12T00:00:00", + "ShipVia": 3, + "Freight": "189.0900", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10454, + "CustomerID": "LAMAI", + "EmployeeID": 4, + "OrderDate": "1997-02-21T00:00:00", + "RequiredDate": "1997-03-21T00:00:00", + "ShippedDate": "1997-02-25T00:00:00", + "ShipVia": 3, + "Freight": "2.7400", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10459, + "CustomerID": "VICTE", + "EmployeeID": 4, + "OrderDate": "1997-02-27T00:00:00", + "RequiredDate": "1997-03-27T00:00:00", + "ShippedDate": "1997-02-28T00:00:00", + "ShipVia": 2, + "Freight": "25.0900", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10464, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "1997-03-04T00:00:00", + "RequiredDate": "1997-04-01T00:00:00", + "ShippedDate": "1997-03-14T00:00:00", + "ShipVia": 2, + "Freight": "89.0000", + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, { + "OrderID": 10466, + "CustomerID": "COMMI", + "EmployeeID": 4, + "OrderDate": "1997-03-06T00:00:00", + "RequiredDate": "1997-04-03T00:00:00", + "ShippedDate": "1997-03-13T00:00:00", + "ShipVia": 1, + "Freight": "11.9300", + "ShipName": "Com\u00e9rcio Mineiro", + "ShipAddress": "Av. dos Lus\u00edadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, { + "OrderID": 10470, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "1997-03-11T00:00:00", + "RequiredDate": "1997-04-08T00:00:00", + "ShippedDate": "1997-03-14T00:00:00", + "ShipVia": 2, + "Freight": "64.5600", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10485, + "CustomerID": "LINOD", + "EmployeeID": 4, + "OrderDate": "1997-03-25T00:00:00", + "RequiredDate": "1997-04-08T00:00:00", + "ShippedDate": "1997-03-31T00:00:00", + "ShipVia": 2, + "Freight": "64.4500", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10493, + "CustomerID": "LAMAI", + "EmployeeID": 4, + "OrderDate": "1997-04-02T00:00:00", + "RequiredDate": "1997-04-30T00:00:00", + "ShippedDate": "1997-04-10T00:00:00", + "ShipVia": 3, + "Freight": "10.6400", + "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": "1997-04-02T00:00:00", + "RequiredDate": "1997-04-30T00:00:00", + "ShippedDate": "1997-04-09T00:00:00", + "ShipVia": 2, + "Freight": "65.9900", + "ShipName": "Com\u00e9rcio Mineiro", + "ShipAddress": "Av. dos Lus\u00edadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, { + "OrderID": 10499, + "CustomerID": "LILAS", + "EmployeeID": 4, + "OrderDate": "1997-04-08T00:00:00", + "RequiredDate": "1997-05-06T00:00:00", + "ShippedDate": "1997-04-16T00:00:00", + "ShipVia": 2, + "Freight": "102.0200", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10504, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "1997-04-11T00:00:00", + "RequiredDate": "1997-05-09T00:00:00", + "ShippedDate": "1997-04-18T00:00:00", + "ShipVia": 3, + "Freight": "59.1300", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10509, + "CustomerID": "BLAUS", + "EmployeeID": 4, + "OrderDate": "1997-04-17T00:00:00", + "RequiredDate": "1997-05-15T00:00:00", + "ShippedDate": "1997-04-29T00:00:00", + "ShipVia": 1, + "Freight": "0.1500", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10511, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "1997-04-18T00:00:00", + "RequiredDate": "1997-05-16T00:00:00", + "ShippedDate": "1997-04-21T00:00:00", + "ShipVia": 3, + "Freight": "350.6400", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10518, + "CustomerID": "TORTU", + "EmployeeID": 4, + "OrderDate": "1997-04-25T00:00:00", + "RequiredDate": "1997-05-09T00:00:00", + "ShippedDate": "1997-05-05T00:00:00", + "ShipVia": 2, + "Freight": "218.1500", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10522, + "CustomerID": "LEHMS", + "EmployeeID": 4, + "OrderDate": "1997-04-30T00:00:00", + "RequiredDate": "1997-05-28T00:00:00", + "ShippedDate": "1997-05-06T00:00:00", + "ShipVia": 1, + "Freight": "45.3300", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10526, + "CustomerID": "WARTH", + "EmployeeID": 4, + "OrderDate": "1997-05-05T00:00:00", + "RequiredDate": "1997-06-02T00:00:00", + "ShippedDate": "1997-05-15T00:00:00", + "ShipVia": 2, + "Freight": "58.5900", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10535, + "CustomerID": "ANTON", + "EmployeeID": 4, + "OrderDate": "1997-05-13T00:00:00", + "RequiredDate": "1997-06-10T00:00:00", + "ShippedDate": "1997-05-21T00:00:00", + "ShipVia": 1, + "Freight": "15.6400", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10544, + "CustomerID": "LONEP", + "EmployeeID": 4, + "OrderDate": "1997-05-21T00:00:00", + "RequiredDate": "1997-06-18T00:00:00", + "ShippedDate": "1997-05-30T00:00:00", + "ShipVia": 1, + "Freight": "24.9100", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10551, + "CustomerID": "FURIB", + "EmployeeID": 4, + "OrderDate": "1997-05-28T00:00:00", + "RequiredDate": "1997-07-09T00:00:00", + "ShippedDate": "1997-06-06T00:00:00", + "ShipVia": 3, + "Freight": "72.9500", + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, { + "OrderID": 10554, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "1997-05-30T00:00:00", + "RequiredDate": "1997-06-27T00:00:00", + "ShippedDate": "1997-06-05T00:00:00", + "ShipVia": 3, + "Freight": "120.9700", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10564, + "CustomerID": "RATTC", + "EmployeeID": 4, + "OrderDate": "1997-06-10T00:00:00", + "RequiredDate": "1997-07-08T00:00:00", + "ShippedDate": "1997-06-16T00:00:00", + "ShipVia": 3, + "Freight": "13.7500", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10574, + "CustomerID": "TRAIH", + "EmployeeID": 4, + "OrderDate": "1997-06-19T00:00:00", + "RequiredDate": "1997-07-17T00:00:00", + "ShippedDate": "1997-06-30T00:00:00", + "ShipVia": 2, + "Freight": "37.6000", + "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": "1997-06-24T00:00:00", + "RequiredDate": "1997-07-22T00:00:00", + "ShippedDate": "1997-07-25T00:00:00", + "ShipVia": 3, + "Freight": "29.6000", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10580, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "1997-06-26T00:00:00", + "RequiredDate": "1997-07-24T00:00:00", + "ShippedDate": "1997-07-01T00:00:00", + "ShipVia": 3, + "Freight": "75.8900", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10584, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "1997-06-30T00:00:00", + "RequiredDate": "1997-07-28T00:00:00", + "ShippedDate": "1997-07-04T00:00:00", + "ShipVia": 1, + "Freight": "59.1400", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10590, + "CustomerID": "MEREP", + "EmployeeID": 4, + "OrderDate": "1997-07-07T00:00:00", + "RequiredDate": "1997-08-04T00:00:00", + "ShippedDate": "1997-07-14T00:00:00", + "ShipVia": 3, + "Freight": "44.7700", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10600, + "CustomerID": "HUNGC", + "EmployeeID": 4, + "OrderDate": "1997-07-16T00:00:00", + "RequiredDate": "1997-08-13T00:00:00", + "ShippedDate": "1997-07-21T00:00:00", + "ShipVia": 1, + "Freight": "45.1300", + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, { + "OrderID": 10606, + "CustomerID": "TRADH", + "EmployeeID": 4, + "OrderDate": "1997-07-22T00:00:00", + "RequiredDate": "1997-08-19T00:00:00", + "ShippedDate": "1997-07-31T00:00:00", + "ShipVia": 3, + "Freight": "79.4000", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10608, + "CustomerID": "TOMSP", + "EmployeeID": 4, + "OrderDate": "1997-07-23T00:00:00", + "RequiredDate": "1997-08-20T00:00:00", + "ShippedDate": "1997-08-01T00:00:00", + "ShipVia": 2, + "Freight": "27.7900", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10613, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "1997-07-29T00:00:00", + "RequiredDate": "1997-08-26T00:00:00", + "ShippedDate": "1997-08-01T00:00:00", + "ShipVia": 2, + "Freight": "8.1100", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10617, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "1997-07-31T00:00:00", + "RequiredDate": "1997-08-28T00:00:00", + "ShippedDate": "1997-08-04T00:00:00", + "ShipVia": 2, + "Freight": "18.5300", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10621, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "1997-08-05T00:00:00", + "RequiredDate": "1997-09-02T00:00:00", + "ShippedDate": "1997-08-11T00:00:00", + "ShipVia": 2, + "Freight": "23.7300", + "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": "1997-08-06T00:00:00", + "RequiredDate": "1997-09-03T00:00:00", + "ShippedDate": "1997-08-11T00:00:00", + "ShipVia": 3, + "Freight": "50.9700", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10624, + "CustomerID": "THECR", + "EmployeeID": 4, + "OrderDate": "1997-08-07T00:00:00", + "RequiredDate": "1997-09-04T00:00:00", + "ShippedDate": "1997-08-19T00:00:00", + "ShipVia": 2, + "Freight": "94.8000", + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, { + "OrderID": 10628, + "CustomerID": "BLONP", + "EmployeeID": 4, + "OrderDate": "1997-08-12T00:00:00", + "RequiredDate": "1997-09-09T00:00:00", + "ShippedDate": "1997-08-20T00:00:00", + "ShipVia": 3, + "Freight": "30.3600", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10629, + "CustomerID": "GODOS", + "EmployeeID": 4, + "OrderDate": "1997-08-12T00:00:00", + "RequiredDate": "1997-09-09T00:00:00", + "ShippedDate": "1997-08-20T00:00:00", + "ShipVia": 3, + "Freight": "85.4600", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10634, + "CustomerID": "FOLIG", + "EmployeeID": 4, + "OrderDate": "1997-08-15T00:00:00", + "RequiredDate": "1997-09-12T00:00:00", + "ShippedDate": "1997-08-21T00:00:00", + "ShipVia": 3, + "Freight": "487.3800", + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chauss\u00e9e de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, { + "OrderID": 10636, + "CustomerID": "WARTH", + "EmployeeID": 4, + "OrderDate": "1997-08-19T00:00:00", + "RequiredDate": "1997-09-16T00:00:00", + "ShippedDate": "1997-08-26T00:00:00", + "ShipVia": 1, + "Freight": "1.1500", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10640, + "CustomerID": "WANDK", + "EmployeeID": 4, + "OrderDate": "1997-08-21T00:00:00", + "RequiredDate": "1997-09-18T00:00:00", + "ShippedDate": "1997-08-28T00:00:00", + "ShipVia": 1, + "Freight": "23.5500", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10641, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "1997-08-22T00:00:00", + "RequiredDate": "1997-09-19T00:00:00", + "ShippedDate": "1997-08-26T00:00:00", + "ShipVia": 2, + "Freight": "179.6100", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10645, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "1997-08-26T00:00:00", + "RequiredDate": "1997-09-23T00:00:00", + "ShippedDate": "1997-09-02T00:00:00", + "ShipVia": 1, + "Freight": "12.4100", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10647, + "CustomerID": "QUEDE", + "EmployeeID": 4, + "OrderDate": "1997-08-27T00:00:00", + "RequiredDate": "1997-09-10T00:00:00", + "ShippedDate": "1997-09-03T00:00:00", + "ShipVia": 2, + "Freight": "45.5400", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10652, + "CustomerID": "GOURL", + "EmployeeID": 4, + "OrderDate": "1997-09-01T00:00:00", + "RequiredDate": "1997-09-29T00:00:00", + "ShippedDate": "1997-09-08T00:00:00", + "ShipVia": 2, + "Freight": "7.1400", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10658, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "1997-09-05T00:00:00", + "RequiredDate": "1997-10-03T00:00:00", + "ShippedDate": "1997-09-08T00:00:00", + "ShipVia": 1, + "Freight": "364.1500", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10670, + "CustomerID": "FRANK", + "EmployeeID": 4, + "OrderDate": "1997-09-16T00:00:00", + "RequiredDate": "1997-10-14T00:00:00", + "ShippedDate": "1997-09-18T00:00:00", + "ShipVia": 1, + "Freight": "203.4800", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10674, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "1997-09-18T00:00:00", + "RequiredDate": "1997-10-16T00:00:00", + "ShippedDate": "1997-09-30T00:00:00", + "ShipVia": 2, + "Freight": "0.9000", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10685, + "CustomerID": "GOURL", + "EmployeeID": 4, + "OrderDate": "1997-09-29T00:00:00", + "RequiredDate": "1997-10-13T00:00:00", + "ShippedDate": "1997-10-03T00:00:00", + "ShipVia": 2, + "Freight": "33.7500", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10688, + "CustomerID": "VAFFE", + "EmployeeID": 4, + "OrderDate": "1997-10-01T00:00:00", + "RequiredDate": "1997-10-15T00:00:00", + "ShippedDate": "1997-10-07T00:00:00", + "ShipVia": 2, + "Freight": "299.0900", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10692, + "CustomerID": "ALFKI", + "EmployeeID": 4, + "OrderDate": "1997-10-03T00:00:00", + "RequiredDate": "1997-10-31T00:00:00", + "ShippedDate": "1997-10-13T00:00:00", + "ShipVia": 2, + "Freight": "61.0200", + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 10698, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "1997-10-09T00:00:00", + "RequiredDate": "1997-11-06T00:00:00", + "ShippedDate": "1997-10-17T00:00:00", + "ShipVia": 1, + "Freight": "272.4700", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10702, + "CustomerID": "ALFKI", + "EmployeeID": 4, + "OrderDate": "1997-10-13T00:00:00", + "RequiredDate": "1997-11-24T00:00:00", + "ShippedDate": "1997-10-21T00:00:00", + "ShipVia": 1, + "Freight": "23.9400", + "ShipName": "Alfred's Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 10707, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "1997-10-16T00:00:00", + "RequiredDate": "1997-10-30T00:00:00", + "ShippedDate": "1997-10-23T00:00:00", + "ShipVia": 3, + "Freight": "21.7400", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10716, + "CustomerID": "RANCH", + "EmployeeID": 4, + "OrderDate": "1997-10-24T00:00:00", + "RequiredDate": "1997-11-21T00:00:00", + "ShippedDate": "1997-10-27T00:00:00", + "ShipVia": 2, + "Freight": "22.5700", + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10725, + "CustomerID": "FAMIA", + "EmployeeID": 4, + "OrderDate": "1997-10-31T00:00:00", + "RequiredDate": "1997-11-28T00:00:00", + "ShippedDate": "1997-11-05T00:00:00", + "ShipVia": 3, + "Freight": "10.8300", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10726, + "CustomerID": "EASTC", + "EmployeeID": 4, + "OrderDate": "1997-11-03T00:00:00", + "RequiredDate": "1997-11-17T00:00:00", + "ShippedDate": "1997-12-05T00:00:00", + "ShipVia": 1, + "Freight": "16.5600", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 10728, + "CustomerID": "QUEEN", + "EmployeeID": 4, + "OrderDate": "1997-11-04T00:00:00", + "RequiredDate": "1997-12-02T00:00:00", + "ShippedDate": "1997-11-11T00:00:00", + "ShipVia": 2, + "Freight": "58.3300", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10740, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "1997-11-13T00:00:00", + "RequiredDate": "1997-12-11T00:00:00", + "ShippedDate": "1997-11-25T00:00:00", + "ShipVia": 2, + "Freight": "81.8800", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10741, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "1997-11-14T00:00:00", + "RequiredDate": "1997-11-28T00:00:00", + "ShippedDate": "1997-11-18T00:00:00", + "ShipVia": 3, + "Freight": "10.9600", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10749, + "CustomerID": "ISLAT", + "EmployeeID": 4, + "OrderDate": "1997-11-20T00:00:00", + "RequiredDate": "1997-12-18T00:00:00", + "ShippedDate": "1997-12-19T00:00:00", + "ShipVia": 2, + "Freight": "61.5300", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10755, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "1997-11-26T00:00:00", + "RequiredDate": "1997-12-24T00:00:00", + "ShippedDate": "1997-11-28T00:00:00", + "ShipVia": 2, + "Freight": "16.7100", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10760, + "CustomerID": "MAISD", + "EmployeeID": 4, + "OrderDate": "1997-12-01T00:00:00", + "RequiredDate": "1997-12-29T00:00:00", + "ShippedDate": "1997-12-10T00:00:00", + "ShipVia": 1, + "Freight": "155.6400", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 10766, + "CustomerID": "OTTIK", + "EmployeeID": 4, + "OrderDate": "1997-12-05T00:00:00", + "RequiredDate": "1998-01-02T00:00:00", + "ShippedDate": "1997-12-09T00:00:00", + "ShipVia": 1, + "Freight": "157.5500", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10767, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "1997-12-05T00:00:00", + "RequiredDate": "1998-01-02T00:00:00", + "ShippedDate": "1997-12-15T00:00:00", + "ShipVia": 3, + "Freight": "1.5900", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10774, + "CustomerID": "FOLKO", + "EmployeeID": 4, + "OrderDate": "1997-12-11T00:00:00", + "RequiredDate": "1997-12-25T00:00:00", + "ShippedDate": "1997-12-12T00:00:00", + "ShipVia": 1, + "Freight": "48.2000", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10783, + "CustomerID": "HANAR", + "EmployeeID": 4, + "OrderDate": "1997-12-18T00:00:00", + "RequiredDate": "1998-01-15T00:00:00", + "ShippedDate": "1997-12-19T00:00:00", + "ShipVia": 2, + "Freight": "124.9800", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10784, + "CustomerID": "MAGAA", + "EmployeeID": 4, + "OrderDate": "1997-12-18T00:00:00", + "RequiredDate": "1998-01-15T00:00:00", + "ShippedDate": "1997-12-22T00:00:00", + "ShipVia": 3, + "Freight": "70.0900", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10801, + "CustomerID": "BOLID", + "EmployeeID": 4, + "OrderDate": "1997-12-29T00:00:00", + "RequiredDate": "1998-01-26T00:00:00", + "ShippedDate": "1997-12-31T00:00:00", + "ShipVia": 2, + "Freight": "97.0900", + "ShipName": "B\u00f3lido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, { + "OrderID": 10802, + "CustomerID": "SIMOB", + "EmployeeID": 4, + "OrderDate": "1997-12-29T00:00:00", + "RequiredDate": "1998-01-26T00:00:00", + "ShippedDate": "1998-01-02T00:00:00", + "ShipVia": 2, + "Freight": "257.2600", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10803, + "CustomerID": "WELLI", + "EmployeeID": 4, + "OrderDate": "1997-12-30T00:00:00", + "RequiredDate": "1998-01-27T00:00:00", + "ShippedDate": "1998-01-06T00:00:00", + "ShipVia": 1, + "Freight": "55.2300", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10807, + "CustomerID": "FRANS", + "EmployeeID": 4, + "OrderDate": "1997-12-31T00:00:00", + "RequiredDate": "1998-01-28T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 1, + "Freight": "1.3600", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 10816, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "1998-01-06T00:00:00", + "RequiredDate": "1998-02-03T00:00:00", + "ShippedDate": "1998-02-04T00:00:00", + "ShipVia": 2, + "Freight": "719.7800", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10830, + "CustomerID": "TRADH", + "EmployeeID": 4, + "OrderDate": "1998-01-13T00:00:00", + "RequiredDate": "1998-02-24T00:00:00", + "ShippedDate": "1998-01-21T00:00:00", + "ShipVia": 2, + "Freight": "81.8300", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10840, + "CustomerID": "LINOD", + "EmployeeID": 4, + "OrderDate": "1998-01-19T00:00:00", + "RequiredDate": "1998-03-02T00:00:00", + "ShippedDate": "1998-02-16T00:00:00", + "ShipVia": 2, + "Freight": "2.7100", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10843, + "CustomerID": "VICTE", + "EmployeeID": 4, + "OrderDate": "1998-01-21T00:00:00", + "RequiredDate": "1998-02-18T00:00:00", + "ShippedDate": "1998-01-26T00:00:00", + "ShipVia": 2, + "Freight": "9.2600", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10847, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "1998-01-22T00:00:00", + "RequiredDate": "1998-02-05T00:00:00", + "ShippedDate": "1998-02-10T00:00:00", + "ShipVia": 3, + "Freight": "487.5700", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10861, + "CustomerID": "WHITC", + "EmployeeID": 4, + "OrderDate": "1998-01-30T00:00:00", + "RequiredDate": "1998-02-27T00:00:00", + "ShippedDate": "1998-02-17T00:00:00", + "ShipVia": 2, + "Freight": "14.9300", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10863, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "1998-02-02T00:00:00", + "RequiredDate": "1998-03-02T00:00:00", + "ShippedDate": "1998-02-17T00:00:00", + "ShipVia": 2, + "Freight": "30.2600", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10864, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "1998-02-02T00:00:00", + "RequiredDate": "1998-03-02T00:00:00", + "ShippedDate": "1998-02-09T00:00:00", + "ShipVia": 2, + "Freight": "3.0400", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10873, + "CustomerID": "WILMK", + "EmployeeID": 4, + "OrderDate": "1998-02-06T00:00:00", + "RequiredDate": "1998-03-06T00:00:00", + "ShippedDate": "1998-02-09T00:00:00", + "ShipVia": 1, + "Freight": "0.8200", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10875, + "CustomerID": "BERGS", + "EmployeeID": 4, + "OrderDate": "1998-02-06T00:00:00", + "RequiredDate": "1998-03-06T00:00:00", + "ShippedDate": "1998-03-03T00:00:00", + "ShipVia": 2, + "Freight": "32.3700", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10878, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "1998-02-10T00:00:00", + "RequiredDate": "1998-03-10T00:00:00", + "ShippedDate": "1998-02-12T00:00:00", + "ShipVia": 1, + "Freight": "46.6900", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10881, + "CustomerID": "CACTU", + "EmployeeID": 4, + "OrderDate": "1998-02-11T00:00:00", + "RequiredDate": "1998-03-11T00:00:00", + "ShippedDate": "1998-02-18T00:00:00", + "ShipVia": 1, + "Freight": "2.8400", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10882, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "1998-02-11T00:00:00", + "RequiredDate": "1998-03-11T00:00:00", + "ShippedDate": "1998-02-20T00:00:00", + "ShipVia": 3, + "Freight": "23.1000", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10884, + "CustomerID": "LETSS", + "EmployeeID": 4, + "OrderDate": "1998-02-12T00:00:00", + "RequiredDate": "1998-03-12T00:00:00", + "ShippedDate": "1998-02-13T00:00:00", + "ShipVia": 2, + "Freight": "90.9700", + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, { + "OrderID": 10892, + "CustomerID": "MAISD", + "EmployeeID": 4, + "OrderDate": "1998-02-17T00:00:00", + "RequiredDate": "1998-03-17T00:00:00", + "ShippedDate": "1998-02-19T00:00:00", + "ShipVia": 2, + "Freight": "120.2700", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 10898, + "CustomerID": "OCEAN", + "EmployeeID": 4, + "OrderDate": "1998-02-20T00:00:00", + "RequiredDate": "1998-03-20T00:00:00", + "ShippedDate": "1998-03-06T00:00:00", + "ShipVia": 2, + "Freight": "1.2700", + "ShipName": "Oc\u00e9ano Atl\u00e1ntico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10901, + "CustomerID": "HILAA", + "EmployeeID": 4, + "OrderDate": "1998-02-23T00:00:00", + "RequiredDate": "1998-03-23T00:00:00", + "ShippedDate": "1998-02-26T00:00:00", + "ShipVia": 1, + "Freight": "62.0900", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10906, + "CustomerID": "WOLZA", + "EmployeeID": 4, + "OrderDate": "1998-02-25T00:00:00", + "RequiredDate": "1998-03-11T00:00:00", + "ShippedDate": "1998-03-03T00:00:00", + "ShipVia": 3, + "Freight": "26.2900", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 10908, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-06T00:00:00", + "ShipVia": 2, + "Freight": "32.9600", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10913, + "CustomerID": "QUEEN", + "EmployeeID": 4, + "OrderDate": "1998-02-26T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-04T00:00:00", + "ShipVia": 1, + "Freight": "33.0500", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10917, + "CustomerID": "ROMEY", + "EmployeeID": 4, + "OrderDate": "1998-03-02T00:00:00", + "RequiredDate": "1998-03-30T00:00:00", + "ShippedDate": "1998-03-11T00:00:00", + "ShipVia": 2, + "Freight": "8.2900", + "ShipName": "Romero y tomillo", + "ShipAddress": "Gran V\u00eda, 1", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28001", + "ShipCountry": "Spain" + }, { + "OrderID": 10920, + "CustomerID": "AROUT", + "EmployeeID": 4, + "OrderDate": "1998-03-03T00:00:00", + "RequiredDate": "1998-03-31T00:00:00", + "ShippedDate": "1998-03-09T00:00:00", + "ShipVia": 2, + "Freight": "29.6100", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10926, + "CustomerID": "ANATR", + "EmployeeID": 4, + "OrderDate": "1998-03-04T00:00:00", + "RequiredDate": "1998-04-01T00:00:00", + "ShippedDate": "1998-03-11T00:00:00", + "ShipVia": 3, + "Freight": "39.9200", + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constituci\u00f3n 2222", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, { + "OrderID": 10927, + "CustomerID": "LACOR", + "EmployeeID": 4, + "OrderDate": "1998-03-05T00:00:00", + "RequiredDate": "1998-04-02T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 1, + "Freight": "19.7900", + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, { + "OrderID": 10930, + "CustomerID": "SUPRD", + "EmployeeID": 4, + "OrderDate": "1998-03-06T00:00:00", + "RequiredDate": "1998-04-17T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 3, + "Freight": "15.5500", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10931, + "CustomerID": "RICSU", + "EmployeeID": 4, + "OrderDate": "1998-03-06T00:00:00", + "RequiredDate": "1998-03-20T00:00:00", + "ShippedDate": "1998-03-19T00:00:00", + "ShipVia": 2, + "Freight": "13.6000", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10935, + "CustomerID": "WELLI", + "EmployeeID": 4, + "OrderDate": "1998-03-09T00:00:00", + "RequiredDate": "1998-04-06T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 3, + "Freight": "47.5900", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10943, + "CustomerID": "BSBEV", + "EmployeeID": 4, + "OrderDate": "1998-03-11T00:00:00", + "RequiredDate": "1998-04-08T00:00:00", + "ShippedDate": "1998-03-19T00:00:00", + "ShipVia": 2, + "Freight": "2.1700", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10945, + "CustomerID": "MORGK", + "EmployeeID": 4, + "OrderDate": "1998-03-12T00:00:00", + "RequiredDate": "1998-04-09T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 1, + "Freight": "10.2200", + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, { + "OrderID": 10966, + "CustomerID": "CHOPS", + "EmployeeID": 4, + "OrderDate": "1998-03-20T00:00:00", + "RequiredDate": "1998-04-17T00:00:00", + "ShippedDate": "1998-04-08T00:00:00", + "ShipVia": 1, + "Freight": "27.1900", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10972, + "CustomerID": "LACOR", + "EmployeeID": 4, + "OrderDate": "1998-03-24T00:00:00", + "RequiredDate": "1998-04-21T00:00:00", + "ShippedDate": "1998-03-26T00:00:00", + "ShipVia": 2, + "Freight": "0.0200", + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, { + "OrderID": 10980, + "CustomerID": "FOLKO", + "EmployeeID": 4, + "OrderDate": "1998-03-27T00:00:00", + "RequiredDate": "1998-05-08T00:00:00", + "ShippedDate": "1998-04-17T00:00:00", + "ShipVia": 1, + "Freight": "1.2600", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10996, + "CustomerID": "QUICK", + "EmployeeID": 4, + "OrderDate": "1998-04-02T00:00:00", + "RequiredDate": "1998-04-30T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 2, + "Freight": "1.1200", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 11002, + "CustomerID": "SAVEA", + "EmployeeID": 4, + "OrderDate": "1998-04-06T00:00:00", + "RequiredDate": "1998-05-04T00:00:00", + "ShippedDate": "1998-04-16T00:00:00", + "ShipVia": 1, + "Freight": "141.1600", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 11018, + "CustomerID": "LONEP", + "EmployeeID": 4, + "OrderDate": "1998-04-13T00:00:00", + "RequiredDate": "1998-05-11T00:00:00", + "ShippedDate": "1998-04-16T00:00:00", + "ShipVia": 2, + "Freight": "11.6500", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 11024, + "CustomerID": "EASTC", + "EmployeeID": 4, + "OrderDate": "1998-04-15T00:00:00", + "RequiredDate": "1998-05-13T00:00:00", + "ShippedDate": "1998-04-20T00:00:00", + "ShipVia": 1, + "Freight": "74.3600", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 11026, + "CustomerID": "FRANS", + "EmployeeID": 4, + "OrderDate": "1998-04-15T00:00:00", + "RequiredDate": "1998-05-13T00:00:00", + "ShippedDate": "1998-04-28T00:00:00", + "ShipVia": 1, + "Freight": "47.0900", + "ShipName": "Franchi S.p.A.", + "ShipAddress": "Via Monte Bianco 34", + "ShipCity": "Torino", + "ShipRegion": null, + "ShipPostalCode": "10100", + "ShipCountry": "Italy" + }, { + "OrderID": 11029, + "CustomerID": "CHOPS", + "EmployeeID": 4, + "OrderDate": "1998-04-16T00:00:00", + "RequiredDate": "1998-05-14T00:00:00", + "ShippedDate": "1998-04-27T00:00:00", + "ShipVia": 1, + "Freight": "47.8400", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 11040, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "1998-04-22T00:00:00", + "RequiredDate": "1998-05-20T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "18.8400", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 11044, + "CustomerID": "WOLZA", + "EmployeeID": 4, + "OrderDate": "1998-04-23T00:00:00", + "RequiredDate": "1998-05-21T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 1, + "Freight": "8.7200", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 11061, + "CustomerID": "GREAL", + "EmployeeID": 4, + "OrderDate": "1998-04-30T00:00:00", + "RequiredDate": "1998-06-11T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "14.0100", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 11062, + "CustomerID": "REGGC", + "EmployeeID": 4, + "OrderDate": "1998-04-30T00:00:00", + "RequiredDate": "1998-05-28T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "29.9300", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 11072, + "CustomerID": "ERNSH", + "EmployeeID": 4, + "OrderDate": "1998-05-05T00:00:00", + "RequiredDate": "1998-06-02T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "258.6400", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 11076, + "CustomerID": "BONAP", + "EmployeeID": 4, + "OrderDate": "1998-05-06T00:00:00", + "RequiredDate": "1998-06-03T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "38.2800", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }], + "EmployeeID": 4, + "LastName": "Peacock", + "FirstName": "Margaret", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mrs.", + "BirthDate": "1937-09-19T00:00:00", + "HireDate": "1993-05-03T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/peacock.bmp" + }, { + "Orders": [{ + "OrderID": 10248, + "CustomerID": "VINET", + "EmployeeID": 5, + "OrderDate": "1996-07-04T00:00:00", + "RequiredDate": "1996-08-01T00:00:00", + "ShippedDate": "1996-07-16T00:00:00", + "ShipVia": 3, + "Freight": "32.3800", + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, { + "OrderID": 10254, + "CustomerID": "CHOPS", + "EmployeeID": 5, + "OrderDate": "1996-07-11T00:00:00", + "RequiredDate": "1996-08-08T00:00:00", + "ShippedDate": "1996-07-23T00:00:00", + "ShipVia": 2, + "Freight": "22.9800", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10269, + "CustomerID": "WHITC", + "EmployeeID": 5, + "OrderDate": "1996-07-31T00:00:00", + "RequiredDate": "1996-08-14T00:00:00", + "ShippedDate": "1996-08-09T00:00:00", + "ShipVia": 1, + "Freight": "4.5600", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10297, + "CustomerID": "BLONP", + "EmployeeID": 5, + "OrderDate": "1996-09-04T00:00:00", + "RequiredDate": "1996-10-16T00:00:00", + "ShippedDate": "1996-09-10T00:00:00", + "ShipVia": 2, + "Freight": "5.7400", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10320, + "CustomerID": "WARTH", + "EmployeeID": 5, + "OrderDate": "1996-10-03T00:00:00", + "RequiredDate": "1996-10-17T00:00:00", + "ShippedDate": "1996-10-18T00:00:00", + "ShipVia": 3, + "Freight": "34.5700", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10333, + "CustomerID": "WARTH", + "EmployeeID": 5, + "OrderDate": "1996-10-18T00:00:00", + "RequiredDate": "1996-11-15T00:00:00", + "ShippedDate": "1996-10-25T00:00:00", + "ShipVia": 3, + "Freight": "0.5900", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10358, + "CustomerID": "LAMAI", + "EmployeeID": 5, + "OrderDate": "1996-11-20T00:00:00", + "RequiredDate": "1996-12-18T00:00:00", + "ShippedDate": "1996-11-27T00:00:00", + "ShipVia": 1, + "Freight": "19.6400", + "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": "1996-11-21T00:00:00", + "RequiredDate": "1996-12-19T00:00:00", + "ShippedDate": "1996-11-26T00:00:00", + "ShipVia": 3, + "Freight": "288.4300", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10372, + "CustomerID": "QUEEN", + "EmployeeID": 5, + "OrderDate": "1996-12-04T00:00:00", + "RequiredDate": "1997-01-01T00:00:00", + "ShippedDate": "1996-12-09T00:00:00", + "ShipVia": 2, + "Freight": "890.7800", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10378, + "CustomerID": "FOLKO", + "EmployeeID": 5, + "OrderDate": "1996-12-10T00:00:00", + "RequiredDate": "1997-01-07T00:00:00", + "ShippedDate": "1996-12-19T00:00:00", + "ShipVia": 3, + "Freight": "5.4400", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10397, + "CustomerID": "PRINI", + "EmployeeID": 5, + "OrderDate": "1996-12-27T00:00:00", + "RequiredDate": "1997-01-24T00:00:00", + "ShippedDate": "1997-01-02T00:00:00", + "ShipVia": 1, + "Freight": "60.2600", + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da sa\u00fade n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, { + "OrderID": 10463, + "CustomerID": "SUPRD", + "EmployeeID": 5, + "OrderDate": "1997-03-04T00:00:00", + "RequiredDate": "1997-04-01T00:00:00", + "ShippedDate": "1997-03-06T00:00:00", + "ShipVia": 3, + "Freight": "14.7800", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10474, + "CustomerID": "PERIC", + "EmployeeID": 5, + "OrderDate": "1997-03-13T00:00:00", + "RequiredDate": "1997-04-10T00:00:00", + "ShippedDate": "1997-03-21T00:00:00", + "ShipVia": 2, + "Freight": "83.4900", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10477, + "CustomerID": "PRINI", + "EmployeeID": 5, + "OrderDate": "1997-03-17T00:00:00", + "RequiredDate": "1997-04-14T00:00:00", + "ShippedDate": "1997-03-25T00:00:00", + "ShipVia": 2, + "Freight": "13.0200", + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da sa\u00fade n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, { + "OrderID": 10529, + "CustomerID": "MAISD", + "EmployeeID": 5, + "OrderDate": "1997-05-07T00:00:00", + "RequiredDate": "1997-06-04T00:00:00", + "ShippedDate": "1997-05-09T00:00:00", + "ShipVia": 2, + "Freight": "66.6900", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 10549, + "CustomerID": "QUICK", + "EmployeeID": 5, + "OrderDate": "1997-05-27T00:00:00", + "RequiredDate": "1997-06-10T00:00:00", + "ShippedDate": "1997-05-30T00:00:00", + "ShipVia": 1, + "Freight": "171.2400", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10569, + "CustomerID": "RATTC", + "EmployeeID": 5, + "OrderDate": "1997-06-16T00:00:00", + "RequiredDate": "1997-07-14T00:00:00", + "ShippedDate": "1997-07-11T00:00:00", + "ShipVia": 1, + "Freight": "58.9800", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10575, + "CustomerID": "MORGK", + "EmployeeID": 5, + "OrderDate": "1997-06-20T00:00:00", + "RequiredDate": "1997-07-04T00:00:00", + "ShippedDate": "1997-06-30T00:00:00", + "ShipVia": 1, + "Freight": "127.3400", + "ShipName": "Morgenstern Gesundkost", + "ShipAddress": "Heerstr. 22", + "ShipCity": "Leipzig", + "ShipRegion": null, + "ShipPostalCode": "04179", + "ShipCountry": "Germany" + }, { + "OrderID": 10607, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "1997-07-22T00:00:00", + "RequiredDate": "1997-08-19T00:00:00", + "ShippedDate": "1997-07-25T00:00:00", + "ShipVia": 1, + "Freight": "200.2400", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10648, + "CustomerID": "RICAR", + "EmployeeID": 5, + "OrderDate": "1997-08-28T00:00:00", + "RequiredDate": "1997-10-09T00:00:00", + "ShippedDate": "1997-09-09T00:00:00", + "ShipVia": 2, + "Freight": "14.2500", + "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": "1997-08-28T00:00:00", + "RequiredDate": "1997-09-25T00:00:00", + "ShippedDate": "1997-08-29T00:00:00", + "ShipVia": 3, + "Freight": "6.2000", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 10650, + "CustomerID": "FAMIA", + "EmployeeID": 5, + "OrderDate": "1997-08-29T00:00:00", + "RequiredDate": "1997-09-26T00:00:00", + "ShippedDate": "1997-09-03T00:00:00", + "ShipVia": 3, + "Freight": "176.8100", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10654, + "CustomerID": "BERGS", + "EmployeeID": 5, + "OrderDate": "1997-09-02T00:00:00", + "RequiredDate": "1997-09-30T00:00:00", + "ShippedDate": "1997-09-11T00:00:00", + "ShipVia": 1, + "Freight": "55.2600", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10675, + "CustomerID": "FRANK", + "EmployeeID": 5, + "OrderDate": "1997-09-19T00:00:00", + "RequiredDate": "1997-10-17T00:00:00", + "ShippedDate": "1997-09-23T00:00:00", + "ShipVia": 2, + "Freight": "31.8500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10711, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "1997-10-21T00:00:00", + "RequiredDate": "1997-12-02T00:00:00", + "ShippedDate": "1997-10-29T00:00:00", + "ShipVia": 2, + "Freight": "52.4100", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10714, + "CustomerID": "SAVEA", + "EmployeeID": 5, + "OrderDate": "1997-10-22T00:00:00", + "RequiredDate": "1997-11-19T00:00:00", + "ShippedDate": "1997-10-27T00:00:00", + "ShipVia": 3, + "Freight": "24.4900", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10721, + "CustomerID": "QUICK", + "EmployeeID": 5, + "OrderDate": "1997-10-29T00:00:00", + "RequiredDate": "1997-11-26T00:00:00", + "ShippedDate": "1997-10-31T00:00:00", + "ShipVia": 3, + "Freight": "48.9200", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10730, + "CustomerID": "BONAP", + "EmployeeID": 5, + "OrderDate": "1997-11-05T00:00:00", + "RequiredDate": "1997-12-03T00:00:00", + "ShippedDate": "1997-11-14T00:00:00", + "ShipVia": 1, + "Freight": "20.1200", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10761, + "CustomerID": "RATTC", + "EmployeeID": 5, + "OrderDate": "1997-12-02T00:00:00", + "RequiredDate": "1997-12-30T00:00:00", + "ShippedDate": "1997-12-08T00:00:00", + "ShipVia": 2, + "Freight": "18.6600", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10812, + "CustomerID": "REGGC", + "EmployeeID": 5, + "OrderDate": "1998-01-02T00:00:00", + "RequiredDate": "1998-01-30T00:00:00", + "ShippedDate": "1998-01-12T00:00:00", + "ShipVia": 1, + "Freight": "59.7800", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10823, + "CustomerID": "LILAS", + "EmployeeID": 5, + "OrderDate": "1998-01-09T00:00:00", + "RequiredDate": "1998-02-06T00:00:00", + "ShippedDate": "1998-01-13T00:00:00", + "ShipVia": 2, + "Freight": "163.9700", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10841, + "CustomerID": "SUPRD", + "EmployeeID": 5, + "OrderDate": "1998-01-20T00:00:00", + "RequiredDate": "1998-02-17T00:00:00", + "ShippedDate": "1998-01-29T00:00:00", + "ShipVia": 2, + "Freight": "424.3000", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10851, + "CustomerID": "RICAR", + "EmployeeID": 5, + "OrderDate": "1998-01-26T00:00:00", + "RequiredDate": "1998-02-23T00:00:00", + "ShippedDate": "1998-02-02T00:00:00", + "ShipVia": 1, + "Freight": "160.5500", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10866, + "CustomerID": "BERGS", + "EmployeeID": 5, + "OrderDate": "1998-02-03T00:00:00", + "RequiredDate": "1998-03-03T00:00:00", + "ShippedDate": "1998-02-12T00:00:00", + "ShipVia": 1, + "Freight": "109.1100", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10869, + "CustomerID": "SEVES", + "EmployeeID": 5, + "OrderDate": "1998-02-04T00:00:00", + "RequiredDate": "1998-03-04T00:00:00", + "ShippedDate": "1998-02-09T00:00:00", + "ShipVia": 1, + "Freight": "143.2800", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10870, + "CustomerID": "WOLZA", + "EmployeeID": 5, + "OrderDate": "1998-02-04T00:00:00", + "RequiredDate": "1998-03-04T00:00:00", + "ShippedDate": "1998-02-13T00:00:00", + "ShipVia": 3, + "Freight": "12.0400", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 10872, + "CustomerID": "GODOS", + "EmployeeID": 5, + "OrderDate": "1998-02-05T00:00:00", + "RequiredDate": "1998-03-05T00:00:00", + "ShippedDate": "1998-02-09T00:00:00", + "ShipVia": 2, + "Freight": "175.3200", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10874, + "CustomerID": "GODOS", + "EmployeeID": 5, + "OrderDate": "1998-02-06T00:00:00", + "RequiredDate": "1998-03-06T00:00:00", + "ShippedDate": "1998-02-11T00:00:00", + "ShipVia": 2, + "Freight": "19.5800", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10899, + "CustomerID": "LILAS", + "EmployeeID": 5, + "OrderDate": "1998-02-20T00:00:00", + "RequiredDate": "1998-03-20T00:00:00", + "ShippedDate": "1998-02-26T00:00:00", + "ShipVia": 3, + "Freight": "1.2100", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10922, + "CustomerID": "HANAR", + "EmployeeID": 5, + "OrderDate": "1998-03-03T00:00:00", + "RequiredDate": "1998-03-31T00:00:00", + "ShippedDate": "1998-03-05T00:00:00", + "ShipVia": 3, + "Freight": "62.7400", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10954, + "CustomerID": "LINOD", + "EmployeeID": 5, + "OrderDate": "1998-03-17T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-03-20T00:00:00", + "ShipVia": 1, + "Freight": "27.9100", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 11043, + "CustomerID": "SPECD", + "EmployeeID": 5, + "OrderDate": "1998-04-22T00:00:00", + "RequiredDate": "1998-05-20T00:00:00", + "ShippedDate": "1998-04-29T00:00:00", + "ShipVia": 2, + "Freight": "8.8000", + "ShipName": "Sp\u00e9cialit\u00e9s du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }], + "EmployeeID": 5, + "LastName": "Buchanan", + "FirstName": "Steven", + "Title": "Sales Manager", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1955-03-04T00:00:00", + "HireDate": "1993-10-17T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/buchanan.bmp" + }, { + "Orders": [{ + "OrderID": 10249, + "CustomerID": "TOMSP", + "EmployeeID": 6, + "OrderDate": "1996-07-05T00:00:00", + "RequiredDate": "1996-08-16T00:00:00", + "ShippedDate": "1996-07-10T00:00:00", + "ShipVia": 1, + "Freight": "11.6100", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10264, + "CustomerID": "FOLKO", + "EmployeeID": 6, + "OrderDate": "1996-07-24T00:00:00", + "RequiredDate": "1996-08-21T00:00:00", + "ShippedDate": "1996-08-23T00:00:00", + "ShipVia": 3, + "Freight": "3.6700", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10271, + "CustomerID": "SPLIR", + "EmployeeID": 6, + "OrderDate": "1996-08-01T00:00:00", + "RequiredDate": "1996-08-29T00:00:00", + "ShippedDate": "1996-08-30T00:00:00", + "ShipVia": 2, + "Freight": "4.5400", + "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": "1996-08-02T00:00:00", + "RequiredDate": "1996-08-30T00:00:00", + "ShippedDate": "1996-08-06T00:00:00", + "ShipVia": 2, + "Freight": "98.0300", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10274, + "CustomerID": "VINET", + "EmployeeID": 6, + "OrderDate": "1996-08-06T00:00:00", + "RequiredDate": "1996-09-03T00:00:00", + "ShippedDate": "1996-08-16T00:00:00", + "ShipVia": 1, + "Freight": "6.0100", + "ShipName": "Vins et alcools Chevalier", + "ShipAddress": "59 rue de l'Abbaye", + "ShipCity": "Reims", + "ShipRegion": null, + "ShipPostalCode": "51100", + "ShipCountry": "France" + }, { + "OrderID": 10291, + "CustomerID": "QUEDE", + "EmployeeID": 6, + "OrderDate": "1996-08-27T00:00:00", + "RequiredDate": "1996-09-24T00:00:00", + "ShippedDate": "1996-09-04T00:00:00", + "ShipVia": 2, + "Freight": "6.4000", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10296, + "CustomerID": "LILAS", + "EmployeeID": 6, + "OrderDate": "1996-09-03T00:00:00", + "RequiredDate": "1996-10-01T00:00:00", + "ShippedDate": "1996-09-11T00:00:00", + "ShipVia": 1, + "Freight": "0.1200", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10298, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "1996-09-05T00:00:00", + "RequiredDate": "1996-10-03T00:00:00", + "ShippedDate": "1996-09-11T00:00:00", + "ShipVia": 2, + "Freight": "168.2200", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10317, + "CustomerID": "LONEP", + "EmployeeID": 6, + "OrderDate": "1996-09-30T00:00:00", + "RequiredDate": "1996-10-28T00:00:00", + "ShippedDate": "1996-10-10T00:00:00", + "ShipVia": 1, + "Freight": "12.6900", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10350, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "1996-11-11T00:00:00", + "RequiredDate": "1996-12-09T00:00:00", + "ShippedDate": "1996-12-03T00:00:00", + "ShipVia": 2, + "Freight": "64.1900", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10355, + "CustomerID": "AROUT", + "EmployeeID": 6, + "OrderDate": "1996-11-15T00:00:00", + "RequiredDate": "1996-12-13T00:00:00", + "ShippedDate": "1996-11-20T00:00:00", + "ShipVia": 1, + "Freight": "41.9500", + "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": "1996-11-18T00:00:00", + "RequiredDate": "1996-12-16T00:00:00", + "ShippedDate": "1996-11-27T00:00:00", + "ShipVia": 2, + "Freight": "36.7100", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10370, + "CustomerID": "CHOPS", + "EmployeeID": 6, + "OrderDate": "1996-12-03T00:00:00", + "RequiredDate": "1996-12-31T00:00:00", + "ShippedDate": "1996-12-27T00:00:00", + "ShipVia": 2, + "Freight": "1.1700", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10390, + "CustomerID": "ERNSH", + "EmployeeID": 6, + "OrderDate": "1996-12-23T00:00:00", + "RequiredDate": "1997-01-20T00:00:00", + "ShippedDate": "1996-12-26T00:00:00", + "ShipVia": 1, + "Freight": "126.3800", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10395, + "CustomerID": "HILAA", + "EmployeeID": 6, + "OrderDate": "1996-12-26T00:00:00", + "RequiredDate": "1997-01-23T00:00:00", + "ShippedDate": "1997-01-03T00:00:00", + "ShipVia": 1, + "Freight": "184.4100", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10423, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "1997-01-23T00:00:00", + "RequiredDate": "1997-02-06T00:00:00", + "ShippedDate": "1997-02-24T00:00:00", + "ShipVia": 3, + "Freight": "24.5000", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10425, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "1997-01-24T00:00:00", + "RequiredDate": "1997-02-21T00:00:00", + "ShippedDate": "1997-02-14T00:00:00", + "ShipVia": 2, + "Freight": "7.9300", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10439, + "CustomerID": "MEREP", + "EmployeeID": 6, + "OrderDate": "1997-02-07T00:00:00", + "RequiredDate": "1997-03-07T00:00:00", + "ShippedDate": "1997-02-10T00:00:00", + "ShipVia": 3, + "Freight": "4.0700", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10446, + "CustomerID": "TOMSP", + "EmployeeID": 6, + "OrderDate": "1997-02-14T00:00:00", + "RequiredDate": "1997-03-14T00:00:00", + "ShippedDate": "1997-02-19T00:00:00", + "ShipVia": 1, + "Freight": "14.6800", + "ShipName": "Toms Spezialit\u00e4ten", + "ShipAddress": "Luisenstr. 48", + "ShipCity": "M\u00fcnster", + "ShipRegion": null, + "ShipPostalCode": "44087", + "ShipCountry": "Germany" + }, { + "OrderID": 10480, + "CustomerID": "FOLIG", + "EmployeeID": 6, + "OrderDate": "1997-03-20T00:00:00", + "RequiredDate": "1997-04-17T00:00:00", + "ShippedDate": "1997-03-24T00:00:00", + "ShipVia": 2, + "Freight": "1.3500", + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chauss\u00e9e de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, { + "OrderID": 10489, + "CustomerID": "PICCO", + "EmployeeID": 6, + "OrderDate": "1997-03-28T00:00:00", + "RequiredDate": "1997-04-25T00:00:00", + "ShippedDate": "1997-04-09T00:00:00", + "ShipVia": 2, + "Freight": "5.2900", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10500, + "CustomerID": "LAMAI", + "EmployeeID": 6, + "OrderDate": "1997-04-09T00:00:00", + "RequiredDate": "1997-05-07T00:00:00", + "ShippedDate": "1997-04-17T00:00:00", + "ShipVia": 1, + "Freight": "42.6800", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10503, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "1997-04-11T00:00:00", + "RequiredDate": "1997-05-09T00:00:00", + "ShippedDate": "1997-04-16T00:00:00", + "ShipVia": 2, + "Freight": "16.7400", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10510, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "1997-04-18T00:00:00", + "RequiredDate": "1997-05-16T00:00:00", + "ShippedDate": "1997-04-28T00:00:00", + "ShipVia": 3, + "Freight": "367.6300", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10519, + "CustomerID": "CHOPS", + "EmployeeID": 6, + "OrderDate": "1997-04-28T00:00:00", + "RequiredDate": "1997-05-26T00:00:00", + "ShippedDate": "1997-05-01T00:00:00", + "ShipVia": 3, + "Freight": "91.7600", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10528, + "CustomerID": "GREAL", + "EmployeeID": 6, + "OrderDate": "1997-05-06T00:00:00", + "RequiredDate": "1997-05-20T00:00:00", + "ShippedDate": "1997-05-09T00:00:00", + "ShipVia": 2, + "Freight": "3.3500", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10539, + "CustomerID": "BSBEV", + "EmployeeID": 6, + "OrderDate": "1997-05-16T00:00:00", + "RequiredDate": "1997-06-13T00:00:00", + "ShippedDate": "1997-05-23T00:00:00", + "ShipVia": 3, + "Freight": "12.3600", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10555, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "1997-06-02T00:00:00", + "RequiredDate": "1997-06-30T00:00:00", + "ShippedDate": "1997-06-04T00:00:00", + "ShipVia": 3, + "Freight": "252.4900", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10559, + "CustomerID": "BLONP", + "EmployeeID": 6, + "OrderDate": "1997-06-05T00:00:00", + "RequiredDate": "1997-07-03T00:00:00", + "ShippedDate": "1997-06-13T00:00:00", + "ShipVia": 1, + "Freight": "8.0500", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10599, + "CustomerID": "BSBEV", + "EmployeeID": 6, + "OrderDate": "1997-07-15T00:00:00", + "RequiredDate": "1997-08-26T00:00:00", + "ShippedDate": "1997-07-21T00:00:00", + "ShipVia": 3, + "Freight": "29.9800", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10611, + "CustomerID": "WOLZA", + "EmployeeID": 6, + "OrderDate": "1997-07-25T00:00:00", + "RequiredDate": "1997-08-22T00:00:00", + "ShippedDate": "1997-08-01T00:00:00", + "ShipVia": 2, + "Freight": "80.6500", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 10637, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "1997-08-19T00:00:00", + "RequiredDate": "1997-09-16T00:00:00", + "ShippedDate": "1997-08-26T00:00:00", + "ShipVia": 1, + "Freight": "201.2900", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10643, + "CustomerID": "ALFKI", + "EmployeeID": 6, + "OrderDate": "1997-08-25T00:00:00", + "RequiredDate": "1997-09-22T00:00:00", + "ShippedDate": "1997-09-02T00:00:00", + "ShipVia": 1, + "Freight": "29.4600", + "ShipName": "Alfreds Futterkiste", + "ShipAddress": "Obere Str. 57", + "ShipCity": "Berlin", + "ShipRegion": null, + "ShipPostalCode": "12209", + "ShipCountry": "Germany" + }, { + "OrderID": 10656, + "CustomerID": "GREAL", + "EmployeeID": 6, + "OrderDate": "1997-09-04T00:00:00", + "RequiredDate": "1997-10-02T00:00:00", + "ShippedDate": "1997-09-10T00:00:00", + "ShipVia": 1, + "Freight": "57.1500", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10701, + "CustomerID": "HUNGO", + "EmployeeID": 6, + "OrderDate": "1997-10-13T00:00:00", + "RequiredDate": "1997-10-27T00:00:00", + "ShippedDate": "1997-10-15T00:00:00", + "ShipVia": 3, + "Freight": "220.3100", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10703, + "CustomerID": "FOLKO", + "EmployeeID": 6, + "OrderDate": "1997-10-14T00:00:00", + "RequiredDate": "1997-11-11T00:00:00", + "ShippedDate": "1997-10-20T00:00:00", + "ShipVia": 2, + "Freight": "152.3000", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10704, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "1997-10-14T00:00:00", + "RequiredDate": "1997-11-11T00:00:00", + "ShippedDate": "1997-11-07T00:00:00", + "ShipVia": 1, + "Freight": "4.7800", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10708, + "CustomerID": "THEBI", + "EmployeeID": 6, + "OrderDate": "1997-10-17T00:00:00", + "RequiredDate": "1997-11-28T00:00:00", + "ShippedDate": "1997-11-05T00:00:00", + "ShipVia": 2, + "Freight": "2.9600", + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, { + "OrderID": 10735, + "CustomerID": "LETSS", + "EmployeeID": 6, + "OrderDate": "1997-11-10T00:00:00", + "RequiredDate": "1997-12-08T00:00:00", + "ShippedDate": "1997-11-21T00:00:00", + "ShipVia": 2, + "Freight": "45.9700", + "ShipName": "Let's Stop N Shop", + "ShipAddress": "87 Polk St. Suite 5", + "ShipCity": "San Francisco", + "ShipRegion": "CA", + "ShipPostalCode": "94117", + "ShipCountry": "USA" + }, { + "OrderID": 10744, + "CustomerID": "VAFFE", + "EmployeeID": 6, + "OrderDate": "1997-11-17T00:00:00", + "RequiredDate": "1997-12-15T00:00:00", + "ShippedDate": "1997-11-24T00:00:00", + "ShipVia": 1, + "Freight": "69.1900", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10747, + "CustomerID": "PICCO", + "EmployeeID": 6, + "OrderDate": "1997-11-19T00:00:00", + "RequiredDate": "1997-12-17T00:00:00", + "ShippedDate": "1997-11-26T00:00:00", + "ShipVia": 1, + "Freight": "117.3300", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10754, + "CustomerID": "MAGAA", + "EmployeeID": 6, + "OrderDate": "1997-11-25T00:00:00", + "RequiredDate": "1997-12-23T00:00:00", + "ShippedDate": "1997-11-27T00:00:00", + "ShipVia": 3, + "Freight": "2.3800", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10757, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "1997-11-27T00:00:00", + "RequiredDate": "1997-12-25T00:00:00", + "ShippedDate": "1997-12-15T00:00:00", + "ShipVia": 1, + "Freight": "8.1900", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10764, + "CustomerID": "ERNSH", + "EmployeeID": 6, + "OrderDate": "1997-12-03T00:00:00", + "RequiredDate": "1997-12-31T00:00:00", + "ShippedDate": "1997-12-08T00:00:00", + "ShipVia": 3, + "Freight": "145.4500", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10790, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "1997-12-22T00:00:00", + "RequiredDate": "1998-01-19T00:00:00", + "ShippedDate": "1997-12-26T00:00:00", + "ShipVia": 1, + "Freight": "28.2300", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10791, + "CustomerID": "FRANK", + "EmployeeID": 6, + "OrderDate": "1997-12-23T00:00:00", + "RequiredDate": "1998-01-20T00:00:00", + "ShippedDate": "1998-01-01T00:00:00", + "ShipVia": 2, + "Freight": "16.8500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10794, + "CustomerID": "QUEDE", + "EmployeeID": 6, + "OrderDate": "1997-12-24T00:00:00", + "RequiredDate": "1998-01-21T00:00:00", + "ShippedDate": "1998-01-02T00:00:00", + "ShipVia": 1, + "Freight": "21.4900", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10804, + "CustomerID": "SEVES", + "EmployeeID": 6, + "OrderDate": "1997-12-30T00:00:00", + "RequiredDate": "1998-01-27T00:00:00", + "ShippedDate": "1998-01-07T00:00:00", + "ShipVia": 2, + "Freight": "27.3300", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10822, + "CustomerID": "TRAIH", + "EmployeeID": 6, + "OrderDate": "1998-01-08T00:00:00", + "RequiredDate": "1998-02-05T00:00:00", + "ShippedDate": "1998-01-16T00:00:00", + "ShipVia": 3, + "Freight": "7.0000", + "ShipName": "Trail's Head Gourmet Provisioners", + "ShipAddress": "722 DaVinci Blvd.", + "ShipCity": "Kirkland", + "ShipRegion": "WA", + "ShipPostalCode": "98034", + "ShipCountry": "USA" + }, { + "OrderID": 10826, + "CustomerID": "BLONP", + "EmployeeID": 6, + "OrderDate": "1998-01-12T00:00:00", + "RequiredDate": "1998-02-09T00:00:00", + "ShippedDate": "1998-02-06T00:00:00", + "ShipVia": 1, + "Freight": "7.0900", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10833, + "CustomerID": "OTTIK", + "EmployeeID": 6, + "OrderDate": "1998-01-15T00:00:00", + "RequiredDate": "1998-02-12T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 2, + "Freight": "71.4900", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 10867, + "CustomerID": "LONEP", + "EmployeeID": 6, + "OrderDate": "1998-02-03T00:00:00", + "RequiredDate": "1998-03-17T00:00:00", + "ShippedDate": "1998-02-11T00:00:00", + "ShipVia": 1, + "Freight": "1.9300", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10885, + "CustomerID": "SUPRD", + "EmployeeID": 6, + "OrderDate": "1998-02-12T00:00:00", + "RequiredDate": "1998-03-12T00:00:00", + "ShippedDate": "1998-02-18T00:00:00", + "ShipVia": 3, + "Freight": "5.6400", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10907, + "CustomerID": "SPECD", + "EmployeeID": 6, + "OrderDate": "1998-02-25T00:00:00", + "RequiredDate": "1998-03-25T00:00:00", + "ShippedDate": "1998-02-27T00:00:00", + "ShipVia": 3, + "Freight": "9.1900", + "ShipName": "Sp\u00e9cialit\u00e9s du monde", + "ShipAddress": "25, rue Lauriston", + "ShipCity": "Paris", + "ShipRegion": null, + "ShipPostalCode": "75016", + "ShipCountry": "France" + }, { + "OrderID": 10914, + "CustomerID": "QUEEN", + "EmployeeID": 6, + "OrderDate": "1998-02-27T00:00:00", + "RequiredDate": "1998-03-27T00:00:00", + "ShippedDate": "1998-03-02T00:00:00", + "ShipVia": 1, + "Freight": "21.1900", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10929, + "CustomerID": "FRANK", + "EmployeeID": 6, + "OrderDate": "1998-03-05T00:00:00", + "RequiredDate": "1998-04-02T00:00:00", + "ShippedDate": "1998-03-12T00:00:00", + "ShipVia": 1, + "Freight": "33.9300", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10933, + "CustomerID": "ISLAT", + "EmployeeID": 6, + "OrderDate": "1998-03-06T00:00:00", + "RequiredDate": "1998-04-03T00:00:00", + "ShippedDate": "1998-03-16T00:00:00", + "ShipVia": 3, + "Freight": "54.1500", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10944, + "CustomerID": "BOTTM", + "EmployeeID": 6, + "OrderDate": "1998-03-12T00:00:00", + "RequiredDate": "1998-03-26T00:00:00", + "ShippedDate": "1998-03-13T00:00:00", + "ShipVia": 3, + "Freight": "52.9200", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10956, + "CustomerID": "BLAUS", + "EmployeeID": 6, + "OrderDate": "1998-03-17T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-03-20T00:00:00", + "ShipVia": 2, + "Freight": "44.6500", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10959, + "CustomerID": "GOURL", + "EmployeeID": 6, + "OrderDate": "1998-03-18T00:00:00", + "RequiredDate": "1998-04-29T00:00:00", + "ShippedDate": "1998-03-23T00:00:00", + "ShipVia": 2, + "Freight": "4.9800", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10965, + "CustomerID": "OLDWO", + "EmployeeID": 6, + "OrderDate": "1998-03-20T00:00:00", + "RequiredDate": "1998-04-17T00:00:00", + "ShippedDate": "1998-03-30T00:00:00", + "ShipVia": 3, + "Freight": "144.3800", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10973, + "CustomerID": "LACOR", + "EmployeeID": 6, + "OrderDate": "1998-03-24T00:00:00", + "RequiredDate": "1998-04-21T00:00:00", + "ShippedDate": "1998-03-27T00:00:00", + "ShipVia": 2, + "Freight": "15.1700", + "ShipName": "La corne d'abondance", + "ShipAddress": "67, avenue de l'Europe", + "ShipCity": "Versailles", + "ShipRegion": null, + "ShipPostalCode": "78000", + "ShipCountry": "France" + }, { + "OrderID": 10999, + "CustomerID": "OTTIK", + "EmployeeID": 6, + "OrderDate": "1998-04-03T00:00:00", + "RequiredDate": "1998-05-01T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 2, + "Freight": "96.3500", + "ShipName": "Ottilies K\u00e4seladen", + "ShipAddress": "Mehrheimerstr. 369", + "ShipCity": "K\u00f6ln", + "ShipRegion": null, + "ShipPostalCode": "50739", + "ShipCountry": "Germany" + }, { + "OrderID": 11019, + "CustomerID": "RANCH", + "EmployeeID": 6, + "OrderDate": "1998-04-13T00:00:00", + "RequiredDate": "1998-05-11T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "3.1700", + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 11025, + "CustomerID": "WARTH", + "EmployeeID": 6, + "OrderDate": "1998-04-15T00:00:00", + "RequiredDate": "1998-05-13T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 3, + "Freight": "29.1700", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 11031, + "CustomerID": "SAVEA", + "EmployeeID": 6, + "OrderDate": "1998-04-17T00:00:00", + "RequiredDate": "1998-05-15T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 2, + "Freight": "227.2200", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 11045, + "CustomerID": "BOTTM", + "EmployeeID": 6, + "OrderDate": "1998-04-23T00:00:00", + "RequiredDate": "1998-05-21T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "70.5800", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }], + "EmployeeID": 6, + "LastName": "Suyama", + "FirstName": "Michael", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1963-07-02T00:00:00", + "HireDate": "1993-10-17T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/davolio.bmp" + }, { + "Orders": [{ + "OrderID": 10289, + "CustomerID": "BSBEV", + "EmployeeID": 7, + "OrderDate": "1996-08-26T00:00:00", + "RequiredDate": "1996-09-23T00:00:00", + "ShippedDate": "1996-08-28T00:00:00", + "ShipVia": 3, + "Freight": "22.7700", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10303, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "1996-09-11T00:00:00", + "RequiredDate": "1996-10-09T00:00:00", + "ShippedDate": "1996-09-18T00:00:00", + "ShipVia": 2, + "Freight": "107.8300", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10308, + "CustomerID": "ANATR", + "EmployeeID": 7, + "OrderDate": "1996-09-18T00:00:00", + "RequiredDate": "1996-10-16T00:00:00", + "ShippedDate": "1996-09-24T00:00:00", + "ShipVia": 3, + "Freight": "1.6100", + "ShipName": "Ana Trujillo Emparedados y helados", + "ShipAddress": "Avda. de la Constituci\u00f3n 2222", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05021", + "ShipCountry": "Mexico" + }, { + "OrderID": 10319, + "CustomerID": "TORTU", + "EmployeeID": 7, + "OrderDate": "1996-10-02T00:00:00", + "RequiredDate": "1996-10-30T00:00:00", + "ShippedDate": "1996-10-11T00:00:00", + "ShipVia": 3, + "Freight": "64.5000", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10322, + "CustomerID": "PERIC", + "EmployeeID": 7, + "OrderDate": "1996-10-04T00:00:00", + "RequiredDate": "1996-11-01T00:00:00", + "ShippedDate": "1996-10-23T00:00:00", + "ShipVia": 3, + "Freight": "0.4000", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10335, + "CustomerID": "HUNGO", + "EmployeeID": 7, + "OrderDate": "1996-10-22T00:00:00", + "RequiredDate": "1996-11-19T00:00:00", + "ShippedDate": "1996-10-24T00:00:00", + "ShipVia": 2, + "Freight": "42.1100", + "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": "1996-10-23T00:00:00", + "RequiredDate": "1996-11-20T00:00:00", + "ShippedDate": "1996-10-25T00:00:00", + "ShipVia": 2, + "Freight": "15.5100", + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da sa\u00fade n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, { + "OrderID": 10341, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "1996-10-29T00:00:00", + "RequiredDate": "1996-11-26T00:00:00", + "ShippedDate": "1996-11-05T00:00:00", + "ShipVia": 3, + "Freight": "26.7800", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10349, + "CustomerID": "SPLIR", + "EmployeeID": 7, + "OrderDate": "1996-11-08T00:00:00", + "RequiredDate": "1996-12-06T00:00:00", + "ShippedDate": "1996-11-15T00:00:00", + "ShipVia": 1, + "Freight": "8.6300", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10353, + "CustomerID": "PICCO", + "EmployeeID": 7, + "OrderDate": "1996-11-13T00:00:00", + "RequiredDate": "1996-12-11T00:00:00", + "ShippedDate": "1996-11-25T00:00:00", + "ShipVia": 3, + "Freight": "360.6300", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10367, + "CustomerID": "VAFFE", + "EmployeeID": 7, + "OrderDate": "1996-11-28T00:00:00", + "RequiredDate": "1996-12-26T00:00:00", + "ShippedDate": "1996-12-02T00:00:00", + "ShipVia": 3, + "Freight": "13.5500", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10406, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "1997-01-07T00:00:00", + "RequiredDate": "1997-02-18T00:00:00", + "ShippedDate": "1997-01-13T00:00:00", + "ShipVia": 1, + "Freight": "108.0400", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10424, + "CustomerID": "MEREP", + "EmployeeID": 7, + "OrderDate": "1997-01-23T00:00:00", + "RequiredDate": "1997-02-20T00:00:00", + "ShippedDate": "1997-01-27T00:00:00", + "ShipVia": 2, + "Freight": "370.6100", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10428, + "CustomerID": "REGGC", + "EmployeeID": 7, + "OrderDate": "1997-01-28T00:00:00", + "RequiredDate": "1997-02-25T00:00:00", + "ShippedDate": "1997-02-04T00:00:00", + "ShipVia": 1, + "Freight": "11.0900", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10458, + "CustomerID": "SUPRD", + "EmployeeID": 7, + "OrderDate": "1997-02-26T00:00:00", + "RequiredDate": "1997-03-26T00:00:00", + "ShippedDate": "1997-03-04T00:00:00", + "ShipVia": 3, + "Freight": "147.0600", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10483, + "CustomerID": "WHITC", + "EmployeeID": 7, + "OrderDate": "1997-03-24T00:00:00", + "RequiredDate": "1997-04-21T00:00:00", + "ShippedDate": "1997-04-25T00:00:00", + "ShipVia": 2, + "Freight": "15.2800", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10490, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "1997-03-31T00:00:00", + "RequiredDate": "1997-04-28T00:00:00", + "ShippedDate": "1997-04-03T00:00:00", + "ShipVia": 2, + "Freight": "210.1900", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10496, + "CustomerID": "TRADH", + "EmployeeID": 7, + "OrderDate": "1997-04-04T00:00:00", + "RequiredDate": "1997-05-02T00:00:00", + "ShippedDate": "1997-04-07T00:00:00", + "ShipVia": 2, + "Freight": "46.7700", + "ShipName": "Tradi\u00e7ao Hipermercados", + "ShipAddress": "Av. In\u00eas de Castro, 414", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05634-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10497, + "CustomerID": "LEHMS", + "EmployeeID": 7, + "OrderDate": "1997-04-04T00:00:00", + "RequiredDate": "1997-05-02T00:00:00", + "ShippedDate": "1997-04-07T00:00:00", + "ShipVia": 1, + "Freight": "36.2100", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10507, + "CustomerID": "ANTON", + "EmployeeID": 7, + "OrderDate": "1997-04-15T00:00:00", + "RequiredDate": "1997-05-13T00:00:00", + "ShippedDate": "1997-04-22T00:00:00", + "ShipVia": 1, + "Freight": "47.4500", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10512, + "CustomerID": "FAMIA", + "EmployeeID": 7, + "OrderDate": "1997-04-21T00:00:00", + "RequiredDate": "1997-05-19T00:00:00", + "ShippedDate": "1997-04-24T00:00:00", + "ShipVia": 2, + "Freight": "3.5300", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10513, + "CustomerID": "WANDK", + "EmployeeID": 7, + "OrderDate": "1997-04-22T00:00:00", + "RequiredDate": "1997-06-03T00:00:00", + "ShippedDate": "1997-04-28T00:00:00", + "ShipVia": 1, + "Freight": "105.6500", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10520, + "CustomerID": "SANTG", + "EmployeeID": 7, + "OrderDate": "1997-04-29T00:00:00", + "RequiredDate": "1997-05-27T00:00:00", + "ShippedDate": "1997-05-01T00:00:00", + "ShipVia": 1, + "Freight": "13.3700", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 10523, + "CustomerID": "SEVES", + "EmployeeID": 7, + "OrderDate": "1997-05-01T00:00:00", + "RequiredDate": "1997-05-29T00:00:00", + "ShippedDate": "1997-05-30T00:00:00", + "ShipVia": 2, + "Freight": "77.6300", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10527, + "CustomerID": "QUICK", + "EmployeeID": 7, + "OrderDate": "1997-05-05T00:00:00", + "RequiredDate": "1997-06-02T00:00:00", + "ShippedDate": "1997-05-07T00:00:00", + "ShipVia": 1, + "Freight": "41.9000", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10531, + "CustomerID": "OCEAN", + "EmployeeID": 7, + "OrderDate": "1997-05-08T00:00:00", + "RequiredDate": "1997-06-05T00:00:00", + "ShippedDate": "1997-05-19T00:00:00", + "ShipVia": 1, + "Freight": "8.1200", + "ShipName": "Oc\u00e9ano Atl\u00e1ntico 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": "1997-05-09T00:00:00", + "RequiredDate": "1997-06-06T00:00:00", + "ShippedDate": "1997-05-12T00:00:00", + "ShipVia": 3, + "Freight": "74.4600", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 10550, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "1997-05-28T00:00:00", + "RequiredDate": "1997-06-25T00:00:00", + "ShippedDate": "1997-06-06T00:00:00", + "ShipVia": 3, + "Freight": "4.3200", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 10573, + "CustomerID": "ANTON", + "EmployeeID": 7, + "OrderDate": "1997-06-19T00:00:00", + "RequiredDate": "1997-07-17T00:00:00", + "ShippedDate": "1997-06-20T00:00:00", + "ShipVia": 3, + "Freight": "84.8400", + "ShipName": "Antonio Moreno Taquer\u00eda", + "ShipAddress": "Mataderos 2312", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05023", + "ShipCountry": "Mexico" + }, { + "OrderID": 10585, + "CustomerID": "WELLI", + "EmployeeID": 7, + "OrderDate": "1997-07-01T00:00:00", + "RequiredDate": "1997-07-29T00:00:00", + "ShippedDate": "1997-07-10T00:00:00", + "ShipVia": 1, + "Freight": "13.4100", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10593, + "CustomerID": "LEHMS", + "EmployeeID": 7, + "OrderDate": "1997-07-09T00:00:00", + "RequiredDate": "1997-08-06T00:00:00", + "ShippedDate": "1997-08-13T00:00:00", + "ShipVia": 2, + "Freight": "174.2000", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10597, + "CustomerID": "PICCO", + "EmployeeID": 7, + "OrderDate": "1997-07-11T00:00:00", + "RequiredDate": "1997-08-08T00:00:00", + "ShippedDate": "1997-07-18T00:00:00", + "ShipVia": 3, + "Freight": "35.1200", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10601, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "1997-07-16T00:00:00", + "RequiredDate": "1997-08-27T00:00:00", + "ShippedDate": "1997-07-22T00:00:00", + "ShipVia": 1, + "Freight": "58.3000", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10609, + "CustomerID": "DUMON", + "EmployeeID": 7, + "OrderDate": "1997-07-24T00:00:00", + "RequiredDate": "1997-08-21T00:00:00", + "ShippedDate": "1997-07-30T00:00:00", + "ShipVia": 2, + "Freight": "1.8500", + "ShipName": "Du monde entier", + "ShipAddress": "67, rue des Cinquante Otages", + "ShipCity": "Nantes", + "ShipRegion": null, + "ShipPostalCode": "44000", + "ShipCountry": "France" + }, { + "OrderID": 10633, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "1997-08-15T00:00:00", + "RequiredDate": "1997-09-12T00:00:00", + "ShippedDate": "1997-08-18T00:00:00", + "ShipVia": 3, + "Freight": "477.9000", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10639, + "CustomerID": "SANTG", + "EmployeeID": 7, + "OrderDate": "1997-08-20T00:00:00", + "RequiredDate": "1997-09-17T00:00:00", + "ShippedDate": "1997-08-27T00:00:00", + "ShipVia": 3, + "Freight": "38.6400", + "ShipName": "Sant\u00e9 Gourmet", + "ShipAddress": "Erling Skakkes gate 78", + "ShipCity": "Stavern", + "ShipRegion": null, + "ShipPostalCode": "4110", + "ShipCountry": "Norway" + }, { + "OrderID": 10642, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "1997-08-22T00:00:00", + "RequiredDate": "1997-09-19T00:00:00", + "ShippedDate": "1997-09-05T00:00:00", + "ShipVia": 3, + "Freight": "41.8900", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }, { + "OrderID": 10659, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "1997-09-05T00:00:00", + "RequiredDate": "1997-10-03T00:00:00", + "ShippedDate": "1997-09-10T00:00:00", + "ShipVia": 2, + "Freight": "105.8100", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10661, + "CustomerID": "HUNGO", + "EmployeeID": 7, + "OrderDate": "1997-09-09T00:00:00", + "RequiredDate": "1997-10-07T00:00:00", + "ShippedDate": "1997-09-15T00:00:00", + "ShipVia": 3, + "Freight": "17.5500", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10666, + "CustomerID": "RICSU", + "EmployeeID": 7, + "OrderDate": "1997-09-12T00:00:00", + "RequiredDate": "1997-10-10T00:00:00", + "ShippedDate": "1997-09-22T00:00:00", + "ShipVia": 2, + "Freight": "232.4200", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10667, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "1997-09-12T00:00:00", + "RequiredDate": "1997-10-10T00:00:00", + "ShippedDate": "1997-09-19T00:00:00", + "ShipVia": 1, + "Freight": "78.0900", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10678, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "1997-09-23T00:00:00", + "RequiredDate": "1997-10-21T00:00:00", + "ShippedDate": "1997-10-16T00:00:00", + "ShipVia": 3, + "Freight": "388.9800", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10695, + "CustomerID": "WILMK", + "EmployeeID": 7, + "OrderDate": "1997-10-07T00:00:00", + "RequiredDate": "1997-11-18T00:00:00", + "ShippedDate": "1997-10-14T00:00:00", + "ShipVia": 1, + "Freight": "16.7200", + "ShipName": "Wilman Kala", + "ShipAddress": "Keskuskatu 45", + "ShipCity": "Helsinki", + "ShipRegion": null, + "ShipPostalCode": "21240", + "ShipCountry": "Finland" + }, { + "OrderID": 10731, + "CustomerID": "CHOPS", + "EmployeeID": 7, + "OrderDate": "1997-11-06T00:00:00", + "RequiredDate": "1997-12-04T00:00:00", + "ShippedDate": "1997-11-14T00:00:00", + "ShipVia": 1, + "Freight": "96.6500", + "ShipName": "Chop-suey Chinese", + "ShipAddress": "Hauptstr. 31", + "ShipCity": "Bern", + "ShipRegion": null, + "ShipPostalCode": "3012", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10775, + "CustomerID": "THECR", + "EmployeeID": 7, + "OrderDate": "1997-12-12T00:00:00", + "RequiredDate": "1998-01-09T00:00:00", + "ShippedDate": "1997-12-26T00:00:00", + "ShipVia": 1, + "Freight": "20.2500", + "ShipName": "The Cracker Box", + "ShipAddress": "55 Grizzly Peak Rd.", + "ShipCity": "Butte", + "ShipRegion": "MT", + "ShipPostalCode": "59801", + "ShipCountry": "USA" + }, { + "OrderID": 10777, + "CustomerID": "GOURL", + "EmployeeID": 7, + "OrderDate": "1997-12-15T00:00:00", + "RequiredDate": "1997-12-29T00:00:00", + "ShippedDate": "1998-01-21T00:00:00", + "ShipVia": 2, + "Freight": "3.0100", + "ShipName": "Gourmet Lanchonetes", + "ShipAddress": "Av. Brasil, 442", + "ShipCity": "Campinas", + "ShipRegion": "SP", + "ShipPostalCode": "04876-786", + "ShipCountry": "Brazil" + }, { + "OrderID": 10797, + "CustomerID": "DRACD", + "EmployeeID": 7, + "OrderDate": "1997-12-25T00:00:00", + "RequiredDate": "1998-01-22T00:00:00", + "ShippedDate": "1998-01-05T00:00:00", + "ShipVia": 2, + "Freight": "33.3500", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 10809, + "CustomerID": "WELLI", + "EmployeeID": 7, + "OrderDate": "1998-01-01T00:00:00", + "RequiredDate": "1998-01-29T00:00:00", + "ShippedDate": "1998-01-07T00:00:00", + "ShipVia": 1, + "Freight": "4.8700", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10818, + "CustomerID": "MAGAA", + "EmployeeID": 7, + "OrderDate": "1998-01-07T00:00:00", + "RequiredDate": "1998-02-04T00:00:00", + "ShippedDate": "1998-01-12T00:00:00", + "ShipVia": 3, + "Freight": "65.4800", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10836, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "1998-01-16T00:00:00", + "RequiredDate": "1998-02-13T00:00:00", + "ShippedDate": "1998-01-21T00:00:00", + "ShipVia": 1, + "Freight": "411.8800", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10848, + "CustomerID": "CONSH", + "EmployeeID": 7, + "OrderDate": "1998-01-23T00:00:00", + "RequiredDate": "1998-02-20T00:00:00", + "ShippedDate": "1998-01-29T00:00:00", + "ShipVia": 2, + "Freight": "38.2400", + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, { + "OrderID": 10868, + "CustomerID": "QUEEN", + "EmployeeID": 7, + "OrderDate": "1998-02-04T00:00:00", + "RequiredDate": "1998-03-04T00:00:00", + "ShippedDate": "1998-02-23T00:00:00", + "ShipVia": 2, + "Freight": "191.2700", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10876, + "CustomerID": "BONAP", + "EmployeeID": 7, + "OrderDate": "1998-02-09T00:00:00", + "RequiredDate": "1998-03-09T00:00:00", + "ShippedDate": "1998-02-12T00:00:00", + "ShipVia": 3, + "Freight": "60.4200", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10880, + "CustomerID": "FOLKO", + "EmployeeID": 7, + "OrderDate": "1998-02-10T00:00:00", + "RequiredDate": "1998-03-24T00:00:00", + "ShippedDate": "1998-02-18T00:00:00", + "ShipVia": 1, + "Freight": "88.0100", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10890, + "CustomerID": "DUMON", + "EmployeeID": 7, + "OrderDate": "1998-02-16T00:00:00", + "RequiredDate": "1998-03-16T00:00:00", + "ShippedDate": "1998-02-18T00:00:00", + "ShipVia": 1, + "Freight": "32.7600", + "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": "1998-02-17T00:00:00", + "RequiredDate": "1998-03-17T00:00:00", + "ShippedDate": "1998-02-19T00:00:00", + "ShipVia": 2, + "Freight": "20.3700", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10896, + "CustomerID": "MAISD", + "EmployeeID": 7, + "OrderDate": "1998-02-19T00:00:00", + "RequiredDate": "1998-03-19T00:00:00", + "ShippedDate": "1998-02-27T00:00:00", + "ShipVia": 3, + "Freight": "32.4500", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 10923, + "CustomerID": "LAMAI", + "EmployeeID": 7, + "OrderDate": "1998-03-03T00:00:00", + "RequiredDate": "1998-04-14T00:00:00", + "ShippedDate": "1998-03-13T00:00:00", + "ShipVia": 3, + "Freight": "68.2600", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10937, + "CustomerID": "CACTU", + "EmployeeID": 7, + "OrderDate": "1998-03-10T00:00:00", + "RequiredDate": "1998-03-24T00:00:00", + "ShippedDate": "1998-03-13T00:00:00", + "ShipVia": 3, + "Freight": "31.5100", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10941, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "1998-03-11T00:00:00", + "RequiredDate": "1998-04-08T00:00:00", + "ShippedDate": "1998-03-20T00:00:00", + "ShipVia": 2, + "Freight": "400.8100", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10958, + "CustomerID": "OCEAN", + "EmployeeID": 7, + "OrderDate": "1998-03-18T00:00:00", + "RequiredDate": "1998-04-15T00:00:00", + "ShippedDate": "1998-03-27T00:00:00", + "ShipVia": 2, + "Freight": "49.5600", + "ShipName": "Oc\u00e9ano Atl\u00e1ntico Ltda.", + "ShipAddress": "Ing. Gustavo Moncada 8585 Piso 20-A", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10993, + "CustomerID": "FOLKO", + "EmployeeID": 7, + "OrderDate": "1998-04-01T00:00:00", + "RequiredDate": "1998-04-29T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 3, + "Freight": "8.8100", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 11008, + "CustomerID": "ERNSH", + "EmployeeID": 7, + "OrderDate": "1998-04-08T00:00:00", + "RequiredDate": "1998-05-06T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "79.4600", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 11030, + "CustomerID": "SAVEA", + "EmployeeID": 7, + "OrderDate": "1998-04-17T00:00:00", + "RequiredDate": "1998-05-15T00:00:00", + "ShippedDate": "1998-04-27T00:00:00", + "ShipVia": 2, + "Freight": "830.7500", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 11033, + "CustomerID": "RICSU", + "EmployeeID": 7, + "OrderDate": "1998-04-17T00:00:00", + "RequiredDate": "1998-05-15T00:00:00", + "ShippedDate": "1998-04-23T00:00:00", + "ShipVia": 3, + "Freight": "84.7400", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 11037, + "CustomerID": "GODOS", + "EmployeeID": 7, + "OrderDate": "1998-04-21T00:00:00", + "RequiredDate": "1998-05-19T00:00:00", + "ShippedDate": "1998-04-27T00:00:00", + "ShipVia": 1, + "Freight": "3.2000", + "ShipName": "Godos Cocina T\u00edpica", + "ShipAddress": "C/ Romero, 33", + "ShipCity": "Sevilla", + "ShipRegion": null, + "ShipPostalCode": "41101", + "ShipCountry": "Spain" + }, { + "OrderID": 11047, + "CustomerID": "EASTC", + "EmployeeID": 7, + "OrderDate": "1998-04-24T00:00:00", + "RequiredDate": "1998-05-22T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 3, + "Freight": "46.6200", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 11048, + "CustomerID": "BOTTM", + "EmployeeID": 7, + "OrderDate": "1998-04-24T00:00:00", + "RequiredDate": "1998-05-22T00:00:00", + "ShippedDate": "1998-04-30T00:00:00", + "ShipVia": 3, + "Freight": "24.1200", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 11051, + "CustomerID": "LAMAI", + "EmployeeID": 7, + "OrderDate": "1998-04-27T00:00:00", + "RequiredDate": "1998-05-25T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "2.7900", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 11055, + "CustomerID": "HILAA", + "EmployeeID": 7, + "OrderDate": "1998-04-28T00:00:00", + "RequiredDate": "1998-05-26T00:00:00", + "ShippedDate": "1998-05-05T00:00:00", + "ShipVia": 2, + "Freight": "120.9200", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 11066, + "CustomerID": "WHITC", + "EmployeeID": 7, + "OrderDate": "1998-05-01T00:00:00", + "RequiredDate": "1998-05-29T00:00:00", + "ShippedDate": "1998-05-04T00:00:00", + "ShipVia": 2, + "Freight": "44.7200", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 11074, + "CustomerID": "SIMOB", + "EmployeeID": 7, + "OrderDate": "1998-05-06T00:00:00", + "RequiredDate": "1998-06-03T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "18.4400", + "ShipName": "Simons bistro", + "ShipAddress": "Vinb\u00e6ltet 34", + "ShipCity": "Kobenhavn", + "ShipRegion": null, + "ShipPostalCode": "1734", + "ShipCountry": "Denmark" + }], + "EmployeeID": 7, + "LastName": "King", + "FirstName": "Robert", + "Title": "Sales Representative", + "TitleOfCourtesy": "Mr.", + "BirthDate": "1960-05-29T00:00:00", + "HireDate": "1994-01-02T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/davolio.bmp" + }, { + "Orders": [{ + "OrderID": 10262, + "CustomerID": "RATTC", + "EmployeeID": 8, + "OrderDate": "1996-07-22T00:00:00", + "RequiredDate": "1996-08-19T00:00:00", + "ShippedDate": "1996-07-25T00:00:00", + "ShipVia": 3, + "Freight": "48.2900", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10268, + "CustomerID": "GROSR", + "EmployeeID": 8, + "OrderDate": "1996-07-30T00:00:00", + "RequiredDate": "1996-08-27T00:00:00", + "ShippedDate": "1996-08-02T00:00:00", + "ShipVia": 3, + "Freight": "66.2900", + "ShipName": "GROSELLA-Restaurante", + "ShipAddress": "5\u00aa Ave. Los Palos Grandes", + "ShipCity": "Caracas", + "ShipRegion": "DF", + "ShipPostalCode": "1081", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10276, + "CustomerID": "TORTU", + "EmployeeID": 8, + "OrderDate": "1996-08-08T00:00:00", + "RequiredDate": "1996-08-22T00:00:00", + "ShippedDate": "1996-08-14T00:00:00", + "ShipVia": 3, + "Freight": "13.8400", + "ShipName": "Tortuga Restaurante", + "ShipAddress": "Avda. Azteca 123", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10278, + "CustomerID": "BERGS", + "EmployeeID": 8, + "OrderDate": "1996-08-12T00:00:00", + "RequiredDate": "1996-09-09T00:00:00", + "ShippedDate": "1996-08-16T00:00:00", + "ShipVia": 2, + "Freight": "92.6900", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10279, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "1996-08-13T00:00:00", + "RequiredDate": "1996-09-10T00:00:00", + "ShippedDate": "1996-08-16T00:00:00", + "ShipVia": 2, + "Freight": "25.8300", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10286, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "1996-08-21T00:00:00", + "RequiredDate": "1996-09-18T00:00:00", + "ShippedDate": "1996-08-30T00:00:00", + "ShipVia": 3, + "Freight": "229.2400", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10287, + "CustomerID": "RICAR", + "EmployeeID": 8, + "OrderDate": "1996-08-22T00:00:00", + "RequiredDate": "1996-09-19T00:00:00", + "ShippedDate": "1996-08-28T00:00:00", + "ShipVia": 3, + "Freight": "12.7600", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10290, + "CustomerID": "COMMI", + "EmployeeID": 8, + "OrderDate": "1996-08-27T00:00:00", + "RequiredDate": "1996-09-24T00:00:00", + "ShippedDate": "1996-09-03T00:00:00", + "ShipVia": 1, + "Freight": "79.7000", + "ShipName": "Com\u00e9rcio Mineiro", + "ShipAddress": "Av. dos Lus\u00edadas, 23", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05432-043", + "ShipCountry": "Brazil" + }, { + "OrderID": 10301, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "1996-09-09T00:00:00", + "RequiredDate": "1996-10-07T00:00:00", + "ShippedDate": "1996-09-17T00:00:00", + "ShipVia": 2, + "Freight": "45.0800", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10305, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "1996-09-13T00:00:00", + "RequiredDate": "1996-10-11T00:00:00", + "ShippedDate": "1996-10-09T00:00:00", + "ShipVia": 3, + "Freight": "257.6200", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10310, + "CustomerID": "THEBI", + "EmployeeID": 8, + "OrderDate": "1996-09-20T00:00:00", + "RequiredDate": "1996-10-18T00:00:00", + "ShippedDate": "1996-09-27T00:00:00", + "ShipVia": 2, + "Freight": "17.5200", + "ShipName": "The Big Cheese", + "ShipAddress": "89 Jefferson Way Suite 2", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97201", + "ShipCountry": "USA" + }, { + "OrderID": 10318, + "CustomerID": "ISLAT", + "EmployeeID": 8, + "OrderDate": "1996-10-01T00:00:00", + "RequiredDate": "1996-10-29T00:00:00", + "ShippedDate": "1996-10-04T00:00:00", + "ShipVia": 2, + "Freight": "4.7300", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10334, + "CustomerID": "VICTE", + "EmployeeID": 8, + "OrderDate": "1996-10-21T00:00:00", + "RequiredDate": "1996-11-18T00:00:00", + "ShippedDate": "1996-10-28T00:00:00", + "ShipVia": 2, + "Freight": "8.5600", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10354, + "CustomerID": "PERIC", + "EmployeeID": 8, + "OrderDate": "1996-11-14T00:00:00", + "RequiredDate": "1996-12-12T00:00:00", + "ShippedDate": "1996-11-20T00:00:00", + "ShipVia": 3, + "Freight": "53.8000", + "ShipName": "Pericles Comidas cl\u00e1sicas", + "ShipAddress": "Calle Dr. Jorge Cash 321", + "ShipCity": "M\u00e9xico D.F.", + "ShipRegion": null, + "ShipPostalCode": "05033", + "ShipCountry": "Mexico" + }, { + "OrderID": 10366, + "CustomerID": "GALED", + "EmployeeID": 8, + "OrderDate": "1996-11-28T00:00:00", + "RequiredDate": "1997-01-09T00:00:00", + "ShippedDate": "1996-12-30T00:00:00", + "ShipVia": 2, + "Freight": "10.1400", + "ShipName": "Galer\u00eda del gastron\u00f3mo", + "ShipAddress": "Rambla de Catalu\u00f1a, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, { + "OrderID": 10369, + "CustomerID": "SPLIR", + "EmployeeID": 8, + "OrderDate": "1996-12-02T00:00:00", + "RequiredDate": "1996-12-30T00:00:00", + "ShippedDate": "1996-12-09T00:00:00", + "ShipVia": 2, + "Freight": "195.6800", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10380, + "CustomerID": "HUNGO", + "EmployeeID": 8, + "OrderDate": "1996-12-12T00:00:00", + "RequiredDate": "1997-01-09T00:00:00", + "ShippedDate": "1997-01-16T00:00:00", + "ShipVia": 3, + "Freight": "35.0300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10383, + "CustomerID": "AROUT", + "EmployeeID": 8, + "OrderDate": "1996-12-16T00:00:00", + "RequiredDate": "1997-01-13T00:00:00", + "ShippedDate": "1996-12-18T00:00:00", + "ShipVia": 3, + "Freight": "34.2400", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10399, + "CustomerID": "VAFFE", + "EmployeeID": 8, + "OrderDate": "1996-12-31T00:00:00", + "RequiredDate": "1997-01-14T00:00:00", + "ShippedDate": "1997-01-08T00:00:00", + "ShipVia": 3, + "Freight": "27.3600", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10402, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "1997-01-02T00:00:00", + "RequiredDate": "1997-02-13T00:00:00", + "ShippedDate": "1997-01-10T00:00:00", + "ShipVia": 2, + "Freight": "67.8800", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10408, + "CustomerID": "FOLIG", + "EmployeeID": 8, + "OrderDate": "1997-01-08T00:00:00", + "RequiredDate": "1997-02-05T00:00:00", + "ShippedDate": "1997-01-14T00:00:00", + "ShipVia": 1, + "Freight": "11.2600", + "ShipName": "Folies gourmandes", + "ShipAddress": "184, chauss\u00e9e de Tournai", + "ShipCity": "Lille", + "ShipRegion": null, + "ShipPostalCode": "59000", + "ShipCountry": "France" + }, { + "OrderID": 10412, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "1997-01-13T00:00:00", + "RequiredDate": "1997-02-10T00:00:00", + "ShippedDate": "1997-01-15T00:00:00", + "ShipVia": 2, + "Freight": "3.7700", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10416, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "1997-01-16T00:00:00", + "RequiredDate": "1997-02-13T00:00:00", + "ShippedDate": "1997-01-27T00:00:00", + "ShipVia": 3, + "Freight": "22.7200", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10421, + "CustomerID": "QUEDE", + "EmployeeID": 8, + "OrderDate": "1997-01-21T00:00:00", + "RequiredDate": "1997-03-04T00:00:00", + "ShippedDate": "1997-01-27T00:00:00", + "ShipVia": 1, + "Freight": "99.2300", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10435, + "CustomerID": "CONSH", + "EmployeeID": 8, + "OrderDate": "1997-02-04T00:00:00", + "RequiredDate": "1997-03-18T00:00:00", + "ShippedDate": "1997-02-07T00:00:00", + "ShipVia": 2, + "Freight": "9.2100", + "ShipName": "Consolidated Holdings", + "ShipAddress": "Berkeley Gardens 12 Brewery", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX1 6LT", + "ShipCountry": "UK" + }, { + "OrderID": 10437, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "1997-02-05T00:00:00", + "RequiredDate": "1997-03-05T00:00:00", + "ShippedDate": "1997-02-12T00:00:00", + "ShipVia": 1, + "Freight": "19.9700", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10443, + "CustomerID": "REGGC", + "EmployeeID": 8, + "OrderDate": "1997-02-12T00:00:00", + "RequiredDate": "1997-03-12T00:00:00", + "ShippedDate": "1997-02-14T00:00:00", + "ShipVia": 1, + "Freight": "13.9500", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10450, + "CustomerID": "VICTE", + "EmployeeID": 8, + "OrderDate": "1997-02-19T00:00:00", + "RequiredDate": "1997-03-19T00:00:00", + "ShippedDate": "1997-03-11T00:00:00", + "ShipVia": 2, + "Freight": "7.2300", + "ShipName": "Victuailles en stock", + "ShipAddress": "2, rue du Commerce", + "ShipCity": "Lyon", + "ShipRegion": null, + "ShipPostalCode": "69004", + "ShipCountry": "France" + }, { + "OrderID": 10452, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "1997-02-20T00:00:00", + "RequiredDate": "1997-03-20T00:00:00", + "ShippedDate": "1997-02-26T00:00:00", + "ShipVia": 1, + "Freight": "140.2600", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10455, + "CustomerID": "WARTH", + "EmployeeID": 8, + "OrderDate": "1997-02-24T00:00:00", + "RequiredDate": "1997-04-07T00:00:00", + "ShippedDate": "1997-03-03T00:00:00", + "ShipVia": 2, + "Freight": "180.4500", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10456, + "CustomerID": "KOENE", + "EmployeeID": 8, + "OrderDate": "1997-02-25T00:00:00", + "RequiredDate": "1997-04-08T00:00:00", + "ShippedDate": "1997-02-28T00:00:00", + "ShipVia": 2, + "Freight": "8.1200", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10460, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1997-02-28T00:00:00", + "RequiredDate": "1997-03-28T00:00:00", + "ShippedDate": "1997-03-03T00:00:00", + "ShipVia": 1, + "Freight": "16.2700", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10467, + "CustomerID": "MAGAA", + "EmployeeID": 8, + "OrderDate": "1997-03-06T00:00:00", + "RequiredDate": "1997-04-03T00:00:00", + "ShippedDate": "1997-03-11T00:00:00", + "ShipVia": 2, + "Freight": "4.9300", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10472, + "CustomerID": "SEVES", + "EmployeeID": 8, + "OrderDate": "1997-03-12T00:00:00", + "RequiredDate": "1997-04-09T00:00:00", + "ShippedDate": "1997-03-19T00:00:00", + "ShipVia": 1, + "Freight": "4.2000", + "ShipName": "Seven Seas Imports", + "ShipAddress": "90 Wadhurst Rd.", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "OX15 4NB", + "ShipCountry": "UK" + }, { + "OrderID": 10476, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "1997-03-17T00:00:00", + "RequiredDate": "1997-04-14T00:00:00", + "ShippedDate": "1997-03-24T00:00:00", + "ShipVia": 3, + "Freight": "4.4100", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10481, + "CustomerID": "RICAR", + "EmployeeID": 8, + "OrderDate": "1997-03-20T00:00:00", + "RequiredDate": "1997-04-17T00:00:00", + "ShippedDate": "1997-03-25T00:00:00", + "ShipVia": 2, + "Freight": "64.3300", + "ShipName": "Ricardo Adocicados", + "ShipAddress": "Av. Copacabana, 267", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-890", + "ShipCountry": "Brazil" + }, { + "OrderID": 10488, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "1997-03-27T00:00:00", + "RequiredDate": "1997-04-24T00:00:00", + "ShippedDate": "1997-04-02T00:00:00", + "ShipVia": 2, + "Freight": "4.9300", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10491, + "CustomerID": "FURIB", + "EmployeeID": 8, + "OrderDate": "1997-03-31T00:00:00", + "RequiredDate": "1997-04-28T00:00:00", + "ShippedDate": "1997-04-08T00:00:00", + "ShipVia": 3, + "Freight": "16.9600", + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, { + "OrderID": 10498, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "1997-04-07T00:00:00", + "RequiredDate": "1997-05-05T00:00:00", + "ShippedDate": "1997-04-11T00:00:00", + "ShipVia": 2, + "Freight": "29.7500", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10521, + "CustomerID": "CACTU", + "EmployeeID": 8, + "OrderDate": "1997-04-29T00:00:00", + "RequiredDate": "1997-05-27T00:00:00", + "ShippedDate": "1997-05-02T00:00:00", + "ShipVia": 2, + "Freight": "17.2200", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10533, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1997-05-12T00:00:00", + "RequiredDate": "1997-06-09T00:00:00", + "ShippedDate": "1997-05-22T00:00:00", + "ShipVia": 1, + "Freight": "188.0400", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10534, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "1997-05-12T00:00:00", + "RequiredDate": "1997-06-09T00:00:00", + "ShippedDate": "1997-05-14T00:00:00", + "ShipVia": 2, + "Freight": "27.9400", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10543, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "1997-05-21T00:00:00", + "RequiredDate": "1997-06-18T00:00:00", + "ShippedDate": "1997-05-23T00:00:00", + "ShipVia": 2, + "Freight": "48.1700", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10545, + "CustomerID": "LAZYK", + "EmployeeID": 8, + "OrderDate": "1997-05-22T00:00:00", + "RequiredDate": "1997-06-19T00:00:00", + "ShippedDate": "1997-06-26T00:00:00", + "ShipVia": 2, + "Freight": "11.9200", + "ShipName": "Lazy K Kountry Store", + "ShipAddress": "12 Orchestra Terrace", + "ShipCity": "Walla Walla", + "ShipRegion": "WA", + "ShipPostalCode": "99362", + "ShipCountry": "USA" + }, { + "OrderID": 10560, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "1997-06-06T00:00:00", + "RequiredDate": "1997-07-04T00:00:00", + "ShippedDate": "1997-06-09T00:00:00", + "ShipVia": 1, + "Freight": "36.6500", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10565, + "CustomerID": "MEREP", + "EmployeeID": 8, + "OrderDate": "1997-06-11T00:00:00", + "RequiredDate": "1997-07-09T00:00:00", + "ShippedDate": "1997-06-18T00:00:00", + "ShipVia": 2, + "Freight": "7.1500", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10571, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "1997-06-17T00:00:00", + "RequiredDate": "1997-07-29T00:00:00", + "ShippedDate": "1997-07-04T00:00:00", + "ShipVia": 3, + "Freight": "26.0600", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10589, + "CustomerID": "GREAL", + "EmployeeID": 8, + "OrderDate": "1997-07-04T00:00:00", + "RequiredDate": "1997-08-01T00:00:00", + "ShippedDate": "1997-07-14T00:00:00", + "ShipVia": 2, + "Freight": "4.4200", + "ShipName": "Great Lakes Food Market", + "ShipAddress": "2732 Baker Blvd.", + "ShipCity": "Eugene", + "ShipRegion": "OR", + "ShipPostalCode": "97403", + "ShipCountry": "USA" + }, { + "OrderID": 10596, + "CustomerID": "WHITC", + "EmployeeID": 8, + "OrderDate": "1997-07-11T00:00:00", + "RequiredDate": "1997-08-08T00:00:00", + "ShippedDate": "1997-08-12T00:00:00", + "ShipVia": 1, + "Freight": "16.3400", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10602, + "CustomerID": "VAFFE", + "EmployeeID": 8, + "OrderDate": "1997-07-17T00:00:00", + "RequiredDate": "1997-08-14T00:00:00", + "ShippedDate": "1997-07-22T00:00:00", + "ShipVia": 2, + "Freight": "2.9200", + "ShipName": "Vaffeljernet", + "ShipAddress": "Smagsloget 45", + "ShipCity": "\u00c5rhus", + "ShipRegion": null, + "ShipPostalCode": "8200", + "ShipCountry": "Denmark" + }, { + "OrderID": 10603, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "1997-07-18T00:00:00", + "RequiredDate": "1997-08-15T00:00:00", + "ShippedDate": "1997-08-08T00:00:00", + "ShipVia": 2, + "Freight": "48.7700", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10610, + "CustomerID": "LAMAI", + "EmployeeID": 8, + "OrderDate": "1997-07-25T00:00:00", + "RequiredDate": "1997-08-22T00:00:00", + "ShippedDate": "1997-08-06T00:00:00", + "ShipVia": 1, + "Freight": "26.7800", + "ShipName": "La maison d'Asie", + "ShipAddress": "1 rue Alsace-Lorraine", + "ShipCity": "Toulouse", + "ShipRegion": null, + "ShipPostalCode": "31000", + "ShipCountry": "France" + }, { + "OrderID": 10614, + "CustomerID": "BLAUS", + "EmployeeID": 8, + "OrderDate": "1997-07-29T00:00:00", + "RequiredDate": "1997-08-26T00:00:00", + "ShippedDate": "1997-08-01T00:00:00", + "ShipVia": 3, + "Freight": "1.9300", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10623, + "CustomerID": "FRANK", + "EmployeeID": 8, + "OrderDate": "1997-08-07T00:00:00", + "RequiredDate": "1997-09-04T00:00:00", + "ShippedDate": "1997-08-12T00:00:00", + "ShipVia": 2, + "Freight": "97.1800", + "ShipName": "Frankenversand", + "ShipAddress": "Berliner Platz 43", + "ShipCity": "M\u00fcnchen", + "ShipRegion": null, + "ShipPostalCode": "80805", + "ShipCountry": "Germany" + }, { + "OrderID": 10627, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "1997-08-11T00:00:00", + "RequiredDate": "1997-09-22T00:00:00", + "ShippedDate": "1997-08-21T00:00:00", + "ShipVia": 3, + "Freight": "107.4600", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10631, + "CustomerID": "LAMAI", + "EmployeeID": 8, + "OrderDate": "1997-08-14T00:00:00", + "RequiredDate": "1997-09-11T00:00:00", + "ShippedDate": "1997-08-15T00:00:00", + "ShipVia": 1, + "Freight": "0.8700", + "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": "1997-08-14T00:00:00", + "RequiredDate": "1997-09-11T00:00:00", + "ShippedDate": "1997-08-19T00:00:00", + "ShipVia": 1, + "Freight": "41.3800", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10635, + "CustomerID": "MAGAA", + "EmployeeID": 8, + "OrderDate": "1997-08-18T00:00:00", + "RequiredDate": "1997-09-15T00:00:00", + "ShippedDate": "1997-08-21T00:00:00", + "ShipVia": 3, + "Freight": "47.4600", + "ShipName": "Magazzini Alimentari Riuniti", + "ShipAddress": "Via Ludovico il Moro 22", + "ShipCity": "Bergamo", + "ShipRegion": null, + "ShipPostalCode": "24100", + "ShipCountry": "Italy" + }, { + "OrderID": 10651, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "1997-09-01T00:00:00", + "RequiredDate": "1997-09-29T00:00:00", + "ShippedDate": "1997-09-11T00:00:00", + "ShipVia": 2, + "Freight": "20.6000", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 10660, + "CustomerID": "HUNGC", + "EmployeeID": 8, + "OrderDate": "1997-09-08T00:00:00", + "RequiredDate": "1997-10-06T00:00:00", + "ShippedDate": "1997-10-15T00:00:00", + "ShipVia": 1, + "Freight": "111.2900", + "ShipName": "Hungry Coyote Import Store", + "ShipAddress": "City Center Plaza 516 Main St.", + "ShipCity": "Elgin", + "ShipRegion": "OR", + "ShipPostalCode": "97827", + "ShipCountry": "USA" + }, { + "OrderID": 10679, + "CustomerID": "BLONP", + "EmployeeID": 8, + "OrderDate": "1997-09-23T00:00:00", + "RequiredDate": "1997-10-21T00:00:00", + "ShippedDate": "1997-09-30T00:00:00", + "ShipVia": 3, + "Freight": "27.9400", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10694, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "1997-10-06T00:00:00", + "RequiredDate": "1997-11-03T00:00:00", + "ShippedDate": "1997-10-09T00:00:00", + "ShipVia": 3, + "Freight": "398.3600", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10696, + "CustomerID": "WHITC", + "EmployeeID": 8, + "OrderDate": "1997-10-08T00:00:00", + "RequiredDate": "1997-11-19T00:00:00", + "ShippedDate": "1997-10-14T00:00:00", + "ShipVia": 3, + "Freight": "102.5500", + "ShipName": "White Clover Markets", + "ShipAddress": "1029 - 12th Ave. S.", + "ShipCity": "Seattle", + "ShipRegion": "WA", + "ShipPostalCode": "98124", + "ShipCountry": "USA" + }, { + "OrderID": 10706, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "1997-10-16T00:00:00", + "RequiredDate": "1997-11-13T00:00:00", + "ShippedDate": "1997-10-21T00:00:00", + "ShipVia": 3, + "Freight": "135.6300", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 10719, + "CustomerID": "LETSS", + "EmployeeID": 8, + "OrderDate": "1997-10-27T00:00:00", + "RequiredDate": "1997-11-24T00:00:00", + "ShippedDate": "1997-11-05T00:00:00", + "ShipVia": 2, + "Freight": "51.4400", + "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": "1997-10-28T00:00:00", + "RequiredDate": "1997-11-11T00:00:00", + "ShippedDate": "1997-11-05T00:00:00", + "ShipVia": 2, + "Freight": "9.5300", + "ShipName": "Que Del\u00edcia", + "ShipAddress": "Rua da Panificadora, 12", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "02389-673", + "ShipCountry": "Brazil" + }, { + "OrderID": 10722, + "CustomerID": "SAVEA", + "EmployeeID": 8, + "OrderDate": "1997-10-29T00:00:00", + "RequiredDate": "1997-12-10T00:00:00", + "ShippedDate": "1997-11-04T00:00:00", + "ShipVia": 1, + "Freight": "74.5800", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10724, + "CustomerID": "MEREP", + "EmployeeID": 8, + "OrderDate": "1997-10-30T00:00:00", + "RequiredDate": "1997-12-11T00:00:00", + "ShippedDate": "1997-11-05T00:00:00", + "ShipVia": 2, + "Freight": "57.7500", + "ShipName": "M\u00e8re Paillarde", + "ShipAddress": "43 rue St. Laurent", + "ShipCity": "Montr\u00e9al", + "ShipRegion": "Qu\u00e9bec", + "ShipPostalCode": "H1J 1C3", + "ShipCountry": "Canada" + }, { + "OrderID": 10729, + "CustomerID": "LINOD", + "EmployeeID": 8, + "OrderDate": "1997-11-04T00:00:00", + "RequiredDate": "1997-12-16T00:00:00", + "ShippedDate": "1997-11-14T00:00:00", + "ShipVia": 3, + "Freight": "141.0600", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10756, + "CustomerID": "SPLIR", + "EmployeeID": 8, + "OrderDate": "1997-11-27T00:00:00", + "RequiredDate": "1997-12-25T00:00:00", + "ShippedDate": "1997-12-02T00:00:00", + "ShipVia": 2, + "Freight": "73.2100", + "ShipName": "Split Rail Beer & Ale", + "ShipAddress": "P.O. Box 555", + "ShipCity": "Lander", + "ShipRegion": "WY", + "ShipPostalCode": "82520", + "ShipCountry": "USA" + }, { + "OrderID": 10770, + "CustomerID": "HANAR", + "EmployeeID": 8, + "OrderDate": "1997-12-09T00:00:00", + "RequiredDate": "1998-01-06T00:00:00", + "ShippedDate": "1997-12-17T00:00:00", + "ShipVia": 3, + "Freight": "5.3200", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 10786, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "1997-12-19T00:00:00", + "RequiredDate": "1998-01-16T00:00:00", + "ShippedDate": "1997-12-23T00:00:00", + "ShipVia": 1, + "Freight": "110.8700", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10795, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "1997-12-24T00:00:00", + "RequiredDate": "1998-01-21T00:00:00", + "ShippedDate": "1998-01-20T00:00:00", + "ShipVia": 2, + "Freight": "126.6600", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10811, + "CustomerID": "LINOD", + "EmployeeID": 8, + "OrderDate": "1998-01-02T00:00:00", + "RequiredDate": "1998-01-30T00:00:00", + "ShippedDate": "1998-01-08T00:00:00", + "ShipVia": 1, + "Freight": "31.2200", + "ShipName": "LINO-Delicateses", + "ShipAddress": "Ave. 5 de Mayo Porlamar", + "ShipCity": "I. de Margarita", + "ShipRegion": "Nueva Esparta", + "ShipPostalCode": "4980", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10824, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1998-01-09T00:00:00", + "RequiredDate": "1998-02-06T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 1, + "Freight": "1.2300", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10844, + "CustomerID": "PICCO", + "EmployeeID": 8, + "OrderDate": "1998-01-21T00:00:00", + "RequiredDate": "1998-02-18T00:00:00", + "ShippedDate": "1998-01-26T00:00:00", + "ShipVia": 2, + "Freight": "25.2200", + "ShipName": "Piccolo und mehr", + "ShipAddress": "Geislweg 14", + "ShipCity": "Salzburg", + "ShipRegion": null, + "ShipPostalCode": "5020", + "ShipCountry": "Austria" + }, { + "OrderID": 10845, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "1998-01-21T00:00:00", + "RequiredDate": "1998-02-04T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 1, + "Freight": "212.9800", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10852, + "CustomerID": "RATTC", + "EmployeeID": 8, + "OrderDate": "1998-01-26T00:00:00", + "RequiredDate": "1998-02-09T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 1, + "Freight": "174.0500", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10857, + "CustomerID": "BERGS", + "EmployeeID": 8, + "OrderDate": "1998-01-28T00:00:00", + "RequiredDate": "1998-02-25T00:00:00", + "ShippedDate": "1998-02-06T00:00:00", + "ShipVia": 2, + "Freight": "188.8500", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10862, + "CustomerID": "LEHMS", + "EmployeeID": 8, + "OrderDate": "1998-01-30T00:00:00", + "RequiredDate": "1998-03-13T00:00:00", + "ShippedDate": "1998-02-02T00:00:00", + "ShipVia": 2, + "Freight": "53.2300", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10883, + "CustomerID": "LONEP", + "EmployeeID": 8, + "OrderDate": "1998-02-12T00:00:00", + "RequiredDate": "1998-03-12T00:00:00", + "ShippedDate": "1998-02-20T00:00:00", + "ShipVia": 3, + "Freight": "0.5300", + "ShipName": "Lonesome Pine Restaurant", + "ShipAddress": "89 Chiaroscuro Rd.", + "ShipCity": "Portland", + "ShipRegion": "OR", + "ShipPostalCode": "97219", + "ShipCountry": "USA" + }, { + "OrderID": 10887, + "CustomerID": "GALED", + "EmployeeID": 8, + "OrderDate": "1998-02-13T00:00:00", + "RequiredDate": "1998-03-13T00:00:00", + "ShippedDate": "1998-02-16T00:00:00", + "ShipVia": 3, + "Freight": "1.2500", + "ShipName": "Galer\u00eda del gastron\u00f3mo", + "ShipAddress": "Rambla de Catalu\u00f1a, 23", + "ShipCity": "Barcelona", + "ShipRegion": null, + "ShipPostalCode": "8022", + "ShipCountry": "Spain" + }, { + "OrderID": 10932, + "CustomerID": "BONAP", + "EmployeeID": 8, + "OrderDate": "1998-03-06T00:00:00", + "RequiredDate": "1998-04-03T00:00:00", + "ShippedDate": "1998-03-24T00:00:00", + "ShipVia": 1, + "Freight": "134.6400", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10940, + "CustomerID": "BONAP", + "EmployeeID": 8, + "OrderDate": "1998-03-11T00:00:00", + "RequiredDate": "1998-04-08T00:00:00", + "ShippedDate": "1998-03-23T00:00:00", + "ShipVia": 3, + "Freight": "19.7700", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10955, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1998-03-17T00:00:00", + "RequiredDate": "1998-04-14T00:00:00", + "ShippedDate": "1998-03-20T00:00:00", + "ShipVia": 2, + "Freight": "3.2600", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10957, + "CustomerID": "HILAA", + "EmployeeID": 8, + "OrderDate": "1998-03-18T00:00:00", + "RequiredDate": "1998-04-15T00:00:00", + "ShippedDate": "1998-03-27T00:00:00", + "ShipVia": 3, + "Freight": "105.3600", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10961, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "1998-03-19T00:00:00", + "RequiredDate": "1998-04-16T00:00:00", + "ShippedDate": "1998-03-30T00:00:00", + "ShipVia": 1, + "Freight": "104.4700", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 10962, + "CustomerID": "QUICK", + "EmployeeID": 8, + "OrderDate": "1998-03-19T00:00:00", + "RequiredDate": "1998-04-16T00:00:00", + "ShippedDate": "1998-03-23T00:00:00", + "ShipVia": 2, + "Freight": "275.7900", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10977, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1998-03-26T00:00:00", + "RequiredDate": "1998-04-23T00:00:00", + "ShippedDate": "1998-04-10T00:00:00", + "ShipVia": 3, + "Freight": "208.5000", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 10979, + "CustomerID": "ERNSH", + "EmployeeID": 8, + "OrderDate": "1998-03-26T00:00:00", + "RequiredDate": "1998-04-23T00:00:00", + "ShippedDate": "1998-03-31T00:00:00", + "ShipVia": 2, + "Freight": "353.0700", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10986, + "CustomerID": "OCEAN", + "EmployeeID": 8, + "OrderDate": "1998-03-30T00:00:00", + "RequiredDate": "1998-04-27T00:00:00", + "ShippedDate": "1998-04-21T00:00:00", + "ShipVia": 2, + "Freight": "217.8600", + "ShipName": "Oc\u00e9ano Atl\u00e1ntico 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": "1998-03-31T00:00:00", + "RequiredDate": "1998-04-28T00:00:00", + "ShippedDate": "1998-04-06T00:00:00", + "ShipVia": 1, + "Freight": "185.4800", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 10997, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "1998-04-03T00:00:00", + "RequiredDate": "1998-05-15T00:00:00", + "ShippedDate": "1998-04-13T00:00:00", + "ShipVia": 2, + "Freight": "73.9100", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10998, + "CustomerID": "WOLZA", + "EmployeeID": 8, + "OrderDate": "1998-04-03T00:00:00", + "RequiredDate": "1998-04-17T00:00:00", + "ShippedDate": "1998-04-17T00:00:00", + "ShipVia": 2, + "Freight": "20.3100", + "ShipName": "Wolski Zajazd", + "ShipAddress": "ul. Filtrowa 68", + "ShipCity": "Warszawa", + "ShipRegion": null, + "ShipPostalCode": "01-012", + "ShipCountry": "Poland" + }, { + "OrderID": 11007, + "CustomerID": "PRINI", + "EmployeeID": 8, + "OrderDate": "1998-04-08T00:00:00", + "RequiredDate": "1998-05-06T00:00:00", + "ShippedDate": "1998-04-13T00:00:00", + "ShipVia": 2, + "Freight": "202.2400", + "ShipName": "Princesa Isabel Vinhos", + "ShipAddress": "Estrada da sa\u00fade n. 58", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1756", + "ShipCountry": "Portugal" + }, { + "OrderID": 11034, + "CustomerID": "OLDWO", + "EmployeeID": 8, + "OrderDate": "1998-04-20T00:00:00", + "RequiredDate": "1998-06-01T00:00:00", + "ShippedDate": "1998-04-27T00:00:00", + "ShipVia": 1, + "Freight": "40.3200", + "ShipName": "Old World Delicatessen", + "ShipAddress": "2743 Bering St.", + "ShipCity": "Anchorage", + "ShipRegion": "AK", + "ShipPostalCode": "99508", + "ShipCountry": "USA" + }, { + "OrderID": 11036, + "CustomerID": "DRACD", + "EmployeeID": 8, + "OrderDate": "1998-04-20T00:00:00", + "RequiredDate": "1998-05-18T00:00:00", + "ShippedDate": "1998-04-22T00:00:00", + "ShipVia": 3, + "Freight": "149.4700", + "ShipName": "Drachenblut Delikatessen", + "ShipAddress": "Walserweg 21", + "ShipCity": "Aachen", + "ShipRegion": null, + "ShipPostalCode": "52066", + "ShipCountry": "Germany" + }, { + "OrderID": 11046, + "CustomerID": "WANDK", + "EmployeeID": 8, + "OrderDate": "1998-04-23T00:00:00", + "RequiredDate": "1998-05-21T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 2, + "Freight": "71.6400", + "ShipName": "Die Wandernde Kuh", + "ShipAddress": "Adenauerallee 900", + "ShipCity": "Stuttgart", + "ShipRegion": null, + "ShipPostalCode": "70563", + "ShipCountry": "Germany" + }, { + "OrderID": 11050, + "CustomerID": "FOLKO", + "EmployeeID": 8, + "OrderDate": "1998-04-27T00:00:00", + "RequiredDate": "1998-05-25T00:00:00", + "ShippedDate": "1998-05-05T00:00:00", + "ShipVia": 2, + "Freight": "59.4100", + "ShipName": "Folk och f\u00e4 HB", + "ShipAddress": "\u00c5kergatan 24", + "ShipCity": "Br\u00e4cke", + "ShipRegion": null, + "ShipPostalCode": "S-844 67", + "ShipCountry": "Sweden" + }, { + "OrderID": 11054, + "CustomerID": "CACTU", + "EmployeeID": 8, + "OrderDate": "1998-04-28T00:00:00", + "RequiredDate": "1998-05-26T00:00:00", + "ShippedDate": null, + "ShipVia": 1, + "Freight": "0.3300", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 11056, + "CustomerID": "EASTC", + "EmployeeID": 8, + "OrderDate": "1998-04-28T00:00:00", + "RequiredDate": "1998-05-12T00:00:00", + "ShippedDate": "1998-05-01T00:00:00", + "ShipVia": 2, + "Freight": "278.9600", + "ShipName": "Eastern Connection", + "ShipAddress": "35 King George", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "WX3 6FW", + "ShipCountry": "UK" + }, { + "OrderID": 11065, + "CustomerID": "LILAS", + "EmployeeID": 8, + "OrderDate": "1998-05-01T00:00:00", + "RequiredDate": "1998-05-29T00:00:00", + "ShippedDate": null, + "ShipVia": 1, + "Freight": "12.9100", + "ShipName": "LILA-Supermercado", + "ShipAddress": "Carrera 52 con Ave. Bol\u00edvar #65-98 Llano Largo", + "ShipCity": "Barquisimeto", + "ShipRegion": "Lara", + "ShipPostalCode": "3508", + "ShipCountry": "Venezuela" + }, { + "OrderID": 11068, + "CustomerID": "QUEEN", + "EmployeeID": 8, + "OrderDate": "1998-05-04T00:00:00", + "RequiredDate": "1998-06-01T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "81.7500", + "ShipName": "Queen Cozinha", + "ShipAddress": "Alameda dos Can\u00e0rios, 891", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05487-020", + "ShipCountry": "Brazil" + }, { + "OrderID": 11075, + "CustomerID": "RICSU", + "EmployeeID": 8, + "OrderDate": "1998-05-06T00:00:00", + "RequiredDate": "1998-06-03T00:00:00", + "ShippedDate": null, + "ShipVia": 2, + "Freight": "6.1900", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }], + "EmployeeID": 8, + "LastName": "Callahan", + "FirstName": "Laura", + "Title": "Inside Sales Coordinator", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1958-01-09T00:00:00", + "HireDate": "1994-03-05T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/davolio.bmp" + }, { + "Orders": [{ + "OrderID": 10255, + "CustomerID": "RICSU", + "EmployeeID": 9, + "OrderDate": "1996-07-12T00:00:00", + "RequiredDate": "1996-08-09T00:00:00", + "ShippedDate": "1996-07-15T00:00:00", + "ShipVia": 3, + "Freight": "148.3300", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10263, + "CustomerID": "ERNSH", + "EmployeeID": 9, + "OrderDate": "1996-07-23T00:00:00", + "RequiredDate": "1996-08-20T00:00:00", + "ShippedDate": "1996-07-31T00:00:00", + "ShipVia": 3, + "Freight": "146.0600", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10324, + "CustomerID": "SAVEA", + "EmployeeID": 9, + "OrderDate": "1996-10-08T00:00:00", + "RequiredDate": "1996-11-05T00:00:00", + "ShippedDate": "1996-10-10T00:00:00", + "ShipVia": 1, + "Freight": "214.2700", + "ShipName": "Save-a-lot Markets", + "ShipAddress": "187 Suffolk Ln.", + "ShipCity": "Boise", + "ShipRegion": "ID", + "ShipPostalCode": "83720", + "ShipCountry": "USA" + }, { + "OrderID": 10331, + "CustomerID": "BONAP", + "EmployeeID": 9, + "OrderDate": "1996-10-16T00:00:00", + "RequiredDate": "1996-11-27T00:00:00", + "ShippedDate": "1996-10-21T00:00:00", + "ShipVia": 1, + "Freight": "10.1900", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10386, + "CustomerID": "FAMIA", + "EmployeeID": 9, + "OrderDate": "1996-12-18T00:00:00", + "RequiredDate": "1997-01-01T00:00:00", + "ShippedDate": "1996-12-25T00:00:00", + "ShipVia": 3, + "Freight": "13.9900", + "ShipName": "Familia Arquibaldo", + "ShipAddress": "Rua Or\u00f3s, 92", + "ShipCity": "Sao Paulo", + "ShipRegion": "SP", + "ShipPostalCode": "05442-030", + "ShipCountry": "Brazil" + }, { + "OrderID": 10411, + "CustomerID": "BOTTM", + "EmployeeID": 9, + "OrderDate": "1997-01-10T00:00:00", + "RequiredDate": "1997-02-07T00:00:00", + "ShippedDate": "1997-01-21T00:00:00", + "ShipVia": 3, + "Freight": "23.6500", + "ShipName": "Bottom-Dollar Markets", + "ShipAddress": "23 Tsawassen Blvd.", + "ShipCity": "Tsawassen", + "ShipRegion": "BC", + "ShipPostalCode": "T2F 8M4", + "ShipCountry": "Canada" + }, { + "OrderID": 10475, + "CustomerID": "SUPRD", + "EmployeeID": 9, + "OrderDate": "1997-03-14T00:00:00", + "RequiredDate": "1997-04-11T00:00:00", + "ShippedDate": "1997-04-04T00:00:00", + "ShipVia": 1, + "Freight": "68.5200", + "ShipName": "Supr\u00eames d\u00e9lices", + "ShipAddress": "Boulevard Tirou, 255", + "ShipCity": "Charleroi", + "ShipRegion": null, + "ShipPostalCode": "B-6000", + "ShipCountry": "Belgium" + }, { + "OrderID": 10501, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "1997-04-09T00:00:00", + "RequiredDate": "1997-05-07T00:00:00", + "ShippedDate": "1997-04-16T00:00:00", + "ShipVia": 3, + "Freight": "8.8500", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10506, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "1997-04-15T00:00:00", + "RequiredDate": "1997-05-13T00:00:00", + "ShippedDate": "1997-05-02T00:00:00", + "ShipVia": 2, + "Freight": "21.1900", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10538, + "CustomerID": "BSBEV", + "EmployeeID": 9, + "OrderDate": "1997-05-15T00:00:00", + "RequiredDate": "1997-06-12T00:00:00", + "ShippedDate": "1997-05-16T00:00:00", + "ShipVia": 3, + "Freight": "4.8700", + "ShipName": "B's Beverages", + "ShipAddress": "Fauntleroy Circus", + "ShipCity": "London", + "ShipRegion": null, + "ShipPostalCode": "EC2 5NT", + "ShipCountry": "UK" + }, { + "OrderID": 10557, + "CustomerID": "LEHMS", + "EmployeeID": 9, + "OrderDate": "1997-06-03T00:00:00", + "RequiredDate": "1997-06-17T00:00:00", + "ShippedDate": "1997-06-06T00:00:00", + "ShipVia": 2, + "Freight": "96.7200", + "ShipName": "Lehmanns Marktstand", + "ShipAddress": "Magazinweg 7", + "ShipCity": "Frankfurt a.M.", + "ShipRegion": null, + "ShipPostalCode": "60528", + "ShipCountry": "Germany" + }, { + "OrderID": 10566, + "CustomerID": "BLONP", + "EmployeeID": 9, + "OrderDate": "1997-06-12T00:00:00", + "RequiredDate": "1997-07-10T00:00:00", + "ShippedDate": "1997-06-18T00:00:00", + "ShipVia": 1, + "Freight": "88.4000", + "ShipName": "Blondel p\u00e8re et fils", + "ShipAddress": "24, place Kl\u00e9ber", + "ShipCity": "Strasbourg", + "ShipRegion": null, + "ShipPostalCode": "67000", + "ShipCountry": "France" + }, { + "OrderID": 10577, + "CustomerID": "TRAIH", + "EmployeeID": 9, + "OrderDate": "1997-06-23T00:00:00", + "RequiredDate": "1997-08-04T00:00:00", + "ShippedDate": "1997-06-30T00:00:00", + "ShipVia": 2, + "Freight": "25.4100", + "ShipName": "Trail's Head Gourmet Provisioners", + "ShipAddress": "722 DaVinci Blvd.", + "ShipCity": "Kirkland", + "ShipRegion": "WA", + "ShipPostalCode": "98034", + "ShipCountry": "USA" + }, { + "OrderID": 10586, + "CustomerID": "REGGC", + "EmployeeID": 9, + "OrderDate": "1997-07-02T00:00:00", + "RequiredDate": "1997-07-30T00:00:00", + "ShippedDate": "1997-07-09T00:00:00", + "ShipVia": 1, + "Freight": "0.4800", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10646, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "1997-08-27T00:00:00", + "RequiredDate": "1997-10-08T00:00:00", + "ShippedDate": "1997-09-03T00:00:00", + "ShipVia": 3, + "Freight": "142.3300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10672, + "CustomerID": "BERGS", + "EmployeeID": 9, + "OrderDate": "1997-09-17T00:00:00", + "RequiredDate": "1997-10-01T00:00:00", + "ShippedDate": "1997-09-26T00:00:00", + "ShipVia": 2, + "Freight": "95.7500", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10687, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "1997-09-30T00:00:00", + "RequiredDate": "1997-10-28T00:00:00", + "ShippedDate": "1997-10-30T00:00:00", + "ShipVia": 2, + "Freight": "296.4300", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10705, + "CustomerID": "HILAA", + "EmployeeID": 9, + "OrderDate": "1997-10-15T00:00:00", + "RequiredDate": "1997-11-12T00:00:00", + "ShippedDate": "1997-11-18T00:00:00", + "ShipVia": 2, + "Freight": "3.5200", + "ShipName": "HILARION-Abastos", + "ShipAddress": "Carrera 22 con Ave. Carlos Soublette #8-35", + "ShipCity": "San Crist\u00f3bal", + "ShipRegion": "T\u00e1chira", + "ShipPostalCode": "5022", + "ShipCountry": "Venezuela" + }, { + "OrderID": 10736, + "CustomerID": "HUNGO", + "EmployeeID": 9, + "OrderDate": "1997-11-11T00:00:00", + "RequiredDate": "1997-12-09T00:00:00", + "ShippedDate": "1997-11-21T00:00:00", + "ShipVia": 2, + "Freight": "44.1000", + "ShipName": "Hungry Owl All-Night Grocers", + "ShipAddress": "8 Johnstown Road", + "ShipCity": "Cork", + "ShipRegion": "Co. Cork", + "ShipPostalCode": null, + "ShipCountry": "Ireland" + }, { + "OrderID": 10745, + "CustomerID": "QUICK", + "EmployeeID": 9, + "OrderDate": "1997-11-18T00:00:00", + "RequiredDate": "1997-12-16T00:00:00", + "ShippedDate": "1997-11-27T00:00:00", + "ShipVia": 1, + "Freight": "3.5200", + "ShipName": "QUICK-Stop", + "ShipAddress": "Taucherstra\u00dfe 10", + "ShipCity": "Cunewalde", + "ShipRegion": null, + "ShipPostalCode": "01307", + "ShipCountry": "Germany" + }, { + "OrderID": 10750, + "CustomerID": "WARTH", + "EmployeeID": 9, + "OrderDate": "1997-11-21T00:00:00", + "RequiredDate": "1997-12-19T00:00:00", + "ShippedDate": "1997-11-24T00:00:00", + "ShipVia": 1, + "Freight": "79.3000", + "ShipName": "Wartian Herkku", + "ShipAddress": "Torikatu 38", + "ShipCity": "Oulu", + "ShipRegion": null, + "ShipPostalCode": "90110", + "ShipCountry": "Finland" + }, { + "OrderID": 10771, + "CustomerID": "ERNSH", + "EmployeeID": 9, + "OrderDate": "1997-12-10T00:00:00", + "RequiredDate": "1998-01-07T00:00:00", + "ShippedDate": "1998-01-02T00:00:00", + "ShipVia": 2, + "Freight": "11.1900", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 10782, + "CustomerID": "CACTU", + "EmployeeID": 9, + "OrderDate": "1997-12-17T00:00:00", + "RequiredDate": "1998-01-14T00:00:00", + "ShippedDate": "1997-12-22T00:00:00", + "ShipVia": 3, + "Freight": "1.1000", + "ShipName": "Cactus Comidas para llevar", + "ShipAddress": "Cerrito 333", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10799, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "1997-12-26T00:00:00", + "RequiredDate": "1998-02-06T00:00:00", + "ShippedDate": "1998-01-05T00:00:00", + "ShipVia": 3, + "Freight": "30.7600", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10828, + "CustomerID": "RANCH", + "EmployeeID": 9, + "OrderDate": "1998-01-13T00:00:00", + "RequiredDate": "1998-01-27T00:00:00", + "ShippedDate": "1998-02-04T00:00:00", + "ShipVia": 1, + "Freight": "90.8500", + "ShipName": "Rancho grande", + "ShipAddress": "Av. del Libertador 900", + "ShipCity": "Buenos Aires", + "ShipRegion": null, + "ShipPostalCode": "1010", + "ShipCountry": "Argentina" + }, { + "OrderID": 10829, + "CustomerID": "ISLAT", + "EmployeeID": 9, + "OrderDate": "1998-01-13T00:00:00", + "RequiredDate": "1998-02-10T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 1, + "Freight": "154.7200", + "ShipName": "Island Trading", + "ShipAddress": "Garden House Crowther Way", + "ShipCity": "Cowes", + "ShipRegion": "Isle of Wight", + "ShipPostalCode": "PO31 7PJ", + "ShipCountry": "UK" + }, { + "OrderID": 10837, + "CustomerID": "BERGS", + "EmployeeID": 9, + "OrderDate": "1998-01-16T00:00:00", + "RequiredDate": "1998-02-13T00:00:00", + "ShippedDate": "1998-01-23T00:00:00", + "ShipVia": 3, + "Freight": "13.3200", + "ShipName": "Berglunds snabbk\u00f6p", + "ShipAddress": "Berguvsv\u00e4gen 8", + "ShipCity": "Lule\u00e5", + "ShipRegion": null, + "ShipPostalCode": "S-958 22", + "ShipCountry": "Sweden" + }, { + "OrderID": 10849, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "1998-01-23T00:00:00", + "RequiredDate": "1998-02-20T00:00:00", + "ShippedDate": "1998-01-30T00:00:00", + "ShipVia": 2, + "Freight": "0.5600", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10853, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "1998-01-27T00:00:00", + "RequiredDate": "1998-02-24T00:00:00", + "ShippedDate": "1998-02-03T00:00:00", + "ShipVia": 2, + "Freight": "53.8300", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }, { + "OrderID": 10871, + "CustomerID": "BONAP", + "EmployeeID": 9, + "OrderDate": "1998-02-05T00:00:00", + "RequiredDate": "1998-03-05T00:00:00", + "ShippedDate": "1998-02-10T00:00:00", + "ShipVia": 2, + "Freight": "112.2700", + "ShipName": "Bon app'", + "ShipAddress": "12, rue des Bouchers", + "ShipCity": "Marseille", + "ShipRegion": null, + "ShipPostalCode": "13008", + "ShipCountry": "France" + }, { + "OrderID": 10889, + "CustomerID": "RATTC", + "EmployeeID": 9, + "OrderDate": "1998-02-16T00:00:00", + "RequiredDate": "1998-03-16T00:00:00", + "ShippedDate": "1998-02-23T00:00:00", + "ShipVia": 3, + "Freight": "280.6100", + "ShipName": "Rattlesnake Canyon Grocery", + "ShipAddress": "2817 Milton Dr.", + "ShipCity": "Albuquerque", + "ShipRegion": "NM", + "ShipPostalCode": "87110", + "ShipCountry": "USA" + }, { + "OrderID": 10893, + "CustomerID": "KOENE", + "EmployeeID": 9, + "OrderDate": "1998-02-18T00:00:00", + "RequiredDate": "1998-03-18T00:00:00", + "ShippedDate": "1998-02-20T00:00:00", + "ShipVia": 2, + "Freight": "77.7800", + "ShipName": "K\u00f6niglich Essen", + "ShipAddress": "Maubelstr. 90", + "ShipCity": "Brandenburg", + "ShipRegion": null, + "ShipPostalCode": "14776", + "ShipCountry": "Germany" + }, { + "OrderID": 10905, + "CustomerID": "WELLI", + "EmployeeID": 9, + "OrderDate": "1998-02-24T00:00:00", + "RequiredDate": "1998-03-24T00:00:00", + "ShippedDate": "1998-03-06T00:00:00", + "ShipVia": 2, + "Freight": "13.7200", + "ShipName": "Wellington Importadora", + "ShipAddress": "Rua do Mercado, 12", + "ShipCity": "Resende", + "ShipRegion": "SP", + "ShipPostalCode": "08737-363", + "ShipCountry": "Brazil" + }, { + "OrderID": 10942, + "CustomerID": "REGGC", + "EmployeeID": 9, + "OrderDate": "1998-03-11T00:00:00", + "RequiredDate": "1998-04-08T00:00:00", + "ShippedDate": "1998-03-18T00:00:00", + "ShipVia": 3, + "Freight": "17.9500", + "ShipName": "Reggiani Caseifici", + "ShipAddress": "Strada Provinciale 124", + "ShipCity": "Reggio Emilia", + "ShipRegion": null, + "ShipPostalCode": "42100", + "ShipCountry": "Italy" + }, { + "OrderID": 10951, + "CustomerID": "RICSU", + "EmployeeID": 9, + "OrderDate": "1998-03-16T00:00:00", + "RequiredDate": "1998-04-27T00:00:00", + "ShippedDate": "1998-04-07T00:00:00", + "ShipVia": 2, + "Freight": "30.8500", + "ShipName": "Richter Supermarkt", + "ShipAddress": "Starenweg 5", + "ShipCity": "Gen\u00e8ve", + "ShipRegion": null, + "ShipPostalCode": "1204", + "ShipCountry": "Switzerland" + }, { + "OrderID": 10953, + "CustomerID": "AROUT", + "EmployeeID": 9, + "OrderDate": "1998-03-16T00:00:00", + "RequiredDate": "1998-03-30T00:00:00", + "ShippedDate": "1998-03-25T00:00:00", + "ShipVia": 2, + "Freight": "23.7200", + "ShipName": "Around the Horn", + "ShipAddress": "Brook Farm Stratford St. Mary", + "ShipCity": "Colchester", + "ShipRegion": "Essex", + "ShipPostalCode": "CO7 6JX", + "ShipCountry": "UK" + }, { + "OrderID": 10963, + "CustomerID": "FURIB", + "EmployeeID": 9, + "OrderDate": "1998-03-19T00:00:00", + "RequiredDate": "1998-04-16T00:00:00", + "ShippedDate": "1998-03-26T00:00:00", + "ShipVia": 3, + "Freight": "2.7000", + "ShipName": "Furia Bacalhau e Frutos do Mar", + "ShipAddress": "Jardim das rosas n. 32", + "ShipCity": "Lisboa", + "ShipRegion": null, + "ShipPostalCode": "1675", + "ShipCountry": "Portugal" + }, { + "OrderID": 10970, + "CustomerID": "BOLID", + "EmployeeID": 9, + "OrderDate": "1998-03-24T00:00:00", + "RequiredDate": "1998-04-07T00:00:00", + "ShippedDate": "1998-04-24T00:00:00", + "ShipVia": 1, + "Freight": "16.1600", + "ShipName": "B\u00f3lido Comidas preparadas", + "ShipAddress": "C/ Araquil, 67", + "ShipCity": "Madrid", + "ShipRegion": null, + "ShipPostalCode": "28023", + "ShipCountry": "Spain" + }, { + "OrderID": 10978, + "CustomerID": "MAISD", + "EmployeeID": 9, + "OrderDate": "1998-03-26T00:00:00", + "RequiredDate": "1998-04-23T00:00:00", + "ShippedDate": "1998-04-23T00:00:00", + "ShipVia": 2, + "Freight": "32.8200", + "ShipName": "Maison Dewey", + "ShipAddress": "Rue Joseph-Bens 532", + "ShipCity": "Bruxelles", + "ShipRegion": null, + "ShipPostalCode": "B-1180", + "ShipCountry": "Belgium" + }, { + "OrderID": 11016, + "CustomerID": "AROUT", + "EmployeeID": 9, + "OrderDate": "1998-04-10T00:00:00", + "RequiredDate": "1998-05-08T00:00:00", + "ShippedDate": "1998-04-13T00:00:00", + "ShipVia": 2, + "Freight": "33.8000", + "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": "1998-04-13T00:00:00", + "RequiredDate": "1998-05-11T00:00:00", + "ShippedDate": "1998-04-20T00:00:00", + "ShipVia": 2, + "Freight": "754.2600", + "ShipName": "Ernst Handel", + "ShipAddress": "Kirchgasse 6", + "ShipCity": "Graz", + "ShipRegion": null, + "ShipPostalCode": "8010", + "ShipCountry": "Austria" + }, { + "OrderID": 11022, + "CustomerID": "HANAR", + "EmployeeID": 9, + "OrderDate": "1998-04-14T00:00:00", + "RequiredDate": "1998-05-12T00:00:00", + "ShippedDate": "1998-05-04T00:00:00", + "ShipVia": 2, + "Freight": "6.2700", + "ShipName": "Hanari Carnes", + "ShipAddress": "Rua do Pa\u00e7o, 67", + "ShipCity": "Rio de Janeiro", + "ShipRegion": "RJ", + "ShipPostalCode": "05454-876", + "ShipCountry": "Brazil" + }, { + "OrderID": 11058, + "CustomerID": "BLAUS", + "EmployeeID": 9, + "OrderDate": "1998-04-29T00:00:00", + "RequiredDate": "1998-05-27T00:00:00", + "ShippedDate": null, + "ShipVia": 3, + "Freight": "31.1400", + "ShipName": "Blauer See Delikatessen", + "ShipAddress": "Forsterstr. 57", + "ShipCity": "Mannheim", + "ShipRegion": null, + "ShipPostalCode": "68306", + "ShipCountry": "Germany" + }], + "EmployeeID": 9, + "LastName": "Dodsworth", + "FirstName": "Anne", + "Title": "Sales Representative", + "TitleOfCourtesy": "Ms.", + "BirthDate": "1966-01-27T00:00:00", + "HireDate": "1994-11-15T00:00:00", + "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, + "PhotoPath": "http://accweb/emmployees/davolio.bmp" + }];